Обновить

Комментарии 10

Не бейте пожалуйста...

Как я понял из описания цикла (Pass 1 и Pass 2), токены снимаются только по промпту, а на этапе авторегрессии (генерации ответа) хуки замораживаются. Получается, модель генерирует весь ответ, опираясь только на своё первичное предчувствие, сформированное на этапе чтения вопроса. А что если неуверенность (или галлюцинация) возникает у нее где-то на 50-м токене ответа? Планируешь ли ты сделать скользящее окно для мета-токенов, чтобы рефлексия обновлялась в реальном времени прямо во время генерации?

А этого мы уже не узнаем...

И второй момент, автор. Работа проделана монументальная для пет-проекта, тут жму руку без иронии. Осознать это всё, обучить, свести лосс - это круто.

Но у меня есть просьба: давайте снизим градус наукообразия. Статья написана так, будто Claude Code укусила вас за концептуальный аппарат и заставила оверинжинирить термины.

Вы кидаетесь в таблицах переменными вроде sel_acc и ref_prec, не расшифровывая толком их в тексте, что делает таблицу выдаваемую за бенчмарк - священным писанием. Зачем заставлять читателя заниматься дешифровкой? Это же классическая задача селективной классификации с опцией отказа

"Когнитивные токены" и "когнитивный энкодер" - звучит очень пафосно, как и название материала, для обычного пулинга вектора последнего токена и последующей линейной проекции. По факту, вы сделали классный и легкий кросс-аттеншн адаптер над замороженной базой для калибровки уверенности. Это неглупо, но когда вы называете это "интроспективным когнитивным слоем"... в общем, думаю понятно к чему я веду.

Если убрать этот маркетинговый налет, попытку сослаться на всем известную статью - труд только выиграет с технической точки зрения. Будет выкатываться это на на более серьёзные модели, или упрёмся в стоимость инференса двух проходов?

и плз, поменьше самобичевания. вы - либо ученый, который проверяет и доказывает что делает, либо вайбкодер с лёгкой рукой - быстро понимает прочитанное и написанное.

Но ведь в главе "эксперименты" я расшифровал все метрики...

А насчет терминов - пафосно не пафосно ничего более наглядного не придумал, я не математик и не понимаю трансформеры на продвинутом уровне, пыталсч материал обработать так чтлбы понять самому.

Плюсом "идеологически" проект вырос из идеи как можно было бы научить модель думать о своем мышлений, прям как люди.

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

А насчет самобичевания - фраза "не самый выдающ интеллект" была не к месту, соглашусь.

Спасибо за комментарий.

При этом полностью согласен что не все термины выбраны удачно, когнитивный енкодер и когн токены реально звучат не очень. А вот головы мета внимания звучат прям круто и суть работы передают

Спасибо за такую подробную статью. Респект за то, что выложили всё в открытый доступ и веса, и код, и даже русскую документацию на Codeberg. Это реально редкий уровень открытости для pet-проекта.

Вопрос чисто практический: а насколько это тормозит инференс? Два forward'а на каждый запрос это же в два раза дольше плюс оверхед от энкодера. Вы пробовали замерять latency или throughput на практике? Просто если это пилить в реальный сервис, хотелось бы понимать, насколько больно.

И ещё, вы упомянули в конце какую-то предысторию про двух ChatGPT, которые общались между собой. Это звучит безумно интересно. Пожалуйста, напишите отдельную статью, даже если окажется, что идея мета-трансформеров не взлетит. Такие эксперименты читать гораздо веселее, чем очередной "LLM для начинающих".

В общем, лайк и в закладки. Буду следить за проектом. Успехов!

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

Спасибо за комментарий большое

Насчет стоимости интерференса и двух-проходной генераций

Pass 1 ничего не генерирует. Это один forward по промпту (prefill) — снять активации и всё. А в обычном инференсе доминирует не prefill, а авторегрессивная генерация (Pass 2), где каждый токен — отдельный проход. То есть мы добавляем один префилл, а не вторую полную генерацию. «Удвоение» было бы, только если бы мы генерировали ответ дважды — но мы этого не делаем.

Дальше — когнитивные токены считаются один раз и кэшируются (ReflexionBuffer + IntrospectionCache). Энкодер (51.7M) отрабатывает разово, а его стоимость размазывается по всей длине ответа. На коротких ответах (MMLU, 1–2 обновления кэша) оверхед почти нулевой.

Статический режим оказался быстрее baseline. Причина — калибровка: когда модель решает отказаться, она выдаёт короткий refusal вместо длинного неправильного ответа. Меньше сгенерированных токенов → меньше времени. Калибровка частично «отыгрывает» свой же оверхед.

+16% — это уже худший случай, на длинном chain-of-thought (GSM8K, ~22 обновления кэша за вопрос).

Где как раз пригодилось кэширование активаций

На длинных рассуждениях один «снимок» состояния с начала устаревает — модель по ходу СoT реально «передумывает». IntrospectionCache решает, когда пересобрать когнитивные токены, через cosine similarity:

  • каждые 3–20 токенов снимаем свежие активации, сравниваем с закэшированными;

  • sim < 0.5 → состояние уехало, переэнкодим;

  • sim ≥ 0.5 → стабильно, продолжаем со старыми (батч между проверками растёт 3→6→…→20).

Итог: короткие MC-ответы → 1–2 обновления (оверхед незаметен), длинная математика → ~22. Это и есть ручка throughput'а — платишь за свежесть ровно там, где она нужна.

Думаю я напишу об истории происхождения идеи мета-трансформеров статью, а так же отдельную статью через какие конкретно фазы проект проходил (это в доках исходников есть если шо). Еще раз спасибо

Если что, я запушил CLAUDE.md в англ и рус версию репо на Codeberg (на английском и русском соответственно). Я понимаю что кода там дофига (все фазы) и разбираться может быть тяжело.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации