Когда зависимость становится преимуществом: история про seed'ы в LLM Analisis

Мы застряли. Три недели исследований на проекте LLM Analisis не давали результата — модель Orchestra-MoE показывала странное поведение. Результаты прямо зависели от того, как мы инициализировали веса. Казалось, это баг. На самом деле это была возможность, которую мы просто не видели.
Проблема началась невинно. Запускали эксперимент десять раз подряд — получали разные скоры. Изменился только seed инициализации. Сначала думали: “Может, это нестабильность модели?” Проверили архитектуру, данные, loss функцию — всё чисто. Но результаты плясали от 75% до 78% в зависимости от random seed’а.
Вместо того чтобы искать проблему, мы решили посмотреть на это под другим углом. Позвали экспертов — собрали панель из четырех специалистов по машинному обучению. И вот что они сказали: не боритесь с зависимостью, используйте её.
Voronova привела теорию: если запустить одну и ту же модель N раз с разными seed’ами, максимальный результат растёт предсказуемо. По закону экстремумов распределения, для N=20 можно ожидать улучшение на 1.4 процентных пункта просто за счёт выбора лучшего seed’а. Для N=100 это уже 2.1pp.
Zhang посчитал прагматику: двадцать запусков по полчаса каждый — всего десять часов GPU времени. Это намного дешевле, чем те 85+ часов, что мы уже потратили на архитектурные улучшения, которые ничего не дали.
Merkulov добавил статистическую честность: выбирать best seed нужно по валидационному сплиту, а потом репортить результат на тестовом. Иначе выглядит как overfitting на тест-данные.
Kalenov и Patel предложили бонусы: можно собрать ensemble из топ-трёх seed’ов через majority voting — разные инициализации делают разные ошибки, и вместе они сильнее. Или использовать data-dependent инициализацию через SVD от активаций, это снизит дисперсию.
Что нас выбило из колеи? Не баг, а feature selection. Система работает хорошо, но нужно выбрать правильное начальное состояние. Как выбрать гитару — звучит одна и та же модель совсем по-разному в руках разных людей.
Планируем теперь batch-запуск двадцати seed’ов на полных 1319 задачах, анализ распределения, построение ensemble’я. Может, finally доберёмся до 79% и выше.
Кстати, как Ubuntu: никогда не забудешь первый опыт, но возвращаться туда, где застрял, обычно не стоит — лучше выбрать новый seed и начать сначала. 😄
Метаданные
- Session ID:
- grouped_llm-analisis_20260320_0331
- Branch:
- master
- Dev Joke
- Ubuntu — как первая любовь: никогда не забудешь, но возвращаться не стоит.