Bitune
1.0.0

BITUNE : 양방향 교육 조정
[ Paper ] [ Website ]
이 소스 코드에는 Bitune의 구현이 포함되어 있으며 논문의 결과를 재현하기에 충분합니다. 다른 아이디어를 탐색하는 데 사용되었으며 많은 구성 요소마다 이름이 다르거나 논문에서 언급되지 않은 개념을 참조하십시오.
우리는 가까운 시일 내에 Bitune을위한 깨끗한 repo를 출시 할 계획입니다.
lm-evaluation-harness 디렉토리에는 Eleutheai/LM-Evaluation-Harness의 저장소가 포함되어 있으며,이 방법에 적합합니다. 다음 명령으로 설치할 수 있습니다.
pip install -e lm-evaluation-harnesscommon_0.sh 파일 에서이 디렉토리에 대한 올바른 절대 경로를 설정하십시오.wandb 필요합니다. wandb 사용자 이름으로 eval.py 의 57 행을 업데이트하십시오. instruct.sh 스크립트를 실행합니다.downstream.sh 스크립트를 실행하십시오. 올바른 업데이트 단계 (부록에 제공된 값을 기준으로)를 설정하고 데이터 세트 이름, 평가 (맨 아래) 및 메소드 이름에 대한 적절한 줄을 무결하게하십시오.ablations.sh 에서 선택된 절제에 대한 줄을 타협하고 스크립트를 실행하십시오. models 디렉토리에서 사용할 수있는 Huggingface 모델 클래스의 몇 가지 수정이 필요했습니다.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() 함수를 정의합니다. 우리의 최종 방법은 변형 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 }
}