Bitune
1.0.0

Bitune:双方向の命令調整
[ Paper ] [ Website ]
このソースコードにはBituneの実装が含まれており、論文の結果を再現するだけで十分です。さまざまなアイデアを探求するために使用されていたことに注意してください。多くのコンポーネントは異なる名前を持っているか、論文で言及されていない概念を参照しています。
近い将来、Bituneのクリーンリポジトリをリリースする予定です。
lm-evaluation-harness Directoryには、Eleutherai/LM-Evaluation-Harnessのリポジトリが含まれており、この方法に適合しています。次のコマンドでインストールできます。
pip install -e lm-evaluation-harnesscommon_0.shファイルのこのディレクトリへの適切な絶対パスを設定します。wandbが必要です。 wandbユーザー名でeval.pyのライン57を更新します。 instruct.shスクリプトを実行します。downstream.shのスクリプトを実行します。適切な数の更新手順(付録に記載されている値に基づいて)を設定し、データセット名、評価(最下部)、およびメソッド名の適切な行を除外してください。ablations.shで選択されたアブレーションの行を除外して、スクリプトを実行します。 modelsディレクトリで利用可能なハグFaceモデルクラスのいくつかの変更が必要でした。pass_scale_k 、 pass_scale_v )を備えたミキシングモジュールを追加しました。forward()関数のenforce_bidirパラメーターに基づく変更された注意マスク。forward()内にコードスニペットを追加しました。passes.pyファイルの_pass_fn() ):pass_scale_k 、 pass_scale_v )を組み合わせます。peftライブラリが非アクティブアダプターを訓練不可に設定するため、すべてのLORAのパラメーターを再びトレーニング可能に設定します。models/think_gemma.pyで定義されているクラスPassScale ):config.pass_type )で指定されたバリアントに基づいて混合操作を適用するforward()関数を定義します。最終的な方法は、Variant 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 }
}