QINGCHE commited on
Commit
f21d2ac
1 Parent(s): b3a5d7f

first version

Browse files
Files changed (1) hide show
  1. run.py +42 -0
run.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import util
2
+ import TSA.abstruct as abstruct
3
+ import classification
4
+
5
+ # input:file/text,topic_num,max_length,output_choice
6
+ # output:file/text/topic_sentence
7
+
8
+
9
+ # file_process:
10
+ # in util
11
+ # read file code
12
+ # file to json_text
13
+
14
+ # convert:
15
+ # in util
16
+ # convert code
17
+ # json_text to text
18
+
19
+ # process:
20
+ # in util
21
+ # text process code
22
+ # del stop seg
23
+
24
+ text = "我今天的调研内容是大模型训练的关键技术与挑战。在现代机器学习任务中,大模型训练已成为解决复杂问题的重要手段。在本次报告中,我将介绍分布式并行加速、算法模型架构、内存和计算优化以及集群架构等关键技术。首先,分布式并行加速策略,包括数据并行、模型并行、流水线并行和张量并行等四种方式。这些策略帮助我们将训练数据和模型分布到多个设备上,以加速大模型训练过程。接下来,我们将介绍算法模型架构。Transformer网络模型是一种应用广泛的神经网络模型,基于自注意力机制。它在自然语言处理和计算机视觉任务中取得了显著的成果。此外,适用于万亿级稀疏场景的MoE模型,它通过混合专家模型来处理稀疏数据,具有良好的适应性。为了在有限的计算资源下实现大模型训练,我们需要采用内存和计算优化技术。在内存优化方面,我们激活重计算、内存高效优化器和模型压缩等技术。这些技术可以减少内存占用、降低内存消耗,从而提高训练效率。在计算优化方面,混合精度训练、算子融合和梯度累加等技术,以减少计算资源需求,进一步提升训练速度。最后,我们将讨论大模型训练的集群架构。选择合适的集群架构是实现大模型的分布式训练的关键。我们将介绍参数服务器模式(PS)和集合通讯模式(CC)两种流行的集群架构。PS架构通过Server和Worker之间的通信来更新模型参数,而CC模式中每个节点都是工作节点,负责模型训练并掌握当前最新的全局梯度信息。这些集群架构在大模型训练中起到了关键作用,帮助实现分布式训练并提高训练效率。综上所述,大模型训练需要综合考虑分布式并行加速、算法模型架构、内存和计算优化以及集群架构等多个方面。通过合理地优化这些方面,我们可以实现更高效的大模型训练,解决各种规模的机器学习问题。大模型训练的发展为我们提供了更多创新和突破的机会。大数据技术也为实现人工智能的进步和应用做出重要贡献。谢谢大家!"
25
+ topic_num = 5
26
+ max_length = 32
27
+
28
+ article = util.seg(text)
29
+ print(article)
30
+
31
+ sentences = [util.clean_text(sentence) for sentence in article]
32
+ central_sentences = abstruct.abstruct_main(sentences, topic_num)
33
+ print(central_sentences)
34
+ groups = classification.classify_by_topic(article, central_sentences)
35
+ print(groups)
36
+
37
+ groups = util.article_to_group(groups, central_sentences)
38
+ ans = util.generation(groups, max_length)
39
+ # ans:
40
+ # {(main_sentence,(Ai_abstruct,paragraph))}
41
+ for i in ans.items():
42
+ print(i)