Skip to main content
このページでは、OpenAI GPT-3.5 または GPT-4 モデルのファインチューニングのメトリクスと設定を W&B にログする方法を説明します。W&B を OpenAI のファインチューニング API と統合すると、ファインチューニングの実験、モデル、データセットを一か所でトラッキングし、結果を同僚と共有できます。OpenAI モデルをファインチューンする際に、実験管理を一元化し、トレーニングデータと生成されたモデルをバージョン管理したい場合は、このインテグレーションを使用してください。
ファインチューンできるモデルの一覧については、OpenAI ドキュメントを参照してください。
ファインチューニング向けに W&B を OpenAI と統合する方法の補足情報については、OpenAI ドキュメントの W&B Integration セクションを参照してください。

OpenAI Python API のインストールまたは更新

ファインチューニングの結果を同期する前に、互換性のあるバージョンの OpenAI Python クライアントがインストールされていることを確認してください。W&B の OpenAI ファインチューニングインテグレーションは、OpenAI バージョン 1.0 以降に対応しています。OpenAI Python API ライブラリの最新バージョンについては、PyPI のドキュメントを参照してください。 OpenAI Python API をインストールするには、次のコマンドを実行します。
OpenAI Python API がすでにインストールされている場合は、次のコマンドで更新します。

OpenAI のファインチューニング結果を同期する

このセクションでは、OpenAI のファインチューニングジョブのメトリクスと設定を W&B に送信し、他の実験と並べて確認できるようにする方法を説明します。そのためには、wandb.integration.openai.fine_tuning モジュールの WandbLogger クラスを使用します。
OpenAI 自動スキャン機能

ファインチューンを同期する

スクリプトから結果を同期します。次の例では、1 行だけの最小限の呼び出しと、同期の動作を制御するために指定できるすべてのオプションのパラメーターの両方を示します。

リファレンス

次の表は、WandbLogger.sync が受け付ける各引数の説明です。

データセットのバージョン管理と可視化

ファインチューニングジョブを同期すると、W&B はトレーニングデータと検証データも取得します。これにより、データのバージョン管理やインタラクティブな探索が可能になります。以下のサブセクションでは、W&B がトラッキングする内容と、その確認方法について説明します。

バージョン管理

ファインチューニングのために OpenAI にアップロードしたトレーニングデータと検証データは、W&B Artifacts として自動的にログされるため、バージョン管理が容易になります。次の画像は、Artifacts でトレーニングファイルを表示した例です。このファイルをログした W&B run、ログされた日時、データセットのバージョン、メタデータ、そしてトレーニングデータからトレーニング済みモデルに至る DAG リネージを確認できます。
トレーニングデータセットを含む W&B Artifacts

可視化

W&B はデータセットを W&B 表として可視化するため、データセットの探索や検索、インタラクティブな操作が可能です。次の画像は、W&B 表で可視化したトレーニングサンプルの例です。
OpenAI データ

ファインチューニングしたモデルとモデルのバージョン管理

OpenAI はファインチューニングしたモデルの基盤となる重みを公開していないため、W&B は代わりにモデルのメタデータを取得してトラッキングします。OpenAI からは、ファインチューニングしたモデルの ID が提供されます。モデルの重みにはアクセスできないため、WandbLogger はモデルの詳細情報 (ハイパーパラメーター、データファイル ID など) を fine_tuned_model ID とあわせて model_metadata.json ファイルにまとめ、W&B Artifactsとしてログします。 このモデル (メタデータ) アーティファクトは、Registry 内のモデルにリンクできます。
OpenAI モデルのメタデータ

よくある質問

以下のセクションでは、OpenAI から同期したファインチューニングの run の共有、整理、復元に関するよくある質問にお答えします。

ファインチューンの結果をチームと共有する

次のコードで、ファインチューンジョブをチームアカウントにログします。

run を整理する

W&B は run を自動的に整理します。ジョブタイプ、ベースモデル、学習率、トレーニングファイル名、その他のハイパーパラメーターなど、任意の設定パラメーターに基づいて run をフィルターしたり並べ替えたりできます。 また、run をリネームしたり、メモを追加したり、タグを作成して run をグループ化したりすることもできます。 満足のいく状態になったら、Workspace を保存し、それを使って report を作成しましょう。その際、run や保存済みのアーティファクト (トレーニングファイルと検証ファイル) からデータをインポートできます。

ファインチューニングしたモデルにアクセスする

W&B は、ファインチューニングしたモデルのモデル ID を、アーティファクト (model_metadata.json) と設定の両方にログします。
<version> プレースホルダーには、次のいずれかを指定します。
  • v2 などのバージョン番号
  • ft-xxxxxxxxx などのファインチューニング ID
  • latest などの自動的に追加されるエイリアス、または手動で追加したエイリアス
その後、ダウンロードした model_metadata.json ファイルを読み込むと、fine_tuned_model ID を取得できます。

同期されなかったファインチューンを復旧する

ファインチューンが W&B に正常にログされなかった場合は、overwrite=True を使用して、ファインチューンジョブ ID を渡します。

W&B でデータセットとモデルをトラッキングする

W&B は、トレーニングデータと検証データをアーティファクトとして自動的にログします。ファインチューニングしたモデルの ID などのメタデータも、アーティファクトとしてログします。 wandb.Artifact や wandb.Run.log などの低レベルの wandb API を使用して、パイプラインを制御することもできます。これにより、データとモデルの完全なトレーサビリティを確保できます。
OpenAI のトラッキングに関する FAQ

リソース

より詳しい背景情報やエンドツーエンドのサンプルについては、以下のリソースを参照してください。
最終更新日 2026年9月30日