/a/オープンソース
Published on

「stanford_alpaca」のインストール・使い方

1650文字3分で読めます–––
閲覧数
Authors
  • avatar
    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モデルを微調整し、その結果を生成することです。以下に、モデルを微調整するための一般的な手順を示します:

  1. requirements.txtから必要なパッケージをインストールします。
  2. train.pyスクリプトを実行してモデルを微調整します。このスクリプトは、微調整の設定をコマンドライン引数で受け取ります。
  3. 微調整後のモデルをロードし、テストデータで評価します。

また、このプロジェクトでは、LLaMAモデルの重みを元に戻すためのスクリプトも提供されています。これにより、Alpaca-7Bの元の重みを回復することができますSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。
avatar

章 有坂

オープンソースソフトウェアのプロ / ベテランのソフトウェア技術者 / Github専門家
オープンソースソフトウェアが好きな編集部が、GithubやGitlabなどの新着リポジトリやトレンドのプロジェクトを分かりやすく紹介。