首页 > 数据库 > 数据库开发技术 > 给你数据和算力,你也成不了 OpenAI 啊
我是芝士AI吃鱼,原创 NLP、LLM、超长文知识分享
热爱分享前沿技术知识,寻找志同道合小伙伴
公众号 :芝士AI吃鱼
知识星球:https://wx.zsxq.com/group/88888881284242
最近在研究大模型训练和微调相关的内容,听领导说的最多的一句话“那不是有数据有算力就能搞定的吗”,于是调研了下 qwen 系列的训练细节。
再整理过程中,再次感慨,怪不得有了数据和算力,也不是每家公司都是 OpenAI。
QWEN2.5-MATH TECHNICAL REPORT: TOWARD MATHEMATICAL EXPERT MODEL VIA SELF- IMPROVEMENT
Qwen2.5-Math 的预训练阶段是在 Qwen2-Math 的基础上进行改进的。这个阶段的主要目标是构建一个高质量、数学内容丰富的预训练数据集。
SFT 阶段主要针对链式思维 (Chain-of-Thought, CoT) 和工具集成推理 (Tool-Integrated Reasoning, TIR) 两种能力进行训练。

其中, 表示奖励模型的输出, 是问题, 是对应的回答。
采用群组相对策略优化 (Group Relative Policy Optimization, GRPO)
群组相对策略优化 (Group Relative Policy Optimization, GRPO) 的目标函数:

结合规则验证器和奖励模型的奖励:
其中, 是奖励模型的输出, 是规则验证器的稀疏奖励, 设置为 0.5。
这样的格式化使公式更加清晰,并且符合 LaTeX 语法,可以在支持 LaTeX 渲染的 Markdown 环境中正确显示。
Technical Report Qwen2.5-Coder Technical Report
Qwen2.5-Coder的预训练分为两个主要阶段:文件级预训练和仓库级预训练。
经过实验,最终选择了70%代码、20%文本和10%数学的数据混合比例。最终的预训练数据集包含5.2万亿个token。
<|fim_prefix|>{code_pre}<|fim_suffix|>{code_suf}<|fim_middle|>{code_mid}<|endoftext|>
增强模型的长文本理解能力。
使用了约300B的高质量长代码数据。
<|repo_name|>{repo_name}
<|file_sep|>{file_path1}
{file_content1}
<|file_sep|>{file_path2}
{file_content2}
<|file_sep|>{file_path3}
<|fim_prefix|>{code_pre}<|fim_suffix|>{code_suf}<|fim_middle|>{code_fim}<|endoftext|>
实施了一个多语言多代理协作框架:
评估以下方面:
最终得分计算:
其中是一系列预定义的权重。
包括以下模块:
Qwen2.5-Coder有两种规模的模型:1.5B和7B参数。它们的主要特征如下:
| 配置 | Qwen2.5-Coder 1.5B | Qwen2.5-Coder 7B |
|---|---|---|
| 隐藏层大小 | 1,536 | 3,584 |
| 层数 | 28 | 28 |
| 查询头数 | 12 | 28 |
| 键值头数 | 2 | 4 |
| 头大小 | 128 | 128 |
| 中间层大小 | 8,960 | 18,944 |
| 词嵌入绑定 | True | False |
| 词汇表大小 | 151,646 | 151,646 |
| 训练token数 | 5.5T | 5.5T |
模型引入了几个特殊token来更好地理解代码:

Qwen2 使用了一个新的大规模、高质量的多语言数据集进行预训练,相比 Qwen 和 Qwen1.5,主要改进包括:
最终的预训练数据集从 Qwen1.5 的 3 万亿 tokens 扩展到了 7 万亿 tokens。
Qwen2 采用基于 Transformer 的架构,主要特点包括:
报告中对预训练阶段的具体超参数配置没有详细说明。但提到了以下细节:
后训练数据包括两部分:
数据构建过程包括协作数据标注和自动数据合成。
RLHF 训练包括离线训练和在线训练两个阶段:
采用 Online Merging Optimizer 来缓解对齐税。
以 Qwen2-72B 为例的主要配置:
为增强长上下文能力,Qwen2 采取了以下策略:
这些策略使模型能够处理长达 131,072 tokens 的序列,同时保持高性能。
Qwen2 使用与 Qwen 相同的基于字节级字节对编码的分词器:
技术报告提供了 Qwen2 模型训练的整体框架和一些关键细节,但对于预训练阶段的具体超参数配置并没有详细说明。报告更多地关注了模型的架构创新、数据处理策略、以及后训练阶段的具体实施细节。
Qwen 采用修改版的 Transformer 架构:
不同规模模型的具体参数如下:
| 参数数量 | 隐藏层大小 | 注意力头数 | 层数 | 学习率 | 批次大小 | 训练 tokens |
|---|---|---|---|---|---|---|
| 1.8B | 2048 | 16 | 24 | 3.0e-4 | 4M | 2.2T |
| 7B | 4096 | 32 | 32 | 3.0e-4 | 4M | 2.4T |
| 14B | 5120 | 40 | 40 | 3.0e-4 | 4M | 3.0T |
为了在推理时扩展模型的上下文长度,Qwen 采用了以下技术:
L_max-z = 2e-4 * z^2
其中z是最大logit值
Baichuan 2模型的训练过程涵盖了预训练、监督微调和强化学习等多个阶段,每个阶段都有其特定的数据处理、模型架构和训练策略。论文还特别强调了在整个训练过程中对模型安全性的关注和改进。
原文作者:芝士AI吃鱼;如有侵权,请联系管理员删除。