AIKraft Agents

FareedKhan-dev/kimi-k3-in-c

Kimi K3 с 2.78 триллионами параметров, выполняющая inference на одном CPU в 8.24 ГБ ОЗУ. Портативный C99: без BLAS, без фреймворков, без GPU.

Инференс⭐ 10 785Cпоследний релиз: v1.1.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Это портативный движок инференса на C99 для запуска модели Kimi K3 (2.78 трлн параметров) на обычном CPU без использования GPU, фреймворков или BLAS.

Зачем нужен

Инструмент позволяет запускать сверхбольшие модели на машинах с ограниченным объемом оперативной памяти (от 8 ГБ), используя потоковую передачу данных с диска. Он полезен для демонстрации технических возможностей оптимизации или тестирования моделей в условиях жестких аппаратных ограничений.

Что можно реализовать

  • Запуск LLM на старых ноутбуках или устройствах с малым объемом RAM (8-32 ГБ)
  • Тестирование качества ответов модели без необходимости в GPU-кластере
  • Обучающие цели: изучение архитектуры инференса на уровне C99 без абстракций
  • Демонстрация работы Mixture-of-Experts (MoE) моделей с потоковой загрузкой экспертов

Ключевые возможности

  • Работа на CPU без GPU, BLAS и сторонних фреймворков
  • Потребление памяти от 8.24 ГБ (пиковое значение RSS)
  • Потоковая загрузка 1.45 ТБ маршрутизируемых экспертов с диска
  • Полная переносимость: код на C99, сборка через Makefile
  • Идентичность результатов: вывод байт-в-байт совпадает независимо от объема доступной RAM

👤 Кому подойдёт: разработчики, исследователи, энтузиасты AI, интересующиеся оптимизацией инференса и низкоуровневой архитектурой LLM

Релизы

v1.1.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Релиз v1.1.0: нативная поддержка Windows, режим ultra (8 ГБ), чат-формат XTML, ускорение MXFP4 и критические исправления безопасности.

  • Breaking: Формат файлов состояния (state) обновлен до v2 с контрольной суммой; старые файлы v2 больше не читаются, требуется перегенерация.
  • Added: Добавлен нативная сборка для Windows (MSYS2 MinGW-w64) и оптимизированные NEON-ядра для архитектуры ARM64.
  • Added: Реализован режим `--preset ultra` для полной 93-слойной модели с расходом памяти около 8 ГБ, протестирован на Jetson Orin Nano Super.
  • Added: Добавлен флаг `--chat` для работы в формате K3 XTML с поддержкой JSONL-истории, управления мышлением и параметров сэмплирования.
  • Fixed: Устранены критические уязвимости в парсере safetensors и JSON: переполнения целых чисел, выход за границы памяти и ошибки обработки тензоров.
  • Added: Ускорено выполнение MXFP4 matmul (в 1.6 раза) и добавлена параллельная загрузка trunk-слоев; по умолчанию используется число физических ядер.
v1.0.0major
🕐 3 мес назад · релиз на GitHub ↗

Релиз v1.0.0: ускорение inference до 8x, исправление ошибок и улучшение первого запуска модели Kimi K3.

  • Added: Внедрены слитые ядра matmul (fp32, bf16, MXFP4), снижающие вычисления на токен примерно в 8 раз.
  • Added: Добавлен режим `--preset auto` для автоматического выделения памяти под trunk и expert-cache.
  • Added: Реализован chunk-union prefill, сокращающий объем данных экспертов при генерации вдвое.
  • Added: Возобновление диалога через `--save-state` / `--load-state` работает в 3.9 раза быстрее.
  • Fixed: Исправлены ошибки первого запуска, сломанные скрипты и скрытые пути повреждения данных.