学習の作成
- 印刷する
- PDF
学習の作成
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
Classic/VPC環境で利用できます。
学習を作成します。作成した学習が完了すると、会話型の文を生成する Chat Completions API、Completions APIを呼び出して CLOVA Studioが生成した返答を確認できます。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
メソッド | URI |
---|---|
POST | /tuning/v2/tasks |
リクエストヘッダ
リクエストヘッダの説明は次の通りです。
フィールド | 必須の有無 | 説明 |
---|---|---|
X-NCP-APIGW-TIMESTAMP | Required | 1970年1月1日00:00:00協定世界時(UTC)からの経過時間(ミリ秒)
|
X-NCP-IAM-ACCESS-KEY | Required | NAVERクラウドプラットフォームポータルや Sub Accountサービスから発行された Access Key |
X-NCP-APIGW-SIGNATURE-V2 | Required | リクエストパスやヘッダを、Access Keyとマッピングする Secret Keyで HMAC暗号化アルゴリズム(HmacSHA256)を通じて暗号化し、Base64でエンコードした署名
|
X-NCP-CLOVASTUDIO-REQUEST-ID | Optional | リクエスト ID |
Content-Type | Required | リクエストデータの形式
|
リクエストボディ
リクエストボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
name | String | Optional | 学習名
|
model | String | Required | チューニングに使用するモデルの名前 |
tuningType | String | Optional | チューニング技法
|
taskType | String | Optional | 学習タイプ
|
trainEpochs | String | Optional | モデルを学習したエポック数
|
learningRate | String | Optional | 学習率(チューニング時にモデルパラメータを再学習するレベルや程度)
|
trainingDatasetFilePath | String | Conditional | 学習対象データセットファイルのパス
|
trainingDatasetBucket | String | Conditional | 学習対象データセットファイルのアップロード先のバケット名
|
trainingDatasetAccessKey | String | Conditional | 学習対象データセットファイルへのアクセス用 Access key
|
trainingDatasetSecretKey | String | Conditional | 学習対象データセットファイルへのアクセス用 Secret key
|
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://clovastudio.apigw.ntruss.com/tuning/v2/tasks' \
--header 'X-NCP-APIGW-TIMESTAMP: {Timestamp}' \
--header 'X-NCP-IAM-ACCESS-KEY: {Access Key}' \
--header 'X-NCP-APIGW-SIGNATURE-V2: {API Gateway Signature}' \
--header 'Content-Type: multipart/form-data' \
--header 'X-NCP-CLOVASTUDIO-REQUEST-ID: {Request ID}'
--data '{
"name": "generation_task",
"model": "HCX-003",
"taskType": "GENERATION",
"trainEpochs": 8,
"learningRate": 1e-5f,
"trainingDatasetFilePath": "root_path/sub_path/file_name",
"trainingDatasetBucket": "bucket_name",
"trainingDatasetAccessKey": "access_key",
"trainingDatasetSecretKey": "secret_key"
}'
レスポンス
レスポンス形式を説明します。
レスポンスヘッダ
レスポンスヘッダの説明は次の通りです。
ヘッダ | 必須の有無 | 説明 |
---|---|---|
Content-Type | - | レスポンスデータの形式
|
レスポンスボディ
レスポンスボディの説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
result | Object | - | レスポンス結果 |
result.id | String | - | 学習 ID |
result.name | String | - | 学習名 |
result.model | String | - | チューニングモデル名 |
result.method | String | - | チューニング技法
|
result.taskType | String | - | 学習タイプ
|
result.trainEpochs | Integer | - | モデルを学習したエポック数 |
result.learningRate | Double | - | 学習率(チューニング時にモデルパラメータを再学習するレベルや程度) |
result.status | String | - | 学習の進行状況
|
result.statusInfo | Array | - | 学習の進行状況の詳細情報 |
result.createdClientType | String | - | 学習をリクエストしたクライアントタイプ
|
result.createdDate | String | - | 学習の作成日(ISO 8601形式) |
result.updatedDate | String | - | 学習の変更日(ISO 8601形式) |
statusInfo
statusInfo
の説明は次の通りです。
フィールド | タイプ | 必須の有無 | 説明 |
---|---|---|---|
label | Array | - |
|
dataRows | Integer | - | データ数 |
numOfTokens | Integer | - | データトークン数 |
currStep | Integer | - | 学習現在ステップ数 |
totalTrainSteps | Integer | - | 学習総ステップ数 |
currEpoch | Integer | - | 現在のエポック |
totalTrainEpochs | Integer | - | 全学習エポック |
estimatedTime | Integer | - | 予測所要時間
|
trainLoss | Double | - | 学習損失量 |
sendWeightSuccess | Boolean | - | 学習結果を保存するかどうか
|
failureReason | String | - | 学習失敗(FAILED )の理由 |
message | String | - | 学習失敗(FAILED )の理由の詳細メッセージ |
endDatetime | String | - | 学習終了日(ISO 8601形式) |
failureReason
, message
学習失敗の理由(failureReason
)と、学習失敗の理由の詳細メッセージ(message
)の説明は次の通りです。
学習失敗の理由 | 詳細メッセージ | 説明 |
---|---|---|
file.extension | Unavailable file extension. Please check the file extension again. | リクエストしたtuningType に合致しないデータファイル拡張子 |
file.size | Exceeded the disk usage limit. Please check if the file size is {limit} or less. | 学習リクエストで期待されるファイルサイズを超過 |
file.encoding | Unsupported charset | UTF8-sigエンコードではない場合 |
file.format | Invalid json format. {reason} | データセットファイル(.json/.jsonl)のデコードが不可能な場合 |
file.format | Invalid dataset: required field empty. {column} | データセットファイルで必須 column漏れ |
file.format | Invalid dataset: unexpected column. {column} | データセットファイルに予想外の columnが存在 |
file.format | Invalid dataset: duplicate columns. {column} | データセットファイルで大文字・小文字の区別がつかないため、重複した columnが発生 |
file.format | Invalid dataset: column order | データセットファイルの column順序が System_Prompt、C_ID、T_ID、Text、Completionではない場合 |
file.format | Invalid dataset: {column} | データセットファイルの C_IDまたは T_IDが0からスタートして1ずつ増えるパターンを満たさないか、空の値の場合 |
file.error | - | ファイル読み取りエラー |
resource.timeout | - | GPU確保失敗によるレスポンス時間超過。再試行が必要 |
clops.error | - | 学習中 CLOpsエラー |
train.unknown | - | 学習中ファイル関連以外のエラー |
レスポンス構文
レスポンスのサンプルコードは次の通りです。
成功
呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。
{
"status": {
"code": "20000",
"message": "OK"
},
"result": {
"id": "czf9fbky",
"name": "230821-130704",
"model": "HCX-003",
"method": "LoRA",
"taskType": "GENERATION",
"trainEpochs": 8,
"learningRate": 1.0E-4,
"status": "WAIT",
"statusInfo": {
"label": null,
"dataRows": null,
"numOfTokens": null,
"currStep": null,
"totalTrainSteps": null,
"currEpoch": null,
"totalTrainEpochs": null,
"estimatedTime": null,
"trainLoss": null,
"sendWeightSuccess": null,
"failureReason": null,
"message":null,
"endDatetime": null
},
"createdClientType": "API",
"createdDate": "2023-08-21T13:07:06+0900",
"updatedDate": "2023-08-21T13:07:06+0900"
}
}
失敗
呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。
この記事は役に立ちましたか?