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 }
}