다음을 통해 공유


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

FineTune

미세 조정이 성공적으로 만들어졌습니다.

헤더

Location: string

Other Status Codes

ErrorResponse

오류가 발생했습니다.

보안

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

오류

ErrorCode

ErrorCode

ErrorResponse

ErrorResponse

Event

이벤트

File

파일

FileStatistics

FileStatistics

FineTune

FineTune

FineTuneCreation

FineTuneCreation

HyperParameters

하이퍼 매개 변수

InnerError

InnerError

InnerErrorCode

InnerErrorCode

LogLevel

LogLevel

Purpose

목적

State

상태

TypeDiscriminator

TypeDiscriminator

Error

오류

Name 형식 Description
code

ErrorCode

ErrorCode
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 오류 코드입니다.

details

Error[]

사용 가능한 경우 오류 세부 정보입니다.

innererror

InnerError

InnerError
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 내부 오류입니다.

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

Error

오류
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 오류 콘텐츠입니다.

Event

이벤트

Name 형식 Description
created_at

integer (unixtime)

이 이벤트가 생성되었을 때의 타임스탬프입니다(unix epoch).

level

LogLevel

LogLevel
이벤트의 세부 정보 표시 수준입니다.

message

string

minLength: 1

이벤트를 설명하는 메시지입니다. 이는 상태 변경(예: 큐에 추가됨, 시작됨, 실패 또는 완료됨) 또는 업로드된 결과와 같은 기타 이벤트일 수 있습니다.

object

TypeDiscriminator

TypeDiscriminator
개체의 형식을 정의합니다.

File

파일

Name 형식 Description
bytes

integer (int64)

사용할 수 있는 경우 이 파일의 크기입니다(null일 수 있음). 2^53-1보다 큰 파일 크기는 JavaScript 정수와의 호환성을 보장하기 위해 지원되지 않습니다.

created_at

integer (unixtime)

이 작업 또는 항목이 만들어진 타임스탬프입니다(unix epoch).

error

Error

오류
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 오류 콘텐츠입니다.

filename

string

minLength: 1

파일의 이름입니다.

id

string

이 항목의 ID입니다.

object

TypeDiscriminator

TypeDiscriminator
개체의 형식을 정의합니다.

purpose

Purpose

목적
업로드된 문서의 용도입니다. 미세 조정을 위해 "미세 조정"을 사용합니다. 이렇게 하면 업로드된 파일의 형식에 대한 유효성을 검사할 수 있습니다.

statistics

FileStatistics

FileStatistics
파일은 학습 및 유효성 검사에 사용할 수 있는 문서입니다. 결과 세부 정보가 포함된 서비스 생성 문서일 수도 있습니다.

status

State

상태
작업 또는 항목의 상태입니다.

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

Error

오류
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 오류 콘텐츠입니다.

events

Event[]

대기, 실행 및 완료를 포함하여 미세 조정 실행의 진행률을 보여 주는 이벤트입니다.

fine_tuned_model

string

결과 미세 조정된 모델의 식별자(model-id)입니다. 이 속성은 성공적으로 완료된 미세 조정 실행에 대해서만 채워집니다. 이 식별자를 사용하여 추론을 위한 배포를 만듭니다.

hyperparams

HyperParameters

하이퍼 매개 변수
미세 조정 작업에 사용되는 하이퍼 매개 변수 설정입니다.

id

string

이 항목의 ID입니다.

model

string

minLength: 1

미세 조정에 사용되는 기본 모델의 식별자(model-id)입니다.

object

TypeDiscriminator

TypeDiscriminator
개체의 형식을 정의합니다.

organisation_id

string

이 미세 조정 작업의 조직 ID입니다. Azure OpenAI에서 사용되지 않음; OpenAI에 대해서만 호환성.

result_files

File[]

csv 형식의 학습 및 평가 메트릭을 포함하는 결과 파일 ID(파일 ID)입니다. 파일은 성공적으로 완료된 미세 조정 실행에만 사용할 수 있습니다.

status

State

상태
작업 또는 항목의 상태입니다.

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

InnerErrorCode
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 내부 오류 코드입니다.

innererror

InnerError

InnerError
Microsoft REST 지침(https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses)에 정의된 내부 오류입니다.

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

이 개체는 모델을 나타냅니다(기본 모델 또는 미세 조정 작업 결과일 수 있습니다).