Recommend hyperparameters
Returns the hyperparameters AutoScientist derives for a model and the dataset's effective training size (rows plus planned augmentation). Nothing is launched. Omit model to size against the model POST /autoscientist would select for this dataset; the resolved id is returned with the values. POST /autoscientist applies the same values when hyperparams is omitted.
Parameters
The dataset the hyperparameters are sized for. Must be a dataset you own that has finished processing.
Base model id from GET /autoscientist/models to tune for. Omit to size the recommendation against the model POST /autoscientist selects for this dataset; the resolved id is returned in the response model field. That pick reads the columns already selected for the dataset, so a create request supplying column_mapping.reasoning_trace can resolve a different model. Pass the returned model back on create to pin it.
Recommend hyperparameters
import os
from adaption import Adaption
client = Adaption(
api_key=os.environ.get("ADAPTION_API_KEY"), # This is the default and can be omitted
)
response = client.autoscientist.recommend_hyperparams(
dataset_id="dataset_id",
)
print(response.model){
"model": "model",
"hyperparams": {
"n_epochs": 1,
"batch_size": "max",
"learning_rate": 0.00005,
"lora_r": 8,
"lora_alpha": 0,
"lora_dropout": 0,
"lora_trainable_modules": "q_proj,v_proj",
"lr_scheduler_type": "linear",
"min_lr_ratio": 0.1,
"scheduler_num_cycles": 0.5,
"warmup_ratio": 0.03,
"max_grad_norm": 2,
"weight_decay": 0,
"train_on_inputs": false,
"training_type": "lora"
}
}Returns Examples
{
"model": "model",
"hyperparams": {
"n_epochs": 1,
"batch_size": "max",
"learning_rate": 0.00005,
"lora_r": 8,
"lora_alpha": 0,
"lora_dropout": 0,
"lora_trainable_modules": "q_proj,v_proj",
"lr_scheduler_type": "linear",
"min_lr_ratio": 0.1,
"scheduler_num_cycles": 0.5,
"warmup_ratio": 0.03,
"max_grad_norm": 2,
"weight_decay": 0,
"train_on_inputs": false,
"training_type": "lora"
}
}