9 pontos por xguru 2024-12-12 | Ainda não há comentários. | Compartilhar no WhatsApp
  • DSPy (Declarative Self-improving Python) é um framework projetado para controlar modelos de linguagem (LMs) por meio de programação
  • Permite construir rapidamente sistemas de IA modulares, de classificadores simples a pipelines RAG complexos e loops de agentes, além de oferecer algoritmos para otimizar prompts e pesos
  • Em vez de prompts frágeis, é possível escrever código Python componível para construir rapidamente sistemas de IA modulares e treinar o LM para gerar saídas de alta qualidade
  • Module permite descrever o comportamento da IA com código, e não com strings
    • Para construir sistemas de IA confiáveis, é preciso iterar rapidamente
    • Porém, manter prompts é difícil, porque sempre que o LM, as métricas ou o pipeline mudam, é necessário modificar strings ou dados
    • O DSPy foi desenvolvido para separar a definição de sistemas baseados em LM das escolhas complexas sobre um LM específico ou uma estratégia de prompting
    • A forma de programar do DSPy
      • O DSPy muda o foco de ajustar strings de prompt para programar com módulos de linguagem natural estruturados e declarativos
      • Para cada componente de IA do sistema, define-se o comportamento de entrada e saída como uma assinatura e escolhem-se módulos para atribuir a estratégia de chamada do LM
      • O DSPy expande assinaturas em prompts e faz o parsing de saídas tipadas, permitindo escrever sistemas de IA fáceis de usar, portáveis e otimizáveis
  • Optimizer ajusta prompts e pesos dos módulos de IA
    • O DSPy oferece ferramentas que compilam código de alto nível com anotações em linguagem natural em operações de baixo nível, prompts ou atualizações de pesos
    • Isso permite alinhar o LM com a estrutura e as métricas do programa
    • Se o código ou as métricas mudarem, é possível recompilar de forma simples de acordo com essas mudanças
    • Processo de otimização do DSPy
      • Se houver algumas dezenas ou centenas de entradas representativas da tarefa e uma métrica capaz de medir a qualidade da saída do sistema, é possível usar o DSPy Optimizer
        • dspy.BootstrapRS sintetiza bons exemplos few-shot para todos os módulos
        • dspy.MIPROv2 propõe instruções em linguagem natural melhores para todos os prompts e explora isso de forma inteligente
        • dspy.BootstrapFinetune constrói um dataset para os módulos e o usa para fazer fine-tuning dos pesos do LM do sistema
  • O ecossistema DSPy impulsiona a pesquisa open source em IA
    • O paradigma modular do DSPy oferece a mais pesquisadores, em comparação com grandes modelos de linguagem, a oportunidade de melhorar de forma distribuída arquiteturas compostas de programas baseados em LM, estratégias em tempo de inferência e ferramentas de otimização
    • Isso dá mais controle aos usuários do DSPy, ajuda a iterar mais rápido e permite que os programas evoluam ao longo do tempo com a aplicação das ferramentas de otimização e módulos mais recentes
    • A pesquisa do DSPy começou em fevereiro de 2022 no Stanford NLP e foi construída com base nas lições aprendidas no desenvolvimento inicial de sistemas compostos de LM, como ColBERT-QA, Baleen e Hindsight
    • Foi lançado inicialmente como DSP em dezembro de 2022 e evoluiu para DSPy em outubro de 2023; graças a 250 contribuidores, dezenas de milhares de pessoas puderam aprender a construir e otimizar programas modulares baseados em LM
    • A comunidade DSPy produziu muitos resultados de pesquisa sobre ferramentas de otimização como MIPROv2, BetterTogether e LeReT, além de arquiteturas de programa como STORM, IReRa e DSPy Assertions
    • Também há muitos casos de aplicação bem-sucedida em novos problemas, como PAPILLON, PATH, os estudos de caso de prompting do WangLab@MEDIQA e da UMD, e o programa de red teaming da Haize
    • Além disso, a utilidade prática do DSPy é comprovada por muitos projetos open source, aplicações em produção e outros casos de uso

Ainda não há comentários.

Ainda não há comentários.