Create fine-tuning job
Creates a fine-tuning job which begins the process of creating a new model from a given dataset.
Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete.
Body Required
model string Required
Any of: The name of the model to fine-tune. You can select one of the supported models.
The name of the model to fine-tune. You can select one of the supported models.
Values are
babbage-002
,davinci-002
, orgpt-3.5-turbo
.-
The ID of an uploaded file that contains training data.
See upload file for how to upload a file.
Your dataset must be formatted as a JSONL file. Additionally, you must upload your file with the purpose
fine-tune
.The contents of the file should differ depending on if the model uses the chat or completions format.
See the fine-tuning guide for more details.
-
hyperparameters object
The hyperparameters used for the fine-tuning job.
-
suffix string | null
A string of up to 18 characters that will be added to your fine-tuned model name.
For example, a
suffix
of "custom-model-name" would produce a model name likeft:gpt-3.5-turbo:openai:custom-model-name:7p4lURel
.Minimum length is
1
, maximum length is40
. -
validation_file string | null
The ID of an uploaded file that contains validation data.
If you provide this file, the data is used to generate validation metrics periodically during fine-tuning. These metrics can be viewed in the fine-tuning results file. The same data should not be present in both train and validation files.
Your dataset must be formatted as a JSONL file. You must upload your file with the purpose
fine-tune
.See the fine-tuning guide for more details.
-
integrations array[object] | null
A list of integrations to enable for your fine-tuning job.
-
seed integer | null
The seed controls the reproducibility of the job. Passing in the same seed and job parameters should produce the same results, but may differ in rare cases. If a seed is not specified, one will be generated for you.
Minimum value is
0
, maximum value is2147483647
.
curl \
-X POST https://api.openai.com/v1/fine_tuning/jobs \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-3.5-turbo","training_file":"file-abc123","hyperparameters":{"batch_size":"auto","learning_rate_multiplier":"auto","n_epochs":"auto"},"suffix":"string","validation_file":"file-abc123","integrations":[{"type":"wandb","wandb":{"project":"my-wandb-project","name":"string","entity":"string","tags":["custom-tag"]}}],"seed":42}'
{
"model": "gpt-3.5-turbo",
"training_file": "file-abc123",
"hyperparameters": {
"batch_size": "auto",
"learning_rate_multiplier": "auto",
"n_epochs": "auto"
},
"suffix": "string",
"validation_file": "file-abc123",
"integrations": [
{
"type": "wandb",
"wandb": {
"project": "my-wandb-project",
"name": "string",
"entity": "string",
"tags": [
"custom-tag"
]
}
}
],
"seed": 42
}
{
"id": "string",
"created_at": 42,
"error": {
"code": "string",
"message": "string",
"param": "string"
},
"fine_tuned_model": "string",
"finished_at": 42,
"hyperparameters": {
"n_epochs": "auto"
},
"model": "string",
"object": "fine_tuning.job",
"organization_id": "string",
"result_files": [
"file-abc123"
],
"status": "validating_files",
"trained_tokens": 42,
"training_file": "string",
"validation_file": "string",
"integrations": [
{
"type": "wandb",
"wandb": {
"project": "my-wandb-project",
"name": "string",
"entity": "string",
"tags": [
"custom-tag"
]
}
}
],
"seed": 42,
"estimated_finish": 42
}