9 puntos por xguru 2024-12-12 | Aún no hay comentarios. | Compartir por WhatsApp
  • DSPy (Declarative Self-improving Python) es un framework diseñado para controlar modelos de lenguaje (LM) mediante programación
  • Permite construir rápidamente sistemas de IA modulares, desde clasificadores simples hasta pipelines RAG complejos y bucles de agentes, y también ofrece algoritmos para optimizar prompts y pesos
  • En lugar de prompts frágiles tradicionales, permite escribir código Python componible para construir rápidamente sistemas de IA modulares y entrenar al LM para que genere resultados de alta calidad
  • Module se usa para describir el comportamiento de la IA con código en vez de cadenas de texto
    • Para construir sistemas de IA confiables, es necesario iterar con rapidez
    • Pero mantener prompts es difícil, porque cada vez que se cambia el LM, la métrica o el pipeline, hay que modificar cadenas o datos
    • DSPy fue desarrollado para separar la definición de sistemas LM de decisiones complejas ligadas a un LM específico o a una estrategia de prompting
    • Enfoque de programación de DSPy
      • DSPy cambia el foco desde ajustar cadenas de prompts hacia programar con módulos de lenguaje natural estructurados y declarativos
      • Para cada componente de IA del sistema, se especifica el comportamiento de entrada/salida como una firma y se seleccionan módulos para asignar la estrategia de llamadas al LM
      • DSPy expande las firmas en prompts y analiza salidas tipadas, lo que permite escribir sistemas de IA fáciles de usar, portables y optimizables
  • Optimizer ajusta los prompts y pesos de los módulos de IA
    • DSPy ofrece herramientas que compilan código de alto nivel con anotaciones en lenguaje natural en operaciones de bajo nivel, prompts o actualizaciones de pesos
    • Esto permite alinear el LM con la estructura y las métricas del programa
    • Si cambias el código o las métricas, puedes recompilar fácilmente para adaptarlo
    • Proceso de optimización de DSPy
      • Si tienes unas decenas o unos cientos de entradas representativas de la tarea y una métrica capaz de medir la calidad de la salida del sistema, puedes usar DSPy Optimizer
        • dspy.BootstrapRS sintetiza buenos ejemplos few-shot para todos los módulos
        • dspy.MIPROv2 propone mejores instrucciones en lenguaje natural para todos los prompts y explora de forma inteligente
        • dspy.BootstrapFinetune construye un dataset para los módulos y lo usa para ajustar finamente los pesos LM del sistema
  • El ecosistema DSPy impulsa la investigación abierta en IA
    • El paradigma modular de DSPy ofrece a más investigadores, en comparación con los grandes modelos de lenguaje, la oportunidad de mejorar de manera distribuida las arquitecturas de composición de programas LM, las estrategias en tiempo de inferencia y las herramientas de optimización
    • Esto da a los usuarios de DSPy más control, les ayuda a iterar más rápido y permite que sus programas mejoren con el tiempo al aplicar los módulos o herramientas de optimización más recientes
    • La investigación de DSPy comenzó en febrero de 2022 en Stanford NLP y se construyó a partir de lecciones obtenidas en el desarrollo de sistemas LM compuestos iniciales como ColBERT-QA, Baleen y Hindsight
    • Se lanzó por primera vez como DSP en diciembre de 2022, evolucionó a DSPy en octubre de 2023 y, gracias a 250 contribuidores, decenas de miles de personas han podido aprender a construir y optimizar programas LM modulares
    • La comunidad de DSPy ha producido muchos resultados de investigación sobre herramientas de optimización como MIPROv2, BetterTogether y LeReT, y sobre arquitecturas de programas como STORM, IReRa y DSPy Assertions
    • También cuenta con numerosos casos exitosos de aplicación a nuevos problemas, como PAPILLON, PATH, WangLab@MEDIQA, estudios de caso de prompting de UMD y el programa de red teaming de Haize
    • Además, la utilidad práctica de DSPy ha quedado demostrada a través de muchos proyectos open source, aplicaciones en producción y otros casos de uso

Aún no hay comentarios.

Aún no hay comentarios.