❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
原文链接:https://mp.weixin.qq.com/s/mCHayCRFwtK6UyLxi-5WaA
🚀 快速阅读
- 框架功能:SPAR 通过生成者和完善者的自我博弈,提升大型语言模型的指令遵循能力。
- 技术原理:基于树搜索算法,SPAR 精细化模型响应,排除干扰因素,专注于指令关键要求。
- 应用场景:SPAR 可应用于智能助手、客户服务、教育技术、医疗咨询和智能家居控制等领域。
正文(附运行示例)
SPAR 是什么
SPAR 是智谱团队推出的自我博弈训练框架,旨在增强大型语言模型在遵循指令方面的能力。该框架基于生成者和完善者两个角色的互动,生成者负责执行指令并生成回复,完善者则对回复进行分析和改进。
通过树搜索技术,SPAR 能够精细化和优化回复,排除与指令无关的干扰因素,从而突出对指令遵循至关重要的关键差异。这一过程不仅提升了模型执行指令的准确性,还增强了模型的自我完善能力。实验结果显示,SPAR 框架显著提高了模型在 IFEval 等评估基准上的性能,证明了其在提升大型语言模型指令遵循能力方面的有效性。
SPAR 的主要功能
- 提升指令遵循能力:提高大型语言模型准确理解和执行指令的能力。
- 构造有效偏好对:基于自我博弈和树搜索策略,构造出有效且可比较的偏好对,帮助模型学习关键差异。
- 自我博弈迭代改进:模型通过扮演生成者和完善者两个角色,进行自我博弈,不断改进指令遵循能力。
- 树搜索策略:使用树搜索算法精细化模型的响应,确保生成的回复更准确地遵循指令。
- 模型性能优化:通过优化生成者和完善者模型,提高整体的指令遵循性能。
- 可扩展性和可转移性:展示了对不同大小模型的可扩展性和可转移性,能提升各种规模模型的指令遵循能力。
SPAR 的技术原理
- 自我博弈框架:SPAR 框架中,大型语言模型扮演生成者和完善者两个角色,生成者生成回复,完善者对回复进行评估和改进。
- 树搜索算法:基于树搜索算法(包括广度优先搜索 BFS 和深度优先搜索 DFS)探索可能的回复路径,并找到最佳回复。
- 去除干扰因素:通过精细化回复对,排除与指令遵循无关的干扰因素,让模型专注于学习指令的关键要求。
- 迭代训练:通过迭代训练的方式,不断优化生成者和完善者模型,每轮迭代都基于前一轮的结果进行改进。
- 数据构建:构建高质量的数据集,包含复杂指令遵循提示和相应的监督式微调(SFT)数据,用于初始化和训练生成者和完善者模型。
- 模型优化:通过树搜索策略生成的精细化回复对,SPAR 基于直接偏好优化(DPO)和拒绝重采样微调(RFT)训练生成者和完善者模型,实现持续的自我提升。
如何运行 SPAR
数据构建
要构建迭代训练数据,可以运行以下命令:
cd src
bash infer.sh
python process_data.py
bash judge.py
python process_data.py
vllm serve <your-model-path>
python tree_search.py
python process_data.py
模型训练
如果你想训练自己的模型,可以运行以下命令:
cd src
# dpo
llamafactory-cli train configs/dpo.yaml
# sft
llamafactory-cli train configs/sft.yaml
资源
- GitHub 仓库:https://github.com/thu-coai/SPaR
- HuggingFace 模型库:https://huggingface.co/datasets/CCCCCC/SPaR
- arXiv 技术论文:https://www.arxiv.org/pdf/2412.11605
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦