返回技能列表

setup-automl-pipeline

pjt222
更新于 2 days ago
7 次查看
17
2
17
在 GitHub 上查看
其他aidata

关于

This skill automates hyperparameter tuning and model selection using Optuna or Ray Tune with efficient search algorithms like Hyperband/ASHA. It's designed to quickly find optimal configurations for new ML projects or when retraining with new data. Use it to compare algorithms efficiently or when your team lacks deep hyperparameter expertise.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-automl-pipeline

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Setup AutoML Pipeline

See Extended Examples for complete config + templates.

Automate hyperparam tune + model selection → Optuna|Ray Tune w/ efficient search.

Use When

  • New ML project → find good configs fast
  • Retrain w/ new data → re-opt hyperparams
  • Compare algos + their optimal configs
  • Limited tune time but need near-optimal
  • Team lacks deep hyperparam expertise
  • Need reproducible documented opt

In

  • Required: Train data (features + labels)
  • Required: Val data → objective eval
  • Required: Model type(s) (XGBoost, LightGBM, NN)
  • Required: Opt objective (max|min metric)
  • Required: Compute budget (time|trial count)
  • Optional: Search space constraints (min|max)
  • Optional: Prior knowledge of good ranges

Do

Step 1: Install Deps + Env

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Option 1: Optuna (simpler, good for single-machine)
pip install optuna optuna-dashboard
pip install scikit-learn xgboost lightgbm

# Option 2: Ray Tune (distributed, good for multi-machine/GPU)
pip install "ray[tune]" optuna hyperopt bayesian-optimization
pip install torch torchvision  # if optimizing neural networks

# Visualization and tracking
pip install mlflow tensorboard plotly

Project structure:

mkdir -p automl/{configs,experiments,models,results}

→ Clean env w/ pkgs installed, no conflicts.

If err: Py 3.8-3.11 (compat issues 3.12+); CUDA errs → install CPU-only first; M1|M2 → conda not pip for sklearn.

Step 2: Search Space + Objective (Optuna)

# automl/optuna_config.py
import optuna
from optuna.pruners import HyperbandPruner
from optuna.samplers import TPESampler
import xgboost as xgb
from sklearn.metrics import roc_auc_score, mean_squared_error
import numpy as np

# ... (see EXAMPLES.md for complete implementation)

→ Search space covers reasonable ranges, objective runs w/o errs, pruning stops unpromising early.

If err: trials crash → ↓search space (lower max n_estimators); verify no NaN|inf; check mem (↓batch if OOM); eval_metric matches task.

Step 3: Run Opt w/ Advanced Samplers

# automl/run_optimization.py
import optuna
from optuna.samplers import TPESampler, CmaEsSampler, NSGAIISampler
from optuna.pruners import HyperbandPruner, MedianPruner, SuccessiveHalvingPruner
import joblib
import pandas as pd
from pathlib import Path

# ... (see EXAMPLES.md for complete implementation)

→ Opt completes w/ 50-70% trials pruned, best params found, viz plots show convergence.

If err: no pruning → verify objective reports intermediate vals; no improvement → try diff sampler (TPE→CmaES); n_jobs>1 crashes → n_jobs=1 for debug.

Step 4: Ray Tune Distributed (Alternative)

Multi-GPU|node opt.

# automl/ray_tune_config.py
from ray import tune
from ray.tune.schedulers import ASHAScheduler, PopulationBasedTraining
from ray.tune.search.optuna import OptunaSearch
from ray.tune.search import ConcurrencyLimiter
import xgboost as xgb
from sklearn.metrics import roc_auc_score
import os
# ... (see EXAMPLES.md for complete implementation)

→ Trials parallel CPUs|GPUs, ASHA stops bad early, best config logged.

If err: Ray crashes → start ray.init(num_cpus=2, num_gpus=0) for debug; ↓concurrent if OOM; train fn doesn't modify shared data; use tune.report() not return.

Step 5: Track w/ MLflow

# automl/mlflow_tracking.py
import mlflow
import mlflow.xgboost
from mlflow.tracking import MlflowClient
import optuna
from pathlib import Path


# ... (see EXAMPLES.md for complete implementation)

→ All trials logged w/ params+metrics, best registered, viewable in MLflow UI.

If err: start mlflow ui --backend-store-uri file:./automl/mlruns; check write perms mlruns; reg fails → verify registry config; artifact <2GB.

Step 6: Deploy Best + Monitor

# automl/deploy_model.py
import joblib
import json
from pathlib import Path
import optuna
import xgboost as xgb


# ... (see EXAMPLES.md for complete implementation)

→ Model saved prod-ready, config documented, inference script ready.

If err: file >100MB → compress|feature select; verify loads in fresh Py session; test inference w/ sample pre-deploy.

Check

  • Optuna|Ray Tune installs no conflicts
  • Search space reasonable
  • Objective runs single trial OK
  • Opt completes 50+ trials in budget
  • Pruning stops 40-70% unpromising
  • Best params improve >5% over default
  • Viz shows convergence (history flattens)
  • MLflow logs all w/ params+metrics
  • Final model saves+loads
  • Deploy pkg has all needed files

Traps

  • Overfit to val: 1000s trials implicitly optimizes for val; use holdout test|time-split for final eval
  • Ignore feature eng: AutoML finds best hyperparams but doesn't create features; invest in eng first
  • Search space too wide: Unbounded|wide ranges waste trials on unrealistic; use domain knowledge
  • No early stopping: Training full epochs every trial wasteful; enable in objective
  • Ignore compute cost: 100 trials × 10 min = 16h; consider budget when setting n_trials
  • Categoricals not encoded: Most algos need numeric; encode pre-opt
  • Imbalanced data: Default metrics mislead; use F1, AUC, custom
  • No save intermediate: Crashes lose all; persistent storage (Optuna SQLite, MLflow) to resume

  • track-ml-experiments — MLflow tracking + versioning
  • orchestrate-ml-pipeline — Airflow|Kubeflow for prod AutoML

GitHub 仓库

pjt222/agent-almanac
路径: i18n/caveman-ultra/skills/setup-automl-pipeline
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

llamaguard

其他

LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。

查看技能

cost-optimization

其他

这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。

查看技能

quantizing-models-bitsandbytes

其他

这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。

查看技能

dispatching-parallel-agents

其他

该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。

查看技能