FareedKhan-dev/kimi-k3-in-c

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

Инференс⭐ 8 119Cпоследний релиз: v1.0.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.0.0major
🕐 1 мес назад · релиз на 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: Исправлены ошибки первого запуска, сломанные скрипты и скрытые пути повреждения данных.