optuna

Optuna 超参数优化

补充说明

Optuna 是自动超参数优化框架,支持 TPE、CMA-ES、网格/随机搜索和剪枝。适合调学习率、batch size、LoRA rank、模型结构等。

核心概念:study、trial、objective、sampler、pruner 和 dashboard。

常用示例

安装:

pip install optuna

定义目标函数:

import optuna

def objective(trial):
    lr = trial.suggest_float("lr", 1e-5, 1e-3, log=True)
    rank = trial.suggest_categorical("rank", [8, 16, 32])
    score = train_and_eval(lr=lr, rank=rank)
    return score

study = optuna.create_study(direction="maximize")
study.optimize(objective, n_trials=30)
print(study.best_params)

带剪枝:

from optuna.pruners import MedianPruner
study = optuna.create_study(
    direction="maximize",
    pruner=MedianPruner(n_startup_trials=5, n_warmup_steps=10),
)

启动 dashboard:

optuna-dashboard sqlite:///optuna.db

易错点与排错