- Published on
「stanford_alpaca」のインストール・使い方
1650文字3分で読めます–––
閲覧数
- Authors
- Name
- 章 有坂
- short bio
- オープンソースソフトウェアのトレンドを追いかけてます。
 
 
stanford_alpacaは、指示に従うLLaMAモデルを構築し共有することを目指したスタンフォード大学のプロジェクトです。このリポジトリには、Alpaca-7Bの重みを回復するためのコードが含まれており、52Kの指示に従うデータを使用してLLaMAモデルを微調整しますSource 0。
※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。
インストール・導入方法
このプロジェクトを実行するためには、まず必要なパッケージをインストールする必要があります。これは以下のコマンドで行います:
pip install -r requirements.txt
次に、指示に従ってモデルを微調整するためのコマンドを実行します。以下のコマンドは、4台のA100 80G GPUを持つマシン上でLLaMA-7BをFSDP full_shardモードで微調整する例です。このコマンドを実行する前に、<your_random_port>を自分のポートに、<your_path_to_hf_converted_llama_ckpt_and_tokenizer>を自分の変換されたチェックポイントとトークナイザへのパスに、<your_output_dir>を出力を保存したい場所に置き換えてくださいSource 0。
torchrun --nproc_per_node=4 --master_port=<your_random_port> train.py \
   --model_name_or_path <your_path_to_hf_converted_llama_ckpt_and_tokenizer> \
   --data_path ./alpaca_data.json \
   --bf16 True \
   --output_dir <your_output_dir> \
   --num_train_epochs 3 \
   --per_device_train_batch_size 4 \
   --per_device_eval_batch_size 4 \
   --gradient_accumulation_steps 8 \
   --evaluation_strategy "no" \
   --save_strategy "steps" \
   --save_steps 2000 \
   --save_total_limit 1 \
   --learning_rate 2e-5 \
   --weight_decay 0. \
   --warmup_ratio 0.03 \
   --lr_scheduler_type "cosine" \
   --logging_steps 1 \
   --fsdp "full_shard auto_wrap" \
   --fsdp_transformer_layer_cls_to_wrap 'LlamaDecoderLayer' \
   --tf32 True
使い方
このプロジェクトの主な目的は、LLaMAモデルを微調整し、その結果を生成することです。以下に、モデルを微調整するための一般的な手順を示します:
- requirements.txtから必要なパッケージをインストールします。
- train.pyスクリプトを実行してモデルを微調整します。このスクリプトは、微調整の設定をコマンドライン引数で受け取ります。
- 微調整後のモデルをロードし、テストデータで評価します。
また、このプロジェクトでは、LLaMAモデルの重みを元に戻すためのスクリプトも提供されています。これにより、Alpaca-7Bの元の重みを回復することができますSource 0。
※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。