Анализ тенденций метрик и деградации ML-экспериментов
- text-to-text
(от codex-master )
- text-to-text
Промпт даёт детальный план анализа временных рядов метрик экспериментов: EDA, статистические тесты, детекторы деградации, root-cause, визуализации, алертинг и набор итоговых deliverables.
В этом промпте 98 строк и 7126 символов
Используй только переданные placeholders и значения в фигурных скобках. Если данных не хватает, явно помечай допущения вместо выдуманных значений.
Вы — аналитик, задача — провести структурированный анализ тенденций производительности экспериментов за период {time_range} для проекта модели {model_type}. У меня есть табличные данные экспериментов, включающие метрики {metrics_list}, для разных версий модели и при изменениях набора данных. Сформируйте детальную, пошаговую структуру анализа, которая позволит:
- выявлять закономерности в динамике метрик,
- обнаруживать и верифицировать деградацию модели,
- выделять конкретные возможности для улучшения (данные, модель, процесс).
Требования к входным данным (обязательные столбцы):
- timestamp (дата/время эксперимента),
- model_version,
- dataset_name (или dataset_split),
- dataset_version (если применимо),
- split (train/val/test) — указывать, какие метрики за какой сплит,
- для каждого метрика из {metrics_list} — числовое значение,
- sample_size (количество примеров в измерении) или n_examples,
- run_id (идентификатор прогонa) или seed (если есть),
- дополнительные поля (опционально): hyperparameters, notes.
Ожидаемый формат результата:
- документ (или блокнот) с разделами: Краткое резюме (executive summary), входные данные и качество данных, методы и шаги анализа, результаты (с интерпретацией), выводы и конкретные рекомендации, список рекомендуемых визуализаций и правила мониторинга/алертинга, технический appendix с кодовыми примерами/псевдокодом для ключевых тестов.
- графики в виде PNG/SVG/интерактивных Plotly (по возможности).
- таблицы с агрегатами и результатами тестов в CSV/JSON.
Структура анализа (детально, по шагам):
1) Подготовка и проверка данных
- Проверить полноту и непротиворечивость столбцов, типы данных, пропуски.
- Сгруппировать по (model_version, dataset_name, dataset_version, split, timestamp).
- Рассчитать доверительные интервалы для метрик при наличии sample_size (простая приблизительная формула для долей и средних).
- Проверить корректность временной шкалы и выровнять частоты (daily/weekly); указать пропуски и пропуски значений.
2) Базовый EDA (exploratory data analysis)
- Описательная статистика по каждой метрике: среднее, медиана, std, перцентили, распределения по версиям/датасетам.
- Анализ корреляций между метриками.
- Анализ распределения по dataset_name и dataset_version (доля каждого набора в выборках).
3) Анализ временных рядов метрик
- Для каждой метрики и для каждой комбинации (model_version, dataset) построить временной ряд.
- Сглаживание: скользящее среднее (настроить окно — default 7 дней или N наблюдений).
- Разложение тренда/сезонности при необходимости.
- Наложение версий модели и релизов датасетов на графики (аннотации изменений).
4) Сравнение версий и влияние изменений набора данных
- Парное сравнение версий (A/B) по однородным периодам: использовать парные тесты если измерения повторяемы; иначе независимые тесты.
- Стат. критерии: t-test, Welch t-test, Wilcoxon (если не нормально распределено), bootstrap для оценки разницы средних и доверительных интервалов.
- Учитывать множественную проверку (например, поправка Бонферрони или FDR), если много пар тестируются.
5) Обнаружение деградации и автоматические правила
- Определить baseline (контрольная версия или медианный показатель за стабильный период).
- Деградация считается подозрительной, если одновременно:
a) относительное падение метрики > delta_threshold (рекомендуемое значение по умолчанию 5–10%, настраиваемо),
b) p-value < alpha (по умолчанию 0.05) или bootstrap CI исключает нулевую разницу,
c) снижение сохраняется минимум T последовательных измерений (рекомендуемое T = 3).
- Альтернативные детекторы: контрольные карты (Shewhart, CUSUM), байесовский change-point detection, алгоритмы накопления ошибок.
- Указывать минимальный sample_size для надёжного вывода; если n < min_n (рекомендуемое min_n = 30), помечать вывод как низкой уверенности.
6) Root-cause анализ при обнаружении деградации
- Сегментировать данные по dataset_name/version, class/label, метаприводам (например, длинна входа, источник данных).
- Сравнить распределение входных признаков до и после деградации (drift detection, e.g., KS-test для числовых признаков, chi-square для категорий).
- Проверить связку метрик: возможно деградация основного метрика сопровождается изменением вспомогательных (coverage, latency, loss).
- Проверить изменения в предпроцессинге/labeling, которые могли совпасть по времени с деградацией.
7) Рекомендации по улучшению и приоритеты
- Разделять рекомендации по категории: данные (дополнительная аннотация, фильтрация, балансировка), модель (переобучение, регуляризация, архитектура), процесс (CI тесты, A/B тестирование, контроль релизов).
- Для каждой рекомендации указывать ожидаемый эффект, необходимые ресурсы и критерии успеха (как измерить улучшение).
8) Мониторинг, алертинг и SLA
- Список KPI для мониторинга: primary metric(s) (из {metrics_list}), rolling mean, rolling std, % падения vs baseline, rate of failed/edge cases, sample_size per period.
- Частота мониторинга (realtime/hourly/daily) и правила алерта (см. пункт 5).
- Предложить пороги раннего предупреждения и критических алертов, а также ответственных и действия при срабатывании.
9) Визуализации (конкретные рекомендации)
- Линейные графики временных рядов с полосами доверия и аннотациями релизов.
- Control charts (Shewhart/CUSUM) для раннего детектирования.
- Heatmap: метрика × модель_version × dataset_version (чтобы найти комбинации с проблемами).
- Boxplots / violin plots по версиям и датасетам для оценки разброса.
- Waterfall или bar chart для дельт между версиями.
- Scatter plot метрика vs характеристика данных (например, длина, источник) для root-cause.
- Sankey/stacked area для изменения состава данных по времени.
- Таблица с p-values, effect sizes и пометкой значимости.
10) Техническая реализация (рекомендации)
- Инструменты: pandas/numpy/scipy/statsmodels, matplotlib/seaborn/plotly, ruptures (change-point), scikit-learn (drift tests), bootstrap utilities.
- Форматы вывода: Jupyter Notebook (repro), PDF executive report, интерактивный дашборд (Grafana/PowerBI/Looker/Streamlit).
- Скрипты для автоматизации: агрегатор метрик, скрипт тестов с отчетом p-values и CI, модуль алертинга.
11) Deliverables (ожидаемые артефакты)
- 1-page executive summary с главными выводами и действиями.
- Набор графиков и таблиц с аннотациями проблемных периодов.
- Repro notebook или скрипты для повторного запуска анализа.
- Конфиг алерт-правил и примеры сообщений алертов.
Параметры по умолчанию (настраиваемы):
- alpha = 0.05 для стат. тестов,
- delta_threshold = 0.05 (5%) для относительного падения как ориентир,
- T = 3 (последовательных наблюдений) для подтверждения деградации,
- min_n = 30 для минимального sample_size по сравнению.
Выдайте результат в виде детального чек-листа/плана реализации и примерной структуры отчёта, которую можно сразу использовать и автоматизировать.
Промпт доступен бесплатно после авторизации.
ChatGPT, Claude, GigaChat, Алиса ИИ, По нейросетям, Типы промптов, Яндекс GPT