Vicuna LoRA RLHF PyTorch
1.0.0
소비자 하드웨어에서 LoRA 및 RLHF를 사용하여 Vicuna LLM을 미세 조정하는 전체 파이프라인
穷人卡:2080Ti 12G
torch==2.0.0
cuda==11.8
python apply_delta.py --base ' decapoda-research/llama-7b-hf ' --target ' ./weights/vicuna-7b ' --delta lmsys/vicuna-7b-delta-v1.1
src/peft/utils/save_and_load.py를 먼저 확인하세요. 52번째 줄만 주석 처리하세요.
# #to_return = {k: v for k, v in to_return.items() if (("lora_" in k and adapter_name in k) or ("bias" in k))}
그런 다음 실행
python supervised_finetune.py --data_path ' ./data/merge_sample.json ' --output_path ' lora-Vicuna ' --model_path ' ./weights/vicuna-7b ' --eval_steps 200 --save_steps 200 --test_size 1
peft 버전을 먼저 확인하세요. peft가 0.2.0이 아닌 경우 peft==0.2.0을 설치해야 합니다.
pip uninstall peft -y
pip install peft==0.2.0 # 0.3.0.dev0 has many errors
python merge_peft_adapter.py --model_name ' lora-Vicuna '
pip uninstall peft -y
pip install git+https://github.com/huggingface/peft.git # then comments peft/utis/save_and_load.py line 52.
python train_reward_model.py --model_name ' ./weights/vicuna-7b ' --gradient_accumulation_steps 32 --per_device_train_batch_size 1 --train_subset 100 --eval_subset 10 --local_rank 0 --bf16 False
python merge_peft_adapter.py --model_name ./reward_model_vicuna-7b
python tuning_lm_with_rl.py --model_name ' ./lora-Vicuna-adapter-merged ' --reward_model_name ' ./reward_model_vicuna-7b-adapter-merged ' --adafactor False --tokenizer_name ' decapoda-research/llama-7b-hf ' --save_freq 100 --output_max_length 128 --batch_size 1 --gradient_accumulation_steps 1 --batched_gen True --ppo_epochs 1 --seed 0 --learning_rate 1.4e-5 --early_stopping True --output_dir ' ./tuning_llama_rl_checkpoints '
value
필요합니다. 需要参看 변환기 github의 새로운 세대, 나는 发现这个问题의 时候, 隔天发现에서 Transformer의 github상 8小时前才刚刚修复了这个问题에 있습니다.apply_delta.py는 FastChat에서 작동합니다.
요구 사항 主要是按光 alpaca-lora 来配环境.
이 프로젝트가 여러분의 개발 시간 단축에 도움이 된다면, 저에게 커피 한 잔 주세요 :)
알리페이(支付宝)
위챗페이(微信)
MIT © 쿤