Por qué escribimos nuestros propios motores de inferencia en C y C++

Why we write our own C and C++ inference engines

Por qué escribimos nuestros propios motores de inferencia en C y C++

LocalAI explica por qué desarrolla 18 backends propios en C/C++ en lugar de envolver motores existentes como llama.cpp o vLLM. Un port de vLLM, vllm.cpp, logra un binario de 66 MiB frente a los 9,1 GiB de la instalación de Python, con rendimiento comparable en GPU y menor uso de memoria. Otros ports, como depth-anything.cpp, superan a PyTorch en CPU gracias a optimizaciones de host (caché de embeddings posicionales), mientras que face-detect.cpp y voice-detect.cpp priorizan la paridad exacta con las referencias para ser reemplazos directos. El método: convertir pesos primero, portar el grafo con pruebas de paridad, optimizar con perfilador y exponer una ABI C plana. El costo principal es el mantenimiento, y no todo se porta: los motores grandes y maduros se siguen envolviendo.

Un port que es rápido y ligeramente incorrecto no vale nada, y sin una compuerta por componente te enteras de que está mal meses después.

Más de este día

2026-08-03