
基于执行反馈的大语言模型指令遵循能力提升方法
AutoIF是一种创新的大语言模型指令遵循能力提升方法。它通过代码执行反馈自动生成和验证指令数据,结合指令增强、验证函数生成和交叉验证等技术合成高质量训练样本。实验结果显示,AutoIF能有效提升不同规模模型的指令遵循表现,为大语言模型指令微调提供了新的研究思路。
董观亭, 卢柯铭, 李成鹏, 夏婷玉, 于博文, 周畅, 周靖人
阿里巴巴集团 Qwen团队
本仓库包含了论文《基于执行反馈的自我对弈:提升大型语言模型的指令跟随能力》中提出的AutoIF方法的核心实现。
AutoIF是首个可扩展且可靠的方法,用于自动生成指令跟随数据并通过代码执行反馈验证其质量。
我们将AutoIF的数据合成过程分为几个步骤,并为每个步骤提供了10-20个样本以便您复现。请记得用您自己的输入替换这些样本。
一般环境设置:
cd ./AutoIF/ pip install -r requirements.txt
首先,我们手写了36条种子指令:
步骤1:种子指令自我指导
将指令与RFT提示词连接。
python 1_RFT.py
请使用监督模型(如GPT-4、Qwen2-72B)进行k次RFT,保存格式为seed_instruction.txt。
步骤2:验证函数和案例生成
使用种子和增强指令生成验证函数和案例。
python 2_verification_funcs_cases_generation.py
请为每个样本生成K个验证函数和案例,保存在eval_func_rft.jsonl中。
步骤3:质量交叉验证
交叉验证验证函数和案例的通过率,以确保高质量指令。
python 3_cross_validation.py
步骤4 & 5:反向翻译
请将验证函数反向翻译为指令,然后使用mDeBERTa进行一致性筛选。
python 4_eval_func_backtranslator.py python 5_eval_func_backtranslator_filter.py
步骤1:查询重构和增强
我们随机将每个查询与ShareGPT的K个查询连接,并使用我们的响应RFT模板重新格 式化:
python 6_concat_sharegpt_query.py
请使用监督模型为每个查询生成k个响应。
步骤2:指令跟随验证
交叉验证验证函数和增强响应的通过率,以获得高质量查询。
python 7_query_vertification.py
在这一步中,我们还将每个样本与一致性评分提示词连接。请使用监督模型对它们进行评分。
步骤3:查询质量验证
最后,我们筛选出得分> 8的样本,并将其保存为LlaMA-Factory的SFT数据格式。
python 8_query_score_filiter.py python 9_sft_data_construction.py
:sparkles:提示: 在我们的论文中,DPO包含两种设置,以下是它们的区别:
请使用上一步生成的评估函数处理您的SFT数据,并将结果格式化为dpo_query_eval_score_results.jsonl。
步骤1:验证函数评分
我们使用相应的验证函数来验证每个响应的通过率。
python 1_dpo_rft_wash.py
步骤2:数据选择
我们使用正样本(准确率>=0.5)和负样本(准确率=0)构建DPO对。
python 2_dpo_data_query_construct.py
构建完成后,您需要按照LlaMA-Factory中的DPO数据格式进行处理。
我们使用LlaMA-Factory v0.6.3版本。感谢他们出色的工作。
:sparkles:提示: 我们两种设置的区别:
(1) SFT训练:
deepspeed --num_gpus=8 train_bash.py \ --deepspeed $deepspeed_zero3_config_path \ --stage sft \ --do_train \ --use_fast_tokenizer \ --flash_attn \ --adam_beta1 0.9 \ --adam_beta2 0.95 \ --model_name_or_path $MODEL_PATH \ --dataset $dataset \ --template $Template \ --finetuning_type full \ --output_dir $OUTPUT_PATH \ --overwrite_cache \ --overwrite_output_dir \ --warmup_steps 20 \ --weight_decay 0.1 \ --per_device_train_batch_size 4 \ --gradient_accumulation_steps 4 \ --ddp_timeout 9000 \ --learning_rate 7e-6 \ --lr_scheduler_type "linear" \ --logging_steps 1 \ --cutoff_len 8192 \ --save_steps 200 \ --num_train_epochs 3.0 \ --plot_loss \ --bf16
(2) DPO训练:
deepspeed --num_gpus 8 train_bash.py \ --deepspeed $deepspeed_zero3_config_path \ --stage dpo \ --do_train \ --model_name_or_path $MODEL_PATH \ --dataset $dataset \ --dataset_dir $DATA_PATH \ --template $Template \ --finetuning_type full \ --output_dir $OUTPUT_PATH \ --overwrite_cache \ --overwrite_output_dir \ --cutoff_len 4096 \ --preprocessing_num_workers 1 \ --per_device_train_batch_size 1 \ --gradient_accumulation_steps 2 \ --lr_scheduler_type cosine \ --logging_steps 10 \ --warmup_ratio 0.1 \ --save_steps 1000 \ --learning_rate 5e-6 \ --num_train_epochs 2.0 \ --max_samples 200000 \ --ddp_timeout 180000000 \ --plot_loss \ --fp16
关于7B和70B模型训练的实现细节,请参考我们的论文。
如果您发现这项工作对您的研究有帮助,请引用它。
@article{董2024自我对弈, 标题={基于执行反馈的自我对弈:提升大型语言模型的指令遵循能力}, 作者={董冠廷 和 陆可明 和 李成鹏 和 夏亭玉 和 余博文 和 周畅 和 周景仁}, 期刊={arXiv预印本 arXiv:2406.13542}, 年份={2024} }


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号