Первого сентября мы проверили главную ставку всего проекта. И день, честно говоря, начался отвратительно.
Меня в тот день выводило из себя ожидание. Прогон, который должен был дать ответ, собирался идти семь часов. Семь. Я сказал: останавливай, оптимизируй немедленно — потому что если каждый ответ на вопрос стоит рабочий день, то никакого исследования нет, есть медленное угадывание. Это, пожалуй, главное, что меня бесит в этой работе: не сложные задачи, а необязательное ожидание, которое все вокруг считают нормой.
Зато когда прогон всё-таки дал числа, они того стоили.
Ставка была такая: знание можно вынести из весов модели наружу, в отдельный склад, и станет лучше, а не хуже. Звучит как компромисс — мол, раз в маленькую модель знания не влезают, подопрём костылём. Проверку я устроил так, чтобы себя не обмануть: три числа на одной и той же основе, критерий записан заранее.
Сама модель — семь с половиной. Один склад без модели — восемь. Модель вместе со складом — шесть с половиной. Чем меньше, тем лучше; смесь обошла обе части по отдельности на целый бит.
А главное вот в чём: склад в тот день вообще не обучали. Он просто считал, что за чем встречалось в тексте. Бесплатный в прямом смысле — ноль шагов обучения, ноль видеокарт, ноль часов ожидания. И этот бесплатный счётчик, приставленный к обученной модели, дал прибавку, которой от самой модели пришлось бы добиваться неделями.
Я довольно долго сидел и смотрел на эти три числа. Потому что если так, то вся привычная логика «знания живут в весах, хочешь больше знаний — бери модель побольше» — не закон природы, а просто способ, которым все привыкли делать.
Тогда же я сформулировал то, к чему шёл с весны, и не постеснялся записать это прямым текстом: хочу электронный мозг вместо классического комка. Не модель поменьше, не сжатие получше — другое устройство. Где есть отдельно умение и отдельно память, и второе можно поправить руками, не трогая первое.
В тот же день пришлось отозвать вчерашний вывод по соседнему опыту, и это было неприятно. Разбор нашёл сразу три беды: две «независимые» части оказались одним и тем же складом, контрольный замер был спутан, разброс завышен. А худшее — точки сохранения выбирались по тому же набору, на котором потом проверялись. Классика, на которой горят все: сначала подглядел в ответы, потом на них же проверился. Вывод снят целиком, день работы в мусор.
Вывод, ради которого стоило писать эту запись: когда модель чего-то не знает, дешевле дать ей справочник, чем доучивать. Факт в весах стоит дорого и правится переобучением. Тот же факт снаружи правится строкой в файле, за минуту, без единой видеокарты. Мы на этом построили всё, что делаем дальше.
Андрей Рощупкин