Что такое Llama.cpp

Обновлено и опубликовано Опубликовано:

Llama.cpp —
простыми словами

библиотека на языке C/C++ для запуска больших языковых моделей (LLM) на обычном железе — без обязательной мощной видеокарты.

Проект написал Георги Герганов весной 2023 года. Изначально задача была простой — запустить модель LLaMA на Macbook без дискретной видеокарты, используя только процессор Apple Silicon. Позже библиотека выросла в универсальный движок инференса, вокруг которого построены десятки других инструментов (в том числе Ollama).

В основе — собственный формат хранения моделей GGUF. Модель заранее квантуют — сжимают веса до 4-8 бит вместо стандартных 16 или 32. Это уменьшает размер файла модели и требования к памяти, ценой небольшой потери точности ответов.

Это делает llama.cpp удобным для локальных чат-ботов, офлайн-инференса, встраивания LLM в приложения и RAG-пайплайнов.

Установка не требует сложных зависимостей. Мы можем склонировать репозиторий и собрать проект несколькими командами:

git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp && make

* кроме сборки из исходников, есть готовые бинарники в релизах на GitHub, пакет через Homebrew (macOS/Linux) и официальный Docker-образ — для новичка это проще, чем сборка через make.

Ключевые особенности:

  • Работа на CPU. Модель запускается даже без видеокарты — расчёты идут на процессоре.
  • Поддержка GPU-ускорения. При наличии видеокарты часть слоёв модели можно вынести на неё — через CUDA, Metal, Vulkan или ROCm.
  • Квантование. Веса модели сжимаются до 4-8 бит, что снижает требования к оперативной памяти в разы.
  • Кроссплатформенность. Собирается на Linux, Windows и macOS, работает на ARM-процессорах, включая Raspberry Pi.
  • Формат GGUF. Единый формат файла модели, который понимают и llama.cpp, и построенные на нём инструменты.
  • Серверный режим. Встроенная утилита llama-server поднимает HTTP-сервер с API, совместимым с OpenAI — модель можно использовать так же, как облачную.

Часто llama.cpp сравнивают с Ollama, который использует её в качестве движка под капотом, но добавляет свой слой поверх:

  • Требует больше ручных настроек — выбор квантования, параметров запуска, сборки под конкретное железо.
  • Не скачивает модели автоматически — файл GGUF нужно найти и загрузить самостоятельно, а в Ollama это делает одна команда.
  • Даёт больше гибкости в параметрах инференса и работает быстрее при точной настройке под железо.

Проект распространяется по лицензии MIT — использовать и модифицировать можно свободно, включая коммерческие проекты.



Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

Sharepoint   Термопаста   OpenSearch   Кулер     Ping   1С:Предприятие   NFS   Kafka   StarRocks DB   HTTP   Squid   IPerf   Keepalived   LLM   WPS   DNS   VideoUnion   IIS   BIND  
.....

Реклама