Collage de pictogramas con nubes, diagramas circulares y gráficos

Fecha de publicación: 3 de julio de 2024
Colaboradores: Tim Mucci

GGUF versus GGML

El formato unificado generado por GPT (GGUF) es un formato de archivo que agiliza el uso y el despliegue de modelos de lenguaje de gran tamaño (LLM). GGUF está especialmente diseñado para almacenar modelos de inferencia y funcionar bien en hardware informático de nivel de consumidor.

Esto se logra combinando los parámetros del modelo (ponderaciones y sesgos) con metadatos adicionales para una ejecución eficiente. GGUF es claro, extensible, versátil y capaz de incorporar nueva información sin romper la compatibilidad con modelos más antiguos. GGUF es un desarrollo más reciente que se basa en los cimientos establecido por su formato de archivo predecesor, GGML.

GGUF es un formato binario diseñado explícitamente para la carga y el almacenado rápidos de modelos. Debido a que es compatible con varios lenguajes de programación como Python y R, GGUF aumentó la popularidad del formato. También admite el refinamiento, para que los usuarios puedan adaptar los LLM a aplicaciones especializadas y almacena plantillas de instrucciones para despliegues de modelos en todas las aplicaciones. Si bien GGML todavía está en uso, su soporte fue reemplazado por GGUF.

¿Cuál es la diferencia entre GGUF y GGML?

GGML fue el formato de archivo que precedió directamente a GGUF, creado por el desarrollador Georgi Gerganov. El nombre es una combinación de las iniciales de Gerganov (GG) y ML para aprendizaje automático. GGML era una biblioteca de tensores diseñada para un alto rendimiento en varias plataformas de hardware. También fue un primer intento de crear un formato de archivo para los modelos de inteligencia artificial GPT de OpenAI para facilitar el intercambio y la ejecución de modelos. GGML fue diseñado para ser inequívoco y contener toda la información necesaria para cargar un modelo.

GGML fue uno de los primeros esfuerzos por hacer accesibles grandes modelos lingüísticos en hardware estándar. Sin embargo, era limitado en términos de flexibilidad y extensibilidad. Esto significa que GGML necesitaba ajustes manuales y se enfrentaba a problemas de compatibilidad a medida que los usuarios agregaban nuevas funciones para solventar sus limitaciones.

GGUF aborda las limitaciones de GGML y permite agregar nuevas características mientras mantiene la compatibilidad con modelos más antiguos. Dado que GGUF elimina los cambios de última hora, facilita las transiciones a versiones más nuevas y admite una amplia gama de modelos, lo que la convierte en una solución integral. Convertir los modelos existentes a GGUF puede llevar mucho tiempo y, como con todos los formatos nuevos, los usuarios y desarrolladores deben acostumbrarse a sus detalles.

Conversión a GGUF

Huggingface es una plataforma impulsada por la compañía y la comunidad que proporciona herramientas y modelos para el procesamiento del lenguaje natural (NLP). Ofrecen una biblioteca de transformadores (el enlace se encuentra fuera de ibm.com), que incluye muchos modelos previamente capacitados que se pueden convertir al formato de archivo GGUF. Huggingface también admite el ajuste y el despliegue, lo que lo convierte en parte integral del ecosistema en torno a GGUF.

Los transformadores son un tipo de arquitectura de modelos que se convirtió en la columna vertebral del PNL moderno. GGUF permite almacenar y desplegar modelos basados en transformadores para aplicaciones que dependen de estas arquitecturas avanzadas.

Por qué es importante el GGUF

GGUF proporciona un formato firme, flexible y eficiente para los modelos de lenguaje. Aborda las limitaciones de los formatos anteriores, garantizando la compatibilidad con tecnologías y técnicas en evolución. Su mayor flexibilidad, rendimiento mejorado y soporte para marcos avanzados de cuantificación y despliegue lo convierten en una herramienta crítica para el futuro de la IA y el aprendizaje automático.

Las ponderaciones del modelo son los parámetros que aprende un modelo de aprendizaje automático durante el entrenamiento. GGUF almacena estos pesos de manera eficiente, lo que permite una carga e inferencia rápidas. Los métodos de cuantificación aplicados a las ponderaciones de los modelos pueden mejorar aún más el rendimiento y reducir el consumo de recursos.

La cuantificación, el proceso de convertir señales continuas en formatos digitales con menos valores posibles, desempeña un papel crucial en GGUF. La cuantificación mejora la eficiencia y el rendimiento, especialmente para hardware con recursos limitados. Al reducir el tamaño del modelo y mejorar la velocidad de inferencia, los modelos cuantificados requieren menos potencia computacional, lo que lleva a un menor consumo de energía. Esto hace que GGUF sea muy adecuado para su despliegue en dispositivos edge y plataformas móviles donde los recursos de energía son limitados.

Por ejemplo, una técnica de cuantificación específica que se emplea es GPTQ (Cuantificación precisa posterior al entrenamiento para transformadores generativos preentrenados). GPTQ reduce el tamaño y las necesidades computacionales de un LLM al convertir sus datos complejos en formatos más simples. Esto permite implementar LLM en dispositivos con menos memoria y capacidad de procesamiento.

GGUF también está diseñado para incorporar nuevas funciones sin comprometer la compatibilidad con una versión anterior. Esta capacidad permite agregar nuevos tipos de datos y metadatos, lo que hace que GGUF sea a prueba del futuro. A medida que evolucionan los modelos de aprendizaje automático, GGUF puede adaptarse a estos cambios, protegiendo la relevancia y la adaptabilidad a largo plazo.

El diseño de formato binario de GGUF mejora significativamente la velocidad de carga y almacenamiento de modelos, lo cual es particularmente vital para aplicaciones que requieren un despliegue e inferencia rápidos. Los servicios de conversión de idiomas en tiempo real y los sistemas de IA interactivos, por ejemplo, se benefician del manejo eficiente de archivos modelo de GGUF. Cuanto más rápido se pueda cargar y emplear un modelo, mejor será la experiencia del usuario en estas aplicaciones sensibles al tiempo.

GGUF destaca por su compatibilidad con técnicas avanzadas de ajuste como la adaptación de bajo rango (LoRA), la adaptación cuantificada de bajo rango (QLoRA) y la cuantificación adaptativa del peso (AWQ). Estas técnicas optimizan aún más el rendimiento del modelo y la utilización de los recursos.

Además, GGUF admite varios niveles cuantitativos, lo que proporciona flexibilidad para equilibrar la precisión y la eficiencia del modelo. Los esquemas de cuantificación comunes que son compatibles con GGUF incluyen:

  • Cuantificación de 2 bits: ofrece la compresión más alta, lo que reduce significativamente el tamaño del modelo y la velocidad de inferencia, aunque con un impacto potencial en la precisión.
  • Cuantificación de 4 bits: Equilibra compresión y precisión, haciéndola adecuada para muchas aplicaciones prácticas.
  • Cuantificación de 8 bits: proporciona una buena precisión con una compresión moderada, ampliamente empleada en diversas aplicaciones.

Los cuantos se refieren a los distintos niveles de cuantificación aplicados a los pesos del modelo, como la cuantificación de 2 bits, 4 bits u 8 bits.

Los modelos GGUF también emplean Compute Unified Device Architecture (CUDA), una plataforma de computación paralela e interfaz de programación de aplicaciones que permite que los modelos empleen GPU para tareas informáticas aceleradas. Esta capacidad mejora la eficiencia y velocidad computacional de los modelos de lenguaje. Finalmente, la integración de GGUF con Langchain, un marco para desarrollar y desplegar modelos de lenguaje, facilita el despliegue de modelos GGUF para que puedan usarse de manera efectiva en entornos y aplicaciones de desarrollo.

Modelos y casos de uso de GGUF
Modelo de lenguaje grande Meta AI (LLaMA)

Meta emplea GGUF para sus modelos LLaMA (Llama-2 y Llama-3), que están diseñados para tareas de procesamiento de lenguaje natural (NLP) que incluyen generación de texto, resumen y respuesta a preguntas. GGUF en LLaMA permite el despliegue en diferentes configuraciones de hardware, desde GPU de alto rendimiento hasta las CPU de consumo más comunes. Llama-3 es el modelo actual.

WebUI de generación de texto

Esta interfaz web genera texto por medio de LLM y emplea GGUF para el almacenamiento y la inferencia de modelos. La flexibilidad de GGUF permite a los usuarios cargar modelos grandes rápidamente para realizar tareas de generación de texto con una latencia mínima.

KoboldCpp

Un cliente popular para ejecutar LLM localmente, KoboldCpp adoptó GGUF para mejorar su rendimiento para los usuarios finales. Esto es especialmente beneficioso para aficionados e investigadores que requieren soluciones robustas y fáciles de usar para experimentar con LLM en computadoras personales.

Apoyo a la comunidad y al ecosistema

El desarrollo de GGUF está respaldado por una comunidad colaborativa. Se desarrollaron numerosas bibliotecas y herramientas para respaldar GGUF, lo que garantiza una amplia adopción e integración en varios flujos de trabajo de IA. Algunos de los actores clave en este ecosistema incluyen:

  • llama.cpp: Una biblioteca central que proporciona herramientas para trabajar con GGUF, incluidas utilidades de conversión y soporte para ejecutar modelos.
  • ctransformers: esta biblioteca admite la integración de modelos GGUF en diferentes entornos de programación, lo que facilita a los desarrolladores el uso de estos modelos en sus aplicaciones.
  • Interfaz de usuario web LoLLMS: una interfaz basada en la web que admite GGUF, lo que permite a los usuarios interactuar con los modelos a través de una interfaz fácil de usar.
Preparada para el futuro y para un impacto más amplio

La introducción de GGUF marca un cambio hacia formatos de modelos generativos más sustentables y adaptables. Su capacidad de soportar una amplia gama de modelos y configuraciones significa que no está limitado a casos de uso o hardware específicos. Esta versatilidad garantiza que GGUF pueda seguir satisfaciendo las necesidades de la comunidad de IA a medida que surgen nuevos avances.

Además, el énfasis de GGUF en la compatibilidad con una versión anterior minimiza las interrupciones durante las actualizaciones, lo que facilita a las organizaciones la transición a versiones más nuevas sin un tiempo de inactividad o reconfiguración significativos.

GGUF, al ser un formato abierto, se beneficia de las contribuciones colaborativas de la comunidad de código abierto, lo que ayuda en su desarrollo, mejora y adopción generalizada. Su adopción en proyectos de alto perfil como LLaMA y varias herramientas de IA subraya su importancia en la evolución continua de los modelos de lenguaje de gran tamaño. Al facilitar un despliegue de modelos más rápido, flexible y preparado para el futuro, GGUF desempeña un papel crucial en el avance de las capacidades de los sistemas de IA.

Soluciones relacionadas
Explorar IBM watsonx

La plataforma de datos e IA IBM watsonx incluyen tres componentes principales y un conjunto de asistentes de IA para ayudar a su organización a crear aplicaciones de IA personalizadas, gestionar todas las fuentes de datos y acelerar los flujos de trabajo de IA responsables.

Explorar IBM watsonx
Explore nuestros servicios de consultoría sobre IA

Descubra cómo los servicios de consultoría de IA de IBM pueden ayudar a su organización a diseñar, escalar e infundir IA en los procesos de negocio para lograr un mayor ROI, mejorar la experiencia del cliente y la eficiencia.

Servicios de consultoría en inteligencia artificial (IA)
Explore las soluciones de IA de IBM

La confianza en la IA se logra empleando la IA adecuada para el trabajo y capacitándola con los datos correctos. La IA también debe basarse en principios éticos. IBM ofrece soluciones de IA que pueden ayudar a las compañías a mejorar la productividad y el rendimiento.

Soluciones de inteligencia artificial (IA)
Dé el siguiente paso

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM® watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Reserve una demostración en vivo