Skip to content

Проверки и улучшения производительности обучения

Состояние на 9 сентября 2026 года. Ограниченный поиск и инструменты измерения реализованы; оставшаяся работа сосредоточена на достоверности прогноза, устойчивости политики и независимой приёмке.

Руководство описывает API, сводка результатов — измерения и версии evidence, общий план — цели и зависимости. Просмотренные notebook holdout и post_search_dev не являются независимой итоговой оценкой.

Статус пяти этапов

Этап Реализовано и проверено Что остаётся
1. Измерения Аудит потоков, fit/rows/trees, стадий, source/config и попыток; парные DEV-пробы Контролируемые повторы wall time и покрытие ресурсными наблюдениями
2. Выбор модели Initial/confirmation, достаточность ES/классов, парное сравнение, условный прогноз CV/refit/FS/HPO Срез 2.3 частичный: точность, охват и полный wall time
3. FS и HPO Ограниченный FS, точный OOF-кеш, wide-контроль, внутренний HPO ES, перенос итераций Редкие классы и качество всей адаптивной процедуры
4. Статистика Scorer/cache-пути и ансамбль с сохранением критериев и проверками эквивалентности Эквивалентность при расширении поддерживаемых случаев
5. Приёмка Контрольный корпус, финальные Otto/Home, фиксированное семейство/FS, внешняя NI API Независимые метки, согласованные пороги, production-сравнение

1. Сопоставимость измерений

Основной baseline/fast-корпус: 15/16 режимов, 36/38 fit, 17 пар. В обоих режимах native/BLAS4, seed42, HPO до пяти trials на семейство, отключённый прикладной кеш и записанный порядок исполнения. HPO-off остаётся выключенным. Основной результат берётся только из полностью завершённой и прошедшей проверки попытки режима.

Замороженный Home fast содержит два завершённых fit, но исключён из основного корпуса из-за ошибки отчётной ячейки. Исправленный финальный Home и финальный Otto с confirmation_rows=65536 — отдельное evidence; они не дополняют старую сводку до 19 однородных пар.

Backend-время не прибавляется к exclusive stages. Системные RAM/CPU-наблюдения имеют пропуски и не доказывают причину изменения длительности. Разные метрики и single/ensemble-сценарии не объединяются в среднее качество.

Оставшаяся проверка: выбрать ограниченный набор репрезентативных сценариев для последовательных повторов с одинаковыми границами подготовки, кеша и fit/refit. Сохранять фактическую работу и покрытие интервалов ресурсными наблюдениями. Полная серия ноутбуков не нужна после каждой доработки.

2. Выбор семейства и стоимость завершения

2.1. Достаточность начального ресурса

Пробы сохраняют исходные границы train/ES/test, пропорции классов при ограничении строк и представительные folds. Не-ES модели и ES-модели получают одинаковую fit-часть. Используются доступные исходные признаки; max_features ограничивает FS, производные target encoding исключены из модельных проб.

Достаточность оценивается по эффективным строкам, классам, ES и итерациям. Временной n_es=1 означает одну строку согласно splitter-контракту; его нельзя считать периодом без изменения постановки.

Оставшаяся проверка: измерить поведение при редких классах и малом временном ES на DEV, сохраняя paired OOF, class counts и итерации. Недостаточность должна оставаться видимой в отчёте, включая исчерпание бюджета.

2.2. Подтверждение выбора

Initial и confirmation имеют отдельные ограничения. Подтверждение сравнивает не более двух семейств на большем ресурсе; default confirmation_rows=65536, confirmation_iterations=256, confirmation_folds=2. Выбор учитывает парную неопределённость и заданный допуск. Единственное явно указанное семейство не запускает такой поиск.

Финальный Otto выбрал LightGBM в обоих fit: log loss 0.4763246603 равен baseline fit01, но выше baseline fit02 на 0.0015379052. Финальный Home сохранил CatBoost: ROC-AUC 0.7752502351 равен baseline fit01, но ниже baseline fit02 с применённым ансамблем на 0.0039915775. Это диагностика на просмотренном holdout.

Оставшаяся проверка: подтвердить устойчивость на согласованных DEV-сценариях без настройки по итоговому holdout. Рост confirmation-ресурса не гарантирует правильный ранг на всех задачах.

2.3. Условный прогноз FS/HPO/CV/refit — частично завершён

До окончательного выбора семейства реализован прогноз оставшегося обучения. Фиксированный поддерживаемый FS-рецепт профилируется на двух ограниченных train-выборках исходного DEV-fold с сохранением seed. HPO профилируется на двух ресурсах с центральными параметрами пространства поиска. Эти компоненты дополняют прогноз CV/refit.

Несколько FS-альтернатив, неподдерживаемый или незавершённый профиль дают unknown. При неизвестной компоненте стоимость не служит основанием заменить лидера по качеству. Уже выполненные пробы, статистика, ансамбль, I/O и явно перечисленная подготовка исключены; это не прогноз полного wall time.

Синтетическая проверка: 1600 строк, 12 признаков, 23 завершённых fit без ошибок, профилирование FS/HPO около 0.0473 с. Перенос между ресурсами дал ошибки −60.35% для FS и −67.29% для HPO. Прогноз HPO при центральных параметрах и время адаптивного HPO с подготовкой имеют разные границы; их отношение не является корректной оценкой ошибки.

Оставшаяся работа:

  1. Согласовать прогнозируемую величину, допустимую ошибку и бюджет профилирования.
  2. На одинаковых параметрах, folds и траектории сравнить прогноз с фактом; отдельно исследовать фиксированные расходы, прогрев, ES и ширину после FS.
  3. Проверить перенос на несколько размеров и семейств; сохранять неизвестные компоненты и неопределённость.
  4. Для полного wall time отдельно измерить подготовку, статистику, ансамбль и I/O.
  5. Проверить влияние прогноза на выбор семейства и бюджет с сохранением критерия качества.

Код и synthetic-проверка подтверждают исполнение контракта, а не точность на реальной задаче.

3. Отбор признаков и HPO

3.1. Устойчивость ограниченного FS

Исполнение рецепта ограничивает строки, повторения и fit. Одинаковые subset/OOF-оценки переиспользуются в совпадающем контексте. Полная процедура сравнивает subset с готовым широким контролем; остановка бюджета не принимает непроверенный subset. Глобальный выбор на DEV маркируется post_search_dev.

Шесть пар Adult/Credit дали 246 завершённых backend fit без ошибок: 222 FS и 24 оценочных. Прямой диагностический runner выполнял FS и DEV-оценку без полного AutoML wide-контроля. Adult сохранил одинаковые шесть признаков и score на всех seeds; FS fit уменьшились с 62 до восьми, отношение медиан FS-времени — 14.20.

На Credit число FS fit осталось равным двум, уменьшились строки и деревья; отношение медиан времени — 1.44. При трёх положительных примерах в каждой ES/test-части seed43 потерял V7 и average precision снизилась на 0.316976; seed44 потерял V9 и выросла на 0.066379. Изменились фактические ES-итерации оценочных моделей. Причинный вклад отдельных изменений не установлен.

Оставшаяся проверка: оценить достаточность положительного класса, стабильность признаков и полный wide/subset-путь. Сохранить парные OOF и score по folds; отделить влияние строк, деревьев и повторов. Выигрыш Adult не доказывает эквивалентность ограниченного FS на редких классах.

3.2. HPO и продолжение

В поддерживаемых сценариях ES выделяется внутри inner-train, inner-test оценивает trial. HPO выполняется для выбранного семейства; завершённые trials и подготовка переиспользуются при совпадении контекста. Итерации переносятся в refit, неуспешные trials не создают фиктивный настроенный результат.

Проверка стоимости HPO входит в 2.3. Независимая оценка качества относится ко всей адаптивной процедуре, включая FS, ES, tuning и wide/subset-выбор.

4. Статистика и ансамбль

Оптимизированы встроенные аддитивные и поддерживаемые ранговые scorer/cache-пути, а также вычисления ансамбля. Условия применения проверяются; неподдерживаемые пользовательские и граничные случаи сохраняют общий путь. Критерии, bootstrap-ресурс и правила принятия ансамбля сохраняются.

При расширении проверяются веса, ties, вырожденные классы, clipping, RNG, распределения статистики и пограничные решения. Замеры выполняются на фиксированных предсказаниях без обучения. Эквивалентность статистики не доказывает качество изменённой поисковой политики.

5. Независимая оценка и production

Фиксированный Adult family/FS-сценарий завершён за 503.46 с обучения: 42 fit, ноль backend-ошибок, без HPO и модельных проб. CatBoost и null_importance используют параметры семейства по умолчанию; широкий контроль сохранил ROC-AUC 0.9224611672. Это проверка пользовательского пути, не production-сравнение и не воспроизведение HPO-параметров.

QualityContract/PredictionBatch фиксируют метрику, классы, абсолютный допуск, bootstrap, SHA моделей и предсказаний, порядок row IDs, веса и блоки до меток. Оценка принимает NPZ меток, связанный с заранее заданным SHA хранителя. Неизвестная training/tuning-история остаётся неизвестной; fingerprints не доказывают происхождение данных или отсутствие прежнего просмотра. В этой API pr_auc означает average precision.

Оставшиеся условия приёмки:

  1. Согласовать сценарий, метрику, допуск, период, зависимые блоки и численные цели времени.
  2. Получить внешний набор и полные inventories строк обучения, FS, ES, tuning и калибровки обеих моделей; проверить независимость и происхождение артефактов.
  3. Зафиксировать predictions/receipt до меток; выполнить парную NI. Статистический вердикт и внешний review независимости публиковать раздельно.
  4. Для подтверждённого ручного churn-референса TUNE=False получить отсутствующие данные и измерить сопоставимый фиксированный рецепт. Раздельно учитывать FS, fit/refit, cold/warm, сохранение и inference.
  5. Принять либо отклонить конкретный сценарий по заранее согласованным условиям.

Независимые внешние метки пока не оценены. План частично завершён: механизм прогноза и процедура оценки доступны, точность стоимости, качество и production-результат требуют перечисленных проверок.