MCP HubMCP Hub
Вернуться к навыкам

setup-automl-pipeline

pjt222
Обновлено 2 days ago
6 просмотров
17
2
17
Посмотреть на GitHub
Другоеaidata

О программе

Этот навык автоматизирует настройку гиперпараметров и выбор модели с использованием Optuna или Ray Tune и эффективных алгоритмов поиска, таких как Hyperband/ASHA. Он предназначен для быстрого поиска оптимальных конфигураций для новых проектов машинного обучения или при дообучении на новых данных. Используйте его для эффективного сравнения алгоритмов или когда в вашей команде не хватает глубоких знаний в области гиперпараметров.

Быстрая установка

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–8 миллиардами параметров для модерации входных и выходных данных больших языковых моделей по шести категориям безопасности, таким как насилие и разжигание ненависти. Она обеспечивает точность 94–95% и может быть развернута с помощью vLLM, Hugging Face или Amazon SageMaker. Используйте этот навык, чтобы легко интегрировать фильтрацию контента и защитные механизмы в ваши ИИ-приложения.

Просмотреть навык

cost-optimization

Другое

Этот навык Claude помогает разработчикам оптимизировать облачные расходы за счет правильного подбора ресурсов, стратегий тегирования и анализа затрат. Он предоставляет framework для сокращения облачных расходов и внедрения управления затратами в AWS, Azure и GCP. Используйте его, когда вам нужно проанализировать расходы на инфраструктуру, оптимизировать ресурсы или уложиться в бюджетные ограничения.

Просмотреть навык

quantizing-models-bitsandbytes

Другое

Этот навык выполняет квантизацию LLM до 8-битной или 4-битной точности с использованием библиотеки bitsandbytes, обеспечивая сокращение использования памяти на 50-75% при минимальной потере точности. Он идеально подходит для запуска больших моделей при ограниченной памяти GPU или для ускорения вывода, поддерживая форматы INT8, NF4 и FP4. Навык интегрируется с HuggingFace Transformers и позволяет использовать обучение QLoRA и 8-битные оптимизаторы.

Просмотреть навык

dispatching-parallel-agents

Другое

Этот навык Claude распределяет нескольких агентов для исследования и устранения трёх и более независимых проблем параллельно. Он предназначен для сценариев с несвязанными сбоями, которые можно устранить без общего состояния или зависимостей. Ключевая возможность — параллельное решение проблем, где за каждую независимую предметную область назначается отдельный агент для максимальной эффективности.

Просмотреть навык