Qwen文章阅读笔记
一、Pretraining
用大量的数据来训练模型,是模型更全面理解世界和世界的复杂性。
1.数据
数据的规模对于模型的鲁棒性是至关重要的
创建一个有质量的数据集:
- 增加数据的多样性
- 过滤低质量的数据
- 上采样某个数据源
使用多任务指令预训练语言模型可以提高其零样本学习和少量样本学习性能。(主要是因为这种预训练方式能够让模型学习到更广泛的知识和更丰富的表示,从而在面对新任务时能够更好地迁移和泛化。)。为了提高模型的性能,把高质量的数据放入预训练阶段。
最后,作者们提到他们构建了一个包含高达3万亿个标记(tokens)的数据集。
2.分词
Qwen利用BPE进行分词(tokenization)从开源的快速BPE标记器tiktoken (Jain, 2022)开始,并选择词汇表cl100k base作为起点。把数字分成个位数。
Qwen的最终词表是152k
3.架构
QWEN是使用Transformer架构的修改版本设计的,使用LLaMA模型的方法进行训练大模型
- Embedding and output projection:the untied embedding approach
- Positional embedding:RoPE (Rotary Positional Embedding)
- Bias:add biases in the QKV layer of attention
-
Pre-Norm & RMSNorm:pre-normalization is the most widely used approach, which has been shown to improve training stability compared to post-normalization but Recent research has suggested alternative methods for better training stability Additionally, we have replaced the traditional layer normalization technique described in (Ba et al., 2016) with RMSNorm
- Activation function:SwiGLU
4.训练
- WAY: the standard approach of autoregressive language modeling
- To create batches of data:we shuffle and merge the documents, and then truncate them to the specified context lengths.
- Flash Attention
- optimizer:adopt the standard optimizer AdamW for pretraining optimization
All the models are trained with BFloat16 mixed precision for training stability.
5.上下文长度扩展
Transformer limitations:have a significant limitation in terms of the context length for their attention mechanism.
have implemented simple training-free techniques:solely applied during inference to extend the context length of the model. key techniques: have used is NTK-aware interpolation
To further improve performance: dynamic NTK-aware interpolation [It dynamically changes the scale by chunks, avoiding severe performance degradation.]
These techniques allow us to effectively extend the context length of Transformer models without compromising their computational efficiency or accuracy.
QWEN incorporates two attention mechanisms:LogN-Scaling and window attention
We also observed that the long-context modeling ability of our model varies across layers
二、对齐
未与人类行为对齐的pretrained model不能很好的与人类进行交互。最近的研究表明使用supervised finetuning(SFT)和reinforcement learning from human feedback(RLHF)可以显著提高LLM的自然对话能力。下面就是研究这两个技术在Qwen上的应用。
1.SFT
为了利用SFT能理解人类的行为,SFT的第一步就是对一个pretrained model在聊天类型的数据上进行微调。下面是详细的细节解释:数据构造和训练方法。
1.1.数据
1.数据质量:
增强监督微调数据集的能力
-
传统数据集:以问答或指令回答的形式组织自然语言内容。
-
作者的方法:注重标注更自然、更类似人类对话的互动数据,从而提升对话模型对真实人类交互的适应能力。
为了确保模型能够推广到广泛的场景中,排除了提示模板中格式化可能限制其功能的数据
语言模型的安全性:偏置、暴力等
2.训练方法:
训练方法也能显著的影响模型的最终性能:使用ChatML风格格式,可以增强模型准确处理和分析复杂会话数据的能力。
1.2.训练
与预训练一样,我们还应用下一个标记预测作为SFT的训练任务。将损失掩码应用于系统和用户输入。
训练模型利用the AdamW optimizer
2.RLHF
虽然SFT已被证明是有效的,但我们承认它的概括和创造能力可能有限,而且容易过度拟合。为了解决这个问题,我们已经实现了从人类反馈的强化学习(RLHF),以进一步调整SFT模型与人类的偏好,使用下面的方法:
这个方法的过程涉及:训练奖励模型并使用邻近策略优化(PPO)开展策略训练。
2.1.奖励模型
创建一个成功的奖励函数,首先第一步就是进行预训练和微调
1.预训练过程(偏好模型预训练PMP)
需要大量的比较数据的数据集,这个数据集由样本对组成,每个样本对包含针对单个查询的两个不同响应及其对应的偏好。
2.微调
微调也是在这类比较数据上进行的,但由于存在高质量的标注,所以质量更高
在微调阶段,我们会收集各种提示,并根据QWEN模型的反馈调整奖励模型。