fix some bad code
Browse files- __pycache__/abstract.cpython-39.pyc +0 -0
- __pycache__/classification.cpython-39.pyc +0 -0
- __pycache__/inference.cpython-39.pyc +0 -0
- __pycache__/outline.cpython-39.pyc +0 -0
- __pycache__/util.cpython-39.pyc +0 -0
- inference.py +1 -1
- outline.py +13 -6
- run.py +1 -1
__pycache__/abstract.cpython-39.pyc
CHANGED
Binary files a/__pycache__/abstract.cpython-39.pyc and b/__pycache__/abstract.cpython-39.pyc differ
|
|
__pycache__/classification.cpython-39.pyc
CHANGED
Binary files a/__pycache__/classification.cpython-39.pyc and b/__pycache__/classification.cpython-39.pyc differ
|
|
__pycache__/inference.cpython-39.pyc
CHANGED
Binary files a/__pycache__/inference.cpython-39.pyc and b/__pycache__/inference.cpython-39.pyc differ
|
|
__pycache__/outline.cpython-39.pyc
CHANGED
Binary files a/__pycache__/outline.cpython-39.pyc and b/__pycache__/outline.cpython-39.pyc differ
|
|
__pycache__/util.cpython-39.pyc
CHANGED
Binary files a/__pycache__/util.cpython-39.pyc and b/__pycache__/util.cpython-39.pyc differ
|
|
inference.py
CHANGED
@@ -53,7 +53,7 @@ class BertClassificationModel(nn.Module):
|
|
53 |
|
54 |
def inference_matrix(topics):
|
55 |
device = torch.device('cuda' if cuda.is_available() else 'cpu')
|
56 |
-
load_path = "
|
57 |
model = torch.load(load_path,map_location=torch.device(device))
|
58 |
matrix = np.zeros([len(topics),len(topics)],dtype=float)
|
59 |
for i,i_text in enumerate(topics):
|
|
|
53 |
|
54 |
def inference_matrix(topics):
|
55 |
device = torch.device('cuda' if cuda.is_available() else 'cpu')
|
56 |
+
load_path = "bert_model.pkl"
|
57 |
model = torch.load(load_path,map_location=torch.device(device))
|
58 |
matrix = np.zeros([len(topics),len(topics)],dtype=float)
|
59 |
for i,i_text in enumerate(topics):
|
outline.py
CHANGED
@@ -3,15 +3,14 @@ from scipy.cluster.hierarchy import linkage, fcluster, dendrogram
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
|
5 |
def passage_outline(matrix,sentences):
|
6 |
-
# matrix = np.array([[1.0, 0.8, 0.2, 0.1],
|
7 |
-
# [0.8, 1.0, 0.3, 0.2],
|
8 |
-
# [0.2, 0.3, 1.0, 0.9],
|
9 |
-
# [0.1, 0.2, 0.9, 1.0]])
|
10 |
-
# sentences = ["主题句子1", "主题句子2", "主题句子3", "主题句子4"]
|
11 |
|
12 |
Z = linkage(matrix, method="average")
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
15 |
|
16 |
|
17 |
# 根据簇标签和主题句子生成文章结构
|
@@ -29,3 +28,11 @@ def passage_outline(matrix,sentences):
|
|
29 |
outline_list.append(sentence)
|
30 |
outline = outline+f"- {sentence}\n"
|
31 |
return outline,outline_list
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
import matplotlib.pyplot as plt
|
4 |
|
5 |
def passage_outline(matrix,sentences):
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
Z = linkage(matrix, method="average")
|
8 |
|
9 |
+
mask = np.eye(matrix.shape[0], dtype=bool)
|
10 |
+
matrix = np.ma.masked_array(matrix, mask)
|
11 |
+
median = np.median(matrix)
|
12 |
+
|
13 |
+
labels = fcluster(Z, t=median, criterion="distance")
|
14 |
|
15 |
|
16 |
# 根据簇标签和主题句子生成文章结构
|
|
|
28 |
outline_list.append(sentence)
|
29 |
outline = outline+f"- {sentence}\n"
|
30 |
return outline,outline_list
|
31 |
+
if __name__ == "__main__":
|
32 |
+
matrix = np.array([[1.0, 0.8, 0.2, 0.1],
|
33 |
+
[0.8, 1.0, 0.3, 0.2],
|
34 |
+
[0.2, 0.3, 1.0, 0.9],
|
35 |
+
[0.1, 0.2, 0.9, 1.0]])
|
36 |
+
sentences = ["主题句子1", "主题句子2", "主题句子3", "主题句子4"]
|
37 |
+
print(passage_outline(matrix,sentences)[0])
|
38 |
+
|
run.py
CHANGED
@@ -25,7 +25,7 @@ from inference import BertClassificationModel
|
|
25 |
|
26 |
text = "我今天的调研内容是大模型训练的关键技术与挑战。在现代机器学习任务中,大模型训练已成为解决复杂问题的重要手段。在本次报告中,我将介绍分布式并行加速、算法模型架构、内存和计算优化以及集群架构等关键技术。首先,分布式并行加速策略,包括数据并行、模型并行、流水线并行和张量并行等四种方式。这些策略帮助我们将训练数据和模型分布到多个设备上,以加速大模型训练过程。接下来,我们将介绍算法模型架构。Transformer网络模型是一种应用广泛的神经网络模型,基于自注意力机制。它在自然语言处理和计算机视觉任务中取得了显著的成果。此外,适用于万亿级稀疏场景的MoE模型,它通过混合专家模型来处理稀疏数据,具有良好的适应性。为了在有限的计算资源下实现大模型训练,我们需要采用内存和计算优化技术。在内存优化方面,我们激活重计算、内存高效优化器和模型压缩等技术。这些技术可以减少内存占用、降低内存消耗,从而提高训练效率。在计算优化方面,混合精度训练、算子融合和梯度累加等技术,以减少计算资源需求,进一步提升训练速度。最后,我们将讨论大模型训练的集群架构。选择合适的集群架构是实现大模型的分布式训练的关键。我们将介绍参数服务器模式(PS)和集合通讯模式(CC)两种流行的集群架构。PS架构通过Server和Worker之间的通信来更新模型参数,而CC模式中每个节点都是工作节点,负责模型训练并掌握当前最新的全局梯度信息。这些集群架构在大模型训练中起到了关键作用,帮助实现分布式训练并提高训练效率。综上所述,大模型训练需要综合考虑分布式并行加速、算法模型架构、内存和计算优化以及集群架构等多个方面。通过合理地优化这些方面,我们可以实现更高效的大模型训练,解决各种规模的机器学习问题。大模型训练的发展为我们提供了更多创新和突破的机会。大数据技术也为实现人工智能的进步和应用做出重要贡献。谢谢大家!"
|
27 |
topic_num = 5
|
28 |
-
max_length =
|
29 |
|
30 |
article = util.seg(text)
|
31 |
print(article)
|
|
|
25 |
|
26 |
text = "我今天的调研内容是大模型训练的关键技术与挑战。在现代机器学习任务中,大模型训练已成为解决复杂问题的重要手段。在本次报告中,我将介绍分布式并行加速、算法模型架构、内存和计算优化以及集群架构等关键技术。首先,分布式并行加速策略,包括数据并行、模型并行、流水线并行和张量并行等四种方式。这些策略帮助我们将训练数据和模型分布到多个设备上,以加速大模型训练过程。接下来,我们将介绍算法模型架构。Transformer网络模型是一种应用广泛的神经网络模型,基于自注意力机制。它在自然语言处理和计算机视觉任务中取得了显著的成果。此外,适用于万亿级稀疏场景的MoE模型,它通过混合专家模型来处理稀疏数据,具有良好的适应性。为了在有限的计算资源下实现大模型训练,我们需要采用内存和计算优化技术。在内存优化方面,我们激活重计算、内存高效优化器和模型压缩等技术。这些技术可以减少内存占用、降低内存消耗,从而提高训练效率。在计算优化方面,混合精度训练、算子融合和梯度累加等技术,以减少计算资源需求,进一步提升训练速度。最后,我们将讨论大模型训练的集群架构。选择合适的集群架构是实现大模型的分布式训练的关键。我们将介绍参数服务器模式(PS)和集合通讯模式(CC)两种流行的集群架构。PS架构通过Server和Worker之间的通信来更新模型参数,而CC模式中每个节点都是工作节点,负责模型训练并掌握当前最新的全局梯度信息。这些集群架构在大模型训练中起到了关键作用,帮助实现分布式训练并提高训练效率。综上所述,大模型训练需要综合考虑分布式并行加速、算法模型架构、内存和计算优化以及集群架构等多个方面。通过合理地优化这些方面,我们可以实现更高效的大模型训练,解决各种规模的机器学习问题。大模型训练的发展为我们提供了更多创新和突破的机会。大数据技术也为实现人工智能的进步和应用做出重要贡献。谢谢大家!"
|
27 |
topic_num = 5
|
28 |
+
max_length = 50
|
29 |
|
30 |
article = util.seg(text)
|
31 |
print(article)
|