- 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%オフの割引になります。