8ビット学習の準備
RLHF のファインチューニングを始めようとしましたが、メモリ不足エラーが頻発しました。これに対処するため、Hugging Face の peft ライブラリを活用して、より効率的にファインチューニングできる 8ビット精度に切り替えることにしました。
次のモジュールはすでにインポートされています。
transformersのAutoModelForCausalLMpeftのprepare_model_for_int8_trainingtrlのAutoModelForCausalLMWithValueHead
この演習はコースの一部です
人間のフィードバックによる強化学習(RLHF)
演習の手順
- 事前学習済みモデルを読み込み、8ビット精度用のパラメータを必ず指定します。
prepare_model_for_int8_training関数を使って、LoRA ベースのファインチューニングに備えてモデルを準備します。PPO学習用に、Value Head を持つモデルを読み込みます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
model_name = "gpt2"
# Load the model in 8-bit precision
pretrained_model = AutoModelForCausalLM.from_pretrained(
model_name,
____=True
)
# Prepare the model for fine-tuning
pretrained_model_8bit = ____(pretrained_model)
# Load the model with a value head
model = ____.from_pretrained(pretrained_model_8bit)