NanoQuant v3: C++ фундамент для локального сжатия LLM
Автор пересобрал свой проект сжатия весов моделей на C++ с акцентом на низкоуровневые детали: int4-квантизацию, однобитное сжатие, упаковку в памяти, работу с GGUF без полной загрузки модели. Проект не требует CUDA, PyTorch или Docker — только CMake и компилятор C++20.
Полезно инженерам, которым интересна реальная имплементация сжатия LLM: как упакованы веса, как происходит mmap-загрузка, как устроена интеграция с llama.cpp/GGUF, без скрытых зависимостей и CUDA-only подхода. Автор явно разделяет сжатие, корректность и реальное ускорение.
Это аннотация к авторской статье. Мы не публикуем и не пересказываем чужие тексты целиком — полная версия у автора.
О чём статья
- Реализованы симметричная int4-квантизация (группами) и однобитная centroid-квантизация (по строкам), с прозрачной упаковкой на уровне нибблов и битов
- Демо на матрице 1024×1024: однобитный кодек даёт сжатие 30× (96.68%), int4 — 6.4× (84.38%), но автор подчёркивает, что это не универсальная метрика качества модели
- Включена инспекция GGUF-метаданных и карты тензоров без запуска инференса; конвертация и квантизация делегированы llama.cpp
- CPU — базовая реализация для проверки корректности, Metal — опциональный бэкенд; фокус на машинах с unified memory (Apple Silicon)
Никита Громов
Medium #llm
Читать оригинал
Инструменты из статьи
Ollamaбез VPN
Локальный запуск открытых LLM (Llama, Qwen, GLM) на своём железе. Бесплатно...
Доступ из РФ →
Комментарии