Framework oficial de inferencia para CPU y GPU de Microsoft, destinado a modelos de lenguaje grandes de 1 bit (ternarios, de 1,58 bits) y basado en llama.cpp.
OpenNMT/CTranslate2
Biblioteca de C++ y Python que ejecuta modelos Transformer como Whisper, Llama y NLLB más rápido y con menos memoria gracias a la cuantización y los kernels optimizados.
- Estrellas
- 4,716
- Forks
- 547
- Issues abiertos
- 281
- Último commit
- hace 4 horas
¿Qué es?
CTranslate2 es una biblioteca de C++ y Python para ejecutar inferencias con modelos Transformer. Utiliza un runtime propio que aplica optimizaciones como la cuantización de pesos, la fusión de capas y el reordenamiento de lotes para reducir la latencia y el uso de memoria tanto en CPU como en GPU.
Admite modelos encoder-decoder (por ejemplo, NLLB, M2M-100, T5 y Whisper), modelos decoder-only (como GPT-2, GPT-J, Llama, Mistral, Gemma y Qwen2) y modelos encoder-only (BERT, DistilBERT y XLM-RoBERTa). Primero hay que convertir los modelos al formato optimizado de CTranslate2. Se incluyen conversores para OpenNMT-py, OpenNMT-tf, Fairseq, Marian, OPUS-MT y Hugging Face Transformers.
La biblioteca es compatible con procesadores x86-64 y ARM64 mediante backends como Intel MKL, oneDNN, OpenBLAS, Ruy y Apple Accelerate, y ofrece API de Python y C++ con pocas dependencias.
Funciones clave
- 01Admite la cuantización de pesos a FP16, BF16, INT8, INT16 y AWQ INT4.
- 02Se ejecuta en CPU y GPU, incluido el procesamiento de lotes en paralelo y asíncrono en varias GPU o núcleos.
- 03Selecciona automáticamente conjuntos de instrucciones de CPU como AVX y AVX2 durante la ejecución.
- 04Admite el paralelismo de tensores para distribuir modelos muy grandes entre varias GPU.
- 05Ofrece API de Python y C++ con funciones avanzadas de decodificación, como completar prefijos y generar salidas alternativas.
Casos de uso
- Servir modelos de traducción automática con menos latencia y consumo de memoria que con frameworks de propósito general.
- Ejecutar reconocimiento de voz con Whisper o LLM de la familia Llama en servidores con CPU o GPU.
- Implementar modelos Transformer cuantizados en hardware ARM o Apple.
- Integrarlo con un servidor web compatible con OpenAI para ofrecer acceso a modelos de CTranslate2 mediante una API conocida.
Inicio rápido
- 1
Instala el paquete de Python con pip
pip install ctranslate2 - 2
Carga un modelo convertido y ejecuta una traducción o generación en Python
Antes de usarlo
- Antes de usarlos, los modelos deben convertirse de un framework compatible al formato de CTranslate2.
- La compatibilidad con GPU AMD ROCm requiere wheels específicos de la página de versiones.
Temas
Preguntas frecuentes
- ¿Qué es CTranslate2?
- Biblioteca de C++ y Python que ejecuta modelos Transformer como Whisper, Llama y NLLB más rápido y con menos memoria gracias a la cuantización y los kernels optimizados. CTranslate2 es una biblioteca de C++ y Python para ejecutar inferencias con modelos Transformer. Utiliza un runtime propio que aplica optimizaciones como la cuantización de pesos, la fusión de capas y el reordenamiento de lotes para reducir la latencia y el uso de memoria tanto en CPU como en GPU.
- ¿CTranslate2 es gratuito? ¿Qué licencia tiene?
- CTranslate2 es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿CTranslate2 sigue mantenido?
- Mantenimiento activo. El último commit de CTranslate2 fue el 22 oct 2026.
- ¿Para qué puedo usar CTranslate2?
- Servir modelos de traducción automática con menos latencia y consumo de memoria que con frameworks de propósito general. Ejecutar reconocimiento de voz con Whisper o LLM de la familia Llama en servidores con CPU o GPU. Implementar modelos Transformer cuantizados en hardware ARM o Apple. Integrarlo con un servidor web compatible con OpenAI para ofrecer acceso a modelos de CTranslate2 mediante una API conocida.
- ¿Cómo se instala CTranslate2?
- Instala el paquete de Python con pip: pip install ctranslate2 Carga un modelo convertido y ejecuta una traducción o generación en Python
- ¿Dónde consigo CTranslate2?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/OpenNMT/CTranslate2
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un fork de llama.cpp centrado en acelerar la inferencia en CPU, con más tipos de cuantización y funciones para ejecutar LLMs GGUF localmente.
Motor de inferencia de LLM en Rust que ofrece API compatibles con OpenAI y Anthropic, cuantización, modelos multimodales y herramientas para agentes.
Biblioteca nativa de PyTorch para cuantización, sparsity y entrenamiento float8, tanto para entrenar modelos como para servir inferencias.
Framework de Python para comprimir redes neuronales mediante cuantización, pruning y sparsity, y acelerar la inferencia en OpenVINO, PyTorch y ONNX.
Biblioteca y servidor rápidos y eficientes en memoria para ejecutar y servir modelos de lenguaje grandes mediante una API compatible con OpenAI.