Квантование - всё, что вам нужно

FoQLens: ������� � ����� ������ Q �� ����� ����� Gemma 4 E2BМедленная сеть, кадр ещё идёт

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

Откуда это вылезло

В Claude Code, которым я пользуюсь каждый день, есть ползунок effort: думать быстрее и поверхностнее или медленнее и глубже. Я увидел его в терминале и задумался, как он может быть устроен. Дальше я разбирал это вслух с моделью: она отвечала и подкидывала возражения.

Самая дешёвая гипотеза: никакой магии, это просто добавка к тексту запроса. Что-то вроде «думай строго и до конца». Сама модель при этом не меняется.

Тут нужно короткое пояснение. Языковая модель отвечает по одному слову за раз: прикидывает, насколько уместно каждое из десятков тысяч слов, и берёт одно из самых вероятных. Всё, что мы ей пишем, устройство модели не трогает, только смещает эти вероятности. Написали «отвечай коротко» - и вероятность закончить пораньше выросла.

Проверить можно руками: попросите модель сказать пять раз «мяу» и два раза «жук». Считать она не умеет, но выполнит точно: вероятности нужных слов задраны так, что остальное перестаёт иметь значение.

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

И вот здесь я остановился: «та же модель, но ищет менее тщательно» - это точное описание ещё одной вещи, которую делают совершенно иначе.

Две разные операции с одинаковым результатом

Есть такая процедура - квантование. Модель состоит из миллиардов чисел, весов, и каждое хранится с какой-то точностью, обычно 16 бит. Если хранить их грубее, в 8, 4 или 2 битах (было «3,14159265», стало «3,1»), модель становится в разы компактнее и быстрее, но теряет тонкость.

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

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

Добавка в запрос «упрощай» с виду делает то же самое, только снаружи и временно. Механизмы противоположны: квантование огрубляет модель навсегда, запрос её не трогает. А поведение похоже до неразличимости, пока на глаз: глубина исчезла, модель скользит по плато и говорит уверенно.

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

Крутить регулятор можно на трёх уровнях: в числах модели (квантование), в выборе слова (температура делает вероятности площе или острее прямо перед выбором; этот уровень я сначала проглядел) и в самом запросе (инструкция). Три места, один эффект - довод сильнее, чем два.

Что случилось с ChatGPT

Отсюда у меня сложилось объяснение, что произошло с последней версией ChatGPT. Её накрыли плотным слоем инструкций безопасности и тем выровняли рельеф: глубокие воронки засыпали, осталось плато осторожности.

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

Самое характерное - она проезжает остановку: дна не нащупала, сигнала «готово» нет, и она достраивает логичный бред, где каждое слово уместно, а цепочка давно уехала от вопроса.

А нет ли того же в нас?

По ходу рассуждений пришла ассоциация: а нет ли похожего в нас? Бытовые примеры придумываются легко.

Утром после кофе вы внимательные: ловите нюансы, идея цепляет. Вечером после работы рассеянные: ничего не задевает. На автопилоте поехали на работу и приехали в субботу: мозг сбросил точность, оставил знакомый маршрут и отбросил мелочь, что сегодня выходной.

Опьянение - то же в грубой форме. Сосредоточенность на сложной задаче - наоборот: погружение глубокое, но держать его дорого.

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

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

Про то, как я думаю, у меня есть отдельный пост - «Не надо думать лишнего». Судя по всему, мой мозг по умолчанию работает с пониженной точностью: я ловлю крупные формы, а фокусируюсь, только когда задача этого действительно требует.

СДВГ как сломанный регулятор

У меня есть знакомые с СДВГ, и в этой картине их поведение читается неожиданно чётко. Сразу оговорюсь: я не невролог, ничего здесь не доказываю и диагнозов не объясняю - просто предлагаю взглянуть под таким углом.

СДВГ под этим углом выглядит как регулятор, у которого сломалась плавность хода. У нейротипичного мозга переключение между уровнями детализации плавное и зависит от контекста. Здесь оно дискретное и хаотичное.

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

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

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

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

В этой картине действие лекарств выглядит иначе, чем привычное «усиление внимания»: они возвращают регулятору плавность хода.

Что я бы сделал в архитектуре

Если мозг умеет огрублять и заострять отдельные области на ходу, это можно перетащить обратно в машины.

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

Сегодня похожую задачу решает смесь экспертов (MoE): модель нарезана на экспертов с жёсткими краями, заданными при обучении, и роутер выбирает, каких открыть. На стыке двух экспертов получается обрыв.

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

Ахахахах да это же диффузия

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

В голове всё сложилось за секунду, я успел только записать: «ахахахах да это ж как в диффузионных моделях».

Диффузионные модели - это Stable Diffusion и вся современная генерация картинок. Совпадение не один в один, где расходится, объясню, но ход тот же: от грубого к тонкому, с регулятором качества по пути.

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

Многое из нащупанного находит здесь параллель. Огрубление - подмешивание шума, заострение - проявление. «Думай быстрее или глубже» - число шагов проявления. Инструкция в запросе - усиление нужного направления при проявлении. Мостики между экспертами - дорисовка выбранного куска, когда остальное не трогают.

Теперь о том, где расходится. Я говорю про точность самих чисел модели и был уверен, что переключать её на ходу никто не умеет. Умеют. В MoBiQuant роутер для каждого слова решает, сколько бит веса читать, от 2 до 6. В QuickSilver слова, в которых модель не уверена, держатся в высокой точности, а уверенные ужимаются до 2 бит: мои воронки и плато, переведённые в биты. D²MoE подбирает битность каждому эксперту под слово и так соединяет регулятор с экспертами. Опять на полке, и смешнее прежнего: я искал и не нашёл, хотя QuickSilver лежал в открытом доступе с июня 2025 года. Диффузия же уточняет результат по шагам, не меняя модель: узор общий, конструкции разные.

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

Второе попадание - совсем другая область

Дальше я полез проверять, где ещё этот принцип всплывает независимо.

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

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

Что осталось

Часть моей картины уже построена и описана строго. Заодно появляется объяснение, почему диффузионные модели так хороши: возможно, они реализуют естественный механизм регуляции точности.

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

Отсюда у меня целый ряд гипотез, каждая опирается на предыдущую:

  • у каждой темы в весах свои области, и занимают они малую часть сети;
  • у родственных тем эти области перекрываются сильнее, чем у далёких;
  • если раздать точность по областям вопроса, модель при той же памяти ответит лучше, чем огрублённая ровно;
  • главная: черновик, прочитанный в основном грубо и уточнённый с более точными областями, в итоге обгонит ту же модель в полной точности там, где есть несколько заходов, у агента или в рассуждении модели;
  • самая дальняя: сеть, которую с самого начала учат с такими областями, обойдёт классическую смесь экспертов на тех же данных и не будет держать в памяти больше.

Замер, с которого всё началось, стоит в этом ряду сбоку: как сжимают знание просьба ответить короче и огрубление весов. Ни одна из гипотез за день не проверяется.

UPD, октябрь 2026. Через четыре месяца я решил проверить сказанное сам. Собрал стенд на Gemma 4 E2B, записал гипотезы и предсказания до первого прогона и веду исследование открыто: FoQLens, код на GitHub.

Заодно нашёл литературу. Как я и предполагал, область только начинают изучать: ближайшие работы вышли в 2025-2026 годах. Самое удивительное: под моим углом на задачу никто не смотрит, поэтому решают близкую, но другую задачу - сэкономить вычисления при заданном бюджете, выбирая разрядность целых слоёв:

  • DQT (2025) - маленькая сеть, обученная вместе с моделью, выбирает разрядность каждого слоя ResNet под картинку; младшие разрядности получаются сдвигом из одной хранимой 8-битной копии.
  • DynaQuant (AAAI 2026) - то же для сетей сжатия изображений: обученный селектор назначает разрядность слою по содержимому картинки.
  • InfoQ (AAAI 2026) - распределение статическое, одно на все входы: чувствительность слоя меряют по тому, сколько информации теряют слои ниже по сети, и раскладывают биты решателем.

Эффекта они не искали. Они оптимизировали квантование, то есть по сути саму сеть: InfoQ находит одну карту сети на все входы, DQT и DynaQuant подстраивают её под вход по целым слоям. Общая карта сети реальна и правда экономит. Я отобрал 103 трудных вопроса, которые модель в 8 битах знает, а та же модель, ровно сжатая до 4 или 6 бит, уже нет; от несжатой 8-битная почти не отличается. Та же модель, ровно сжатая до 4 бит, занимает 56% её памяти и не отвечает правильно ни на один. Общая карта занимает меньше, 51% памяти, и отвечает правильно на 54%. То есть вывод InfoQ я подтвердил независимо и другим способом: они меряют, сколько информации теряют слои свёрточной сети, а я - насколько падает правдоподобие ответа языковой модели. Мне удалось найти карты вопросов: карта самого вопроса занимает 52% памяти, по объёму как стандартное сжатие до 4 бит и даже чуть меньше, и отвечает правильно на 82% вопросов. Дальше буду искать, как рассчитывать такую карту на лету, по самому вопросу.

Ни одна из них не работает с языковыми моделями, не заглядывает внутрь слоя и не читает смысл запроса. Работы про языковые модели, MoBiQuant, QuickSilver и DP-LLM, тоже решают на целом слове или слое. Работ, где точность раздают областям весов внутри слоя по смыслу запроса, я не нашёл. Поиск не исчерпывающий, но если так и есть, исследование может претендовать на научную новизну.