Об этом проекте
bitnet.cpp — это официальный фреймворк для вывода 1-битных LLM, таких как BitNet b1.58. Он предоставляет набор оптимизированных ядер, предназначенных для быстрого и без потерь вывода моделей с 1.58-битным представлением на CPU и GPU, при этом поддержка NPU отмечается как предстоящая. Проект основан на фреймворке llama.cpp, а его ядра построены на методах таблиц поиска, впервые применённых в T-MAC.
Ключевые возможности, описанные в README:
- Вывод на CPU для троичных/1-битных моделей, с заявленным ускорением от 1.37x до 5.07x на ARM CPU и от 2.37x до 6.17x на x86 CPU по сравнению с моделями полной точности, а также заявленным снижением энергопотребления на 55.4%-70.0% (ARM) и 71.9%-82.2% (x86).
- Возможность запуска модели BitNet b1.58 размером 100B на одном CPU со скоростью, сопоставимой с чтением человеком (5-7 токенов в секунду).
- Официальное ядро для вывода на GPU, выпущенное в мае 2025 года.
- Типы квантования, включая I2_S и TL1, с поддержкой ядер, зависящей от модели и архитектуры (x86 против ARM).
- Конвертация моделей из чекпоинтов .safetensors в GGUF с помощью вспомогательного скрипта.
- Утилиты для бенчмаркинга (e2e_benchmark.py) и генератор фиктивных моделей для неподдерживаемых раскладок.
- Режим чата/диалога для инструктивных моделей.
Среди официальных моделей выделяются BitNet-b1.58-2B-4T (2.4B параметров, обученная на 4T токенах), BitNet-embedding-0.6B и BitNet-embedding-270M. Поддерживаемые модели сообщества включают bitnet_b1_58-large, bitnet_b1_58-3B, Llama3-8B-1.58-100B-tokens, а также семейства Falcon3 и Falcon-E.
Для установки требуются Python 3.10+, CMake 3.22+ и Clang 18+, рекомендуется использовать conda. Шаги сборки включают клонирование репозитория рекурсивно, установку зависимостей Python, загрузку модели и запуск setup_env.py с выбранным типом квантования. Вывод выполняется через run_inference.py с опциями для промпта, количества токенов, потоков, размера контекста, температуры и режима диалога.
В README также есть FAQ, охватывающий распространённые проблемы сборки, такие как ошибки std::chrono в llama.cpp и настройка clang в среде conda на Windows. Проект выпущен под лицензией MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.