设为书签 Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。 您也可下载桌面快捷方式。点击下载 | 新浪科技 | 新浪首页 | 新浪导航

73页,开源「后训练」全流程!AI2发布高质量Tülu 3系列模型,拉平闭源差距,比肩GPT-4o mini

2024-12-10 15:01:50    创事记 微博 作者:   

只进行过「预训练」的模型是没办法直接使用的,存在输出有毒、危险信息的风险,也无法有效遵循人类指令,所以通常还需要进行后训练(post-train),如「指令微调」和「从人类反馈中学习」,以使模型为各种下游用例做好准备。

早期的后训练工作主要遵循InstructGPT等模型的标准方案,如指令调整(instruction tuning)和偏好微调(preference finetuning),不过后训练仍然充满玄学,比如在提升模型编码能力的同时,可能还会削弱模型写诗或遵循指令的能力,如何获得正确的「数据组合」和「超参数」,使模型在获得新知识的同时,而不失去其通用能力,仍然很棘手。

为了解决后训练难题,各大公司都提升了后训练方法的复杂性,包括多轮训练、人工数据加合成数据、多训练算法和目标等,以同时实现专业知识和通用功能,但这类方法大多闭源,而开源模型的性能又无法满足需求,在LMSYS的ChatBotArena上,前50名模型都没有发布其训练后数据。

最近,Allen Institute for AI(AI2)发布了一系列完全开放、最先进的训练后模型Tülu 3,以及所有数据、数据混合、配方、代码、基础设施和评估框架,其突破了训练后研究的界限,缩小了开源模型和闭源模型微调配方之间的性能差距。

论文链接:https://allenai.org/papers/tulu-3-report.pdf

TÜLU 3-70B:https://hf.co/allenai/Llama-3.1-Tulu-3-70B

TÜLU 3-8B:https://hf.co/allenai/Llama-3.1-Tulu-3-8B

TÜLU 3 数据:https://hf.co/collections/allenai/tulu-3-datasets673b8df14442393f7213f372

TÜLU 3 代码:https://github.com/allenai/open-instruct

TÜLU 3 评估:https://github.com/allenai/olmes

Demo:https://playground.allenai.org/

模型训练算法包括有监督式微调(SFT)、直接偏好优化(DPO)以及可验证奖励强化学习(RLVR)

TÜLU 3基于Llama 3.1的基础模型构建,其性能超越了Llama 3.1-instruct、Qwen 2.5、Mistral,甚至超越了如GPT-4o-mini和Claude 3.5-Haiku等模型。

TÜLU 3的训练过程结合了强化学习的新算法、前沿的基础设施和严格的实验,构造数据,优化不同训练阶段的数据混合、方法和参数,主要包括四个阶段。

第一阶段:数据构造

研究人员主要关注模型在知识召回(knowledge recall)、推理、数学、编程、指令遵循、普通聊天和安全性等核心通用技能,然后根据目标需求来收集人工数据和合成数据。

第二阶段:监督微调(SFT)

研究人员在精心选择的提示和完成内容上执行监督式微调(SFT),首先确定了在使用Llama 3.1模型训练在TÜLU 2数据集上作为基准时,哪些技能落后于最先进的模型,然后有针对性地收集高质量的公开数据集和合成数据集。

通过一个完善的实验,确定了最终SFT数据和训练超参数,以增强目标核心技能,同时不会显著影响其他技能的性能。

关键的数据实验包括:

1. 多样化的聊天数据:主要来自WildChat,如果移除该数据集,可以看到大多数技能都有小幅但明显的下降,尤其是在Alpaca Eval上,凸显了「多样化真实世界数据」的重要性。

2. 安全性是独立的:移除特定安全数据集后,可以看到大多数技能的结果大致保持不变;添加对比提示,如CoCoNot,有助于防止模型过度拒绝安全提示。

3. 新的Persona Data,主要针对数学、编程和指令遵循进行构建,移除后,HumanEval(+)、GSM8K、MATH和IFEval的性能都会显著下降。

4. 针对特定技能(Targeting Specific Skills),移除所有数学相关数据后,GSM8K和MATH都有显著下降。

5. 智能体训练数据的数量,可以发现,在不断增加数据集规模时,模型平均性能持续提高,增加到完整混合数据集后,GSM8K等指标上的性能大幅提升,但TruthfulQA的性能下降了。

第三阶段:偏好调整

研究人员主要使用直接偏好优化(DPO),针对新构造的、基于策略的合成偏好数据,以及从选定提示中获得的离策略数据。与SFT阶段一样,我们通过彻底的实验确定了最佳的偏好数据混合,揭示了哪些数据格式、方法或超参数能带来改进。

在TÜLU 3项目中,研究人员探索了多种偏好微调方法,目标是提升整个评估套件的性能;并研究了多种训练算法,从直接偏好优化(DPO)及其衍生算法到强化学习算法,比如近端策略优化(PPO)。

研究人员通过改进和扩展UltraFeedback流程,从提示中创建了策略内偏好数据(包括输入、两个输出选项和标签),使用大型语言模型(LLM)作为裁判,构造「偏好的、被拒绝的」数据对,主要包括三个阶段:

1. 提示选择

除了数据构造阶段的提示外,还包括了其他来源的提示,比如没有TruthfulQA实例的Ultrafeedback版本,或者通过在提示中添加新的IF约束。

2. 生成回复

对于给定的提示,从模型池中随机抽取四个模型来生成回复,再通过从TÜLU SFT模型中抽样完成情况来包括策略内数据。其中一个回应是由策略内模型生成的,另一个回应是由策略外模型生成的。

3. 偏好标注

在为每个提示生成四个回复后,使用一个大型语言模型(LLM)作为裁判(GPT-4o-2024-0806),然后根据四个不同的方面(有帮助性、遵循指令、诚实性和真实性)对每个回复从1到5进行评分。

第四阶段:可验证奖励的强化学习

研究人员引入了一种名为可验证奖励强化学习(RLVR)的新型方法,用于训练语言模型完成具有可验证结果的任务,比如数学问题解决和指令遵循。

RLVR基于现有的强化学习人类反馈(RLHF)目标,但将奖励模型替换为验证函数,当应用于具有可验证答案的领域,其在GSM8K等基准测试上显示出针对性的改进,同时还能保持其他任务的性能。

RLVR可以看作是现有引导语言模型推理的方法的简化形式,或者是一种更简单的强化学习形式,其中使用答案匹配或约束验证作为二元信号来训练模型。

RLVR数据主要包括两个领域(数学、精确指令遵循),评估数据集为GSM8k, MATH和IFEval

为了提升效率,RLVR的实现细节主要包括:

1. 用通用奖励模型来初始化价值模型;

2. 禁用dropout,在奖励模型和强化学习训练期间,将dropout概率设置为0,确保在策略模型和参考模型的前向传递过程中,token的对数概率可以确定性地计算,从而更准确地估计KL惩罚。此外,PPO在滚动阶段和学习阶段计算token的对数概率,重要的是要确保这两个阶段的token对数概率相匹配,如果使用dropout,对数概率差异会很大,导致裁剪后梯度为零。

3. 使用智能体训练数据集并在周期之间随机,PPO可以训练的周期数超过可用提示的总数,有效地进行多个周期的训练。在我们的RLVR消融实验中,我们大约训练了13个周期。我们在周期之间对提示进行洗牌。对于我们的最终运行,我们每40-100步检查一次模型检查点,并选择在我们开发评估集上表现最佳的检查点。

4. 非序列结束(EOS)惩罚:在训练期间,PPO通常采样固定数量的最大token。如果采样的回复没有以EOS token结束,给予-10的惩罚。

5. 优势归一化:过减去均值然后除以其标准差来归一化优势(advantages)。

研究人员首先将一个直接偏好优化(DPO)模型作为初始模型,然后进行了一系列消融实验

1. 单独任务。分别在GSM8K、MATH和IFEval任务上应用了RLVR方法,并遍历了一系列beta值。在评估时,关注可验证的奖励、KL散度和回应长度。

2. 价值模型初始化消融实验。尝试从一个通用奖励模型和锚定的DPO模型初始化PPO的价值模型,并在GSM8K任务上遍历一系列beta值。通用奖励模型是使用UltraFeedback数据集训练的。在评估时,检查GSM8K测试评估得分和所有评估的平均得分。

3. 从奖励模型得分的消融实验。在奖励模型的得分基础上增加可验证的奖励,并在GSM8K任务上使用了一系列beta值进行实验。

4. 从性能较弱的模型开始。模型的基础能力也是一个干扰因素,使用平均得分较低的SFT模型进行另一组实验。

TÜLU 3评估

在后续训练方法中,建立清晰的性能目标和评估工具非常关键。

研究人员发布了一个统一的标准化评估套件和一个工具包,以指导开发和评估最终模型,并对训练数据进行净化,以符合评估基准,主要目标包括:

1. 评估过程应该是可复现的;

2. 应该评估模型对未见任务的泛化能力,而不仅仅是我们用于开发的特定基准测试。

3. 评估设置(例如,提示的模板和策略)对各种模型公平。

开放语言模型评估系统(OLMES)

为了使评估更加标准化和可复现,研究人员开源了Open Language Model Evaluation System,其支持更广泛的模型集合和任务、可以对每个任务进行灵活配置、直接访问任务描述、分析模型预测、置信度等的详细实例级的数据。

比如说,要复现Llama-3.1-8B-Instruct在MMLU-Pro上的结果,只需简单运行类似「olmes –task mmlu_pro::tulu3 –model llama3.1-8b-instruct」的命令。

(声明:本文仅代表作者观点,不代表新浪网立场。)

分享到:
保存   |   打印   |   关闭