← Назад
Шаблон документа по проектированию ML-системы
Исполнительное резюме
- Название проекта: [Название]
- Постановка задачи: [Краткое описание проблемы]
- Бизнес-эффект: [Ожидаемый эффект и KPI]
- Таймлайн: [Высокоуровневый план]
I. Определение проблемы
i. Истоки
- В чём суть проблемы?
- Кто стейкхолдеры?
- Какие текущие ограничения/сложности?
- Как выглядит текущий процесс?
ii. Важность и причины
- Почему проблема важна?
- Какова ожидаемая польза?
- Каков ожидаемый бизнес-эффект?
- Сколько стоит текущая проблема?
iii. Предыдущие попытки
- Какие решения уже пробовались?
- Что работало/не работало?
- Какие уроки можно извлечь?
- Можно ли улучшить существующие решения?
iv. Прочие вопросы и риски
- Какие инфраструктурные требования?
- Каковы возможные режимы отказа?
- Какова стоимость ошибок?
- Какие нужны проверки и меры контроля?
II. Метрики и функции потерь
i. Метрики
- Какие ключевые бизнес-метрики?
- Какие метрики качества модели?
- Как они связаны с целями бизнеса?
- Какие компромиссы между метриками?
ii. Функции потерь
- Какие функции потерь будут использованы?
- Как они связаны с бизнес-метриками?
- Какие компромиссы?
- Как будем обрабатывать крайние случаи?
III. Датасет
i. Источники данных
- Какие внутренние источники доступны?
- Какие внешние данные можно использовать?
- Какие проблемы с качеством данных?
- Насколько свежие данные?
ii. Разметка данных
- Как будет выполняться разметка?
- Каков процесс разметки?
- Как обеспечим качество?
- Каковы затраты?
iii. Доступные метаданные
- Какие метаданные доступны?
- Как они будут использоваться?
- Какой дополнительный контекст они дают?
iv. Проблемы качества
- Какие проблемы качества существуют?
- Как будем их решать?
- Каков процесс очистки данных?
- Как будем обрабатывать пропуски?
v. ETL‑конвейер
- Как будем собирать данные?
- Какие преобразования нужны?
- Как будем обновлять данные?
- Какова частота обновления?
IV. Схема валидации
i. Требования
- Каковы требования к валидации?
- Как предотвратим утечки данных?
- Какие временные ограничения существуют?
ii. Инференс
- Как модель делает предсказания?
- Каков горизонт предсказания?
- Какие ограничения учитывать?
iii. Внутренние и внешние циклы
- Как будем валидировать модель?
- Какую стратегию кросс‑валидации используем?
- Как обрабатываем временные ряды?
iv. Частота обновления
- Как часто обновляем модель?
- Что является триггером обновления?
- Как обрабатываем дрейф данных?
V. Базовая линия
i. Константная база
- Какие простые базовые решения используем?
- Как будем с ними сравниваться?
- Каков минимально приемлемый результат?
ii. Базовые модели
- Какие архитектуры попробуем?
- Каковы компромиссы?
- Как будем сравнивать?
iii. Базовые признаки
- С какими признаками начнём?
- Как измерим важность признаков?
- Какой фичер‑инжиниринг нужен?
VI. Разбор ошибок
i. Кривые обучения
- Как анализируем кривые обучения?
- Какие паттерны ищем?
- Как боремся с пере/недообучением?
ii. Анализ остатков
- Как анализируем остатки?
- Какие распределения ожидаем?
- Как обрабатываем выбросы?
iii. Лучшие/худшие случаи
- Как выявляем крайние случаи?
- Каковы режимы отказа?
- Как улучшаем худшие случаи?
VII. Тренировочный конвейер
i. Обзор
- Какова архитектура обучения?
- Какие инструменты используем?
- Как обеспечим воспроизводимость?
ii. Предобработка данных
- Какая предобработка нужна?
- Как выполняем фичер‑инжиниринг?
- Какая нормализация требуется?
iii. Обучение модели
- Каков процесс обучения?
- Как настраиваем гиперпараметры?
- Какие требования к железу?
iv. Отслеживание экспериментов
- Как отслеживаем эксперименты?
- Какие метрики логируем?
- Как версионируем модели?
VIII. Признаки
i. Критерии отбора признаков
- Какие критерии используем?
- Как измеряем важность?
- Каковы вычислительные ограничения?
ii. Список признаков
- Какие признаки используем?
- Какие преобразования нужны?
- Какие зависимости существуют?
iii. Тесты признаков
- Как тестируем признаки?
- Какие проверки качества нужны?
- Как обрабатываем дрейф?
IX. Измерение и отчётность
i. Измерение результатов
- Как измеряем успех?
- Какие метрики отслеживаем?
- Как представляем результаты?
ii. A/B‑тестирование
- Какова стратегия тестирования?
- Как делим трафик?
- Каковы критерии успеха?
iii. Отчёты
- Какие отчёты формируем?
- Кто стейкхолдеры?
- Как коммуницируем результаты?
X. Интеграция
i. Стратегии отката
- Какие планы отката?
- Когда откатываемся?
- Как восстанавливаемся?
ii. API‑дизайн
- Какие API предоставляем?
- Каковы интерфейсы?
- Какие SLA?
iii. Цикл релизов
- Как выпускаем обновления?
- Какова стратегия деплоя?
- Как обрабатываем откаты?
iv. Операционные вопросы
- Как мониторим систему?
- Какие нужны алерты?
- Как обрабатываем инциденты?