Сжатие LLM без потерь с использованием Codebook: сокращение оперативной памяти на 10-25% с помощью побитовой упаковки

Разработчик опубликовал код для концептуальной демонстрации сжатия LLM без потерь, который сокращает использование памяти на 10-25% за счет битовой общей упаковки индексированных весов. Техника жертвует некоторой скоростью вывода ради уменьшения размера модели, что позволяет запускать более крупные модели на оборудовании с ограниченной видеопамятью.
Как это работает
Разработчик начал с вопроса о том, сколько уникальных значений фактически существует в слоях LLM. Анализ показал, что хотя fp16 использует 16 бит, большинство моделей задействуют только около 12-13 бит уникальных значений. Упаковывая эти значения в блоки, техника достигает сжатия без потери точности.
Характеристики производительности
- Сокращение оперативной памяти: 10-25%+ на протестированных моделях
- Влияние на скорость: Скорость вывода примерно вдвое ниже в тестовых примерах
- Тестовое оборудование: NVIDIA P2200 (5 ГБ) и процессор, с разработкой обновлений для AMD MI50 (32 ГБ)
Детали реализации
Разработчик работал над этим проектом несколько недель с помощью ИИ-ассистентов для программирования, включая Claude, Qwen и Gemini. Репозиторий содержит как версию без потерь, так и версию с потерями/сбалансированную, хотя версия с потерями ещё не прошла всестороннего тестирования.
Разработчик предполагает, что этот подход к сжатию может служить способом измерения «компактности» модели — насколько эффективно она использует своё пространство параметров.
Доступность кода
Код для концептуальной демонстрации доступен на GitHub: https://github.com/bigattichouse/Codebook-Quantization
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

TestThread: Фреймворк с открытым исходным кодом для тестирования ИИ-агентов
TestThread — это фреймворк с открытым исходным кодом для тестирования ИИ-агентов, который запускает тесты на реальных конечных точках, предоставляет результаты прохождения/непрохождения с ИИ-диагностикой и включает такие функции, как семантическое сопоставление, обнаружение PII и интеграцию с CI/CD.
LTM: Протокол JSON для портативной памяти агентов между моделями и машинами
LTM — это JSON-протокол (Core Memory Packet) плюс CLI/сервер для сохранения контекста агента — тупиков, ограничений, следующих шагов — между моделями, редакторами и машинами. Пакеты размером 2–5 КБ, скрывают секреты и поддерживают MCP.

Фуллерены: уровень постоянной памяти с открытым исходным кодом для агентов кодирования сокращает количество токенов на 64% в SWE-bench
Fullerenes использует локальную базу знаний SQLite, построенную с помощью Tree-sitter, чтобы предоставить агентам кодирования вроде Claude Code постоянную память, сокращая использование токенов на 64% на SWE-bench и до 96.6% на внутренних тестах.

Claude Code v2.1.217: Лимит глубины под-агента, автозавершение эмодзи и критические исправления
Claude Code v2.1.217 ограничивает параллельные саб-агенты до 20, добавляет автозаполнение эмодзи, исправляет утечку памяти в выводе MCP и решает проблемы с автообновлением в Windows.