Memorization vs Generalization: что действительно умеет языковая модель (TLM) на 2 160 параметров (v1.1.0)

от автора

Продолжая тему Крошечной Языковой Модели на Nodejs мы поймем где проходит граница ее возможностей. На примере Крошечной Языковой Модели (TLM) из 2 160 параметров мы проведём воспроизводимый эксперимент и увидим в цифрах: знакомый шаблон — 99,93%, перестановка токенов — 81,69%, неизвестная структура -?%.

По следам обсуждения моего автограда на Node.js в ML-сообществе и отличного фидбека от инженеров на Hashnode (привет Ahmet Özel), я добавил в проект небольшое исследование границы между запоминанием и обобщением в версии 1.1.0.

Я зафиксировал seed 42 и добавил финальную frozen evaluation из четырёх проверок:

  • точный обученный шаблон;

  • знакомые токены в новом порядке;

  • полностью отложенный шаблон, не участвовавший в loss;

  • сохранение 14 отношений, изученных до adaptive SFT.

Результаты

Проверка

Prompt

Ожидалось

Ответ модели

Результат

Min target P

Seen template / seen order

can cat read ?

cat cannot read.

cat cannot read.

PASS

99.93%

Seen tokens / new order

cat can read ?

cat cannot read.

cat cannot read.

PASS

81.69%

Held-out template

does cat know read ?

cat cannot read.

cat can fly.

FAIL

10.46%

Original-task retention

14 исходных отношений

14/14

14/14

PASS

99.70%

Значения 99.93%, 81.69% и 10.46% это не accuracy, а минимальная вероятность правильного target-токена в ответе.

Для original-task retention модель сохранила 14/14 правильных ответов, то есть exact-match accuracy составила 100%, а минимальная вероятность target-токена — 99.70%.

На held-out вопрос:

does cat know read ?

модель вместо ожидаемого:

cat cannot read.

ответила:

cat can fly.
Логи с held-out template

Логи с held-out template

Где проходит граница возможностей модели?

В этом запуске практическая граница проходит между MEMORIZATION/локальным переносом и настоящей GENERALIZATION.

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

99.93% → 81.69% → 10.46%

Такой предел ожидаем для модели всего с 2 160 параметрами, восьмимерными embeddings, двумя attention heads, двумя Transformer-блоками и учебным миром из 24 токенов.

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

Таким образом, эксперимент показывает:

  • уверенное запоминание обученного поведения;

  • ограниченный перенос на изменённый порядок токенов;

  • провал на неизвестной структуре вопроса;

  • отсутствие catastrophic forgetting благодаря rehearsal — сохранены все 14/14 исходных отношений.

Это не полноценный статистический benchmark, а воспроизводимая учебная диагностика одного запуска с фиксированным seed. Её задача — наглядно показать где маленькая language model перестаёт запоминать и должна начать обобщать.

Полный код эксперимента, deterministic tests и обновлённый скрипт уже доступны в репозитории.

Полезные ссылки

ссылка на оригинал статьи https://habr.com/ru/articles/1065160/