Conoce a Gorilla LLM aumentado con API de UC Berkeley y Microsoft supera a GPT-4, Chat-GPT y Claude.

Gorilla LLM augmented with UC Berkeley and Microsoft API surpasses GPT-4, Chat-GPT, and Claude.

El modelo está mejorado con las APIs de Torch Hub, TensorFlow Hub y HuggingFace.

Recientemente, empecé una newsletter educativa centrada en la inteligencia artificial, que ya cuenta con más de 160,000 suscriptores. TheSequence es una newsletter orientada a la ML sin tonterías (lo que significa sin exageración, sin noticias, etc.) que se tarda 5 minutos en leer. El objetivo es mantenerte actualizado con los proyectos de aprendizaje automático, los artículos de investigación y los conceptos. Por favor, pruébalo suscribiéndote a continuación:

Los avances recientes en los modelos de lenguaje grandes (LLMs) han revolucionado el campo, equipándolos con nuevas capacidades como el diálogo natural, el razonamiento matemático y la síntesis de programas. Sin embargo, los LLMs todavía enfrentan limitaciones inherentes. Su capacidad para almacenar información está limitada por pesos fijos, y sus capacidades de cálculo están limitadas a un gráfico estático y un contexto estrecho. Además, a medida que el mundo evoluciona, los LLMs necesitan ser reentrenados para actualizar sus conocimientos y habilidades de razonamiento. Para superar estas limitaciones, los investigadores han comenzado a dotar a los LLMs de herramientas. Al otorgar acceso a bases de conocimientos extensas y dinámicas y permitir tareas computacionales complejas, los LLMs pueden aprovechar las tecnologías de búsqueda, las bases de datos y las herramientas computacionales. Los principales proveedores de LLMs han comenzado a integrar complementos que permiten a los LLMs invocar herramientas externas a través de APIs. Esta transición desde un conjunto limitado de herramientas codificadas a mano para acceder a una vasta gama de APIs en la nube tiene el potencial de transformar los LLMs en la interfaz principal para la infraestructura informática y la web. Tareas como reservar vacaciones o organizar conferencias podrían ser tan simples como conversar con un LLM que tenga acceso a las APIs web de vuelos, alquiler de coches, hoteles, catering y entretenimiento.

Recientemente, los investigadores de UC Berkeley y Microsoft presentaron Gorilla, un modelo LLaMA-7B diseñado específicamente para llamadas a API. Gorilla se basa en técnicas de autorecuperación y ajuste fino de la recuperación para permitir que los LLMs seleccionen con precisión de un conjunto grande y en evolución de herramientas expresadas a través de sus APIs y documentación. Los autores construyen un gran corpus de APIs, llamado APIBench, raspando APIs de aprendizaje automático de los principales centros de modelos como TorchHub, TensorHub y HuggingFace. Usando autorecuperación, generan pares de instrucciones y APIs correspondientes. El proceso de ajuste fino implica convertir los datos a un formato de conversación de chat de agente de usuario y realizar un ajuste fino estándar de instrucciones en el modelo base LLaMA-7B.

Las llamadas a API a menudo vienen con limitaciones, lo que añade complejidad a la comprensión y categorización de las llamadas por parte de los LLMs. Por ejemplo, una solicitud puede requerir invocar un modelo de clasificación de imágenes con restricciones específicas de tamaño y precisión de parámetros. Estos desafíos destacan la necesidad de que los LLMs comprendan no sólo la descripción funcional de una llamada a API, sino también razonen sobre las limitaciones incrustadas.

El Dataset

El conjunto de datos centrado en la tecnología que tenemos en mano abarca tres dominios distintos: Torch Hub, Tensor Hub y HuggingFace. Cada dominio contribuye con una gran cantidad de información, arrojando luz sobre la naturaleza diversa del conjunto de datos. Torch Hub, por ejemplo, ofrece 95 APIs, proporcionando una base sólida. En comparación, Tensor Hub va un paso más allá con una extensa colección de 696 APIs. Por último, HuggingFace lidera el paquete con una impresionante cantidad de 925 APIs, convirtiéndose en el dominio más completo.

Para amplificar el valor y la utilidad del conjunto de datos, se ha emprendido un esfuerzo adicional. Cada API en el conjunto de datos va acompañada de un conjunto de 10 instrucciones meticulosamente elaboradas y adaptadas de manera única. Estas instrucciones sirven como guías indispensables tanto para fines de entrenamiento como de evaluación. Esta iniciativa asegura que cada API vaya más allá de la simple representación, permitiendo una utilización y análisis más robustos.

La Arquitectura

Gorilla introduce la noción de entrenamiento consciente del recuperador, donde el conjunto de datos ajustado a las instrucciones incluye un campo adicional con la documentación de API recuperada para referencia. Este enfoque tiene como objetivo enseñar al LLM a analizar y responder preguntas basadas en la documentación proporcionada. Los autores demuestran que esta técnica permite que el LLM se adapte a los cambios en la documentación de la API, mejora el rendimiento y reduce los errores de alucinación.

Durante la inferencia, los usuarios proporcionan indicaciones en lenguaje natural. Gorilla puede operar en dos modos: tiro cero y recuperación. En el modo de tiro cero, la indicación se alimenta directamente al modelo LLM de Gorilla, que devuelve la llamada a API recomendada para lograr la tarea u objetivo. En el modo de recuperación, el recuperador (ya sea BM25 o GPT-Index) recupera la documentación de API más actualizada de la base de datos de API. Esta documentación se concatena con la indicación del usuario, junto con un mensaje que indica la referencia a la documentación de la API. La entrada concatenada se pasa a Gorilla, que devuelve la API que se invocará. La sintonización de indicaciones no se realiza más allá del paso de concatenación en este sistema.

La síntesis de programas inductivos ha logrado éxito en varios dominios al sintetizar programas que cumplen con casos de prueba específicos. Sin embargo, cuando se trata de evaluar llamadas a API, depender únicamente de casos de prueba no es suficiente, ya que se vuelve difícil verificar la corrección semántica del código. Consideremos el ejemplo de la clasificación de imágenes, donde existen más de 40 modelos diferentes disponibles para la tarea. Incluso si lo reducimos a una familia específica, como Densenet, existen cuatro posibles configuraciones. En consecuencia, existen múltiples respuestas correctas, lo que dificulta determinar si la API utilizada es funcionalmente equivalente a la API de referencia a través de pruebas unitarias. Para evaluar el rendimiento del modelo, se realiza una comparación de su equivalencia funcional utilizando el conjunto de datos recolectado. Para identificar la API llamada por el LLM en el conjunto de datos, se emplea una estrategia de coincidencia de árboles AST (Árbol de Sintaxis Abstracta). Al verificar si el AST de una llamada de API candidata es un subárbol de la llamada de API de referencia, se vuelve posible rastrear qué API se está utilizando.

Identificar y definir alucinaciones plantea un desafío significativo. El proceso de coincidencia de AST se utiliza para identificar alucinaciones directamente. En este contexto, una alucinación se refiere a una llamada de API que no es un subárbol de ninguna API en la base de datos, invocando esencialmente una herramienta completamente imaginada. Es importante señalar que esta definición de alucinación difiere de la de invocar una API incorrectamente, lo que se define como un error.

La coincidencia de subárbol de AST desempeña un papel crucial en la identificación de la API específica que se llama dentro del conjunto de datos. Dado que las llamadas de API pueden tener múltiples argumentos, cada uno de estos argumentos debe coincidir. Además, considerando que Python permite argumentos predeterminados, es esencial definir qué argumentos se deben coincidir para cada API en la base de datos.

Gorilla en Acción

Junto con el artículo, los investigadores lanzaron una versión de Gorilla de código abierto. La versión incluye un cuaderno con muchos ejemplos. Además, el siguiente video muestra claramente parte de la magia de Gorilla.

gorilla_720p.mp4

Gorilla es uno de los enfoques más interesantes en el espacio de LLM con herramientas. Esperamos ver que el modelo se distribuya en algunos de los principales centros de aprendizaje automático en el espacio.

Jesus Rodriguez es actualmente CTO en Intotheblock. Es experto en tecnología, inversionista ejecutivo y asesor de startups. Jesús fundó Tellago, una firma de desarrollo de software galardonada enfocada en ayudar a las empresas a convertirse en grandes organizaciones de software aprovechando las nuevas tendencias de software empresarial.

Original. Repostead con permiso.