2310.19341_Skywork: A More Open Bilingual Foundation Model¶
组织: Skywork Team, Kunlun Inc
引用: 109(2025-07-17)
总结¶
成果
Skywork-13B,是一个基于超过3.2万亿个英文和中文文本语料训练的大型语言模型(LLM)
SkyPile语料库(部分),该语料库包含超过1500亿个高质量中文网络文本,是目前最大的公开中文预训练语料库。
SkyPile-STEM,主要包含数学、编程等STEM领域的训练数据
SkyPile-Main:剩余部分
核心贡献
开发过程全面且透明,为研究人员提供了宝贵的资源,有助于推动协作和开源精神
而其他 LLM 只开放权重,没有开放训练过程和数据
LLM 总结¶
1. 背景与动机¶
随着大语言模型(LLM)的发展,越来越多的研究和应用依赖于这些基础模型。
然而,大多数现有的大型模型在开放性、双语支持和训练数据透明性方面存在不足。
作者提出 Skywork,旨在提供一个更开放、更透明,且同时支持中文和英文的双语基础模型。
2. Skywork 模型概述¶
Skywork 是一个大规模语言模型,具备强大的中英文双语理解和生成能力。
该模型在多个自然语言处理任务上表现优异,包括文本生成、问答、摘要和推理等。
3. 开放性设计¶
训练数据开放:Skywork 的训练数据来源公开透明,便于复现和研究。
模型权重开放:模型的权重(weights)可以被访问和使用,满足研究和商业应用的需求。
许可证开放:采用开放许可证,允许广泛使用和再分发。
4. 中英文双语能力¶
Skywork 在中文和英文两个语言上都经过充分训练和优化。
在中英文混合任务中表现出色,适合多语言应用场景。
5. 性能评估¶
作者在多个基准测试上对 Skywork 进行评估,包括 GLUE、SuperGLUE、MMLU 和中文 NLP 基准。
Skywork 在这些任务中展现出与当前主流大模型相当甚至更优的性能。
6. 潜在应用¶
Skywork 可以用于多种实际场景,如内容生成、智能客服、教育辅助、多语言翻译等。
模型的开放性也使其成为学术研究和工业界合作的理想选择。
7. 未来工作¶
作者提出将继续优化模型的多模态能力,使其能够处理图像、音频和视频等多媒体数据。
还计划扩大模型的语言支持范围,涵盖更多语言。
总结¶
Skywork 是一个更加开放、透明且支持中英文的双语大语言模型。它在多个 NLP 任务中表现出色,具备广泛的应用潜力。通过开放模型和训练数据,Skywork 为学术研究和工业应用提供了一个强有力的工具。
Abstract¶
本章节为论文摘要部分,主要内容总结如下:
模型介绍:本文介绍了Skywork-13B,这是一个基于超过3.2万亿个英文和中文文本语料训练的大型语言模型(LLM)。该双语基础模型是目前训练最充分、公开发布的同规模LLM中最为全面的模型之一。
训练方法:提出了一种两阶段的训练方法,第一阶段是通用训练,第二阶段是针对特定领域的增强训练,以提升模型的适应性和性能。
模型表现:该模型在多个主流基准测试中表现出色,尤其在中文语言建模方面,在多个领域达到了state of the art(最先进的)水平。
数据泄露检测:提出了一种新的数据泄露检测方法,指出数据污染是当前LLM领域亟需解决的问题,呼吁社区进一步研究。
开源成果:为了推动后续研究,作者开源了Skywork-13B模型以及训练过程中获得的中间检查点。此外,还发布了部分SkyPile语料库,该语料库包含超过1500亿个高质量中文网络文本,是目前最大的公开中文预训练语料库。
研究愿景:希望Skywork-13B和开源语料库能够成为高质量LLM的重要开源资源,促进LLM技术的普及和可访问性。
1 Introduction¶
本论文的引言部分主要介绍了自然语言处理(NLP)领域近年来在大语言模型(LLMs)推动下取得的突破性进展,并指出当前LLMs发展过程中存在的商业化和不透明问题,强调了开源社区在推动技术进步中的重要性。
文中指出,虽然大语言模型在语言理解和生成方面表现出色,但越来越多的组织倾向于限制模型细节的公开,仅分享模型权重,而对训练数据和方法等关键信息则保密,这阻碍了学术研究与技术共享。为应对这一趋势,作者团队发布了 Skywork-13B —— 一个包含130亿参数的中英双语大语言模型家族,旨在推动透明、可复现的AI研究。
作者的主要贡献包括:
发布Skywork-13B模型:这是目前最全面训练并公开发布的中英双语大语言模型之一,包括基础模型(Skywork-13B-Base)和对话优化版本(Skywork-13B-Chat);
公开训练过程与数据细节:详细披露训练方法、数据构成,并发布中间检查点,便于其他研究者复现与研究模型能力的发展;
开放高质量训练语料:发布超过1500亿token的中文训练语料,这是目前开放的规模最大的中文预训练语料库;
提出新方法检测训练中领域数据的使用比例:并开放相关实验数据,以支持研究的可复现性。
总体而言,这篇论文不仅是对Skywork-13B的技术介绍,也是一次呼吁NLP领域回归开放与协作精神的倡议,强调通过共享与透明促进AI研究的可持续发展。
2 Methodology¶
本文的第二章“方法论”主要介绍了Skywork-13B大语言模型的预训练方法和训练过程中监控进展的策略,具体总结如下:
2.1 两阶段预训练¶
为训练Skywork-13B,作者构建了大规模语料库SkyPile,其中包含大量公开的网页数据。作者从SkyPile中分离出一个子集,命名为SkyPile-STEM,主要包含数学、编程等STEM领域的训练数据,其余部分称为SkyPile-Main。
为避免“灾难性遗忘”,作者采用了两阶段的预训练策略:
第一阶段(Stage-1):在SkyPile-Main上从头开始训练模型,获取一个通用语言建模能力的基础模型。
第二阶段(Stage-2):在SkyPile-STEM上进行持续预训练,增强模型在STEM领域的知识和解决能力。为避免遗忘,训练时会混合使用SkyPile-STEM和SkyPile-Main的数据。
这种分阶段训练策略有两大优势:
研究价值:能够区分通用预训练和领域预训练对模型性能的影响,为未来数据采集和模型训练提供参考。
模型多样性:第一阶段生成的通用模型可在不需要STEM能力的场景中发挥优势,对社区具有实用价值。
2.2 训练过程监控¶
作者指出,传统监控方法(如训练损失和基准测试)存在局限:
训练损失不可靠:由于数据重复使用,训练损失持续下降并不一定反映模型实际性能,反而可能掩盖过拟合风险。
基准测试不稳定:评估结果波动大,不敏感于模型的微小进步,且对弱模型评估不准确,且生成过程计算成本高。
为更准确地监控模型训练进展,作者提出了一种基于多个验证集的语言建模损失监控方法:
构建多个验证集,覆盖不同领域数据(如代码、学术论文、社交媒体、中英文网页等)。
监控模型在这些验证集上的语言建模损失,作为模型性能的代理指标。
该方法的优势包括:
构建容易:可针对多个领域分别创建验证集。
计算简单:验证损失计算轻量,适合持续监控。
敏感性强:能更细致地反映模型在训练过程中的变化。
模型无关性:适用于不同训练数据和模型结构,便于模型比较。
最后,作者指出,语言建模损失作为核心评估指标的理念并非新颖,已被诸多研究采用。
总结¶
本章重点阐述了Skywork-13B的训练方法和监控策略。通过两阶段预训练,模型在保持通用语言能力的同时,增强了STEM领域的专业能力。在监控方面,作者提出基于多验证集的语言建模损失监控方法,作为评估模型性能的有效手段,克服了传统方法的局限性,为大模型的训练和评估提供了新的思路。
3 Pre-training¶
以下是对第3章“Pre-training”(预训练)内容的中文总结:
3 Pre-training(预训练)总结:¶
本章节详细介绍了Skywork-13B语言模型的预训练过程,内容涵盖数据集构建、数据处理、训练数据组成、词表设计、模型架构、训练基础设施与训练细节。
3.1 SkyPile Corpus(SkyPile语料库)¶
SkyPile是一个包含超过6万亿token的高质量语料库,其中一部分(1500亿token)已被开源,用于支持中文大语言模型的研究。
语料来源以公开渠道为主,参考了LLaMA和RefinedWeb等项目的做法,验证了公开网络数据构建高质量语言模型的可行性。
语料构建过程包括以下几个关键步骤:
结构提取:从网页中提取核心内容,去除导航栏、联系方式等无关信息。
分布过滤:通过语义相似度分析,过滤高频重复内容,而非依赖人工分类。
去重处理:采用主流方法去除重复内容,提升语料质量。
质量过滤:使用CCNet工具过滤低质量内容,仅保留高质量英文和中文文本。
GitHub代码部分使用启发式方法进行清洗,保留一定比例的JSON/XML/HTML等格式内容。
语料中还包含中英文平行语料,以增强双语能力。
3.2 Training Data Composition(训练数据组成)¶
Skywork-13B的预训练使用了3.2万亿个token,所有数据均采自SkyPile。
数据来源以英文和中文为主,分别占49.8%和39.6%,代码占8.0%,其他语言占2.4%。
数据中包含了维基百科、书籍、论文、社交媒体、法律文件、年报等多样内容。
高质量来源(如维基百科)经过小幅上采样,但重复次数不超过5次,遵循最新研究建议。
3.3 Tokenizer(词表)¶
采用SentencePiece实现的BPE编码器,词表扩展自LLaMA的词汇。
针对中英文双语需求,词表中新增了8000个常用中文字符和25519个常用中文词汇,总词表大小为65536。
数字被拆分为单个数字,未知UTF-8字符则退化为字节表示。
3.4 Architecture(架构)¶
Skywork-13B基于Transformer解码器架构,借鉴了LLaMA的优化设计。
相比LLaMA-13B,模型更“深”而“窄”,层数从40增至52层,但每层隐藏维度略有减少。
引入了以下关键技术:
RoPE(旋转位置编码):提升长上下文建模能力。
RMSNorm:替代传统LayerNorm,增强训练稳定性。
SwiGLU激活函数:提高非线性表达能力,并调整FFN维度。
网络参数、序列长度、批量大小等关键参数在表中进行了对比。
3.5 Infrastructure(基础设施)¶
Skywork-13B使用64台NVIDIA HGX-A800节点训练,共512块A800-80G GPU。
高速NVLink和RoCE网络保障了节点间通信效率。
训练框架基于Megatron-LM,支持大规模模型训练。
采用Data Parallel + ZeRO-1 + Pipeline Parallel的组合策略,避免使用复杂的内存优化技术。
使用Flash Attention V2加速训练过程,达到每GPU每秒1873 token的吞吐量,模型FLOPS利用率为56.5%。
总训练耗时39天。
3.6 Training Details(训练细节)¶
Skywork-13B的预训练分为两个阶段:
Stage-1:使用SkyPile-Main进行通用预训练,训练3.2万亿token。
Stage-2:使用SkyPile-STEM进行STEM领域连续预训练(内容未详细展开)。
采用自回归语言建模目标,上下文长度为4096 token。
使用AdamW优化器,学习率采用余弦衰减,并在第二阶段调整为恒定学习率。
Stage-1训练分为两次:0∼2T和2∼3T token,后者引入新数据源并优化学习率。
模型在中文语言建模任务上表现优于其他开源模型,尽管英语表现稍逊。
总体总结:¶
本章全面介绍了Skywork-13B模型的预训练过程,从高质量语料库SkyPile的构建,到模型架构、训练策略与基础设施,形成了系统化的训练流程。模型在中文任务上表现出色,为后续的评估与应用奠定了坚实基础。
3.6.2 Stage-2 Pre-training¶
本节主要介绍了 Stage-2 预训练 的目标、数据构成、训练策略及其效果。
目标:Stage-2 预训练的核心目标是增强模型在 STEM 领域(科学、技术、工程和数学)的能力。
数据构成:训练数据主要来自两个来源:
SkyPile-STEM(STEM 专用数据集):约占 20%
SkyPile-Main(通用语料库):约占 80%
总数据量约为 1300 亿个 token
学习率设置:使用 固定学习率 6e-5,与 Stage-1 预训练的最终学习率保持一致,以确保训练的连续性和稳定性。
数据采样策略:由于 Stage-1 到 Stage-2 数据分布发生了变化,需对不同数据源的采样比例进行精细调节。实验表明,逐步增加 SkyPile-STEM 的比例 效果最佳。因此在实际训练中,初始采用 10% 的 SkyPile-STEM,逐步增加至最后的 40%。
训练效果:
该策略成功保持了模型在语言建模验证损失上的稳定性。
同时有效提升了模型对 STEM 知识的迁移能力。
延长的训练时间确保了 STEM 相关知识的充分融合,而不会显著干扰模型已有的知识。
结果展示:
图 5 展示了 Stage-2 预训练过程中 CEVAL 基准得分的提升趋势。
其他 STEM 相关基准(如 GSM8K)也出现了类似的提升趋势。
CEVAL 各学科的具体提升情况可见附录表 12。
4 Evaluation¶
这一章节主要评估了Skywork-13B模型在多个基准测试中的表现,并与其他同规模或更大规模的语言模型进行了比较。以下是该章节的总结:
1. 基线模型对比(Baselines)¶
研究将Skywork-13B与多个开源模型进行了比较,包括LLaMA、Baichuan、Xverse、InternLM等系列模型。这些模型在规模和训练数据量上与Skywork-13B相近或更大。Skywork-13B在训练数据量(3.2T tokens)和语言支持(中英双语)方面表现突出,是其中数据量和语言支持最全面的模型之一。
2. 基准测试评估(Benchmark Evaluation)¶
研究使用四个主流基准测试评估模型性能:
MMLU(英语知识测试):覆盖57个学科,难度从初级到高级。
CEVAL & CMMLU(中文知识测试):模仿MMLU,覆盖更多中文学科。
GSM8K(数学推理):多步数学问题,测试模型的数学推理能力。
在这些基准测试中,Skywork-13B表现出色:
在CEVAL、MMLU和GSM8K中分别取得60.6、62.1和55.8的高分,均优于其他模型。
在CMMLU上,Baichuan2-13B表现最优,得分为62.0。
总结来看,Skywork-13B在多样性、复杂性和多语言测试中展现出卓越的性能。
3. 语言建模评估(Language Modeling Results)¶
为了应对传统基准测试可能存在的“过拟合”问题,研究提出了语言建模作为评估语言模型能力的新方法。
(1) 语言建模作为基准测试替代方案¶
语言建模评估通过**困惑度(perplexity)**来衡量模型的语言理解能力。与传统依赖人工标注数据的基准不同,语言建模仅需未标注的自然文本,具有以下优势:
构建和更新测试集成本低。
可快速替换可能被泄露的测试数据。
与下游任务表现有强相关性。
(2) 多样化测试集的构建¶
研究构建了一个覆盖多个领域的中文语言测试集(如科技、电影、政府、金融等),所有测试样本均来自2023年9月后发布的内容,确保与训练数据无重叠。测试集的构建过程和数据来源详见附录。
(3) 评估结果¶
Skywork-13B在所有测试领域中均取得了最低的困惑度,平均为9.42,优于包括InternLM-20B和Aquila2-34B在内的更大规模模型。
在科技、电影、政府和金融等关键领域,Skywork-13B均取得最佳表现。
研究认为Skywork-13B的优异表现源于高质量的训练数据(SkyPile语料)和严格的数据筛选流程。
总体结论¶
Skywork-13B在多个语言建模和基准测试中均表现出色,尤其是在多语言支持、大规模训练数据和语言建模能力方面具有显著优势。研究不仅验证了模型的广泛适应性和鲁棒性,也为未来大模型评估提供了新的方法和数据支持。
5 Discussion¶
本章节主要探讨了在基准任务中使用领域内数据(in-domain data)进行预训练带来的影响、常见性以及潜在风险。以下是各部分内容的总结:
5.1 领域内数据预训练的效果¶
基础语言模型通常以通用语料进行预训练,用作迁移学习的基础模型。
对模型在特定任务上的性能而言,使用任务相关的领域内数据进行预训练比使用通用数据(如网页文本)更高效。
作者展示了在 Skywork-13B 模型中,Stage-2 预训练显著提升了 STEM 相关任务的性能(如 CEVAL 和 GSM8K)。
更进一步,他们使用一个仅预训练了 0.5T 数据的较弱模型(checkpoint),仅用 1B 的领域内数据进行预训练后,其性能也显著提升:
CEVAL 从 28.3 提高到 50.8
GSM8K 从 6.9 提高到 40.7
尽管性能提升明显,但语言建模能力下降(表现为验证损失上升),说明性能提升是以牺牲通用语言能力为代价的。
5.2 领域内数据预训练是否常见?¶
作者检验了多个主流模型是否在训练时接触过GSM8K 数据集(包括训练集、测试集和 GPT-4 生成的类似样本)。
理论预期:若模型未接触过这些数据,其语言建模损失应大致相同。
实验发现:
多数模型的测试集与训练集损失接近,但某些模型(如 Baichuan2、Qwen、Aquila2)在训练集上的损失远低于测试集,说明可能在训练阶段接触过类似训练数据。
特别是 Aquila2-34B 模型在测试集上的损失异常低,可能暗示测试数据泄露或过度拟合。
作者认为,领域内数据在预训练阶段的使用在业界已经成为一种普遍做法,但这也可能带来不公平性和透明度问题。
5.3 预训练与有监督微调的边界模糊¶
在 GPT-4 之前的时代,由于监督数据稀缺,预训练通常使用无监督数据,监督数据只用于微调阶段。
然而,随着大模型的普及,生成监督数据变得容易且廉价(如通过 API 调用大模型生成任务样本)。
这使得有监督的领域内数据可以被纳入预训练阶段,模糊了预训练与微调的界限。
作者指出,虽然这种做法提升了任务性能,但也存在基准测试不公平的风险:
模型可能在特定任务上表现优异,但在新任务上表现不佳。
这会导致模型能力被高估,误导用户或投资者。
总结¶
本章总结了在大模型时代背景下,领域内数据预训练的利与弊:
优点:显著提升特定任务性能,尤其是对于 STEM 类任务。
常见性:业内许多主流模型的训练数据中可能已包含领域内数据(如 GSM8K)。
风险:牺牲通用语言能力,可能造成模型在新任务上的表现不足,以及在基准评测中的不公平性。
作者呼吁在使用这种策略时应保持谨慎,以确保模型评估的公平性与透明性。
6 Limitation¶
本章节主要讨论了模型预训练方法和评估指标的局限性:
预训练方法的局限性:Skywork-13B采用两阶段预训练方法(通用预训练 + 领域增强预训练),但这种方法是否优于或等同于在混合语料上进行单阶段训练,目前尚不明确,需要进一步研究比较不同预训练策略的效果。
评估指标的局限性:论文提出使用语言模型的损失函数或困惑度作为代理指标来评估和监控大语言模型。然而,这种评估依赖于测试数据的特定分布,而分布有无限多种可能。因此,语言模型的困惑度可能在某些任务上具有预测性,但在其他任务上可能无效,其与下游任务性能之间的相关性会因任务和数据分布的不同而变化。
7 Conclusion¶
本文第七章“结论”总结了Skywork-13B研究工作的主要贡献与意义。作者指出,Skywork-13B在开源大语言模型的发展中是一个重要的进步,其开发过程全面且透明,为研究人员提供了宝贵的资源,有助于推动协作和开源精神。论文提出的分阶段训练方法以及基于分段语料库的训练策略,为提升模型在特定领域的性能提供了新思路;同时,论文中提出的训练进度监控方法也为追踪大模型训练过程中的性能提升提供了实用解决方案。
此外,作者强调这项研究不仅是对一个新模型的开发,更是对整个NLP社区的一种呼吁,倡导回归公平、透明以及知识共享的原则,这些原则曾推动过领域内的重大进展。希望Skywork-13B不仅能成为各种应用的强大工具,更能激发未来模型开发中对开放与合作的重新承诺。
Appendix A Details on GPT-7B vs. LLaMA-7B Experiment¶
本附录总结了一项初步实验,比较了GPT-7B和LLaMA-7B在相同训练环境下的语言建模性能。实验中,两个模型均训练了2000亿个来自相同语料库的token,并使用相同的训练参数。所有变量都保持一致,唯一不同的是模型架构。
具体区别如下:
位置编码:GPT使用绝对位置编码,LLaMA使用旋转位置编码。
归一化方法:GPT使用LayerNorm,LLaMA使用RMSNorm。
激活函数:GPT使用GELU,LLaMA使用SwiGLU。
Dropout概率:GPT使用0.1的Dropout,而LLaMA未使用Dropout。
两个模型在其他参数上保持一致,包括:
层数:32层
隐藏层大小:4096
注意头数量:32
前馈网络大小:GPT为16384,LLaMA为11008
最大上下文长度:4096
训练参数如学习率、优化器设置(Adam β1/β2、epsilon)、精度(bf16)、学习率衰减方式等均相同。
该实验旨在控制变量以比较架构设计对模型性能的影响。
Appendix B Preliminary Experiments on Distributed Training¶
本节总结了分布式训练的初步实验结果,主要包括训练配置的性能对比以及模型在多个英文基准测试中的表现。
分布式训练性能对比(表10):
实验在LLaMA-13B和Skywork-13B两种模型架构上进行,评估了不同的分布式训练策略。
使用了多种并行策略的组合,包括数据并行(DP)、张量并行(TP)和流水线并行(PP)。
在所有配置中,使用 DP256 + PP2 并结合 ZERO-1 优化策略时,两者的吞吐量(Throughput)和模型浮点运算利用率(MFU)均达到最佳。
高数据并行度(如 DP512)会导致显存不足(OOM),从而无法运行。
增加张量并行和流水线并行虽然有助于提高效率,但也会带来一定的性能损失。
模型在英文基准上的表现(表11):
Skywork-13B 在多个英文任务中表现良好,例如:
在 BoolQ 上得分为 82.9;
在 ARC-E 上得分为 78.5;
在 RACE 上得分为 45.2。
尽管 Skywork-13B 在某些任务上略逊于 LLaMA2-13B(例如 TriviaQA 和 Hellaswag),但整体表现与 LLaMA2-13B 相当。
所有模型的表现可能受提示模板和样本数量(few-shot)的影响,因此不同来源的结果可能存在差异。
总结:
在分布式训练配置中,使用 DP256 和 PP2 的组合能获得最佳效率,同时避免显存不足的问题。Skywork-13B 在英文基准测试中的表现与主流模型(如 LLaMA2-13B)相近,表明其在语言理解任务上具有竞争力。
Appendix C More Benchmark Results¶
本附录(附录C)提供了更多基准测试的结果,具体包括以下几个常用自然语言理解和推理数据集的实验表现:
TriviaQA:一个真实世界的问答数据集,包含来自维基百科和网络的662K篇文档中的950K个问答对。
HellaSwag:专注于基于常识的推理任务,评估模型对现实场景的理解能力。
Winogrande:专注于常识推理,尤其测试模型在指代消解和上下文理解方面的能力。
BoolQ:一个二分类(是/否)问答数据集,用于评估模型的判断能力。
PIQA:用于评估模型在物理常识方面的推理能力。
ARC:一个多项选择题数据集,测试模型的常识推理能力。
RACE:阅读理解数据集,测试模型对文本的理解和推理能力。
这些结果进一步验证了模型在不同任务上的性能,尤其在常识推理和理解能力方面。
Appendix D Details on LM Test Sets¶
该章节详细介绍了用于语言模型测试集的数据来源和评估结果:
数据来源:研究团队从多个广泛使用的中文网站上每日爬取公开文章和用户帖子,构建了一个独立于SkyPile的语言建模测试集。测试集根据内容领域进行分类,包括:
Technology(科技):来自36kr.com的AI相关文章。
Movie(电影):来自豆瓣(douban.com)的用户写的影评。
Government(政府):来自人民网(people.com.cn)的新闻,语言正式且权威。
Game(游戏):来自Gcores(gcores.com)的游戏类文章。
Finance(财经):来自新浪财经(finance.sina.com.cn)的财经新闻。
General(综合):来自界面新闻(jiemian.com)的综合性新闻。
评估结果:表格12展示了CEVAL基准测试的结果,列出了不同科目在三个阶段(Stage-1、Stage-2 和 Boost)的得分变化,显示了模型在各个领域的提升或下降情况。
图示数据:图6展示了Skywork-13B模型在Stage-1预训练阶段在多个基准测试中的表现,包括BoolQ、PIQA、Winogrande、TriviaQA、RACE和CMRC等。
总结:本章节重点在于说明测试集的构建过程和来源,并通过表格和图表展示语言模型在不同领域和阶段的评估表现。