← Все статьи
2026-04-22 10:02 · 🌐 СНГ (tech/AI)

AI-forensics: как разобрать квантованную нейросеть до кодов весов

Разработчик из СНГ перенёс методологию криптоанализа подписей Schnorr в работу с квантованными LLM — и построил pipeline, который делает отдельные слои нейросети наблюдаемыми, патчируемыми и проверяемыми без переобучения.

AI-forensics: как разобрать квантованную нейросеть до кодов весов

На Хабре вышла редкая по плотности техническая статья: автор описал, как взял квантованную MLX-модель gpt-oss-20b-TurboQuant-MLX-8bit и применил к ней ту же дисциплину, что раньше использовал для разбора протоколов MuSig2/Schnorr — нормализацию, формализацию, локальную верификацию. Не fine-tuning, не prompt engineering. Exact AI-forensics pipeline: мост к .safetensors, захват BF16-активаций, целочисленная оптимизация кодов, holdout-валидация, smoke-check против реального MLX-runtime.

Контекст

Квантизация — главный инструмент, позволяющий запускать 20B+ параметров на потребительском железе. Модель в 8-bit формате занимает в два-четыре раза меньше памяти, чем в float16. MLX — фреймворк Apple для ML на Apple Silicon — делает такие модели доступными буквально на ноутбуке. Но у квантизации есть цена: .safetensors-контейнер превращается в непрозрачный блоб, где uint8-коды, BF16-масштабы и смещения перемешаны так, что стандартные инструменты не дают прямого доступа к точной внутренней механике слоёв.

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

Автор пришёл к AI-forensics именно из криптоанализа. Там он научился разбирать Schnorr/MuSig2 не как «протокол, которому мы доверяем», а как систему affine-структур с проверяемой геометрией. Оказалось, что тот же ход — перейти от «верим выводу» к «наблюдаем внутреннюю линейную механику» — работает и для квантованных нейросетей.

Аналитика

Главная ценность подхода — смена вопроса. Обычный fine-tuning отвечает: «как сделать модель в среднем лучше на задаче?» AI-forensics отвечает на другое: «что конкретно делает этот слой, как он устроен в exact-представлении, и можно ли исправить его локально, не теряя контроля над каждым шагом?» Это другой уровень доступа — не через поведение модели, а через её внутреннюю линейную алгебру.

Результаты по двум слоям показательны именно в контрасте. Слой q_proj оказался структурно «жёстким»: без повторов блоков, без дешёвых симметрий. Система доказала, что без внешнего эталона (реальных runtime-активаций) оптимум тривиален — менять нечего. Это математически строгий вывод, а не «не получилось». Для router-слоя всё иначе: улучшение на train-shard перенеслось на holdout с коэффициентом порядка 0.99, что исключает случайное попадание. Финальный smoke-check выявил расхождение между offline-математикой и реальной MLX-семантикой — и это тоже полезный результат: система умеет обнаруживать момент, когда красивая формула расходится с реальным исполнением.

Для индустрии это указывает на перспективное направление: вместо переобучения всей модели — хирургическая диагностика и точечная коррекция отдельных слоёв. Дешевле, быстрее, проверяемо. По мере роста числа локально запускаемых моделей (edge inference, on-device LLM) такие инструменты станут нормой — так же, как сейчас нормой является профилировщик для любого серьёзного бэкенда. Примечательно, что методология пришла не из MLOps, а из криптографии: это говорит о том, что самые сильные инструменты для работы с AI сейчас появляются на стыке дисциплин.

Кейсы применения в бизнесе

B2B-SaaS стартап с локальным LLM-ядром. Если вы деплоите квантованную модель внутри продукта — для классификации, роутинга запросов, генерации — AI-forensics pipeline позволяет аудировать конкретные слои на вашем domain-трафике. Вместо «модель кажется хуже после квантизации» — точный диагноз: какой слой, какой блок, насколько отклонение. Это сокращает время отладки с недель до часов и даёт аргументы для внутреннего ревью.

Корпорация с требованиями compliance. Локальные модели часто нужны именно потому, что данные не должны покидать контур. Forensics-подход позволяет верифицировать, что квантованная копия модели ведёт себя предсказуемо на внутренних данных, — и документировать это через holdout validation. Это аргумент для регуляторной отчётности и внутреннего аудита: не «мы доверяем модели», а «мы измерили отклонение на репрезентативной выборке».

SMB и локальный бизнес в КР/СНГ. Сценарий: вы скачиваете open-source квантованную модель и используете её для аналитики или генерации контента. Методология AI-forensics учит задавать правильный вопрос: не «хорошо ли модель отвечает?», а «где именно модель теряет качество и можно ли это исправить без полного переобучения?» Даже без глубокого MLOps-стека это понимание улучшает решения о выборе модели и её конфигурации.

Кейсы в личной жизни

Разработчик, работающий с локальными LLM. Если вы запускаете модели через MLX, Ollama или llama.cpp, методология из статьи даёт конкретный инструментарий: читать .safetensors на уровне кодов, захватывать реальные активации слоёв, строить calibration cache. Даже частичная реализация — только аудит без патча — даёт гораздо лучшее понимание того, почему модель ведёт себя именно так на ваших данных.

ML-инженер или исследователь. Подход с constrained integer optimization для коррекции квантованных кодов — это готовая исследовательская гипотеза: применить к другим архитектурам (Qwen, DeepSeek, Mistral), другим типам квантизации (GGUF, AWQ), другим слоям. Holdout validation как обязательный элемент pipeline — методологически строгий минимум, который стоит брать за личный стандарт.

Студент или autodidact в AI. Статья показывает ценный паттерн мышления: строгие формальные аналогии между доменами. Математика аффинных структур из криптографии переносится в нейросети без потери точности. Разобрать математическую модель квантованного слоя из статьи — отличная практическая задача на понимание того, что на самом деле происходит внутри «магической» модели, до уровня uint8-кодов и BF16-масштабов.

Как применить сегодня

  • Установите Python-библиотеку safetensors и откройте любую локальную модель: прочитайте raw-тензор одного слоя, посмотрите на dtype и форму. Это первый шаг к тому, чтобы перестать воспринимать модель как чёрный ящик.
  • Соберите calibration cache из 10–20 репрезентативных примеров вашей задачи и захватите входные/выходные активации конкретного слоя — даже без патча это даёт диагностическую картину расхождений.
  • Переключите метрику оценки квантизации с «смотрю на финальный вывод» на MSE между float16 и квантованным выходом для конкретных слоёв на вашем domain-трафике.
  • Применяйте принцип holdout к любым экспериментам с моделями: выделяйте 20% calibration-примеров как holdout и проверяйте, переносится ли эффект. Улучшение только на train — не улучшение.
  • После любого изменения весов перечитывайте файл и сравнивайте с тем, что посчитали offline. Расхождение — это информация о том, как среда исполнения интерпретирует данные, а не ошибка пайплайна.
← Все статьи