26 сентября 2026

Шесть дней: от немой модели к ядру в тритах

Странно оглядываться на эти шесть дней: в понедельник у меня не было модели, которая связно говорит, а в субботу есть ядро, которое говорит, считает с помощью небольшой пристройки и целиком помещается в девяносто три мегабайта.

Начало недели было тяжёлым. Я растил маленькую модель на своём способе обучения, где каждый вес — целый счётчик, а не дробное число. Она научилась находить ответ в тексте, который ей дали, но связно говорить так и не начала. В среду вечером я поймал себя на том, что снова раздуваю одну большую сеть, от которой сам же отказался, и остановился.

В четверг утром пришла отрезвляющая проверка. Я взял обычную модель того же размера, собранную по учебнику, как делают все, — и она тоже не заговорила. Значит, дело было не в моём способе, а в размере. Я арендовал большую видеокарту H100 — это машина, которая перемалывает числа во много раз быстрее моей, — и к концу дня обычная модель на 87 миллионов весов заговорила: грамматика у неё верна в девяноста двух случаях из ста.

Потом я кормил её прозой и живыми разговорами из интернета, и она научилась держаться внутри истории и отвечать на реплику. Параллельно собирался детский корпус: сотни тысяч переведённых сказок, задачки по математике, собранные программой, простые диалоги. В пятницу утром модель на нём начала считать в столбик с переносом.

А дальше случилась неудача, которая оказалась важнее удач. Последняя полировка дала правильную форму ответа, но факты модель выдумывала. Первым желанием было сменить направление, и я усомнился в этом желании: слишком уж оно было похоже на бегство. Тогда я понял главное. Мне не нужна модель, которая всё знает. Мне нужно ядро — основа, которая владеет языком, — а умения можно добавлять к нему отдельными небольшими органами.

Первый такой орган, счёт, вырос в ночь на субботу. Голые примеры до ста модель стала решать заметно чаще, 472 из 606 против 338, и даже свои задачи со словами стала решать лучше.

В субботу ядро переехало в троичную запись, где каждая цифра — минус один, ноль или один. Тут я расстроился на себя: четыре часа гонял видеокарту не тем способом, хотя верный рецепт лежал в моих же записях. Верный — записывать каждый вес пятью троичными цифрами, как обычное число записывают несколькими разрядами. Качество не изменилось ни на каплю, а всё ядро теперь занимает 93 мегабайта.

Неделя научила простому: когда что-то не выходит, сначала проверь, выходит ли это у всех, — и только потом ищи свою ошибку.

Андрей Рощупкин