Dela via


Fine Tunes - Create

Skapar ett jobb som finjusterar en angiven modell från en viss träningsfil. Svaret innehåller information om det köade jobbet, inklusive jobbstatus och hyperparametrar. Namnet på den finjusterade modellen läggs till i svaret när det är klart.

POST {endpoint}/openai/fine-tunes?api-version=2023-05-15

URI-parametrar

Namn I Krävs Typ Beskrivning
endpoint
path True

string (url)

Cognitive Services-slutpunkter som stöds (protokoll och värdnamn, till exempel: https://aoairesource.openai.azure.com. Ersätt "aoairesource" med ditt Azure OpenAI-kontonamn).

api-version
query True

string

Den begärda API-versionen.

Begäran-huvud

Namn Krävs Typ Beskrivning
api-key True

string

Ange din Azure OpenAI-kontonyckel för Cognitive Services här.

Begäranarorgan

Namn Krävs Typ Beskrivning
model True

string

minLength: 1

Identifieraren (modell-ID) för basmodellen som används för den här finjusteraren.

training_file True

string

minLength: 1

Den filidentitet (fil-ID) som används för att träna den här finjusterade modellen.

batch_size

integer (int32)

Batchstorleken som ska användas för träning. Batchstorleken är antalet träningsexempel som används för att träna ett enda framåt- och bakåtpass. I allmänhet har vi upptäckt att större batchstorlekar tenderar att fungera bättre för större datamängder. Standardvärdet samt det maximala värdet för den här egenskapen är specifika för en basmodell.

classification_betas

number[] (double)

Klassificeringens betavärden. Om detta anges beräknar vi F-betaresultat vid de angivna betavärdena. F-betapoängen är en generalisering av F-1-poängen. Detta används endast för binär klassificering. Med en beta på 1 (d.v.s. F-1-poängen) får precision och träffsäkerhet samma vikt. En större betapoäng lägger mer vikt på återkallelse och mindre på precision. En mindre betapoäng lägger mer vikt på precision och mindre på återkallelse.

classification_n_classes

integer (int32)

Antalet klasser i en klassificeringsuppgift. Den här parametern krävs för klassificering med flera klasser.

classification_positive_class

string

Den positiva klassen i binär klassificering. Den här parametern behövs för att generera precisions-, träffsäkerhets- och F1-mått vid binär klassificering.

compute_classification_metrics

boolean

Ett värde som anger om klassificeringsmått ska beräknas. Om det anges beräknar vi klassificeringsspecifika mått som noggrannhet och F-1-poäng med hjälp av valideringsuppsättningen i slutet av varje epok. Dessa mått kan visas i resultatfilen. För att kunna beräkna klassificeringsmått måste du ange en validation_file. Dessutom måste du ange classification_n_classes för klassificering av flera klasser eller classification_positive_class för binär klassificering.

learning_rate_multiplier

number (double)

Den inlärningsfrekvensmultiplikator som ska användas för träning. Den finjusterande inlärningsfrekvensen är den ursprungliga inlärningsfrekvensen som används för förträning multiplicerat med det här värdet. Större inlärningsfrekvenser tenderar att fungera bättre med större batchstorlekar. Vi rekommenderar att du experimenterar med värden i intervallet 0,02 till 0,2 för att se vad som ger bäst resultat.

n_epochs

integer (int32)

Antalet epoker som modellen ska tränas för. En epok refererar till en fullständig cykel genom träningsdatauppsättningen.

prompt_loss_weight

number (double)

Den vikt som ska användas för förlust på prompttoken. Detta styr hur mycket modellen försöker lära sig att generera prompten (jämfört med slutförandet som alltid har en vikt på 1,0) och kan lägga till en stabiliserande effekt i träningen när slutförandet är kort. Om uppmaningarna är extremt långa (i förhållande till slutföranden) kan det vara klokt att minska den här vikten för att undvika att överprioritera att lära sig prompten.

suffix

string

Suffixet som används för att identifiera den finjusterade modellen. Suffixet kan innehålla upp till 40 tecken (a-z, A-Z, 0-9 och _) som läggs till i ditt finjusterade modellnamn.

validation_file

string

Den filidentitet (fil-ID) som används för att utvärdera den finjusterade modellen under träningen.

Svaren

Namn Typ Beskrivning
201 Created

FineTune

Finjusteringen har skapats.

Headers

Location: string

Other Status Codes

ErrorResponse

Ett fel uppstod.

Säkerhet

api-key

Ange din Azure OpenAI-kontonyckel för Cognitive Services här.

Typ: apiKey
I: header

Exempel

Creating a fine tune job for classification.
Creating a fine tune job.

Creating a fine tune job for classification.

Exempelförfrågan

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"
}

Exempelsvar

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.

Exempelförfrågan

POST https://aoairesource.openai.azure.com/openai/fine-tunes?api-version=2023-05-15


{
  "model": "curie",
  "training_file": "file-181a1cbdcdcf4677ada87f63a0928099"
}

Exempelsvar

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"
}

Definitioner

Namn Beskrivning
Error

Fel

ErrorCode

ErrorCode

ErrorResponse

ErrorResponse

Event

Händelse

File

Fil

FileStatistics

FileStatistics

FineTune

FineTune

FineTuneCreation

FineTuneSkapa

HyperParameters

HyperParametrar

InnerError

InnerError

InnerErrorCode

InnerErrorCode

LogLevel

LogLevel

Purpose

Avsikt

State

Stat

TypeDiscriminator

TypeDiscriminator

Error

Fel

Namn Typ Beskrivning
code

ErrorCode

ErrorCode
Felkoder enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

details

Error[]

Felinformationen om den är tillgänglig.

innererror

InnerError

InnerError
Inre fel enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

message

string

minLength: 1

Meddelandet om det här felet.

target

string

Platsen där felet inträffade om det var tillgängligt.

ErrorCode

ErrorCode

Värde Beskrivning
conflict

Den begärda åtgärden står i konflikt med det aktuella resurstillståndet.

invalidPayload

Begärandedata är ogiltiga för den här åtgärden.

forbidden

Åtgärden är förbjuden för den aktuella användaren/API-nyckeln.

notFound

Det går inte att hitta resursen.

unexpectedEntityState

Åtgärden kan inte köras i den aktuella resursens tillstånd.

itemDoesAlreadyExist

Objektet finns redan.

serviceUnavailable

Tjänsten är inte tillgänglig för närvarande.

internalFailure

Internt fel. Försök igen.

quotaExceeded

Kvoten har överskridits.

jsonlValidationFailed

Verifieringen av jsonl-data misslyckades.

fileImportFailed

Det gick inte att importera filen.

ErrorResponse

ErrorResponse

Namn Typ Beskrivning
error

Error

Fel
Felinnehåll enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

Event

Händelse

Namn Typ Beskrivning
created_at

integer (unixtime)

En tidsstämpel när den här händelsen skapades (i unix-epoker).

level

LogLevel

LogLevel
Utförlighetsnivån för en händelse.

message

string

minLength: 1

Meddelandet som beskriver händelsen. Det kan vara en tillståndsändring, t.ex. enqueued, started, failed eller completed eller andra händelser som uppladdade resultat.

object

TypeDiscriminator

TypeDiscriminator
Definierar typen av ett objekt.

File

Fil

Namn Typ Beskrivning
bytes

integer (int64)

Storleken på den här filen när den är tillgänglig (kan vara null). Filstorlekar som är större än 2^53-1 stöds inte för att säkerställa kompatibilitet med JavaScript-heltal.

created_at

integer (unixtime)

En tidsstämpel när det här jobbet eller objektet skapades (i unix-epoker).

error

Error

Fel
Felinnehåll enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

filename

string

minLength: 1

Namnet på filen.

id

string

Identiteten för det här objektet.

object

TypeDiscriminator

TypeDiscriminator
Definierar typen av ett objekt.

purpose

Purpose

Avsikt
Det avsedda syftet med de uppladdade dokumenten. Använd "finjustera" för finjustering. På så sätt kan vi verifiera formatet på den uppladdade filen.

statistics

FileStatistics

FileStatistics
En fil är ett dokument som kan användas för träning och validering. Det kan också vara ett tjänstgenererat dokument med resultatinformation.

status

State

Stat
Tillståndet för ett jobb eller objekt.

updated_at

integer (unixtime)

En tidsstämpel när det här jobbet eller objektet ändrades senast (i unix-epoker).

FileStatistics

FileStatistics

Namn Typ Beskrivning
examples

integer (int32)

Antalet inneslutna träningsexempel i filer av typen "finjustera" när valideringen av filinnehåll har slutförts.

tokens

integer (int32)

Antalet token som används i prompter och slutföranden för filer av typen "finjustera" när valideringen av filinnehåll har slutförts.

FineTune

FineTune

Namn Typ Beskrivning
created_at

integer (unixtime)

En tidsstämpel när det här jobbet eller objektet skapades (i unix-epoker).

error

Error

Fel
Felinnehåll enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

events

Event[]

De händelser som visar förloppet för den finjusterade körningen, inklusive i kö, körning och slutfört.

fine_tuned_model

string

Identifieraren (modell-ID) för den resulterande finjusterade modellen. Den här egenskapen fylls bara i för lyckade finjusterade körningar. Använd den här identifieraren för att skapa en distribution för slutsatsdragning.

hyperparams

HyperParameters

HyperParametrar
Hyperparameterinställningarna som används i ett finjusterat jobb.

id

string

Identiteten för det här objektet.

model

string

minLength: 1

Identifieraren (modell-ID) för basmodellen som används för finjusteringen.

object

TypeDiscriminator

TypeDiscriminator
Definierar typen av ett objekt.

organisation_id

string

Organisations-ID:t för detta finjusterande jobb. Används inte i Azure OpenAI. endast för OpenAI.

result_files

File[]

Resultatfilidentiteterna (fil-ID) som innehåller tränings- och utvärderingsmått i csv-format. Filen är endast tillgänglig för slutförda finjusteringskörningar.

status

State

Stat
Tillståndet för ett jobb eller objekt.

suffix

string

Suffixet som används för att identifiera den finjusterade modellen.

training_files

File[]

De filidentiteter (fil-ID) som används för att träna den finjusterade modellen.

updated_at

integer (unixtime)

En tidsstämpel när det här jobbet eller objektet ändrades senast (i unix-epoker).

user_id

string

Användar-ID:t för det här finjusteringsjobbet. Används inte i Azure OpenAI. endast för OpenAI.

validation_files

File[]

De filidentiteter (fil-ID) som används för att utvärdera den finjusterade modellen under träningen.

FineTuneCreation

FineTuneSkapa

Namn Typ Beskrivning
batch_size

integer (int32)

Batchstorleken som ska användas för träning. Batchstorleken är antalet träningsexempel som används för att träna ett enda framåt- och bakåtpass. I allmänhet har vi upptäckt att större batchstorlekar tenderar att fungera bättre för större datamängder. Standardvärdet samt det maximala värdet för den här egenskapen är specifika för en basmodell.

classification_betas

number[] (double)

Klassificeringens betavärden. Om detta anges beräknar vi F-betaresultat vid de angivna betavärdena. F-betapoängen är en generalisering av F-1-poängen. Detta används endast för binär klassificering. Med en beta på 1 (d.v.s. F-1-poängen) får precision och träffsäkerhet samma vikt. En större betapoäng lägger mer vikt på återkallelse och mindre på precision. En mindre betapoäng lägger mer vikt på precision och mindre på återkallelse.

classification_n_classes

integer (int32)

Antalet klasser i en klassificeringsuppgift. Den här parametern krävs för klassificering med flera klasser.

classification_positive_class

string

Den positiva klassen i binär klassificering. Den här parametern behövs för att generera precisions-, träffsäkerhets- och F1-mått vid binär klassificering.

compute_classification_metrics

boolean

Ett värde som anger om klassificeringsmått ska beräknas. Om det anges beräknar vi klassificeringsspecifika mått som noggrannhet och F-1-poäng med hjälp av valideringsuppsättningen i slutet av varje epok. Dessa mått kan visas i resultatfilen. För att kunna beräkna klassificeringsmått måste du ange en validation_file. Dessutom måste du ange classification_n_classes för klassificering av flera klasser eller classification_positive_class för binär klassificering.

learning_rate_multiplier

number (double)

Den inlärningsfrekvensmultiplikator som ska användas för träning. Den finjusterande inlärningsfrekvensen är den ursprungliga inlärningsfrekvensen som används för förträning multiplicerat med det här värdet. Större inlärningsfrekvenser tenderar att fungera bättre med större batchstorlekar. Vi rekommenderar att du experimenterar med värden i intervallet 0,02 till 0,2 för att se vad som ger bäst resultat.

model

string

minLength: 1

Identifieraren (modell-ID) för basmodellen som används för den här finjusteraren.

n_epochs

integer (int32)

Antalet epoker som modellen ska tränas för. En epok refererar till en fullständig cykel genom träningsdatauppsättningen.

prompt_loss_weight

number (double)

Den vikt som ska användas för förlust på prompttoken. Detta styr hur mycket modellen försöker lära sig att generera prompten (jämfört med slutförandet som alltid har en vikt på 1,0) och kan lägga till en stabiliserande effekt i träningen när slutförandet är kort. Om uppmaningarna är extremt långa (i förhållande till slutföranden) kan det vara klokt att minska den här vikten för att undvika att överprioritera att lära sig prompten.

suffix

string

Suffixet som används för att identifiera den finjusterade modellen. Suffixet kan innehålla upp till 40 tecken (a-z, A-Z, 0-9 och _) som läggs till i ditt finjusterade modellnamn.

training_file

string

minLength: 1

Den filidentitet (fil-ID) som används för att träna den här finjusterade modellen.

validation_file

string

Den filidentitet (fil-ID) som används för att utvärdera den finjusterade modellen under träningen.

HyperParameters

HyperParametrar

Namn Typ Beskrivning
batch_size

integer (int32)

Batchstorleken som ska användas för träning. Batchstorleken är antalet träningsexempel som används för att träna ett enda framåt- och bakåtpass. I allmänhet har vi upptäckt att större batchstorlekar tenderar att fungera bättre för större datamängder. Standardvärdet samt det maximala värdet för den här egenskapen är specifika för en basmodell.

classification_betas

number[] (double)

Klassificeringens betavärden. Om detta anges beräknar vi F-betaresultat vid de angivna betavärdena. F-betapoängen är en generalisering av F-1-poängen. Detta används endast för binär klassificering. Med en beta på 1 (d.v.s. F-1-poängen) får precision och träffsäkerhet samma vikt. En större betapoäng lägger mer vikt på återkallelse och mindre på precision. En mindre betapoäng lägger mer vikt på precision och mindre på återkallelse.

classification_n_classes

integer (int32)

Antalet klasser i en klassificeringsuppgift. Den här parametern krävs för klassificering med flera klasser.

classification_positive_class

string

Den positiva klassen i binär klassificering. Den här parametern behövs för att generera precisions-, träffsäkerhets- och F1-mått vid binär klassificering.

compute_classification_metrics

boolean

Ett värde som anger om klassificeringsmått ska beräknas. Om det anges beräknar vi klassificeringsspecifika mått som noggrannhet och F-1-poäng med hjälp av valideringsuppsättningen i slutet av varje epok. Dessa mått kan visas i resultatfilen. För att kunna beräkna klassificeringsmått måste du ange en validation_file. Dessutom måste du ange classification_n_classes för klassificering av flera klasser eller classification_positive_class för binär klassificering.

learning_rate_multiplier

number (double)

Den inlärningsfrekvensmultiplikator som ska användas för träning. Den finjusterande inlärningsfrekvensen är den ursprungliga inlärningsfrekvensen som används för förträning multiplicerat med det här värdet. Större inlärningsfrekvenser tenderar att fungera bättre med större batchstorlekar. Vi rekommenderar att du experimenterar med värden i intervallet 0,02 till 0,2 för att se vad som ger bäst resultat.

n_epochs

integer (int32)

Antalet epoker som modellen ska tränas för. En epok refererar till en fullständig cykel genom träningsdatauppsättningen.

prompt_loss_weight

number (double)

Den vikt som ska användas för förlust på prompttoken. Detta styr hur mycket modellen försöker lära sig att generera prompten (jämfört med slutförandet som alltid har en vikt på 1,0) och kan lägga till en stabiliserande effekt i träningen när slutförandet är kort. Om uppmaningarna är extremt långa (i förhållande till slutföranden) kan det vara klokt att minska den här vikten för att undvika att överprioritera att lära sig prompten.

InnerError

InnerError

Namn Typ Beskrivning
code

InnerErrorCode

InnerErrorCode
Inre felkoder enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

innererror

InnerError

InnerError
Inre fel enligt definitionen i Microsoft REST-riktlinjerna (https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses).

InnerErrorCode

InnerErrorCode

Värde Beskrivning
invalidPayload

Begärandedata är ogiltiga för den här åtgärden.

LogLevel

LogLevel

Värde Beskrivning
info

Den här händelsen är endast avsedd för information.

warning

Den här händelsen representerar ett åtgärdat problem.

error

Det här meddelandet representerar ett problem som inte kan återställas.

Purpose

Avsikt

Värde Beskrivning
fine-tune

Den här filen innehåller träningsdata för ett finjusterat jobb.

fine-tune-results

Den här filen innehåller resultatet av ett finjusterat jobb.

State

Stat

Värde Beskrivning
notRunning

Åtgärden skapades och är inte i kö för att bearbetas i framtiden.

running

Åtgärden har börjat bearbetas.

succeeded

Åtgärden har bearbetats och är klar för förbrukning.

canceled

Åtgärden har avbrutits och är ofullständig.

failed

Åtgärden har slutfört bearbetningen med ett fel och kan inte förbrukas ytterligare.

deleted

Entiteten har tagits bort men kan fortfarande refereras av andra entiteter som föregått borttagningen.

TypeDiscriminator

TypeDiscriminator

Värde Beskrivning
list

Det här objektet representerar en lista över andra objekt.

fine-tune

Det här objektet representerar ett finjusterat jobb.

file

Det här objektet representerar en fil.

fine-tune-event

Det här objektet representerar en händelse av ett finjusterat jobb.

model

Det här objektet representerar en modell (kan vara en basmodell eller finjustera jobbresultatet).