🏁最終チェックポイントからのファインチューニング

チェックポイントを使うとファインチューニングの進行を保存して一時停止し、後で再開できます。

次に編集する必要があるのは Trainer 最初に追加するために save_strategy および save_steps。以下はチェックポイントを50ステップごとにフォルダに保存します outputs.

trainer = SFTTrainer(
    ....
    args = TrainingArguments(
        ....
        output_dir = "outputs",
        save_strategy = "steps",
        save_steps = 50,
    ),
)

その後、trainerでは次を行います:

trainer_stats = trainer.train(resume_from_checkpoint = True)

これにより最新のチェックポイントから開始して学習を継続します。

Wandb 統合

# ライブラリをインストール
!pip install wandb --upgrade

# Wandb の設定
!wandb login <token>

import os

os.environ["WANDB_PROJECT"] = "<name>"
os.environ["WANDB_LOG_MODEL"] = "checkpoint"

次に TrainingArguments() に設定します

モデルをトレーニングするには、次を実行します trainer.train();トレーニングを再開するには、次を実行します

早期終了(Early Stopping)はどう行いますか?

評価損失が減少していないためにファインチューニング/トレーニングを停止または一時停止したい場合、トレーニングを停止する早期終了を使用できます。次を使用します EarlyStoppingCallback.

通常どおり trainer と評価用データセットを設定します。以下は、 eval_loss (評価損失)が約3ステップ後に減少しない場合にトレーニングを停止するために使用されます。

次にコールバックを追加します。コールバックはカスタマイズも可能です:

その後、通常どおり次でモデルを訓練します trainer.train() 。

最終更新

役に立ちましたか?