Официальный фреймворк Microsoft для инференса 1-битных (тернарных, 1,58-битных) LLM на CPU и GPU, созданный на базе llama.cpp.
OpenNMT/CTranslate2
Библиотека на C++ и Python для быстрого запуска моделей Transformer, таких как Whisper, Llama и NLLB, с меньшим расходом памяти благодаря квантованию и оптимизированным ядрам.
- Звёзды
- 4,716
- Форки
- 547
- Открытые issues
- 281
- Последний коммит
- вчера
Что это?
CTranslate2 — библиотека на C++ и Python для инференса моделей Transformer. Она использует собственную среду выполнения с оптимизациями, такими как квантование весов, объединение слоёв и изменение порядка элементов в батче, чтобы сократить задержки и расход памяти как на CPU, так и на GPU.
Библиотека поддерживает модели encoder-decoder (например, NLLB, M2M-100, T5 и Whisper), decoder-only (например, GPT-2, GPT-J, Llama, Mistral, Gemma и Qwen2) и encoder-only (BERT, DistilBERT и XLM-RoBERTa). Сначала модели нужно преобразовать в оптимизированный формат CTranslate2. Для этого доступны конвертеры из OpenNMT-py, OpenNMT-tf, Fairseq, Marian, OPUS-MT и Hugging Face Transformers.
Библиотека работает на процессорах x86-64 и ARM64 с такими бэкендами, как Intel MKL, oneDNN, OpenBLAS, Ruy и Apple Accelerate. Она предоставляет API для Python и C++ и требует минимум зависимостей.
Ключевые возможности
- 01Поддерживает квантование весов в FP16, BF16, INT8, INT16 и AWQ INT4.
- 02Работает на CPU и GPU, включая параллельную и асинхронную обработку батчей на нескольких GPU или ядрах.
- 03Автоматически выбирает наборы инструкций CPU, например AVX и AVX2, во время выполнения.
- 04Поддерживает тензорный параллелизм, позволяющий распределять очень большие модели между несколькими GPU.
- 05Предоставляет API для Python и C++ с расширенными возможностями декодирования, например дополнением префикса и генерацией альтернативных вариантов.
Сценарии использования
- Развёртывание моделей машинного перевода с меньшими задержками и расходом памяти, чем при использовании универсальных фреймворков.
- Запуск распознавания речи Whisper или LLM семейства Llama на CPU- и GPU-серверах.
- Развёртывание квантованных моделей Transformer на устройствах с ARM или оборудовании Apple.
- Подключение OpenAI-совместимого веб-сервера, чтобы предоставлять доступ к моделям CTranslate2 через привычный API.
Быстрый старт
- 1
Установите пакет Python с помощью pip
pip install ctranslate2 - 2
Загрузите преобразованную модель и запустите перевод или генерацию на Python
Что важно знать
- Перед использованием модели необходимо преобразовать из поддерживаемого фреймворка в формат CTranslate2.
- Для поддержки GPU AMD ROCm требуются специальные wheel-файлы со страницы релизов.
Темы
Частые вопросы
- Что такое CTranslate2?
- Библиотека на C++ и Python для быстрого запуска моделей Transformer, таких как Whisper, Llama и NLLB, с меньшим расходом памяти благодаря квантованию и оптимизированным ядрам. CTranslate2 — библиотека на C++ и Python для инференса моделей Transformer. Она использует собственную среду выполнения с оптимизациями, такими как квантование весов, объединение слоёв и изменение порядка элементов в батче, чтобы сократить задержки и расход памяти как на CPU, так и на GPU.
- CTranslate2 можно использовать бесплатно? Какая у него лицензия?
- CTranslate2 распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- CTranslate2 всё ещё поддерживается?
- Активно поддерживается. Последний коммит в CTranslate2 — 21 окт. 2026 г..
- Для чего можно использовать CTranslate2?
- Развёртывание моделей машинного перевода с меньшими задержками и расходом памяти, чем при использовании универсальных фреймворков. Запуск распознавания речи Whisper или LLM семейства Llama на CPU- и GPU-серверах. Развёртывание квантованных моделей Transformer на устройствах с ARM или оборудовании Apple. Подключение OpenAI-совместимого веб-сервера, чтобы предоставлять доступ к моделям CTranslate2 через привычный API.
- Как установить CTranslate2?
- Установите пакет Python с помощью pip: pip install ctranslate2 Загрузите преобразованную модель и запустите перевод или генерацию на Python
- Где скачать CTranslate2?
- Исходный код и инструкции по установке — на GitHub: https://github.com/OpenNMT/CTranslate2
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Форк llama.cpp с упором на скорость инференса на CPU, дополнительными типами квантования и функциями для локального запуска LLM в формате GGUF.
Движок инференса LLM на Rust с API, совместимыми с OpenAI и Anthropic, квантованием, мультимодальными моделями и инструментами для агентов.
Библиотека на базе PyTorch для квантования, разреженных моделей и обучения в формате float8 — для обучения моделей и инференса.
Python-фреймворк для сжатия нейросетей с помощью квантования, прореживания и разреживания, ускоряющий инференс в OpenVINO, PyTorch и ONNX.
Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.