Fine Tunes - Create
特定のトレーニング ファイルから指定したモデルを微調整するジョブを作成します。 応答には、ジョブの状態やハイパー パラメーターなど、エンキューされたジョブの詳細が含まれます。 微調整されたモデルの名前は、完了すると応答に追加されます。
POST {endpoint}/openai/fine-tunes?api-version=2023-05-15
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
endpoint
|
path | True |
string (url) |
サポートされている Cognitive Services エンドポイント (プロトコルとホスト名など: https://aoairesource.openai.azure.com。"aoairesource" を Azure OpenAI アカウント名に置き換えます)。 |
api-version
|
query | True |
string |
要求された API バージョン。 |
要求ヘッダー
名前 | 必須 | 型 | 説明 |
---|---|---|---|
api-key | True |
string |
コグニティブ サービスの Azure OpenAI アカウント キーをここで指定します。 |
要求本文
名前 | 必須 | 型 | 説明 |
---|---|---|---|
model | True |
string minLength: 1 |
この微調整に使用される基本モデルの識別子 (model-id)。 |
training_file | True |
string minLength: 1 |
この微調整されたモデルのトレーニングに使用されるファイル ID (ファイル ID)。 |
batch_size |
integer (int32) |
トレーニングに使用するバッチ サイズ。 バッチ サイズは、1 つの前方パスと後方パスをトレーニングするために使用されるトレーニング例の数です。 一般に、大規模なデータセットでは、バッチ サイズが大きいほど適切に機能する傾向があることがわかりました。 既定値とこのプロパティの最大値は、基本モデルに固有です。 |
|
classification_betas |
number[] (double) |
分類ベータ値。 これが指定されている場合は、指定されたベータ値で F-beta スコアを計算します。 F ベータ スコアは、F-1 スコアの一般化です。 これは二項分類にのみ使用されます。 ベータが 1 (つまり F-1 スコア) の場合、精度と再現率には同じ重みが与えられます。 ベータ スコアが大きいほど、再現率が高くなり、精度が低下します。 ベータ スコアが小さいほど、精度が上がり、再呼び出しが少なくなります。 |
|
classification_n_classes |
integer (int32) |
分類タスク内のクラスの数。 このパラメーターは、多クラス分類に必要です。 |
|
classification_positive_class |
string |
二項分類の正のクラス。 このパラメーターは、二項分類を行うときに精度、再現率、および F1 メトリックを生成するために必要です。 |
|
compute_classification_metrics |
boolean |
分類メトリックを計算するかどうかを示す値。 設定した場合、精度や F-1 スコアなどの分類固有のメトリックは、すべてのエポックの最後に設定された検証を使用して計算されます。 これらのメトリックは、結果ファイルで表示できます。 分類メトリックを計算するには、validation_fileを指定する必要があります。さらに、多クラス分類のclassification_n_classesまたは二項分類のclassification_positive_classを指定する必要があります。 |
|
learning_rate_multiplier |
number (double) |
トレーニングに使用する学習率の乗数。 微調整学習率は、事前トレーニングに使用された元の学習率にこの値を乗算した値です。 学習率が高いほど、バッチ サイズが大きいほどパフォーマンスが向上する傾向があります。 最適な結果を生成するものを確認するには、0.02 ~ 0.2 の範囲の値を試すことをお勧めします。 |
|
n_epochs |
integer (int32) |
モデルをトレーニングするエポックの数。 エポックとは、トレーニング データセットを通じて 1 つの完全なサイクルを指します。 |
|
prompt_loss_weight |
number (double) |
プロンプト トークンの損失に使用する重み。 これにより、(常に重みが 1.0 の完了と比較して) モデルがプロンプトの生成を学習しようとする量が制御され、完了が短い場合にトレーニングに安定化効果を追加できます。 プロンプトが非常に長い場合 (完了に対して相対的)、プロンプトの学習の優先順位が過剰にならないように、この重みを減らすことが理にかなっている可能性があります。 |
|
suffix |
string |
微調整されたモデルを識別するために使用されるサフィックス。 サフィックスには、微調整されたモデル名に追加される最大 40 文字 (a から z、A から Z、0 から 9、および _) を含めることができます。 |
|
validation_file |
string |
トレーニング中に微調整されたモデルを評価するために使用されるファイル ID (ファイル ID)。 |
応答
名前 | 型 | 説明 |
---|---|---|
201 Created |
微調整が正常に作成されました。 ヘッダー Location: string |
|
Other Status Codes |
エラーが発生しました。 |
セキュリティ
api-key
コグニティブ サービスの Azure OpenAI アカウント キーをここで指定します。
型:
apiKey
/:
header
例
Creating a fine tune job for classification. |
Creating a fine tune job. |
Creating a fine tune job for classification.
要求のサンプル
POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15
{
"compute_classification_metrics": true,
"classification_n_classes": 4,
"model": "curie",
"training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}
応答のサンプル
location: https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f
{
"hyperparams": {
"compute_classification_metrics": true,
"classification_n_classes": 4,
"batch_size": 32,
"learning_rate_multiplier": 1,
"n_epochs": 2,
"prompt_loss_weight": 0.1
},
"model": "curie",
"training_files": [
{
"statistics": {
"tokens": 42,
"examples": 23
},
"bytes": 140,
"purpose": "fine-tune",
"filename": "puppy.jsonl",
"id": "file-181a1cbdcdcf4677ada87f63a0928099",
"status": "succeeded",
"created_at": 1646126127,
"updated_at": 1646127311,
"object": "file"
}
],
"id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f",
"status": "notRunning",
"created_at": 1646126127,
"updated_at": 1646127311,
"object": "fine-tune"
}
Creating a fine tune job.
要求のサンプル
POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15
{
"model": "curie",
"training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}
応答のサンプル
location: https://aoairesource.openai.azure.com/openai/fine-tunes/ft-72a2792ef7d24ba7b82c7fe4a37e379f
{
"hyperparams": {
"batch_size": 32,
"learning_rate_multiplier": 1,
"n_epochs": 2,
"prompt_loss_weight": 0.1
},
"model": "curie",
"training_files": [
{
"statistics": {
"tokens": 42,
"examples": 23
},
"bytes": 140,
"purpose": "fine-tune",
"filename": "puppy.jsonl",
"id": "file-181a1cbdcdcf4677ada87f63a0928099",
"status": "succeeded",
"created_at": 1646126127,
"updated_at": 1646127311,
"object": "file"
}
],
"id": "ft-72a2792ef7d24ba7b82c7fe4a37e379f",
"status": "notRunning",
"created_at": 1646126127,
"updated_at": 1646127311,
"object": "fine-tune"
}
定義
名前 | 説明 |
---|---|
Error |
エラー |
Error |
ErrorCode |
Error |
ErrorResponse |
Event |
出来事 |
File |
ファイル |
File |
FileStatistics |
Fine |
FineTune |
Fine |
FineTuneCreation |
Hyper |
HyperParameters |
Inner |
InnerError |
Inner |
InnerErrorCode |
Log |
LogLevel |
Purpose |
目的 |
State |
状態 |
Type |
TypeDiscriminator |
Error
エラー
名前 | 型 | 説明 |
---|---|---|
code |
ErrorCode |
|
details |
Error[] |
エラーの詳細 (使用可能な場合)。 |
innererror |
InnerError |
|
message |
string minLength: 1 |
このエラーのメッセージ。 |
target |
string |
エラーが発生した場所 (使用可能な場合)。 |
ErrorCode
ErrorCode
値 | 説明 |
---|---|
conflict |
要求された操作が現在のリソースの状態と競合しています。 |
fileImportFailed |
ファイルのインポートに失敗しました。 |
forbidden |
この操作は、現在のユーザー/API キーでは禁止されています。 |
internalFailure |
内部エラー。 再試行してください。 |
invalidPayload |
要求データがこの操作に対して無効です。 |
itemDoesAlreadyExist |
項目は既に存在します。 |
jsonlValidationFailed |
jsonl データの検証に失敗しました。 |
notFound |
リソースが見つかりません。 |
quotaExceeded |
クォータを超えました。 |
serviceUnavailable |
このサービスは現在使用できません。 |
unexpectedEntityState |
この操作は、現在のリソースの状態では実行できません。 |
ErrorResponse
ErrorResponse
名前 | 型 | 説明 |
---|---|---|
error |
エラー |
Event
出来事
名前 | 型 | 説明 |
---|---|---|
created_at |
integer (unixtime) |
このイベントが作成されたときのタイムスタンプ (unix エポック)。 |
level |
LogLevel |
|
message |
string minLength: 1 |
イベントを説明するメッセージ。 これは、エンキュー、開始、失敗、完了、アップロードされた結果などの他のイベントなど、状態の変化です。 |
object |
TypeDiscriminator |
File
ファイル
名前 | 型 | 説明 |
---|---|---|
bytes |
integer (int64) |
使用可能な場合は、このファイルのサイズ (null を指定できます)。 JavaScript 整数との互換性を確保するために、2^53-1 より大きいファイル サイズはサポートされていません。 |
created_at |
integer (unixtime) |
このジョブまたは項目が作成されたときのタイムスタンプ (unix エポック)。 |
error |
エラー |
|
filename |
string minLength: 1 |
ファイルの名前。 |
id |
string |
この項目の ID。 |
object |
TypeDiscriminator |
|
purpose |
目的 |
|
statistics |
FileStatistics |
|
status |
状態 |
|
updated_at |
integer (unixtime) |
このジョブまたは項目が最後に変更されたときのタイムスタンプ (unix エポック)。 |
FileStatistics
FileStatistics
名前 | 型 | 説明 |
---|---|---|
examples |
integer (int32) |
ファイル コンテンツの検証が完了した後に、"微調整" された種類のファイルに含まれるトレーニング例の数。 |
tokens |
integer (int32) |
ファイル コンテンツの検証が完了した後に、"微調整" された種類のファイルのプロンプトと入力候補で使用されるトークンの数。 |
FineTune
FineTune
名前 | 型 | 説明 |
---|---|---|
created_at |
integer (unixtime) |
このジョブまたは項目が作成されたときのタイムスタンプ (unix エポック)。 |
error |
エラー |
|
events |
Event[] |
キューに登録、実行、完了など、微調整実行の進行状況を示すイベント。 |
fine_tuned_model |
string |
結果として得られる微調整されたモデルの識別子 (model-id)。 このプロパティは、正常に完了した微調整の実行に対してのみ設定されます。 推論用のデプロイを作成するには、この識別子を使用します。 |
hyperparams |
HyperParameters |
|
id |
string |
この項目の ID。 |
model |
string minLength: 1 |
微調整に使用される基本モデルの識別子 (model-id)。 |
object |
TypeDiscriminator |
|
organisation_id |
string |
この微調整ジョブの組織 ID。 Azure OpenAI で使用されていません。OpenAI のみの互換性。 |
result_files |
File[] |
トレーニングと評価のメトリックを csv 形式で含む結果ファイル ID (ファイル ID)。 このファイルは、正常に完了した微調整の実行でのみ使用できます。 |
status |
状態 |
|
suffix |
string |
微調整されたモデルを識別するために使用されるサフィックス。 |
training_files |
File[] |
微調整されたモデルのトレーニングに使用されるファイル ID (ファイル ID)。 |
updated_at |
integer (unixtime) |
このジョブまたは項目が最後に変更されたときのタイムスタンプ (unix エポック)。 |
user_id |
string |
この微調整ジョブのユーザー ID。 Azure OpenAI で使用されていません。OpenAI のみの互換性。 |
validation_files |
File[] |
トレーニング中に微調整されたモデルを評価するために使用されるファイル ID (ファイル ID)。 |
FineTuneCreation
FineTuneCreation
名前 | 型 | 説明 |
---|---|---|
batch_size |
integer (int32) |
トレーニングに使用するバッチ サイズ。 バッチ サイズは、1 つの前方パスと後方パスをトレーニングするために使用されるトレーニング例の数です。 一般に、大規模なデータセットでは、バッチ サイズが大きいほど適切に機能する傾向があることがわかりました。 既定値とこのプロパティの最大値は、基本モデルに固有です。 |
classification_betas |
number[] (double) |
分類ベータ値。 これが指定されている場合は、指定されたベータ値で F-beta スコアを計算します。 F ベータ スコアは、F-1 スコアの一般化です。 これは二項分類にのみ使用されます。 ベータが 1 (つまり F-1 スコア) の場合、精度と再現率には同じ重みが与えられます。 ベータ スコアが大きいほど、再現率が高くなり、精度が低下します。 ベータ スコアが小さいほど、精度が上がり、再呼び出しが少なくなります。 |
classification_n_classes |
integer (int32) |
分類タスク内のクラスの数。 このパラメーターは、多クラス分類に必要です。 |
classification_positive_class |
string |
二項分類の正のクラス。 このパラメーターは、二項分類を行うときに精度、再現率、および F1 メトリックを生成するために必要です。 |
compute_classification_metrics |
boolean |
分類メトリックを計算するかどうかを示す値。 設定した場合、精度や F-1 スコアなどの分類固有のメトリックは、すべてのエポックの最後に設定された検証を使用して計算されます。 これらのメトリックは、結果ファイルで表示できます。 分類メトリックを計算するには、validation_fileを指定する必要があります。さらに、多クラス分類のclassification_n_classesまたは二項分類のclassification_positive_classを指定する必要があります。 |
learning_rate_multiplier |
number (double) |
トレーニングに使用する学習率の乗数。 微調整学習率は、事前トレーニングに使用された元の学習率にこの値を乗算した値です。 学習率が高いほど、バッチ サイズが大きいほどパフォーマンスが向上する傾向があります。 最適な結果を生成するものを確認するには、0.02 ~ 0.2 の範囲の値を試すことをお勧めします。 |
model |
string minLength: 1 |
この微調整に使用される基本モデルの識別子 (model-id)。 |
n_epochs |
integer (int32) |
モデルをトレーニングするエポックの数。 エポックとは、トレーニング データセットを通じて 1 つの完全なサイクルを指します。 |
prompt_loss_weight |
number (double) |
プロンプト トークンの損失に使用する重み。 これにより、(常に重みが 1.0 の完了と比較して) モデルがプロンプトの生成を学習しようとする量が制御され、完了が短い場合にトレーニングに安定化効果を追加できます。 プロンプトが非常に長い場合 (完了に対して相対的)、プロンプトの学習の優先順位が過剰にならないように、この重みを減らすことが理にかなっている可能性があります。 |
suffix |
string |
微調整されたモデルを識別するために使用されるサフィックス。 サフィックスには、微調整されたモデル名に追加される最大 40 文字 (a から z、A から Z、0 から 9、および _) を含めることができます。 |
training_file |
string minLength: 1 |
この微調整されたモデルのトレーニングに使用されるファイル ID (ファイル ID)。 |
validation_file |
string |
トレーニング中に微調整されたモデルを評価するために使用されるファイル ID (ファイル ID)。 |
HyperParameters
HyperParameters
名前 | 型 | 説明 |
---|---|---|
batch_size |
integer (int32) |
トレーニングに使用するバッチ サイズ。 バッチ サイズは、1 つの前方パスと後方パスをトレーニングするために使用されるトレーニング例の数です。 一般に、大規模なデータセットでは、バッチ サイズが大きいほど適切に機能する傾向があることがわかりました。 既定値とこのプロパティの最大値は、基本モデルに固有です。 |
classification_betas |
number[] (double) |
分類ベータ値。 これが指定されている場合は、指定されたベータ値で F-beta スコアを計算します。 F ベータ スコアは、F-1 スコアの一般化です。 これは二項分類にのみ使用されます。 ベータが 1 (つまり F-1 スコア) の場合、精度と再現率には同じ重みが与えられます。 ベータ スコアが大きいほど、再現率が高くなり、精度が低下します。 ベータ スコアが小さいほど、精度が上がり、再呼び出しが少なくなります。 |
classification_n_classes |
integer (int32) |
分類タスク内のクラスの数。 このパラメーターは、多クラス分類に必要です。 |
classification_positive_class |
string |
二項分類の正のクラス。 このパラメーターは、二項分類を行うときに精度、再現率、および F1 メトリックを生成するために必要です。 |
compute_classification_metrics |
boolean |
分類メトリックを計算するかどうかを示す値。 設定した場合、精度や F-1 スコアなどの分類固有のメトリックは、すべてのエポックの最後に設定された検証を使用して計算されます。 これらのメトリックは、結果ファイルで表示できます。 分類メトリックを計算するには、validation_fileを指定する必要があります。さらに、多クラス分類のclassification_n_classesまたは二項分類のclassification_positive_classを指定する必要があります。 |
learning_rate_multiplier |
number (double) |
トレーニングに使用する学習率の乗数。 微調整学習率は、事前トレーニングに使用された元の学習率にこの値を乗算した値です。 学習率が高いほど、バッチ サイズが大きいほどパフォーマンスが向上する傾向があります。 最適な結果を生成するものを確認するには、0.02 ~ 0.2 の範囲の値を試すことをお勧めします。 |
n_epochs |
integer (int32) |
モデルをトレーニングするエポックの数。 エポックとは、トレーニング データセットを通じて 1 つの完全なサイクルを指します。 |
prompt_loss_weight |
number (double) |
プロンプト トークンの損失に使用する重み。 これにより、(常に重みが 1.0 の完了と比較して) モデルがプロンプトの生成を学習しようとする量が制御され、完了が短い場合にトレーニングに安定化効果を追加できます。 プロンプトが非常に長い場合 (完了に対して相対的)、プロンプトの学習の優先順位が過剰にならないように、この重みを減らすことが理にかなっている可能性があります。 |
InnerError
InnerError
名前 | 型 | 説明 |
---|---|---|
code |
InnerErrorCode |
|
innererror |
InnerError |
InnerErrorCode
InnerErrorCode
値 | 説明 |
---|---|
invalidPayload |
要求データがこの操作に対して無効です。 |
LogLevel
LogLevel
値 | 説明 |
---|---|
error |
このメッセージは、回復不可能な問題を表します。 |
info |
このイベントは情報提供のみを目的としています。 |
warning |
このイベントは、軽減された問題を表します。 |
Purpose
目的
値 | 説明 |
---|---|
fine-tune |
このファイルには、微調整ジョブのトレーニング データが含まれています。 |
fine-tune-results |
このファイルには、微調整ジョブの結果が含まれています。 |
State
状態
値 | 説明 |
---|---|
canceled |
操作が取り消され、不完全です。 |
deleted |
エンティティは削除されましたが、削除前の他のエンティティによって引き続き参照される可能性があります。 |
failed |
操作はエラーで処理を完了しており、それ以上使用することはできません。 |
notRunning |
操作が作成され、今後処理されるキューにありません。 |
running |
操作の処理が開始されました。 |
succeeded |
操作が正常に処理され、使用する準備が整いました。 |
TypeDiscriminator
TypeDiscriminator
値 | 説明 |
---|---|
file |
このオブジェクトはファイルを表します。 |
fine-tune |
このオブジェクトは、微調整ジョブを表します。 |
fine-tune-event |
このオブジェクトは、微調整ジョブのイベントを表します。 |
list |
このオブジェクトは、他のオブジェクトの一覧を表します。 |
model |
このオブジェクトは、モデルを表します (基本モデルまたはジョブの結果を微調整できます)。 |