Mejora el uso de herramientas: Modelos Amazon Nova

En el panorama tecnológico actual, los modelos de lenguaje grandes (LLM) han surgido como herramientas poderosas para el procesamiento del lenguaje natural. Sin embargo, su dependencia de datos de entrenamiento estáticos limita su capacidad para adaptarse a escenarios del mundo real. A medida que las industrias exigen cada vez más soluciones de IA capaces de tomar decisiones informadas, la integración de herramientas y API externas se ha vuelto primordial. La precisión con la que se utilizan estas herramientas es crucial para mejorar las capacidades de toma de decisiones y la eficiencia operativa de los agentes autónomos, allanando el camino para el desarrollo de flujos de trabajo agenticos sofisticados.

Este artículo profundiza en los aspectos técnicos del uso de herramientas utilizando modelos Amazon Nova a través de Amazon Bedrock. Además, explora varios métodos para personalizar estos modelos para lograr una mayor precisión en la utilización de herramientas.

Ampliando las capacidades de los LLM con el uso de herramientas

Los LLM han demostrado una notable competencia en una amplia gama de tareas de lenguaje natural. Sin embargo, su verdadero potencial se desbloquea a través de una integración perfecta con herramientas externas como API y marcos computacionales. Estas herramientas permiten a los LLM acceder a datos en tiempo real, realizar cálculos específicos del dominio y recuperar información precisa, mejorando así su confiabilidad y versatilidad.

Considere la integración de una API del clima, que permite a los LLM proporcionar pronósticos meteorológicos precisos y actualizados. De manera similar, una API de Wikipedia puede equipar a los LLM con la capacidad de acceder a un vasto repositorio de información, lo que les permite responder a consultas complejas con mayor precisión. En contextos científicos, herramientas como calculadoras y motores simbólicos pueden ayudar a los LLM a superar las imprecisiones numéricas, haciéndolos más confiables para cálculos complejos.

Al integrarse perfectamente con estas herramientas, los LLM evolucionan hacia sistemas robustos y conscientes del dominio capaces de manejar tareas dinámicas y especializadas con utilidad en el mundo real.

Modelos Amazon Nova y Amazon Bedrock

Los modelos Amazon Nova, presentados en AWS re:Invent en diciembre de 2024, están diseñados para ofrecer un valor excepcional en cuanto a precio y rendimiento. Estos modelos ofrecen un rendimiento de última generación en puntos de referencia clave de comprensión de texto, manteniendo al mismo tiempo la rentabilidad. La serie comprende tres variantes:

  • Micro: Un modelo solo de texto optimizado para uso en el borde, que ofrece un rendimiento ultraeficiente.
  • Lite: Un modelo multimodal que logra un equilibrio entre versatilidad y rendimiento.
  • Pro: Un modelo multimodal de alto rendimiento diseñado para abordar tareas complejas.

Los modelos Amazon Nova se pueden emplear para una amplia gama de tareas, incluida la generación y el desarrollo de flujos de trabajo agenticos. Estos modelos poseen la capacidad de interactuar con herramientas o servicios externos a través de un proceso conocido como uso de herramientas. Se puede acceder a esta funcionalidad a través de la consola de Amazon Bedrock y las API como Converse e Invoke.

Además de utilizar los modelos pre-entrenados, los desarrolladores tienen la opción de ajustar estos modelos con datos multimodales (Pro y Lite) o datos de texto (Pro, Lite y Micro). Esta flexibilidad permite a los desarrolladores alcanzar los niveles deseados de precisión, latencia y rentabilidad. Además, los desarrolladores pueden aprovechar la consola de Amazon Bedrock y las API para realizar ajustes finos personalizados de autoservicio y destilación de modelos más grandes en otros más pequeños.

Descripción general de la solución

La solución implica la preparación de un conjunto de datos personalizado diseñado específicamente para el uso de herramientas. Este conjunto de datos se utiliza luego para evaluar el rendimiento de los modelos Amazon Nova a través de Amazon Bedrock, utilizando las API Converse e Invoke. Posteriormente, los modelos AmazonNova Micro y Amazon Nova Lite se ajustan utilizando el conjunto de datos preparado a través de Amazon Bedrock. Una vez completado el proceso de ajuste fino, estos modelos personalizados se evalúan mediante el rendimiento aprovisionado.

Herramientas

El uso de herramientas en LLM abarca dos operaciones esenciales: la selección de herramientas y la extracción o generación de argumentos. Por ejemplo, considere una herramienta diseñada para recuperar información meteorológica para una ubicación específica. Cuando se presenta con una consulta como, ‘¿Cuál es el clima en Londres ahora mismo?’, el LLM evalúa sus herramientas disponibles para determinar si existe una herramienta apropiada. Si se identifica una herramienta adecuada, el modelo la selecciona y extrae los argumentos necesarios, en este caso, ‘Londres’, para construir la llamada a la herramienta.

Cada herramienta se define meticulosamente con una especificación formal que describe su funcionalidad prevista, los argumentos obligatorios y opcionales y los tipos de datos asociados. Estas definiciones precisas, denominadas tool config, garantizan que las llamadas a herramientas se ejecuten correctamente y que el análisis de argumentos se alinee con los requisitos operativos de la herramienta. Cumpliendo con este requisito, el conjunto de datos utilizado en este ejemplo define ocho herramientas distintas, cada una con sus propios argumentos y configuraciones, todas estructuradas en un formato JSON. Las ocho herramientas definidas son las siguientes:

  • weather_api_call: Una herramienta personalizada diseñada para recuperar información meteorológica.
  • stat_pull: Una herramienta personalizada para identificar estadísticas.
  • text_to_sql: Una herramienta personalizada para convertir texto en consultas SQL.
  • terminal: Una herramienta para ejecutar scripts dentro de un entorno de terminal.
  • wikipedia: Una herramienta API de Wikipedia para buscar a través de las páginas de Wikipedia.
  • duckduckgo_results_json: Una herramienta de búsqueda en Internet que utiliza DuckDuckGo para realizar búsquedas.
  • youtube_search: Una herramienta de búsqueda de API de YouTube para buscar listados de videos.
  • pubmed_search: Una herramienta de búsqueda de PubMed para buscar resúmenes de PubMed.

Conjunto de datos

El conjunto de datos utilizado en esta solución es un conjunto de datos de llamada a herramientas sintéticas, creado con la ayuda de un modelo fundacional (FM) de Amazon Bedrock y posteriormente validado y ajustado manualmente. Este conjunto de datos se desarrolló para el conjunto de ocho herramientas discutidas anteriormente, con el objetivo de generar una colección diversa de preguntas e invocaciones de herramientas que permitan a otro modelo aprender de estos ejemplos y generalizar a invocaciones de herramientas no vistas.

Cada entrada dentro del conjunto de datos está estructurada como un objeto JSON, que contiene pares clave-valor que definen la pregunta (una consulta de usuario en lenguaje natural para el modelo), la herramienta de verdad fundamental necesaria para responder a la consulta del usuario, sus argumentos (un diccionario que contiene los parámetros necesarios para ejecutar la herramienta) y restricciones adicionales como order_matters: boolean, que indica si el orden de los argumentos es crítico, y arg_pattern: optional, una expresión regular (regex) para la validación o el formato de los argumentos. Estas etiquetas de verdad fundamental se utilizan para supervisar el entrenamiento de los modelos Amazon Nova pre-entrenados, adaptándolos para el uso de herramientas. Este proceso, conocido como ajuste fino supervisado, se explora más a fondo en las siguientes secciones.

El conjunto de entrenamiento comprende 560 preguntas, mientras que el conjunto de prueba contiene 120 preguntas. El conjunto de prueba está estructurado para incluir 15 preguntas por categoría de herramienta, con un total de 120 preguntas.

Preparando el conjunto de datos para Amazon Nova

Para utilizar eficazmente este conjunto de datos con los modelos Amazon Nova, es necesario formatear los datos de acuerdo con una plantilla de chat específica. El uso nativo de herramientas incorpora una capa de traducción que formatea las entradas en el formato apropiado antes de pasarlas al modelo. En esta solución, se adopta un enfoque de uso de herramientas DIY, empleando una plantilla de solicitud personalizada. Específicamente, la solicitud del sistema, el mensaje del usuario incrustado con la configuración de la herramienta y las etiquetas de verdad fundamental deben agregarse como el mensaje del asistente.

Cargando el conjunto de datos a Amazon S3

Este paso es esencial para permitir que Amazon Bedrock acceda a los datos de entrenamiento durante el proceso de ajuste fino. El conjunto de datos se puede cargar a través de la consola de Amazon Simple Storage Service (Amazon S3) o mediante programación.

Llamada a herramientas con modelos base a través de la API de Amazon Bedrock

Con el conjunto de datos de uso de herramientas creado y formateado según sea necesario, se puede utilizar para probar los modelos Amazon Nova. Tanto las API Converse como Invoke se pueden utilizar para el uso de herramientas en Amazon Bedrock. La API Converse permite conversaciones dinámicas y conscientes del contexto, lo que permite a los modelos participar en diálogos de varios turnos, mientras que la API Invoke permite a los usuarios llamar e interactuar con los modelos subyacentes dentro de Amazon Bedrock.

Para utilizar la API Converse, los mensajes, la solicitud del sistema (si existe) y la configuración de la herramienta se envían directamente a la API.

Para analizar la herramienta y los argumentos de la respuesta del LLM, considere la pregunta: ‘Oye, ¿cuál es la temperatura en París ahora mismo?’. La salida se analizará para identificar la herramienta y los argumentos necesarios para responder a la pregunta.

Ajuste fino de los modelos Amazon Nova para un uso mejorado de las herramientas

El ajuste fino es un paso crucial para adaptar los modelos de lenguaje pre-entrenados como Amazon Nova a tareas específicas. Al entrenar el modelo en un conjunto de datos adaptado a la aplicación deseada, el modelo puede aprender a realizar la tarea con mayor precisión y eficiencia. En el contexto del uso de herramientas, el ajuste fino puede mejorar significativamente la capacidad del modelo para seleccionar la herramienta apropiada y extraer los argumentos correctos.

El proceso de ajuste fino implica ajustar los parámetros internos del modelo para minimizar la diferencia entre sus predicciones y las etiquetas de verdad fundamental en el conjunto de datos de entrenamiento. Esto generalmente se logra a través de un proceso iterativo, donde el modelo se expone repetidamente a los datos de entrenamiento y sus parámetros se ajustan en función de los errores observados.

Preparando el conjunto de datos de ajuste fino

El conjunto de datos de ajuste fino debe seleccionarse cuidadosamente para reflejar los tipos de preguntas e invocaciones de herramientas que se espera que el modelo maneje en escenarios del mundo real. El conjunto de datos debe incluir una gama diversa de ejemplos, que cubran diferentes categorías de herramientas y patrones de argumentos.

Cada ejemplo en el conjunto de datos debe constar de una pregunta, la herramienta correspondiente que se llamará y los argumentos necesarios para ejecutar la herramienta. Los argumentos deben formatearse de manera estructurada, generalmente como un objeto JSON.

Proceso de ajuste fino

El proceso de ajuste fino se puede realizar utilizando la consola o las API de Amazon Bedrock. El proceso implica especificar el modelo que se va a ajustar, el conjunto de datos de ajuste fino y los parámetros de entrenamiento deseados.

Los parámetros de entrenamiento controlan varios aspectos del proceso de ajuste fino, como la tasa de aprendizaje, el tamaño del lote y el número de épocas. La tasa de aprendizaje determina la magnitud de los ajustes de parámetros realizados durante cada iteración. El tamaño del lote determina el número de ejemplos procesados en cada iteración. El número de épocas determina el número de veces que el modelo se expone a todo el conjunto de datos de entrenamiento.

Evaluación del modelo ajustado

Una vez que se completa el proceso de ajuste fino, es esencial evaluar el rendimiento del modelo ajustado. Esto se puede hacer probando el modelo en un conjunto de datos de prueba separado que no se utilizó durante el proceso de ajuste fino.

El conjunto de datos de prueba debe ser representativo de los tipos de preguntas e invocaciones de herramientas que se espera que el modelo maneje en escenarios del mundo real. El rendimiento del modelo se puede evaluar midiendo métricas como precisión, precisión, recuperación y puntuación F1.

Beneficios de personalizar los modelos Amazon Nova para el uso de herramientas

La personalización de los modelos Amazon Nova para el uso de herramientas ofrece varios beneficios:

  • Precisión mejorada: El ajuste fino del modelo en un conjunto de datos específico de la tarea puede mejorar significativamente la precisión de la selección de herramientas y la extracción de argumentos.
  • Mayor eficiencia: Los modelos ajustados a menudo pueden realizar tareas de uso de herramientas de manera más eficiente que los modelos pre-entrenados.
  • Adaptabilidad mejorada: El ajuste fino permite que el modelo se adapte a dominios y casos de uso específicos.
  • Costos reducidos: En algunos casos, el ajuste fino puede reducir los recursos computacionales necesarios para realizar tareas de uso de herramientas.

Conclusión

La personalización de los modelos Amazon Nova para el uso de herramientas es una técnica valiosa para mejorar el rendimiento y la adaptabilidad de los LLM. Al ajustar el modelo en un conjunto de datos específico de la tarea, los desarrolladores pueden mejorar significativamente la precisión, la eficiencia y la adaptabilidad de las aplicaciones de uso de herramientas. A medida que las industrias exigen cada vez más soluciones de IA capaces de tomar decisiones informadas, la personalización de los LLM para el uso de herramientas será cada vez más importante.