# Start Training

Start model training. Training duration is typically 2-4 hours.
The associated dataset must have a status of 'completed' before training can begin.

Default Training Parameters:
If parameters are not provided, defaults are automatically selected:
* rank: 128
* learning_rate: 0.0001
* lr_scheduler: "constant_with_warmup"
* total_training_steps: 750
* checkpoint_interval: 500
    
Constraints:
Advanced training parameters are only supported when the model's training_mode is set to 'expert'.

Endpoint: POST /tailored-gen/models/{model_id}/start_training

## Path parameters:

  - `model_id` (integer, required)

## Header parameters:

  - `api_token` (string, required)

## Request fields (application/json):

  - `lr_scheduler` (string)
    The learning rate scheduler.
    Enum: "linear", "cosine", "cosine_with_restarts", "polynomial", "constant", "constant_with_warmup"

  - `learning_rate` (number)
    The initial learning rate. Default is 0.0001.

  - `total_training_steps` (integer)
    Total number of training optimization steps. Default is 750.

  - `rank` (integer)
    The rank (latent dimension). Default is 128.

  - `checkpoint_interval` (integer)
    Interval (in steps) at which checkpoints are saved. Default is 500.

  - `lr_warmup_steps` (integer)
    Number of warmup steps. Relevant only when lr_scheduler is constant_with_warmup.

## Response 200 fields (application/json):

  - `id` (integer)

  - `name` (string)

  - `description` (string)

  - `status` (string)
    Enum: "InProgress"

  - `dataset_id` (integer)

  - `training_mode` (string)

  - `project_id` (integer)

  - `created_at` (string)

  - `updated_at` (string)

  - `active_model_version` (string)

  - `training_parameters` (object)

  - `training_parameters.learning_rate` (number)

  - `training_parameters.lr_scheduler` (string)

  - `training_parameters.rank` (integer)

  - `training_parameters.total_training_steps` (integer)

  - `training_parameters.checkpoint_interval` (integer)

  - `training_parameters.lr_warmup_steps` (integer,null)

  - `checkpoint_steps` (array)


## Response 400 fields

## Response 401 fields

## Response 403 fields

## Response 404 fields

## Response 409 fields

## Response 412 fields

## Response 429 fields

## Response 500 fields
