メインコンテンツへスキップ
W&B Inference では、一部のベースモデルでカスタム LoRA を使用できます。このチュートリアルでは、TRL ライブラリを使った教師ありのポストトレーニングによって、ファインチューニング済み LoRA を作成する方法を説明します。この例では、クエリと応答のペアからなるデータセットを使用して、モデルがカウボーイのように応答するようファインチューニングします。 また、サーバーレスの強化学習を提供する W&B Training を使用して LoRA を作成することもできます。

ポストトレーニング データセット

次のデータセットには、以下のようなメッセージのリスト形式で構成された、50 組のクエリと応答のペアが含まれています。
ユーザー: “好きな色は何ですか?”
アシスタント: “ええと、相棒、私の好きな色は砂漠の夕焼けのように燃えるオレンジです…”
このサンプルファイルには、各行に 1 つの JSON オブジェクトが含まれています。次のデータを cowboy_examples.jsonl として作業ディレクトリに保存してください。
cowboy_examples.jsonl

ポストトレーニング

このスクリプトは、JSONL ファイル内のサンプルを使って LoRA アダプターをトレーニングし、W&B Inference API または Playground で使用できるよう、Artifact として W&B にアップロードします。 大まかには、このスクリプトは次の処理を行います。
  1. W&B にログインします。W&B Models の Hugging Face Transformers integration は、トレーニングの進行状況とメトリクスを自動的に記録します。
  2. Hugging Face からベースモデル (OpenPipe/Qwen3-14B-Instruct) を読み込みます。
  3. ファイル上部付近で定数として定義されている rank や alpha などのハイパーパラメーターを使って、LoRA を設定します。
  4. ファイル内のサンプルをデータセットとして読み込み、SFTTrainer を実行します。デフォルトでは、このスクリプトはすべてのサンプルを使用します。
  5. LoRA を保存し、W&B Inference で使用できるよう Artifact として W&B にアップロードします。
スクリプトの実行が完了したら、最後に出力された URL をブラウザーで開いて、保存された Artifact を確認してください。次のような形式になります。 Artifact URL: https://wandb.ai/<yourentity>/create-lora-tutorial/artifacts/lora/OpenPipe_Qwen3-14B-Instruct_cowboy/v0 次のプログラムを create_lora.py として保存し、ENTITY の値を自分の W&B entity に更新してください。実行を簡単にするため、このスクリプトでは依存関係の宣言に inline script metadata を使用しています。
create_lora.py
uv を使ってスクリプトを実行します。
実行時間はハードウェアに依存します。トレーニングを高速化するために --max-examples=10 引数を追加できますが、その場合、LLMがキャラクターになりきって応答する度合いに影響します。

LoRA を使う

新しく作成した LoRA は、W&B Weave Playground ですぐに試せます。artifact の URL を開いたら、[Try in playground] ボタンをクリックします。
Artifacts UI の LoRA
次に、チャットインターフェースの下部にプロンプトを入力します。
Playground UI の LoRA
コードから新しく作成した LoRA を使用するには、Serverless LoRA Inference を使用する ガイドを参照してください。手順を追って説明しています。

次のステップ

LoRA を作成したら、次のようなトレーニングを試せます。
  • より少ない数の例で LoRA をトレーニングし、それでも期待どおりの効果が得られるか確認する。
  • データセット内の応答を変更して、海賊や忍者など、別のキャラクターを表現してみる。