Repolode
OpenNMT

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. 1

    Instala el paquete de Python con pip

    pip install ctranslate2
  2. 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