ggml README

The project's README from github.com/ggml-org/ggml. As one markdown file: README.md.

ggml

ggml logo

Tensor library for machine learning

License: MIT Release CI

Quick start

Build from source:

git clone https://github.com/ggml-org/ggml
cd ggml

mkdir build && cd build
cmake ..
cmake --build . --config Release -j 8

For a minimal, fully commented example (matrix multiplication), see examples/simple.

Description

The main goal of ggml is to be a simple, portable, and efficient tensor library for machine learning with minimal setup.

Documentation

Contributing

ggml (ggml-org/ggml)

Searching Database…

15.5K ·GitHub
Что это?ggml — простая библиотека тензоров на C/C++ для запуска моделей машинного обучения с минимальной настройкой, без внешних зависимостей и с поддержкой бэкендов для CPU, GPU, NPU и браузера. Это основной движок, на котором работают проекты вроде llama.cpp.
Это готовое приложение или библиотека, на которую я буду опираться?Это низкоуровневая библиотека тензоров на C/C++, а не приложение: её подключают к своему проекту или используют через инструменты вроде llama.cpp, которые встраивают её внутрь.
Как его собрать?ggml собирают из исходников; в репозитории есть минимальный, полностью прокомментированный пример перемножения матриц в examples/simple, с которого можно начать.
Нужны ли для работы внешние библиотеки?Нет — ggml написан на чистом C/C++ и не требует никаких внешних зависимостей.
Можно ли предлагать изменения прямо в этот репозиторий?Можно, но изменения в основную библиотеку ggml (включая систему сборки CMake) ожидаются через репозиторий llama.cpp: там их увидит больше людей, их лучше тестируют и рецензируют.
На каком железе и платформах он работает?ggml работает на процессорах x86, ARM, RISC-V, LoongArch, PowerPC и s390x, а также в WebAssembly; бэкенды поддерживают CPU, GPU, NPU и даже работу внутри браузера.
Какие форматы квантования поддерживает ggml?Поддерживается целочисленное квантование 2–8 бит, а также более новые форматы микроскейлинга MXFP4 и NVFP4, благодаря которым модели занимают гораздо меньше памяти.
Выделяет ли ggml память во время работы?Нет — он спроектирован так, чтобы не выделять память во время работы, что делает инференс предсказуемым и быстрым.
Что такое GGUF и где изучить внутреннее устройство?GGUF — формат файлов моделей в ggml; в документации также есть обзор «Introduction to ggml» и руководство «GGML tips & tricks» по работе с библиотекой.
Почему ggml часто упоминают вместе с llama.cpp?llama.cpp построен на ggml как на своём тензорном бэкенде, а мейнтейнеры ggml направляют предложения по основной библиотеке обратно в репозиторий llama.cpp для рецензирования.
Creator
ggml-org
Size
34.9 MB
Stars
15.5K
Age
4y
Commits · 90 Days