Ejecutando Llama 2 en la CPU localmente para Preguntas y Respuestas de Documentos

Running Llama 2 locally on CPU for Document Q&A

Guía explicada claramente para ejecutar aplicaciones LLM de código abierto quantizadas en CPUs usando Llama 2, C Transformers, GGML y LangChain

Foto de NOAA en Unsplash

Los proveedores de modelos de lenguaje grandes (LLM) comerciales de terceros como el GPT4 de OpenAI han democratizado el uso de LLM a través de sencillas llamadas de API. Sin embargo, los equipos aún pueden requerir implementación autoadministrada o privada para inferencia de modelos dentro de los perímetros empresariales debido a diversas razones relacionadas con la privacidad de datos y el cumplimiento normativo.

La proliferación de LLM de código abierto nos ha brindado una amplia gama de opciones, reduciendo así nuestra dependencia de estos proveedores de terceros.

Cuando alojamos modelos de código abierto localmente en las instalaciones o en la nube, la capacidad de cálculo dedicada se convierte en un factor clave. Si bien las instancias de GPU pueden parecer la opción más conveniente, los costos pueden aumentar rápidamente sin control.

En esta guía fácil de seguir, descubriremos cómo ejecutar versiones quantizadas de LLM de código abierto en inferencia local de CPU para generación aumentada de recuperación (también conocida como preguntas y respuestas de documentos) en Python. En particular, aprovecharemos el último y altamente eficiente modelo de chat Llama 2 en este proyecto.

Contenido

(1) Introducción rápida a la quantización(2) Herramientas y datos(3) Selección de LLM de código abierto(4) Guía paso a paso(5) Próximos pasos

El repositorio de GitHub que acompaña a este artículo se puede encontrar aquí.

(1) Introducción rápida a la quantización

Los LLM han demostrado excelentes capacidades, pero se sabe que requieren mucho cálculo y memoria. Para gestionar sus desventajas, podemos utilizar la quantización para comprimir estos modelos y reducir la huella de memoria, acelerando la inferencia computacional y manteniendo el rendimiento del modelo.

La quantización es la técnica de reducir la cantidad de bits utilizados para representar un número o valor. En el contexto de los LLM, implica reducir la precisión de los parámetros del modelo almacenando los pesos en tipos de datos de menor precisión.

Dado que reduce el tamaño del modelo, la quantización es beneficiosa para implementar modelos en dispositivos con recursos limitados como CPUs o sistemas integrados.