别再瞎猜了!Qwen训练数据全流程拆解,从清洗到配比,这篇彻底给你说明白!
一、Qwen
1)PRE-TRAINING DATA
数据量大小已被证明是开发强大大型语言模型的关键因素,这一点在之前的研究中中得到了强调。为了创建一个有效的预训练数据集,确保数据的多样性并涵盖各种类型、领域和任务至关重要。我们的数据集旨在满足这些要求,并包括公共网络文档、百科全书、书籍、代码等。此外,我们的数据集是多语言的,其中很大一部分数据是用英语和中文编写的。
为了确保我们预训练数据的质量,我们开发了一套全面的数据预处理流程。对于公开的网络数据,我们从 HTML 中提取文本,并使用语言识别工具来确定语言。为了增加数据的多样性,我们采用了去重技术,包括在规范化之后的精确匹配去重以及使用 MinHash 和 LSH 算法的模糊去重。为了过滤掉低质量的数据,我们采用了基于规则和基于机器学习的方法的组合。具体来说,我们使用多个模型对内容进行评分,包括语言模型、文本质量评分模型以及用于识别潜在冒犯性或不适当内容的模型。我们还从各种来源手动抽取文本并进行审查,以确保其质量。为了进一步提高数据的质量,我们有选择地从某些来源增加数据样本,以确保我们的模型是在多样化的高质量内容上进行训练的。在最近的研究中,已经证明使用多任务指令预训练语言模型可以增强它们的 zero-shot 和 few-shot 性能。为了进一步提升我们模型的性能,我们在预训练过程中融入了高质量的指令数据。为了保证我们的基准评估的完整性,我们采用了与 Brown 等人(2020 年)类似的方法,并仔细剔除了任何与我们在评估中所使用的测试集中的数据存在 13 个字符重叠的指令样本。鉴于下游任务数量众多,不可能为所有任务重复这一筛选过程。相反,我们确保所报告任务的指令数据都经过了我们的筛选过程,以确保其准确性和可靠性。最后,我们构建了一个多达 3T 个标记的语料库。
2)POST-TRAINING DATA
为了增强我们监督式微调数据集的能力,我们对多种风格的对话进行了标注。
传统的数据集(Wei 等人,2022a)包含大量以自然语言形式提出问题、给出指令和答案的数据,而我们的方法则更进一步,对人类风格的对话进行了标注。这一做法受到了 Ouyang 等人(2022)的研究的启发,旨在通过专注于针对各种任务的自然语言生成来提高模型的有用性。为了确保模型能够广泛地泛化到各种场景,我们特意排除了格式化为提示模板的数据,因为这些数据可能会限制其能力。此外,我们优先考虑语言模型的安全性,对涉及暴力、偏见和色情等安全问题的数据进行了标注。
除了数据质量之外,我们还观察到训练方法会对模型的最终性能产生显著影响。为了实现这一点,我们采用了 ChatML 格式,这是一种通用的元语言,能够描述元数据(例如角色)以及一轮对话的内容。这种格式使模型能够有效地区分各种类型的信息,包括系统设置、用户输入和助手输出等。通过利用这种方法,我们可以增强模型准确处理和分析复杂对话数据的能力。
二、Qwen2
1)PRE-TRAINING DATA
Qwen2 模型的预训练涉及开发一个新的大规模、高质量的多语言数据集。该数据集相较于之前 Qwen 和 Qwen1.5 模型所使用的语料库有了显著提升,在规模、质量和多样性等几个关键领域都有所增强:
Quality Enhancement 该过滤算法已通过额外的启发式和基于模型的方法进行了改进,其中包括使用 Qwen 模型来过滤掉低质量的数据。此外,这些模型还被用于合成高质量的预训练数据。
Data Expansion 与 Qwen1.5 相比,我们收集了大量更高质量的代码、数学和多语言数据,从而增强了模型在相应领域的性能。这个新数据集支持约 30 种语言,包括英语、汉语、西班牙语、法语、德语、阿拉伯语、俄语、韩语、日语、泰语和越南语。
Distribution Improvement 为了确保模型能够学习到类似于人类学习的分布特征,我们对缩小版模型进行了实验,以优化来自不同来源和领域的数据的混合方式。
基于这些改进,预训练数据从 Qwen1.5 中的 3T个标记扩展到了 7T 个标记。尝试进一步放宽质量阈值导致生成了一个 12T 个标记的数据集。然而,基于这个数据集训练的模型与 7T 个标记的模型相比并未显示出显著的性能提升。有人怀疑增加数据量不一定能有益于模型的预训练。考虑到训练成本,我们选择使用质量更高的 7 万亿个标记的数据集来训练更大的模型,将进一步探索留待未来的模型迭代中进行。
所有 Qwen2 的密集型模型(除了 Qwen2-0.5B 外)都是基于这个包含超过 7 万亿个标记的大型数据集进行预训练的。Qwen2-0.5B 则是使用包含 12 万亿个标记的数据集进行预训练的。MoE 模型额外接受了 4.5 万亿个标记的预训练,这符合循环利用的原则。与之前的 Qwen 模型类似,高质量的多任务指令数据被整合到 Qwen2 的预训练过程中,以增强上下文学习和指令遵循能力。
2)POST-TRAINING DATA
训练数据的构建包含两个步骤:协作式数据标注和自动数据合成。首先,我们从大规模指令语料库中提取数据本体,从而获得一系列广泛且多样化的高质量指令。这些指令经过系统性增强以增加其复杂性。通过人工标注,我们获取目标响应 及其正反对应项(,)。随后,采用多种自动对齐策略来合成涵盖代码、数学、遵循指令、创作、角色扮演和安全等多个领域的大量人工标注数据。
3)COLLABORATIVE DATA ANNOTATION
Automatic Ontology Extraction 该过程始于应用 InsTag,这是一款 open-set fine-grained tagger,用于从大规模指令数据集中提取底层本体。随后的人工精修确保了所提取本体的准确性。
Instruction Selection 每一条带有注释标签的指令都会根据标签多样性、语义丰富度、复杂程度以及意图完整性这几个标准进行评估。基于这些标准,我们选取了一组具有代表性的指令(Dong 等人,2023 年)。
Instruction Evolution 为了丰富指令数据集,采用了自进化策略(Zhao 等人,2024 年),促使 Qwen 模型为现有指令添加约束或要求,从而增加了指令的复杂性,并确保数据集中存在多样化的难度级别。
Human Annotation 通过运用多种生成策略和不同规模的 Qwen 模型,获取了针对指令的多种响应。标注人员根据自身偏好对这些响应进行排序,以确保最佳响应符合既定标准,从而获得证实数据和偏好数据。
4)AUTOMATED DATA SYNTHESIS
在大规模情况下维持指令响应标注的质量是一项极具挑战性的任务,尤其是那些需要专业知识、经验、谨慎态度或耐心的标注任务。为了解决这些挑战,我们设计了多种自动化对齐策略来大规模合成数据。
Rejection Sampling 对于具有明确最终答案的数学或类似任务,采用拒绝抽样以提高解决方案的质量。大型语言模型(LLMs)的任务是为每条指令生成多个响应,即推理路径。那些能得出准确结论且被模型认为合理的路径会被保留下来,作为证实数据。通过对比正确和错误的路径来生成偏好数据。
对与有答案的指令,LLM生成多条推理路径,能得出正确答案且模型认为合理的被保留。
Execution Feedback 对于编码任务,LLMs(大型语言模型)被用于生成解决方案以及相关的测试用例。这些解决方案的有效性通过针对测试用例进行编译和执行来评估,从而生成证实和偏好数据。这种方法也适用于评估遵循指令的情况(Dong 等人,2024 年)。对于每个带有约束条件(例如长度限制)的指令,LLM 都被要求生成一个 Python 验证函数,以确保响应符合指令要求。
Data Repurposing 对于没有接受过专门训练的标注员来说,在文学写作任务中生成熟练的回应是一项具有挑战性的任务。为了解决这个问题,我们从公共领域收集高质量的文学作品,并使用大型语言模型(LLMs)来开发具有不同详细程度的指令。这些指令与原始作品一起作为证实数据使用。例如,为了编纂包含生动且引人入胜的 responses 的角色扮演数据,我们从知识库(如维基百科)中获取详细的角色描述,并指示大型语言模型生成相应的指令和回应(Lu 等人,2024b)。这个过程类似于阅读理解任务,确保角色描述的完整性得以保持。
Constitutional Feedback Constitutional AI 能指的是引导大型语言模型(LLM)根据预先设定的一系列原则生成回复的过程(Bai 等人,2022 年)。为了确保遵循诸如安全性与价值观等准则,编制了一个宪法数据集。该数据集明确了需遵循的原则以及需避免的原则。它被用于指导 LLM 生成要么符合这些准则要么偏离这些准则的回复,作为证实和偏好数据的参考依据。
三、Qwen2.5
在数据方面更出色:预训练和后训练的数据都有了显著的提升。预训练数据从 7T 个标记增加到了 18T 个标记,重点在于知识、编码和数学方面。预训练是分阶段进行的,以便在不同的 mixtures 之间过渡。后训练的数据总计达 100 万 个示例,涵盖了监督微调(SFT)、直接偏好优化(DPO)和组相对策略优化(GRPO)这几个阶段。
1)Pre-training Data
Qwen2.5 在预训练数据质量方面相较于其前身 Qwen2 有了显著提升。这些改进源于几个关键方面:
- Better data filtering. 高质量的预训练数据对于模型性能至关重要,因此数据质量评估和筛选是我们流程中的关键组成部分。我们利用 Qwen2-Instruct 模型作为数据质量筛选器,它们能进行全面、多维度的分析来评估和打分训练样本。这种筛选方法相较于我们之前用于 Qwen2 的方法有了显著的进步,因为它得益于 Qwen2 在更大规模多语言语料库上的扩展预训练。增强的能力使得质量评估更加细致入微,从而在多个语言中不仅提高了高质量训练数据的留存率,还更有效地过滤了低质量样本。
- Better math and code data。在 Qwen2.5 的预训练阶段,我们整合了来自 Qwen2.5-Math 和 Qwen2.5-Coder 的训练数据。这种数据整合策略效果显著,因为这些专门的数据集对于在数学和编码任务上达到顶尖表现至关重要。通过在预训练期间利用这些高质量的领域特定数据集,Qwen2.5 继承了在数学推理和代码生成方面强大的能力。
- Better synthetic data. 为了生成高质量的合成数据,尤其是在数学、代码以及知识领域方面,我们借助了 Qwen2-72B-Instruct 和 Qwen2-Math-72B-Instruct 这两个模型。通过使用我们专有的通用奖励模型以及专门的 Qwen2-Math-RM-72B 模型进行严格的筛选,我们进一步提升了这种合成数据的质量。
- Better data mixture. 为了优化预训练数据的分布,我们采用了 Qwen2-Instruct 模型对不同领域的内容进行分类和平衡处理。我们的分析表明,诸如电子商务、社交媒体和娱乐等领域的数据在大规模网络数据中占比过高,往往包含重复、模板化或机器生成的内容。相反,诸如技术、科学和学术研究等领域的数据虽然包含高质量的信息,但传统上占比过低。通过有策略地对占比过高的领域进行下采样以及对高价值领域进行上采样,我们确保了训练数据集更加平衡且信息丰富,从而更好地服务于我们模型的学习目标。
基于这些技术,我们开发了一个更大且质量更高的预训练数据集,从 Qwen2 中使用的 7 万亿个标记扩展到了 18 万亿个标记。
2)Post-training Data
Expanded Supervised Fine-tuning Data Coverage: 监督式微调过程利用了一个包含数百万高质量示例的庞大数据集。这一扩展特别针对先前模型表现受限的关键领域进行改进,例如长序列生成、数学问题解决、编程、遵循指令、结构化数据理解、逻辑推理、cross-lingual transfer以及强大的system instruction。
- Long-sequence Generation:Qwen2.5 能够生成高质量内容,其输出上下文长度可达 8192 个标记,这相较于通常的后训练响应长度(通常低于 2000 个标记)是一个显著的进步。为了填补这一差距,我们开发了长响应数据集。我们采用反向翻译技术从预训练语料库生成针对长文本数据的query,设定输出长度限制,并使用 Qwen2 过滤掉低质量的配对数据。
- Mathematics: 我们介绍了 Qwen2.5-Math 的 CoT 数据,其涵盖了多种query来源,包括公共数据集、K-12 问题集以及合成问题。为了确保高质量的推理,我们采用奖励模型做拒绝采样和标注答案作为指导,从而生成了step-by-step的推理过程。
- Coding: 为了提升编码能力,我们采用了 Qwen2.5-Coder 的指令调优数据。我们将多种针对不同语言的智能体整合进一个协作框架中,从而在近 40 种编程语言上生成了多样且高质量的指令对。我们通过从与代码相关的问题解答网站中合成新的示例以及从 GitHub 收集算法代码片段来扩充我们的指令数据集。我们还使用了一个全面的多语言沙盒来进行静态代码检查,并通过自动单元测试来验证代码片段,从而确保代码的质量和正确性。
- Instruction-following: 为确保遵循指令的数据质量,我们实施了一套严格的基于代码的验证框架。在这种方法中,大型语言模型(LLMs)不仅生成指令,还生成相应的验证代码,并且还针对交叉验证进行了全面的单元测试。通过基于执行反馈的拒绝抽样,我们精心筛选用于监督微调的训练数据,从而确保模型忠实遵循预期的指令。
- Structured Data Understanding: 我们开发了一个全面且结构化的理解数据集,涵盖了传统任务,例如表格式问答、事实验证、错误纠正以及结构化理解,同时也包括涉及结构化和半结构化数据的复杂任务。通过将推理链融入模型的响应中,我们显著增强了其从结构化数据中推断信息的能力,从而在这些不同的任务中提高了其性能。这种方法不仅扩大了数据集的范围,还加深了模型从复杂数据结构中推理和得出有意义见解的能力。
- Logical Reasoning: 为了增强模型的逻辑推理能力,我们引入了一组涵盖 70,000 个新问题的多样化数据集,这些问题涉及多个领域。这些问题包括多项选择题、判断题以及开放式问题。模型被训练以系统性地解决问题,采用了一系列推理方法,如演绎推理、归纳概括、类比推理、因果推理和统计推理。通过反复改进,我们系统地剔除包含错误答案或推理过程存在缺陷的数据。这一过程逐步增强了模型进行逻辑推理和准确推理的能力,确保在不同类型的推理任务中表现出强大的性能。
- Cross-Lingual Transfer: 为了便于模型的通用能力在不同语言之间进行迁移,我们采用一种翻译模型将指令从高资源语言转换为各种低资源语言,从而生成相应的响应候选选项。为了确保这些回复的准确性和一致性,我们会评估每条多语言回复与其原始对应回复之间的语义对齐情况。这一过程保留了原始回复的逻辑结构和风格细微差别,从而在不同语言之间保持其完整性和连贯性。
- Robust System Instruction: 我们构建了数百个通用系统提示,以在后训练的阶段提升系统提示的多样性,确保系统提示与对话之间的一致性。使用不同系统提示进行的评估表明,该模型保持了良好的性能,并且降低了方差,这表明其鲁棒性得到了提升。
- Response Filtering: 为了评估回复的质量,我们采用了多种自动标注方法,包括专门的评论模型和多智能体协同评分系统。回复会接受严格的评估,只有那些在所有评分系统中都被认为完美的回复才会被保留下来。这种全面的方法确保了我们的输出始终维持在最高质量标准之上。
最终,我们构建了一个包含超过 100 万个 SFT 示例的数据集。该模型经过了两轮微调,序列长度设定为 32,768 个标记。为了优化学习效果,学习率从 逐渐降低至 。为解决过拟合问题,我们采用了权重衰减因子 0.1,并且梯度范数被限制在最大值 1.0 以内。
3)Long Context Fine-tuning
为了进一步扩展 Qwen2.5-Turbo 的上下文长度,在训练结束后我们引入了更长的 SFT 示例,这使得它能够更好地与人类偏好相契合,从而更好地适应长查询的需求。
在 SFT 阶段,我们采用两阶段的方法。在第一阶段,模型仅使用短指令进行微调,每个指令包含最多 32,768 个标记。这一阶段使用的数据和训练步骤与用于其他 Qwen2.5 模型的相同,确保在短任务上表现出色。在第二阶段,微调过程将短指令(最多 32,768 个标记)和长指令(最多 262,144 个标记)相结合。这种混合方法有效地增强了模型在长上下文任务中的指令遵循能力,同时保持了其在短任务上的性能。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐



所有评论(0)