Magpie 项目介绍
项目概述
Magpie 是一个专注于生成高质量对齐数据的项目。其创新之处在于不依赖传统的提示工程或种子问题,而是通过使用对齐的语言模型(LLM)的提示模板来创建用户查询和模型响应。这一方法使得数据生成更加直接高效。
Magpie 的工作原理
Magpie 利用对齐的逻辑自回归模型特性,通过输入左半边的模板信息生成用户查询并获取响应。这就是所谓的“自合成”方法,使得我们能够从对齐的LLM直接提取大规模的指令数据。
最新动态
- 新发布了 Qwen2.5 和 Llama-3.1 系列的大规模数据集及模型,性能一流。
- 引入了多种优化数据集,包括偏好优化数据集和推理增强数据集。
- Magpie 在多个语言模型系列上经过测试,包括Llama-3、Qwen2、Phi 3 和 Gemma-2系列。
安装与使用
为了开始使用Magpie,用户需要安装必要的环境和依赖。可以通过以下命令进行安装:
git clone https://github.com/magpie-align/magpie.git
cd magpie
conda create -n magpie python=3.10 -y
conda activate magpie
pip install -r requirements.txt
想要使用Llama-3模型,需要在Huggingface平台上申请访问权限,然后登录以获取模型。
数据生成与处理
数据生成
Magpie可以进行批量SFT(supervised fine-tuning)数据的生成。例如,可以使用Llama-3-8B-Instruct模型进行批量生成:
cd scripts
bash magpie.sh
生成的数据将保存至指定数据文件夹,可以进一步用于模型的调优。
数据筛选与过滤
-
标签生成:为生成的数据添加不同的标签,包括质量、难度、任务类别、安全性等。
cd scripts bash unitag.sh ***_ins_res.json all
-
数据合并和转换:提供了一个Jupyter Notebook用于将多个数据集合并并转换为ShareGPT格式,以便在其他环境如Axolotl中进行微调。
-
消除重复数据:通过计算指令之间的最小邻居距离,清除重复项。
-
自定义过滤器:用户可以设计和应用自定义过滤器来选择合格的数据。
偏好数据生成
为生成偏好数据,用户需要先准备已筛选的指令。然后使用提供的脚本生成多个响应并计算其对应的奖励,最终上传到Huggingface平台。
微调与模型改进
Magpie项目还提供了多种微调的食谱和指南,帮助用户在使用和改进模型时更高效。
研究成果
如果Magpie的模型、数据或代码对您的研究有帮助,欢迎引用我们的论文:
@article{xu2024magpie,
title={Magpie: Alignment Data Synthesis from Scratch by Prompting Aligned LLMs with Nothing},
author={Zhangchen Xu and Fengqing Jiang and Luyao Niu and Yuntian Deng and Radha Poovendran and Yejin Choi and Bill Yuchen Lin},
journal={ArXiv},
year={2024},
volume={abs/2406.08464},
url={https://api.semanticscholar.org/CorpusID:270391432}
}
Magpie 致力于通过透明的对齐过程来推动AI的民主化,期待在更多项目中展现其潜力。