@@ -61,7 +61,7 @@
</path>
</g>
</svg>
<span>持续训练中({{ item.updateTime }})</span>
<span>持续训练中<span v-if="item.updateTime"> ({{ item.updateTime }})</span></span>
</div>
</div>
<div class="model-descr-c">
@@ -136,7 +136,7 @@
</div>
</div>
</div>
<div class="data-distribution" v-if="tabContent[activeTab].chart.length">
<div class="data-distribution" v-if="tabContent[activeTab].chart && tabContent[activeTab].chart .length">
<div v-if="activeTab == 0">
<div class="title">训练数据分布</div>
<div class="descr">
@@ -188,6 +188,13 @@
<div class="chart-el chart-el-full" :class="`chart-el-eval`" style="height:450px;"></div>
</div>
</div>
<div class="features" v-if="tabContent[activeTab].features">
<div class="sum">{{ tabContent[activeTab].features.sum }}</div>
<div class="feature" v-for="(feature, index) in tabContent[activeTab].features.list" :key="index">
<div class="title">{{ feature.title }}</div>
<div class="descr">{{ feature.descr }}</div>
</div>
</div>
</div>
</div>
<div class="research-plan-field" v-if="researchPlan">
@@ -329,7 +336,7 @@ export default {
return {
models: [{
name1: '鹏城·脑海两千亿参数',
name2: 'PengCheng-Mind 200B ',
name2: 'PengCheng-Mind-200B-1.0 ',
status: [1, 2], // 1-可申请、2-持续训练中
descr: [
['基于', '中国算力网', '深圳枢纽节点(鹏城云脑Ⅱ)'],
@@ -341,7 +348,7 @@ export default {
updateTime: '2023年11月',
}, {
name1: '鹏城·脑海七十亿参数',
name2: 'PengCheng-Mind 7B ',
name2: 'PengCheng-Mind-7B-2.0 ',
status: [1, 2],
descr: [
['基于', '中国算力网', '西安、成都、大连节点'],
@@ -353,7 +360,7 @@ export default {
updateTime: '2024年11月',
}, {
name1: '鹏城·脑海二十亿参数',
name2: 'PengCheng-Mind 2B ',
name2: 'PengCheng-Mind-2B-2.0 ',
status: [1, 2],
descr: [
['基于', '中国算力网', '深圳枢纽(鹏城云脑Ⅱ)、武汉节点'],
@@ -363,9 +370,21 @@ export default {
link: 'https://openi.pcl.ac.cn/PCL-Platform.Intelligence/PengCheng.Mind-mindformer',
ops: [],
updateTime: '2024年11月',
}, {
name1: '鹏城·脑海 — 开元',
name2: 'PCMind-2.1-Kaiyuan-2B',
status: [1, 2],
descr: [
['基于', '中国算力网', '深圳枢纽节点(鹏城云脑Ⅱ)'],
['支持', 'NPU转换GPU'],
['基于', 'MindSpore'],
],
link: 'https://openi.pcl.ac.cn/PengChengMind/PCMind-Kaiyuan-2B',
ops: [],
updateTime: '',
}],
activeTab: 0,
tabList: ['PengCheng-Mind 200B', 'PengCheng-Mind 7B'],
tabList: ['PengCheng-Mind-200B-1.0', 'PengCheng-Mind-7B-2.0', 'PCMind-2.1-Kaiyuan-2 B'],
tabContent: [{
descr: [
`PengCheng-Mind 200B 脑海大模型是基于Transformer 架构的2010亿参数自回归式语言模型。模型全流程基于中国算力网枢纽节点(鹏城云脑Ⅱ)的全自主安全可控国产软硬件平台进行开发和训练,采用MindSpore框架实现在大规模集群上长期稳定的多维分布式并行训练。训练模型保存为3456个切片,容量约7.6TB,推理模型保存为16个切片,容量约375GB。支持4096个token的上下文窗口长度,主要聚焦中文核心能力,兼顾英文和部分多语言能力。当前模型已完成训练1T Tokens数据量,仍在持续训练迭代中。`,
@@ -467,6 +486,35 @@ export default {
]
}]
}
}, {
descr: [
`PCMind-2.1-Kaiyuan-2B 是一款在昇腾 910A 集群上训练的、数据与权重全开源的语言模型。模型规模为 14 亿参数(加上词表后为20亿),在约 2.2 万亿个 token 上完成预训练。在同类全开源模型中,该模型表现突出,已能够在多项指标上对标乃至接近同规模的主流开源模型。`,
],
features: {
sum: '围绕高效训练与高质量模型的目标,我们在数据预处理与预训练流程中进行了系统性的设计与优化,主要包括以下创新点:',
list: [
{
title: '1. 数据集质量基准评测',
descr: '针对多个主流开源预训练数据集(如 DCLM Baseline、FineWeb-Edu),我们采用分位质量评测方法,并结合小规模对比实验系统刻画其质量分布,从而为后续的数据筛选与配比策略提供量化依据。'
},
{
title: '2. 多阶段预训练策略',
descr: '将整个训练过程划分为 5 个阶段,在阶段推进过程中逐步提升推理密集型与知识密集型样本的占比;同时,对其中质量较高的数据片段进行有选择的重复采样与利用,以更高效地发挥优质数据的价值。'
},
{
title: '3. 多领域课程学习机制',
descr: '在不同数据集之间,我们基本保持总体数据配比稳定;在各数据集内部,则按样本质量由低到高进行排序,并结合更适配课程学习的学习率衰减与模型合并策略(详见论文 “How Learning Rate Decay Wastes Your Best Data in Curriculum-Based LLM Pretraining”),从而充分发挥课程学习在大规模预训练中的潜力。'
},
{
title: '4. 高性能数据预处理框架',
descr: '我们构建了一个基于 Spark 的开源数据处理框架,并通过 Chukonu 进行深度优化,在大规模去重、排序等核心任务上实现了极高的吞吐与可扩展性,显著降低了数据工程环节的时间与资源成本。'
},
{
title: '5. 面向训练稳定性的架构设计',
descr: 'Kaiyuan-2B 的架构针对昇腾 910A 集群(主要是 FP16 的训练精度)进行了优化,引入并集成了 QK Norm、Sandwich Norm 与 Soft-Capping 等技术,有效提升了大规模预训练过程中的数值稳定性与训练鲁棒性。'
},
]
}
}],
researchPlan: null,
};
@@ -700,12 +748,14 @@ export default {
.model-card-c {
display: flex;
align-items: center;
justify-content: center;
// justify-content: center;
flex-wrap: wrap;
gap: 20px 24px;
.model-card {
flex: 1;
max-width: 540px;
min-width: 40%;
// max-width: 50%; // 540px;
align-self: stretch;
border-color: rgba(201, 188, 234, 0.4);
border-width: 1px;
@@ -716,7 +766,7 @@ export default {
font-size: 14px;
padding: 25px;
line-height: 20px;
margin: 10px 12px;
// margin: 10px 12px;
background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%221%22%20x1%3D%220%22%20x2%3D%221%22%20y1%3D%220%22%20y2%3D%220%22%20gradientTransform%3D%22matrix(-0.41100000000000014%2C%201.129%2C%20-0.9908929639889198%2C%20-0.41100000000000014%2C%200.911%2C%20-0.129)%22%3E%3Cstop%20stop-color%3D%22%23f1ebff%22%20stop-opacity%3D%221%22%20offset%3D%220.005%22%3E%3C%2Fstop%3E%3Cstop%20stop-color%3D%22%23eef2ff%22%20stop-opacity%3D%221%22%20offset%3D%220.19%22%3E%3C%2Fstop%3E%3Cstop%20stop-color%3D%22%23ffffff%22%20stop-opacity%3D%221%22%20offset%3D%220.59%22%3E%3C%2Fstop%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22url(%231)%22%3E%3C%2Frect%3E%3C%2Fsvg%3E");
&:first-child {
@@ -848,7 +898,7 @@ export default {
align-items: center;
justify-content: center;
width: 320px;
height: 78 px;
height: 60 px;
border-width: 1px;
border-style: solid;
color: rgba(16, 16, 16, 0.5);
@@ -856,7 +906,7 @@ export default {
border-radius: 10px 10px 0px 0px;
text-align: center;
font-weight: 500;
font-size: 24 px;
font-size: 20 px;
line-height: 35px;
cursor: pointer;
@@ -964,6 +1014,34 @@ export default {
flex-basis: calc(100%);
}
}
.features {
margin-top: 1.2em;
.sum {
font-size: 16px;
color: #101010;
line-height: 24px;
}
.feature {
margin-top: 15px;
.title {
font-size: 16px;
font-weight: bold;
color: #101010;
line-height: 24px;
margin-bottom: 10px;
}
.descr {
font-size: 16px;
color: #101010;
line-height: 24px;
}
}
}
}
.research-plan-field {
@@ -1304,6 +1382,7 @@ export default {
.model-tab .tab-item {
font-size: 14px;
height: 46px;
line-height: 18px;
}
.model-tab-content {
@@ -1339,6 +1418,11 @@ export default {
}
}
.model-tab-content .features .sum,
.model-tab-content .features .feature .descr {
font-size: 14px;
}
.research-plan-field {
margin-top: 32px;
}