Bitune
1.0.0

Bitune:双向指令调整
[ Paper ] [ Website ]
该源代码包含Bitune的实现,足以从论文中复制结果。请注意,它用于探索不同的想法,许多组件具有不同的名称,或者是指本文中未提及的概念。
我们计划在不久的将来发布一个干净的存储库。
lm-evaluation-harness目录包含来自Eleutherai/lm-harness的存储库,适合我们的方法。您可以使用以下命令安装它:
pip install -e lm-evaluation-harnesscommon_0.sh文件中设置该目录的适当绝对路径。wandb进行记录。使用您的wandb用户名eval.py第57行。 instruct.sh脚本。downstream.sh脚本。确保设置正确数量的更新步骤(基于附录中提供的值),并为数据集名称,评估(在底部)和方法名称中删除适当的行。ablations.sh中选择的散布线并运行脚本。 models目录中的“拥抱面模型类”进行一些修改:pass_scale_k , pass_scale_v )。forward()函数的enforce_bidir参数的修改注意掩码。forward()函数中添加了一个代码片段,负责调用Bitune包装器。_pass_fn()在passes.py文件中):pass_scale_k , pass_scale_v )。peft库将不活动适配器设置为不可训练的适配器。models/think_gemma.py中定义的类PassScale ):forward()函数,该函数基于Config( config.pass_type )中指定的变体进行混合操作。我们的最终方法由变体607 (用于实验)和简化版本801定义。 已经使用了以下库的版本:
transformers==4.38.2peft==0.11.1datasets==2.18.0evaluate==0.4.0 @misc { kopiczko2024bitune ,
title = { Bitune: Bidirectional Instruction-Tuning } ,
author = { Dawid J. Kopiczko and Tijmen Blankevoort and Yuki M. Asano } ,
year = { 2024 } ,
eprint = { 2405.14862 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}