ファインチューニング可能なモデルの一覧については、OpenAI ドキュメントを参照してください。
OpenAI Python API をインストールまたは更新する
OpenAI のファインチューニング結果を同期する
wandb.integration.openai.fine_tuning モジュールの WandbLogger クラスを使用します。

ファインチューニング結果を同期する
Reference
| Argument | Description |
|---|---|
| fine_tune_job_id | これは、client.fine_tuning.jobs.create を使ってファインチューニングジョブを作成したときに取得できる OpenAI Fine-Tune ID です。この引数が None(デフォルト)の場合、まだ同期されていないすべての OpenAI ファインチューニングジョブが W&B に同期されます。 |
| openai_client | 初期化済みの OpenAI クライアントを sync に渡します。クライアントが指定されない場合は、ロガー側でクライアントが初期化されます。デフォルトでは None です。 |
| num_fine_tunes | ID が指定されていない場合、同期されていないすべてのファインチューニングジョブが W&B にログされます。この引数を使うと、同期する直近のファインチューニングジョブの数を指定できます。num_fine_tunes が 5 の場合、直近 5 件のファインチューニングジョブが対象になります。 |
| project | ファインチューニングのメトリクス、モデル、データなどをログする W&B のプロジェクト名です。デフォルトのプロジェクト名は “OpenAI-Fine-Tune” です。 |
| entity | run を送信する先の W&B のユーザー名またはチーム名です。デフォルトでは、通常あなたのユーザー名であるデフォルト entity が使用されます。 |
| overwrite | ログの記録を強制し、同じファインチューニングジョブに対応する既存の wandb run を上書きします。デフォルトでは False です。 |
| wait_for_job_success | OpenAI のファインチューニングジョブが開始されると、完了までに少し時間がかかることがあります。ファインチューニングジョブ完了後すぐにメトリクスが W&B にログされるように、この設定は 60 秒ごとにファインチューニングジョブのステータスが succeeded に変わるかどうかを確認します。ジョブが成功したと検出されると、メトリクスは自動的に W&B に同期されます。デフォルトで True に設定されています。 |
| model_artifact_name | ログされるモデルアーティファクトの名前です。デフォルトは "model-metadata" です。 |
| model_artifact_type | ログされるモデルアーティファクトの種類です。デフォルトは "model" です。 |
| **kwargs_wandb_init | wandb.init() に直接渡される任意の追加引数 |
データセットのバージョン管理と可視化
バージョニング

可視化

ファインチューニング済みモデルとモデルのバージョニング
WandbLogger は fine_tuned_model の ID とともに、モデルのすべての詳細情報(ハイパーパラメータ、データファイルの ID など)を含む model_metadata.json ファイルを作成し、それを W&B のアーティファクトとして記録します。
このモデル(メタデータ)のアーティファクトは、W&B Registry 内のモデルに関連付けることができます。

よくある質問
run をどのように整理できますか?
ファインチューニング済みモデルにはどうやってアクセスできますか?
model_metadata.json というアーティファクトおよび設定情報として W&B に記録されます。
VERSION は次のいずれかです:
v2のようなバージョン番号ft-xxxxxxxxxのようなファインチューニング IDlatestのように自動で追加される、または手動で追加されたエイリアス
model_metadata.json ファイルを読み込むことで、fine_tuned_model の ID を確認できます。
ファインチューニングが正常に同期されなかった場合はどうすればよいですか?
overwrite=True を使用し、ファインチューニングジョブ ID を渡してください。
W&B でデータセットやモデルを追跡できますか?
wandb.Artifact や wandb.Run.log などの低レベルな wandb API を使って、パイプラインを細かく制御できます。これにより、データとモデルの完全な追跡可能性を確保できます。

リソース
- OpenAI Fine-tuning Documentation は非常に充実しており、有用なヒントが多数掲載されています
- Demo Colab
- How to Fine-Tune Your OpenAI GPT-3.5 and GPT-4 Models with W&B レポート