Fine Tunes - Create
지정된 학습 파일에서 지정된 모델을 미세 조정하는 작업을 만듭니다. 응답에는 작업 상태 및 하이퍼 매개 변수를 포함하여 큐에 추가된 작업의 세부 정보가 포함됩니다. 완료되면 미세 조정된 모델의 이름이 응답에 추가됩니다.
POST {endpoint}/openai/fine-tunes?api-version=2023-05-15
URI 매개 변수
| Name | In(다음 안에) | 필수 | 형식 | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (url) |
지원되는 Cognitive Services 엔드포인트(프로토콜 및 호스트 이름( 예: https://aoairesource.openai.azure.com. "aoairesource"를 Azure OpenAI 계정 이름으로 대체). |
|
api-version
|
query | True |
string |
요청된 API 버전입니다. |
요청 헤더
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| api-key | True |
string |
여기에서 Cognitive Services Azure OpenAI 계정 키를 제공합니다. |
요청 본문
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| model | True |
string minLength: 1 |
이 미세 조정에 사용되는 기본 모델의 식별자(model-id)입니다. |
| training_file | True |
string minLength: 1 |
이 미세 조정된 모델을 학습하는 데 사용되는 파일 ID(파일 ID)입니다. |
| batch_size |
integer (int32) |
학습에 사용할 일괄 처리 크기입니다. 일괄 처리 크기는 단일 앞으로 및 뒤로 패스를 학습하는 데 사용되는 학습 예제의 수입니다. 일반적으로 더 큰 일괄 처리 크기는 더 큰 데이터 세트에 대해 더 잘 작동하는 경향이 있음을 발견했습니다. 기본값과 이 속성의 최대값은 기본 모델과 관련이 있습니다. |
|
| classification_betas |
number[] (double) |
분류 베타 값입니다. 이 값이 제공되면 지정된 베타 값에서 F-베타 점수를 계산합니다. F-베타 점수는 F-1 점수의 일반화입니다. 이진 분류에만 사용됩니다. 베타가 1(예: F-1 점수)인 경우 정밀도와 재현율에 동일한 가중치가 지정됩니다. 베타 점수가 클수록 재현율에 더 많은 가중치가 지정되고 정밀도가 떨어집니다. 베타 점수가 작을수록 정밀도에 더 많은 가중치가 지정되고 회수량이 줄어듭니다. |
|
| classification_n_classes |
integer (int32) |
분류 태스크의 클래스 수입니다. 이 매개 변수는 다중 클래스 분류에 필요합니다. |
|
| classification_positive_class |
string |
이진 분류의 양수 클래스입니다. 이 매개 변수는 이진 분류를 수행할 때 정밀도, 재현율 및 F1 메트릭을 생성하는 데 필요합니다. |
|
| compute_classification_metrics |
boolean |
분류 메트릭을 계산할지 여부를 나타내는 값입니다. 설정된 경우 모든 Epoch의 끝에 설정된 유효성 검사를 사용하여 정확도 및 F-1 점수와 같은 분류별 메트릭을 계산합니다. 이러한 메트릭은 결과 파일에서 볼 수 있습니다. 분류 메트릭을 계산하려면 validation_file 제공해야 합니다. 또한 다중 클래스 분류에 대한 classification_n_classes 지정하거나 이진 분류에 대한 classification_positive_class 지정해야 합니다. |
|
| learning_rate_multiplier |
number (double) |
학습에 사용할 학습 속도 승수입니다. 미세 조정 학습 속도는 사전 학습에 사용되는 원래 학습 속도에 이 값을 곱한 것입니다. 학습 속도가 클수록 일괄 처리 크기가 클수록 성능이 향상되는 경향이 있습니다. 0.02에서 0.2 범위의 값을 실험하여 최상의 결과를 생성하는 것을 확인하는 것이 좋습니다. |
|
| n_epochs |
integer (int32) |
모델을 학습시킬 Epoch의 수입니다. Epoch는 학습 데이터 세트를 통해 하나의 전체 주기를 나타냅니다. |
|
| prompt_loss_weight |
number (double) |
프롬프트 토큰의 손실에 사용할 가중치입니다. 이렇게 하면 모델이 프롬프트를 생성하는 방법을 학습하는 방법을 제어하고(항상 가중치가 1.0인 완성과 비교) 완료가 짧을 때 학습에 안정화 효과를 추가할 수 있습니다. 프롬프트가 매우 긴 경우(완료를 기준으로) 프롬프트 학습에 우선 순위를 초과하지 않도록 이 가중치를 줄이는 것이 좋습니다. |
|
| suffix |
string |
미세 조정된 모델을 식별하는 데 사용되는 접미사입니다. 접미사는 미세 조정된 모델 이름에 추가될 최대 40자(a-z, A-Z, 0-9 및 _)를 포함할 수 있습니다. |
|
| validation_file |
string |
학습 중에 미세 조정된 모델을 평가하는 데 사용되는 파일 ID(파일 ID)입니다. |
응답
| Name | 형식 | Description |
|---|---|---|
| 201 Created |
미세 조정이 성공적으로 만들어졌습니다. 헤더 Location: string |
|
| Other Status Codes |
오류가 발생했습니다. |
보안
api-key
여기에서 Cognitive Services Azure OpenAI 계정 키를 제공합니다.
형식:
apiKey
In(다음 안에):
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"
}
정의
| Name | Description |
|---|---|
| Error |
오류 |
|
Error |
ErrorCode |
|
Error |
ErrorResponse |
| Event |
이벤트 |
| File |
파일 |
|
File |
FileStatistics |
|
Fine |
FineTune |
|
Fine |
FineTuneCreation |
|
Hyper |
하이퍼 매개 변수 |
|
Inner |
InnerError |
|
Inner |
InnerErrorCode |
|
Log |
LogLevel |
| Purpose |
목적 |
| State |
상태 |
|
Type |
TypeDiscriminator |
Error
오류
| Name | 형식 | Description |
|---|---|---|
| code |
ErrorCode |
|
| details |
Error[] |
사용 가능한 경우 오류 세부 정보입니다. |
| innererror |
InnerError |
|
| message |
string minLength: 1 |
이 오류의 메시지입니다. |
| target |
string |
사용 가능한 경우 오류가 발생한 위치입니다. |
ErrorCode
ErrorCode
| 값 | Description |
|---|---|
| conflict |
요청된 작업이 현재 리소스 상태와 충돌합니다. |
| invalidPayload |
요청 데이터가 이 작업에 유효하지 않습니다. |
| forbidden |
현재 사용자/api 키에는 작업이 금지되어 있습니다. |
| notFound |
리소스를 찾을 수 없습니다. |
| unexpectedEntityState |
현재 리소스의 상태에서는 작업을 실행할 수 없습니다. |
| itemDoesAlreadyExist |
항목이 이미 있습니다. |
| serviceUnavailable |
현재 서비스를 사용할 수 없습니다. |
| internalFailure |
내부 오류입니다. 다시 시도하세요. |
| quotaExceeded |
할당량을 초과했습니다. |
| jsonlValidationFailed |
jsonl 데이터의 유효성 검사에 실패했습니다. |
| fileImportFailed |
파일을 가져오지 못했습니다. |
ErrorResponse
ErrorResponse
| Name | 형식 | Description |
|---|---|---|
| error |
오류 |
Event
이벤트
| Name | 형식 | Description |
|---|---|---|
| created_at |
integer (unixtime) |
이 이벤트가 생성되었을 때의 타임스탬프입니다(unix epoch). |
| level |
LogLevel |
|
| message |
string minLength: 1 |
이벤트를 설명하는 메시지입니다. 이는 상태 변경(예: 큐에 추가됨, 시작됨, 실패 또는 완료됨) 또는 업로드된 결과와 같은 기타 이벤트일 수 있습니다. |
| object |
TypeDiscriminator |
File
파일
| Name | 형식 | Description |
|---|---|---|
| bytes |
integer (int64) |
사용할 수 있는 경우 이 파일의 크기입니다(null일 수 있음). 2^53-1보다 큰 파일 크기는 JavaScript 정수와의 호환성을 보장하기 위해 지원되지 않습니다. |
| created_at |
integer (unixtime) |
이 작업 또는 항목이 만들어진 타임스탬프입니다(unix epoch). |
| error |
오류 |
|
| filename |
string minLength: 1 |
파일의 이름입니다. |
| id |
string |
이 항목의 ID입니다. |
| object |
TypeDiscriminator |
|
| purpose |
목적 |
|
| statistics |
FileStatistics |
|
| status |
상태 |
|
| updated_at |
integer (unixtime) |
이 작업 또는 항목이 마지막으로 수정된 타임스탬프입니다(unix epoch). |
FileStatistics
FileStatistics
| Name | 형식 | Description |
|---|---|---|
| examples |
integer (int32) |
파일 콘텐츠의 유효성 검사가 완료되면 "미세 조정" 종류의 파일에 포함된 학습 예제의 수입니다. |
| tokens |
integer (int32) |
파일 콘텐츠의 유효성 검사가 완료되면 프롬프트에 사용되는 토큰 수와 "미세 조정" 종류의 파일에 대한 완료입니다. |
FineTune
FineTune
| Name | 형식 | Description |
|---|---|---|
| created_at |
integer (unixtime) |
이 작업 또는 항목이 만들어진 타임스탬프입니다(unix epoch). |
| error |
오류 |
|
| events |
Event[] |
대기, 실행 및 완료를 포함하여 미세 조정 실행의 진행률을 보여 주는 이벤트입니다. |
| fine_tuned_model |
string |
결과 미세 조정된 모델의 식별자(model-id)입니다. 이 속성은 성공적으로 완료된 미세 조정 실행에 대해서만 채워집니다. 이 식별자를 사용하여 추론을 위한 배포를 만듭니다. |
| hyperparams |
하이퍼 매개 변수 |
|
| 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 epoch). |
| user_id |
string |
이 미세 조정 작업의 사용자 ID입니다. Azure OpenAI에서 사용되지 않음; OpenAI에 대해서만 호환성. |
| validation_files |
File[] |
학습 중에 미세 조정된 모델을 평가하는 데 사용되는 파일 ID(파일 ID)입니다. |
FineTuneCreation
FineTuneCreation
| Name | 형식 | Description |
|---|---|---|
| batch_size |
integer (int32) |
학습에 사용할 일괄 처리 크기입니다. 일괄 처리 크기는 단일 앞으로 및 뒤로 패스를 학습하는 데 사용되는 학습 예제의 수입니다. 일반적으로 더 큰 일괄 처리 크기는 더 큰 데이터 세트에 대해 더 잘 작동하는 경향이 있음을 발견했습니다. 기본값과 이 속성의 최대값은 기본 모델과 관련이 있습니다. |
| classification_betas |
number[] (double) |
분류 베타 값입니다. 이 값이 제공되면 지정된 베타 값에서 F-베타 점수를 계산합니다. F-베타 점수는 F-1 점수의 일반화입니다. 이진 분류에만 사용됩니다. 베타가 1(예: F-1 점수)인 경우 정밀도와 재현율에 동일한 가중치가 지정됩니다. 베타 점수가 클수록 재현율에 더 많은 가중치가 지정되고 정밀도가 떨어집니다. 베타 점수가 작을수록 정밀도에 더 많은 가중치가 지정되고 회수량이 줄어듭니다. |
| classification_n_classes |
integer (int32) |
분류 태스크의 클래스 수입니다. 이 매개 변수는 다중 클래스 분류에 필요합니다. |
| classification_positive_class |
string |
이진 분류의 양수 클래스입니다. 이 매개 변수는 이진 분류를 수행할 때 정밀도, 재현율 및 F1 메트릭을 생성하는 데 필요합니다. |
| compute_classification_metrics |
boolean |
분류 메트릭을 계산할지 여부를 나타내는 값입니다. 설정된 경우 모든 Epoch의 끝에 설정된 유효성 검사를 사용하여 정확도 및 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) |
모델을 학습시킬 Epoch의 수입니다. Epoch는 학습 데이터 세트를 통해 하나의 전체 주기를 나타냅니다. |
| 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
하이퍼 매개 변수
| Name | 형식 | Description |
|---|---|---|
| batch_size |
integer (int32) |
학습에 사용할 일괄 처리 크기입니다. 일괄 처리 크기는 단일 앞으로 및 뒤로 패스를 학습하는 데 사용되는 학습 예제의 수입니다. 일반적으로 더 큰 일괄 처리 크기는 더 큰 데이터 세트에 대해 더 잘 작동하는 경향이 있음을 발견했습니다. 기본값과 이 속성의 최대값은 기본 모델과 관련이 있습니다. |
| classification_betas |
number[] (double) |
분류 베타 값입니다. 이 값이 제공되면 지정된 베타 값에서 F-베타 점수를 계산합니다. F-베타 점수는 F-1 점수의 일반화입니다. 이진 분류에만 사용됩니다. 베타가 1(예: F-1 점수)인 경우 정밀도와 재현율에 동일한 가중치가 지정됩니다. 베타 점수가 클수록 재현율에 더 많은 가중치가 지정되고 정밀도가 떨어집니다. 베타 점수가 작을수록 정밀도에 더 많은 가중치가 지정되고 회수량이 줄어듭니다. |
| classification_n_classes |
integer (int32) |
분류 태스크의 클래스 수입니다. 이 매개 변수는 다중 클래스 분류에 필요합니다. |
| classification_positive_class |
string |
이진 분류의 양수 클래스입니다. 이 매개 변수는 이진 분류를 수행할 때 정밀도, 재현율 및 F1 메트릭을 생성하는 데 필요합니다. |
| compute_classification_metrics |
boolean |
분류 메트릭을 계산할지 여부를 나타내는 값입니다. 설정된 경우 모든 Epoch의 끝에 설정된 유효성 검사를 사용하여 정확도 및 F-1 점수와 같은 분류별 메트릭을 계산합니다. 이러한 메트릭은 결과 파일에서 볼 수 있습니다. 분류 메트릭을 계산하려면 validation_file 제공해야 합니다. 또한 다중 클래스 분류에 대한 classification_n_classes 지정하거나 이진 분류에 대한 classification_positive_class 지정해야 합니다. |
| learning_rate_multiplier |
number (double) |
학습에 사용할 학습 속도 승수입니다. 미세 조정 학습 속도는 사전 학습에 사용되는 원래 학습 속도에 이 값을 곱한 것입니다. 학습 속도가 클수록 일괄 처리 크기가 클수록 성능이 향상되는 경향이 있습니다. 0.02에서 0.2 범위의 값을 실험하여 최상의 결과를 생성하는 것을 확인하는 것이 좋습니다. |
| n_epochs |
integer (int32) |
모델을 학습시킬 Epoch의 수입니다. Epoch는 학습 데이터 세트를 통해 하나의 전체 주기를 나타냅니다. |
| prompt_loss_weight |
number (double) |
프롬프트 토큰의 손실에 사용할 가중치입니다. 이렇게 하면 모델이 프롬프트를 생성하는 방법을 학습하는 방법을 제어하고(항상 가중치가 1.0인 완성과 비교) 완료가 짧을 때 학습에 안정화 효과를 추가할 수 있습니다. 프롬프트가 매우 긴 경우(완료를 기준으로) 프롬프트 학습에 우선 순위를 초과하지 않도록 이 가중치를 줄이는 것이 좋습니다. |
InnerError
InnerError
| Name | 형식 | Description |
|---|---|---|
| code |
InnerErrorCode |
|
| innererror |
InnerError |
InnerErrorCode
InnerErrorCode
| 값 | Description |
|---|---|
| invalidPayload |
요청 데이터가 이 작업에 유효하지 않습니다. |
LogLevel
LogLevel
| 값 | Description |
|---|---|
| info |
이 이벤트는 정보 전용입니다. |
| warning |
이 이벤트는 완화된 문제를 나타냅니다. |
| error |
이 메시지는 복구할 수 없는 문제를 나타냅니다. |
Purpose
목적
| 값 | Description |
|---|---|
| fine-tune |
이 파일에는 미세 조정 작업에 대한 학습 데이터가 포함되어 있습니다. |
| fine-tune-results |
이 파일에는 미세 조정 작업의 결과가 포함됩니다. |
State
상태
| 값 | Description |
|---|---|
| notRunning |
작업이 만들어졌으며 나중에 처리될 큐에 대기되지 않습니다. |
| running |
작업이 처리되기 시작했습니다. |
| succeeded |
작업이 성공적으로 처리되었으며 사용할 준비가 되었습니다. |
| canceled |
작업이 취소되었으며 완료되지 않았습니다. |
| failed |
작업이 실패와 함께 처리를 완료했으며 더 이상 사용할 수 없습니다. |
| deleted |
엔터티가 삭제되었지만 삭제를 미리 업데이트하는 다른 엔터티에서 계속 참조할 수 있습니다. |
TypeDiscriminator
TypeDiscriminator
| 값 | Description |
|---|---|
| list |
이 개체는 다른 개체의 목록을 나타냅니다. |
| fine-tune |
이 개체는 미세 조정 작업을 나타냅니다. |
| file |
이 개체는 파일을 나타냅니다. |
| fine-tune-event |
이 개체는 미세 조정 작업의 이벤트를 나타냅니다. |
| model |
이 개체는 모델을 나타냅니다(기본 모델 또는 미세 조정 작업 결과일 수 있습니다). |