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