❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 技术背景:Aligner 是北京大学团队提出的大语言模型对齐技术,通过学习对齐答案与未对齐答案之间的修正残差来提升模型性能。
- 核心优势:作为即插即用的模块,可以直接应用于各种开源和基于 API 的模型,无需访问模型参数。
- 性能表现:实验表明,使用 Aligner 可显著提升多个大模型的帮助性和安全性。
正文(附运行示例)
Aligner 是什么
Aligner 是北京大学团队提出的一种大语言模型对齐技术,旨在通过学习对齐答案与未对齐答案之间的修正残差来提升模型性能。该技术采用自回归的 seq2seq 模型,在问题-答案-修正后的答案(Query-Answer-Correction, Q-A-C)数据集上训练,无需依赖复杂的强化学习从人类反馈(RLHF)流程。
Aligner 的核心优势在于高效性和灵活性。作为即插即用的模块,可以直接应用于各种开源和基于 API 的模型,无需访问模型参数。这意味着它可以轻松集成到现有的大语言模型中,显著提升模型的对齐效果。
Aligner 的主要功能
- 修正残差学习:Aligner 作为自回归的 seq2seq 模型,在 Q-A-C 数据集上训练,学习对齐与未对齐答案之间的差异,实现了更精准的模型对齐。
- 弱到强泛化:使用小参数量的 Aligner 模型对大参数量的 LLMs 进行微调,可以显著提升强模型的性能。
- 即插即用:Aligner 能对齐如 GPT3.5、GPT4 和 Claude2 等无法获取参数的模型。
Aligner 的技术原理
- 自回归 seq2seq 模型:Aligner 采用自回归的 seq2seq 模型结构,能够生成修正后的答案,而不需要重新训练整个大模型。
- Q-A-C 数据集:Aligner 在包含问题、原始答案和修正后答案的数据集上进行训练,确保模型能够学习到正确的对齐方式。
- 弱到强泛化:Aligner 可以使用小参数量的模型对大参数量的 LLMs 进行微调,从而在不增加过多计算资源的情况下提升模型性能。
如何运行 Aligner
1. 安装环境
首先,克隆 Aligner 的 GitHub 仓库并设置 Conda 环境:
git clone https://github.com/PKU-Alignment/aligner.git
cd aligner
conda env create --file conda-recipe.yaml
conda activate aligner
2. 训练 Aligner 模型
在完成环境配置后,可以开始训练 Aligner 模型。以下是一个简单的训练脚本示例:
bash scripts/sft-correction.sh \
--train_datasets <your-correction-dataset> \
--model_name_or_path <your-model-name-or-checkpoint-path> \
--output_dir output/sft
请注意,您可能需要根据自己的机器配置调整脚本中的参数,例如 GPU 数量、训练批次大小等。
3. 使用 Aligner 模型
训练完成后,您可以将 Aligner 模型应用于现有的大语言模型中,以提升其对齐效果。具体使用方法请参考项目文档。
资源
- 项目官网:https://pku-aligner.github.io/
- GitHub 仓库:https://github.com/PKU-Alignment/aligner
- HuggingFace 仓库:https://huggingface.co/aligner/aligner-7b-v1.0
- arXiv 技术论文:https://arxiv.org/pdf/2402.02416
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦