ファインチューニング可能なモデルの一覧については、OpenAI ドキュメントを参照してください。
OpenAI Python API をインストールまたは更新する
ファインチューニングの結果を Sync する前に、互換性のあるバージョンの OpenAI Python クライアントがインストールされていることを確認してください。W&B の OpenAI ファインチューニング インテグレーションは、OpenAI バージョン 1.0 以降に対応しています。最新バージョンについては、OpenAI Python API ライブラリの PyPI ドキュメントを参照してください。 OpenAI Python API をインストールするには、次を実行します。OpenAI のファインチューニング結果を同期する
このセクションでは、OpenAI のファインチューニング ジョブのメトリクスと設定を W&B に送信し、他の Experiments とあわせて確認する方法を説明します。これを行うには、wandb.integration.openai.fine_tuning モジュールの WandbLogger クラスを使用します。

ファインチューニングを同期する
スクリプトから結果を同期できます。次の例では、最小限の 1 行の呼び出しと、同期の挙動を制御するために指定できる省略可能なパラメーター一式の両方を示します。参照
次の表では、WandbLogger.sync が受け付ける各引数について説明します。
データセットのバージョン管理と可視化
ファインチューニング ジョブを同期すると、W&B はトレーニング データと検証データも取得するため、それらをバージョン管理し、インタラクティブに探索できます。以下の各サブセクションでは、W&B がトラッキングする内容と、その確認方法について説明します。バージョン管理
ファインチューニングのためにOpenAIへアップロードするトレーニングデータと検証データは、バージョン管理をしやすくするために、自動的にW&B Artifactsにログされます。次の画像は、Artifacts内のトレーニングファイルの表示例です。ここでは、このファイルをログしたW&B run、ログされた日時、このデータセットのバージョン、メタデータ、そしてトレーニングデータからトレーニング済みモデルまでのDAGリネージを確認できます。
可視化
W&B はデータセットを W&B Tables として可視化し、データセットの探索、検索、操作を行えます。以下の画像は、W&B Tables で可視化されたトレーニングサンプルを示しています。
ファインチューニングしたモデルとモデルのバージョン管理
OpenAI はファインチューニングしたモデルの基となる重みを公開していないため、W&B は代わりにそのメタデータを取得してモデルをトラッキングします。OpenAI は、ファインチューニングしたモデルの ID を返します。モデルの重みにはアクセスできないため、WandbLogger は fine_tuned_model`` ID と、モデルのすべての詳細 (ハイパーパラメーター、データファイル ID など) を含む model_metadata.json ファイルを作成し、これを W&B Artifact としてログします。
このモデル (メタデータ) の Artifact は、さらに W&B Registry 内のモデルにリンクできます。

よくある質問
以下のセクションでは、OpenAI から同期したファインチューニング Runs の共有、整理、復元に関するよくある質問に回答します。チームでファインチューニング結果を共有する
次を使用して、ファインチューニング ジョブをチームアカウントにログしてください。Runs を整理する
W&B は Runs を自動的に整理します。ジョブタイプ、base model、学習率、トレーニングファイル名、その他のハイパーパラメーターなど、任意の設定パラメーターに基づいてフィルターや並べ替えを行えます。 さらに、Runs の名前を変更したり、メモを追加したり、タグを作成してグループ化したりできます。 整理できたら、Workspace を保存し、それを使用して report を作成できます。Runs や保存済みの Artifacts (トレーニング/検証ファイル) からデータを取り込めます。ファインチューニングしたモデルにアクセスする
W&B は、ファインチューニングしたモデルの ID を Artifacts (model_metadata.json) および設定としてログします。
<version> プレースホルダーには、次のいずれかを指定します。
v2のようなバージョン番号。ft-xxxxxxxxxのような ファインチューニング ID。latestのような自動的に追加されたエイリアス、または手動で追加したエイリアス。
model_metadata.json file を参照することで、fine_tuned_model ID にアクセスできます。
Sync されなかったファインチューニングを復元する
ファインチューニング の情報が W&B に正常にログされなかった場合は、overwrite=True を使用し、ファインチューニング のジョブ ID を渡してください。
W&B でデータセットとモデルをトラッキングする
W&B は、トレーニングデータと検証データを自動的に Artifacts としてログします。W&B は、ファインチューニングしたモデルの ID を含むメタデータも Artifacts としてログします。wandb.Artifact や wandb.Run.log などの低レベルの wandb API を使って、パイプラインを制御することもできます。これにより、データとモデルを完全に追跡可能にできます。

リソース
より詳しい背景情報とエンドツーエンドの例については、以下のリソースを参照してください。- OpenAIのファインチューニング ドキュメント には、詳細なガイダンスと役立つヒントが掲載されています。
- デモ用Colab。
- W&B を使った OpenAI GPT-3.5 と GPT-4 モデルのファインチューニング方法 report。