Azure OpenAI のファインチューニングと Weights & Biases の統合 (プレビュー)
Weights & Biases (W&B) は、機械学習の実践者がモデルを効率的にトレーニング、微調整、デプロイできるようにする強力な AI 開発者プラットフォームです。 Azure OpenAI ファインチューニングは W&B と統合されているため、メトリック、パラメーターを追跡し、W&B プロジェクト内で Azure OpenAI ファインチューニングのトレーニングの実行を視覚化できます。 この記事では、Weights & Biases の統合を設定する方法について説明します。
前提条件
- Azure OpenAI リソース。 詳細については、「Azure OpenAI を使用してリソースを作成し、モデルをデプロイする」を参照してください。 リソースは、ファインチューニングをサポートするリージョンに存在する必要があります。
- モデルを微調整する必要があるチームのすべてのユーザーには、新しい Azure OpenAI リソースに対する Cognitive Services OpenAI 共同作成者アクセス権が必要です。
- Weights & Biases アカウントと API キー。
- Azure Key Vault。 キー コンテナーの作成の詳細については、Azure Key Vault のクイック スタートを参照してください。
システム マネージド ID を有効にする
まず、Azure OpenAI リソースのシステム マネージド ID を有効にする必要があります。
Weights & Biases API キーを取得する
https://wandb.ai にサインインし、[ユーザー設定] に移動します。
[API キー] で、[表示] を選択してキーにアクセスし、クリップボードにコピーします。
新しいキーを作成する場合は、https://wandb.ai/authorize を使用し、キーをコピーして後で統合構成に追加します。
Azure Key Vault を構成する
安全に行うには、Azure OpenAI から Weights & Biases プロジェクトにデータを送信し、Azure Key Vault を使用する必要があります。
Azure Key Vault に Weights & Biases API キーをシークレットとして追加する
使用する予定の Azure Key Vault に移動します。
シークレットを Azure Key Vault に読み取り/書き込みするには、アクセス権を明示的に割り当てる必要があります。
[設定] > [アクセス構成] に移動し、[アクセス許可モデル] で、まだ選択されていない場合は [Azure ロールベースのアクセス制御] を選択することをお勧めします。 詳細については、Azure のロールベースのアクセス制御に関する記事をご覧ください。
Key Vault Secrets Officer ロールの割り当て
アクセス許可モデルを Azure ロールベースのアクセス制御に設定したら、Key Vault Secrets Officer ロールを自分に付与できます。
[アクセス制御 (IAM)]、[ロール割り当ての追加] の順に移動します。
[Key Vault Secrets Officer] を選択し、自分のアカウントをメンバーとして追加し、[レビューと割り当て] を選択します。
シークレットを作成する
キー コンテナー リソース内の [オブジェクト] で、[シークレット]>[生成/インポート] を選択します。
シークレットに名前を指定し、生成された API キーを Weights & Biases から [シークレット値] に保存します。
シークレット名とキー コンテナーの URL を必ずキャプチャしてください。 キー コンテナーの URL は、キー コンテナーの [概要] セクションから取得できます。
Azure OpenAI アカウントに対して Key Vault のアクセス許可を付与する
以前にコンテナー アクセス ポリシーを使用して Azure Key Vault に対するシークレットの読み取り/書き込みを行った場合は、再度それを使用する必要があります。 それ以外の場合は、引き続き Azure ロールベースのアクセス制御を使用します。 Azure ロールベースのアクセス制御をお勧めしますが、うまくいかない場合は、コンテナー アクセス ポリシーを試してください。
Azure OpenAI リソースに、Key Vault Secrets Officer ロールを付与します。
Weights & Biases と Azure OpenAI をリンクする
AI Studio に移動し、Azure OpenAI ファインチューニング リソースを選択します。
キー コンテナーの URL とシークレット > を追加し、[更新] を選択します。
ここで、新しいファインチューニング ジョブを作成するときに、ジョブのデータを Weights & Biases アカウントにログすることができます。