Los Large Language Models (LLM) son la base del funcionamiento de ChatGPT y Copilot. Son modelos extensos que utilizan miles de millones de parámetros y están entrenados gracias a inmensas cantidades de datos.

Los altos requisitos de memoria y de cálculo para entrenar los sistemas LLM suelen requerir el uso de aceleradores de gama alta.

La inferencia de LLM es un proceso en el que se utiliza un modelo de lenguaje para generar predicciones sobre el texto de entrada: se utiliza un modelo de lenguaje, como el generativo GPT (Generative Pretrained Transformer), para hacer predicciones sobre lo que es más probable que se añada al texto de entrada, según un método probabilístico.

En la práctica, un modelo de inferencia de LLM se entrena utilizando grandes cantidades de textos para poder entender las reglas lingüísticas y las co-ocurrencias de palabras dentro de un mismo idioma. El modelo utiliza el conocimiento lingüístico ya recopilado para generar predicciones sobre lo que, usando un método probabilístico, es probable que se añada al texto de entrada. De esta manera se compone una respuesta más o menos creativa y con sentido.

FlexGen es un proyecto que tiene como objetivo reducir significativamente los requisitos de recursos para las operaciones de inferencia de LLM. Publicado en GitHub, FlexGen solo requiere Python y PyTorch, pero sobre todo puede utilizarse con una sola GPU, como una NVIDIA Tesla T4 o una GeForce RTX 3090. Sin embargo, es posible disfrutar de la máxima flexibilidad en la configuración de hardware y, eventualmente, combinar varias GPUs para mejorar el rendimiento. En tiempo de ejecución, FlexGen admite el paralelismo de la canalización distribuida para permitir la máxima escalabilidad cuando se conectan varias GPUs al sistema simultáneamente.

FlexGen puede utilizar varios modelos OPT (Open Pretrained Transformer) lanzados por Meta AI Research. Son un conjunto de modelos de aprendizaje automático pre-entrenados para el procesamiento del lenguaje natural utilizando técnicas de aprendizaje profundo.

Los modelos OPT de Meta AI Research se han lanzado con licencias abiertas: de esta manera, la comunidad de investigación puede utilizarlos y modificarlos libremente, contribuyendo así al desarrollo del procesamiento del lenguaje natural y las aplicaciones de inteligencia artificial en general. Por lo tanto, es posible utilizarlos como base para el desarrollo de aplicaciones avanzadas de procesamiento del lenguaje natural, para la generación automática de texto, el diálogo basado en chatbots, la traducción automática y mucho más.

FlexGen puede ser configurado de manera seniclla según los recursos de hardware disponibles, añadiendo memoria y cálculo a través de GPU, CPU y disco.

Escribiendo python3 chatbot.py --model y especificando el modelo a utilizar, inmediatamente se puede "chatear" con la inteligencia artificial de FlexGen, que se ejecuta completamente en local sin depender de ningún recurso externo.

FlexGen ha demostrado ser una solución efectiva para reducir los requisitos de recursos para las actividades de inferencia de LLM. Según los resultados de las pruebas publicados en el sitio web de Meta AI Research, FlexGen ha logrado niveles de rendimiento comparables a los de soluciones más costosas y con mayor capacidad de procesamiento.

Además, FlexGen soporta la flexibilidad en la implementación de soluciones avanzadas de procesamiento del lenguaje natural, gracias a la posibilidad de configurar el sistema según los recursos de hardware disponibles y utilizar los modelos OPT publicados por Meta AI Research.

Sin embargo, es importante destacar que el uso de soluciones de inteligencia artificial también conlleva cuestiones éticas y de seguridad que deben ser consideradas cuando se utiliza esta tecnología.