ggml-org/llama.cpp

Инференс LLM на C/C++

Инференс⭐ 128 994C++последний релиз: v0.4.1
Открыть на GitHub ↗Сайт проекта ↗

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

llama.cpp — это легковесная библиотека на C/C++ для запуска больших языковых моделей (LLM) локально или в облаке с минимальными зависимостями.

Зачем нужен

Инструмент обеспечивает высокоскоростной инференс LLM на широком спектре оборудования, включая Apple Silicon, NVIDIA, AMD и CPU, за счет оптимизаций под конкретные архитектуры и квантования. Он полезен для разработчиков, которым нужен быстрый способ развернуть LLM-сервер или интегрировать модели в приложения без тяжелых фреймворков.

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

  • Запуск LLM-сервера с OpenAI-совместимым API для использования в других приложениях.
  • Локальный инференс моделей прямо из браузера с использованием WebGPU.
  • Интеграция LLM в IDE (VS Code, Vim/Neovim) для автодополнения кода (FIM).
  • Обработка мультимодальных данных (текст + изображения) через llama-server.
  • Миграция и управление кэшем моделей Hugging Face в стандартных директориях.

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

  • Поддержка квантования от 1.5-bit до 8-bit для снижения потребления памяти и ускорения работы.
  • Нативная оптимизация под Apple Silicon (Metal, Accelerate), x86 (AVX/AMX), RISC-V и GPU (CUDA, HIP, Vulkan, SYCL).
  • Гибридный инференс CPU+GPU для моделей, превышающих объем VRAM.
  • Встроенная поддержка мультимодальности и работа с форматом GGUF.
  • Отсутствие внешних зависимостей благодаря чистой реализации на C/C++.

👤 Кому подойдёт: разработчики, DevOps-инженеры, исследователи, работающие с LLM на разном оборудовании

Релизы

v0.4.1minorbreaking
🕐 6 дн назад · релиз на GitHub ↗

Поддержка Maple 20B-A1B, Tencent Hy 4, Spark2.5; обновление ggml v0.24.0; улучшена работа с JSON, чатами и сервером.

  • Added: Добавлена поддержка моделей Maple 20B-A1B, Tencent Hy 4 и Spark2.5.
  • Added: Обновлен ggml до версии v0.24.0.
  • Breaking: Удалены устаревшие флаги --mmap, --mlock, --direct-io в пользу --load-mode.
  • Fixed: Исправлено распределение KV-кэша для DeepSeek2, GLM-MoE и нормализация GDN.
  • Added: Улучшена обработка JSON-схем, чат-парсеров и добавлено логирование в JSONL.
v0.4.0majorbreaking
🕐 16 дн назад · релиз на GitHub ↗

llama.cpp 0.4.0: поддержка Qwen3.8-Flash-Next, Nemotron-3, ленивое чтение тензоров и редизайн API.

  • Added: Добавлена начальная поддержка архитектур Qwen3.8-Flash-Next и NVIDIA Nemotron-3-Puzzle-75B-A9B.
  • Added: Внедрено ленивое чтение тензоров (lazy tensor reading) для оптимизации использования памяти.
  • Breaking: Обновлены версии сессий/состояний для отслеживания токенов KV-ячеек, что требует миграции.
  • Added: Расширены возможности мультимодальности: добавлена поддержка видео и улучшена работа с DeepSeek-V4 и Gemma-4.
  • Added: В API добавлены новые параметры квантования и хелперы для инициализации мультимодальных моделей.
v0.3.0major
🕐 27 дн назад · релиз на GitHub ↗

llama.cpp 0.3.0: поддержка модели dots3-note, MTP для GLM-4.5-Air, тензорное разделение для DeepSeek 4 и обновление ggml.

  • Added: Добавлена поддержка мультимодельной модели dots3-note с новым типом KV-кэша DSA-ISWA.
  • Added: Реализована поддержка MTP (multi-token prediction) для модели GLM-4.5-Air.
  • Added: Для DeepSeek 4 добавлен режим тензорного разделения через флаг -sm tensor.
  • Fixed: Исправлен откат (rollback) при работе с несколькими последовательностями в DeepSeek 4.
  • Added: Обновлен ggml до v0.22.0 с улучшенным разделением тензоров и параллельной компиляцией Metal.
v0.2.0major
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.2.0: поддержка GraniteSWA, улучшение Metal/OpenCL/CUDA, исправления безопасности сервера и новые ядра для Intel/ARM.

  • Added: Добавлена поддержка моделей GraniteSWAForCausalLM и GraniteMoeSWAForCausalLM.
  • Added: Расширена поддержка квантования: новые ядра Q2_K и Q5_K ESIMD для Intel Arc, SME2 F32 для ARM.
  • Added: Сервер: модели скрыты из API при включенной аутентификации, добавлен пресет dedup-cache-models.
  • Fixed: Исправлены критичные ошибки в Metal (деquantization, FlashAttention), OpenCL (Adreno) и CUDA (tuning).
  • Added: Поддержка rope_set_offset для OpenCL, SYCL, WebGPU и Hexagon; улучшена работа с DSpark для LFM2.
b10545patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена критическая ошибка вычислений в Metal-ядре для некорректных размеров матриц, предотвращающая получение NaN.

  • Fixed: Исправлено неопределённое поведение в Metal mat-mat ядре: добавлена проверка границ K-измерения для предотвращения чтения за пределами памяти и получения NaN.
  • Added: Добавлены тесты для путей вычислений с K, не кратным 32, для проверки корректности обработки невыровненных данных.
  • Обновлены бинарные сборки для macOS, Linux, Windows, Android и openEuler, включая поддержку CUDA 13 и OpenVINO 2026.3.
b10509minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка ggml_rope_set_offset для CPU, Metal, CUDA и Vulkan, улучшена работа с позиционными кодировками.

  • Added: Реализована поддержка ggml_rope_set_offset для CPU, Metal, CUDA и Vulkan.
  • Added: Добавлены тесты для бэкендов операций и закрыты другие бэкенды.
  • Fixed: Исправлена работа с CUDA, удалена защита supports_op и исправлен clang-format для WebGPU.
  • Fixed: Удалена оптимизация на месте (inplace optimization) в реализации для Vulkan.
b10502minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз b10502: добавлена аттестация подписанных артефактов, обновлены сборки для Windows (CUDA 13, ROCm 7.14) и Linux (OpenVINO 2026.3, SYCL).

  • Added: Добавлена аттестация (attestation) для подписанных релизных артефактов.
  • Added: Добавлены сборки для Windows с поддержкой CUDA 13.3 и экспериментальной CUDA 13.4 (arm64).
  • Added: Добавлены сборки для Windows и Linux с поддержкой ROCm 7.14.
  • Added: Обновлены сборки для Linux и Windows с использованием OpenVINO 2026.3.
  • Added: Добавлены сборки для Linux с поддержкой SYCL (FP32 и FP16).
  • Fixed: Отключены сборки macOS Apple Silicon с KleidiAI и openEuler.
b10472patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка с определением доступной памяти для AMD APU в сборках HIP.

  • Fixed: Исправлено некорректное определение доступной памяти (UMA) для AMD APU в сборках HIP, что предотвращало ложное завышение ресурсов на системах с малым разделом.
b10456patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена оптимизация SYCL для квантованных копий, обеспечившая кратный рост пропускной способности на Intel Arc.

  • Fixed: Оптимизирован запуск квантованных копий в SYCL: количество потоков и блоков теперь пропорционально размеру квантования, что снижает перегрузку.
  • Added: Значительно увеличена производительность пути конвертации q4_0 в f32: на GPU Intel Arc 70 пропускная способность выросла с 20.21 до 158.19 ГБ/с.
  • Добавлены новые бинарные сборки для Windows (CUDA 13.3/13.4, ROCm 7.14), Linux (OpenVINO 2026.2.1, SYCL FP16/FP32) и macOS.
  • Deprecated: Отключены сборки для macOS Apple Silicon с KleidiAI, Ubuntu x64 ROCm 7.14 и openEuler.
b10453minor
🕐 1 мес назад · релиз на GitHub ↗

Выпуск b10453: оптимизация модели через удаление ggml_concat, добавлена поддержка CUDA 13 и OpenVINO 2026.2.1.

  • Fixed: Оптимизация модели: удалены некоторые операции ggml_concat.
  • Added: Добавлена поддержка CUDA 13.3 для Windows x64 и CUDA 13.4 (preview) для Windows arm64.
  • Added: Добавлены сборки с OpenVINO версии 2026.2.1 для Linux и Windows.
  • Added: Добавлены сборки с SYCL (FP32 и FP16) для Linux.
  • Added: Добавлена сборка для Ubuntu s390x (CPU).
  • Deprecated: Отключены сборки macOS Apple Silicon с KleidiAI, Ubuntu ROCm 7.14 и openEuler.
b10451patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена проверка границ данных LoRA-адаптеров в файле. Обновлены бинарные сборки для macOS, Linux, Windows, Android и UI.

  • Fixed: Добавлена проверка корректности границ данных LoRA-тензоров при загрузке из файла.
  • Added: Выпущены новые бинарные сборки для macOS (arm64, Intel), Linux (x64, arm64, s390x), Windows (x64, arm64) и Android (arm64).
  • Added: Доступны сборки с поддержкой CUDA 12.4, CUDA 13.3, ROCm 7.14, OpenVINO 2026.2.1, SYCL (FP32/FP16) и Vulkan.
  • Added: Обновлена версия UI и выпущен iOS XCFramework.
  • Deprecated: Сборки для macOS Apple Silicon с KleidiAI и Linux Ubuntu x64 (ROCm 7.14) временно отключены.
b10444minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка загрузки моделей-ассистентов MTP через --models-dir и улучшена их обработка.

  • Added: common: поддержка загрузки моделей-ассистентов MTP через флаг --models-dir
  • Added: common: строгая проверка префиксов для моделей MTP в пресетах
  • Added: common: улучшена обработка других типов черновых моделей (draft types)
  • Deprecated: common: удалена поддержка модели eagle3
b10437minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка моделей MiniMax-Text-01 и MiniMax-M1, включая конвертацию и шаблоны чата.

  • Added: Добавлена поддержка моделей MiniMax-Text-01 и MiniMax-M1 (конвертация, инференс, шаблоны чата).
  • Added: Реализована оптимизация вычислений и управление рекуррентным состоянием для архитектуры MiniMax.
  • Fixed: Исправлена обработка токенов с нулевыми эмбеддингами для корректной выборки в MiniMax-Text-01.
  • Fixed: Отключены тесты архитектуры MINIMAX_01 для бэкенда WebGPU из-за нестабильной работы.
b10434minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка параметра reasoning_effort для шаблонов чата и сервера, улучшена интеграция с API ответов.

  • Added: Добавлена поддержка параметра reasoning_effort в общие шаблоны чата и параметры генерации.
  • Added: Реализована передача reasoning_effort в Jinja-шаблоны с учетом специфичных для моделей преобразований.
  • Fixed: Исправлено чтение параметра reasoning_effort из тела запроса на сервере.
  • Added: Обеспечено сквозное прохождение контекста через функцию анализа для сохранения reasoning.
b10426minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз llama.cpp b10426: принудительный однопоточный режим для WASI, новые сборки для Windows (CUDA 13, ROCm 7.14) и Linux (OpenVINO 2026.2.1).

  • Fixed: Исправлена работа на WASI: теперь принудительно используется однопоточный режим.
  • Added: Добавлены сборки для Windows с поддержкой CUDA 13.3 и экспериментальной CUDA 13.4 (arm64).
  • Added: Выпущены бинарники для Linux с OpenVINO 2026.2.1 и ROCm 7.14.
  • Added: Доступны новые сборки для macOS (Intel/Apple Silicon), Ubuntu (arm64, s390x) и Android.
  • Сборки macOS с KleidiAI и openEuler временно отключены.
b10415minor
🕐 1 мес назад · релиз на GitHub ↗

В llama.cpp b10415 добавлена автодетекция типа модели для MTP.

  • Added: Добавлена автоматическая детекция типа модели для Multi-Token Prediction (MTP).
b10405patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена неточность вычислений FP на AMD RDNA3.5 за счёт отключения unsafe-оптимизаций в HIP-сборке.

  • Fixed: Убран флаг -funsafe-math-optimizations в HIP-сборках для обеспечения соответствия стандарту IEEE.
  • Fixed: Исправлено расхождение результатов greedy argmax при MTP-декодинге на архитектурах RDNA3.5.
  • Added: Добавлены бинарные сборки для Windows x64/arm64 с поддержкой CUDA 13 и ROCm 7.14.
  • Added: Обновлены сборки для Linux/Windows с поддержкой OpenVINO 2026.2.1 и SYCL (FP32/FP16).
  • Deprecated: Отключены сборки macOS Apple Silicon с KleidiAI и Ubuntu x64 с ROCm 7.14.
b10375patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено строгое разделение функций в чате для моделей Qwen, улучшена стабильность парсинга.

  • Fixed: Улучшено разделение bare-функций для моделей Qwen в режиме чата.
b10369minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка Pocket-TTS в MTMD с оптимизацией производительности на CUDA и CPU.

  • Added: Добавлена поддержка Pocket-TTS в MTMD с оптимизацией через GEMM + col2im.
  • Added: Производительность генерации кадра улучшена на 80% (CUDA) и 50% (CPU).
  • Added: В mmproj добавлены новые параметры: frames_after_eos и pad_short_text.
  • Breaking: Существующие файлы mmproj требуют конвертации для поддержки новых ключей.
b10361patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка загрузки EXAONE 4.5 из-за неверного порядка чтения гиперпараметров и обработки TENSOR_SKIP.

  • Fixed: Исправлена ошибка, из-за которой не активировалось скользящее окно (SWA) для модели EXAONE 4.5 из-за неправильного порядка чтения гиперпараметров.
  • Fixed: Устранена ошибка assert при инициализации моделей с MTP-головой, когда создавалась модель только из метаданных без буфера.
  • Added: Добавлены тесты для проверки порядка загрузки гиперпараметров в модели EXAONE 4.5.
  • Added: Добавлена поддержка Windows arm64 с CUDA 13.4 (превью-версия).
b10357minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз llama.cpp b10357: оптимизация OpenCL для FA, поддержка CUDA 13/13.4, ROCm 7.14, OpenVINO 2026.2.1 и новые сборки для Windows/Android.

  • Added: Оптимизация OpenCL: транспонирование K-плитки в локальной памяти для ускорения prefill-ядер FlashAttention.
  • Added: Добавлена поддержка CUDA 13 (v13.3) для Windows x64 и предварительная версия CUDA 13.4 для Windows arm64.
  • Added: Обновлены бэкенды: ROCm 7.14, OpenVINO 2026.2.1, SYCL (FP32/FP16) и OpenCL Adreno для Windows arm64.
  • Added: Выпущены новые сборки для Linux (Ubuntu arm64/s390x CPU), Android (arm64) и macOS (Intel/Apple Silicon).
  • Deprecated: Сборки macOS Apple Silicon с KleidiAI отключены (ссылка на PR #23780).
b10344minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена поддержка Multi-Token Prediction (MTP) для модели Nemotron Nano.

  • Added: Реализована поддержка MTP для Nemotron Nano.
  • Added: Добавлены флаги mtp_flags для модели Nemotron.
b10333patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено отсутствие поддержки квантования Q5_0 в бэкенде SpaceMiT для CPU.

  • Fixed: В бэкенде SpaceMiT для CPU исправлено отсутствие диспетчеризации для квантования Q5_0.
b10331patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено определение рабочей директории для изолированных инструментов в сервере llama.cpp.

  • Fixed: Исправлено возвращение рабочей директории изоляции через get_info, если настроен runtime для инструментов.
b10330minor
🕐 1 мес назад · релиз на GitHub ↗

В llama.cpp b10330 добавлена оптимизация CUDA (fused rms_norm + mul + rope) и обновлены бинарники для Windows, Linux и macOS.

  • Added: CUDA: реализовано слияние операций rms_norm, mul и rope, а также view и set_rows для повышения производительности.
  • Added: Добавлены проверки диапазонов памяти для корректной работы слияния rms_norm/rope и set_rows в CUDA.
  • Added: Обновлены списки доступных бинарных файлов для macOS, Linux, Windows, Android и openEuler, включая поддержку CUDA 13.3 и OpenVINO 2026.2.1.
  • Fixed: Добавлен тестовый случай с broadcast weight для проверки корректности работы rms_norm_mul_rope.
  • Deprecated: Сборка macOS Apple Silicon с KleidiAI отключена (disabled).
b10327patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка в количестве потоков и блоков в ядрах копирования квантованных данных для CUDA.

  • Fixed: Исправлено неверное количество потоков и блоков в ядрах копирования квантованных данных для CUDA.
  • Added: Добавлен тест для проверки случая с неравномерным размером блока при копировании.
  • Обновлены сборки для macOS, Linux, Windows, Android и iOS, включая поддержку CUDA 13.3 и OpenVINO 2026.2.1.
b10321patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка вычисления NORM/RMS_NORM на Metal при нестандартных длинах строк, влияющая на точность вычислений.

  • Fixed: Исправлен баг в Metal-бэкенде: NORM и RMS_NORM теперь корректно обрабатывают длины строк, не кратные размеру simdgroup, предотвращая потерю частичных сумм.
  • Fixed: Оптимизировано распределение потоков: размер threadgroup округляется вверх до целого числа simdgroup, что сохраняет эффективность и не увеличивает количество пустых потоков.
  • Added: Добавлены тесты для NORM и RMS_NORM с нестандартными размерами (33, 132, 260), охватывающие как скалярный, так и векторизованный пути вычислений.
  • Выпущены бинарные сборки для macOS, Linux, Windows, Android и iOS с поддержкой CPU, CUDA, Vulkan, ROCm, OpenVINO и SYCL.
b10299patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка компиляции Metal-ядра на macOS/iOS, устраняющая проблему с инициализацией матричных массивов.

  • Fixed: Исправлена ошибка компиляции в Metal (MSL), связанная с отсутствием конструктора по умолчанию для массивов матричных типов в threadgroup.
b10297patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка с пустым ответом в эндпоинте /cors-proxy сервера llama.cpp.

  • Fixed: Исправлена ошибка, приводившая к пустому ответу при запросах к /cors-proxy.