Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Lançamento oficial do LangChain: Explore dicas para otimização de palavras-chave

Por Krish Maniar e William Fu-Hinthorn

Ao escrever dicas, tentamos comunicar nossas intenções aos LLMs (Large Language Models) para que eles possam aplicar essas instruções em dados complexos. Entretanto, não é fácil expressar claramente todas as nuances de uma só vez. A engenharia de prompts geralmente é otimizada por meio de tentativa e erro, testes e ajustes manuais, mas ferramentas como o DSPy e o promptim demonstram o valor da "programação de prompts" e da otimização sistemática de prompts. Elas preenchem a lacuna entre a intenção e a instrução, medindo e testando dados reais. Neste documento, nós:

  • Cinco conjuntos de dados com resultados verificáveis foram selecionados para benchmarking, o que levou à otimização
  • Cinco métodos de aprimoramento sistemático dos prompts foram realizados e comparados
  • Três modelos diferentes foram avaliados (gpt-4oeclaude-sonneteo1) na otimização de dicas

Nossa conclusão:

  • O modelo que recomendamos para a otimização de dicas é claude-sonnet(Melhor que o1)
  • A otimização de dicas é mais eficaz em tarefas em que o modelo não tem conhecimento do domínio
  • Nesses casos, a otimização de dicas pode melhorar a precisão em cerca de 200% em relação às dicas básicas
  • A otimização de dicas também pode ser vista como uma forma de memória de longo prazo: aprender diretamente com os dados e adaptar-se a eles.

 

O que testamos.

Comparamos cinco métodos populares de otimização de dicas (explicados em detalhes mais adiante):

  1. Solicitação de poucos disparos: uso de exemplos de treinamento como demonstrações do comportamento desejado
  2. Meta-prompting: analisando e aprimorando prompts com o LLM
  3. Meta-prompting com reflexão: permitir que os LLMs reflitam e analisem criticamente as mudanças propostas antes de enviar prompts atualizados
  4. Gradientes de solicitação: gere "gradientes de texto" para cada exemplo como sugestões de aprimoramento e, em seguida, aplique essas sugestões em outra chamada do LLM.
  5. Otimização evolutiva: explorando o espaço de dicas por meio de mutação controlada

Executamos esses métodos em três modelos (O1, GPT-4o e Claude-3.5-Sonnet) e os testamos em cinco conjuntos de dados que representam tarefas comuns para responder às seguintes perguntas centrais:

  • Quando as dicas de otimização são mais eficazes?
  • Quais modelos de fronteira são adequados para a otimização de dicas?
  • Quais algoritmos são os mais confiáveis?

 

aritmética

Testamos cinco métodos de otimização de dicas, cada um com sua própria teoria de otimização exclusiva:


Solicitação de poucos disparos

Essa abordagem é a mais simples, em que selecionamos até 50 exemplos do conjunto de treinamento (amostrados em vários ciclos de treinamento) e os incluímos na dica como uma demonstração do comportamento desejado. Essa abordagem tem um baixo custo de aprendizado (não são necessárias chamadas de LLM para propor alterações), mas no momento do teste Token Custo mais alto (porque os exemplos de demonstração geralmente contêm mais conteúdo do que as instruções diretas).

Meta-prompting (Meta-prompting)

Esse é um dos métodos mais básicos de ajuste de instruções. Primeiro, fazemos com que o LLM de destino execute o exemplo e, em seguida, calcule as classificações dos resultados (observação: é necessário configurar um avaliador). Em seguida, fornecemos ao LLM da meta sugestão as entradas, as saídas, as saídas de referência (se houver) e as pontuações da sugestão atual nessas saídas, e pedimos ao LLM que escreva uma sugestão melhor. Esse processo é repetido em pequenos lotes de dados e avaliado periodicamente no conjunto de desenvolvimento retido (dev set) para reter as dicas com maior pontuação.

Meta-prompting with reflection (Meta-prompting com reflexão)

Fornecer ferramentas de "reflexão" e "crítica" sobre os metaprompts. Essas ferramentas só permitem que o LLM registre reflexões na área de rascunho antes de enviar atualizações de dicas, de modo que mais poder de computação possa ser usado para analisar dicas anteriores e descobrir padrões ocultos nos dados antes de enviar a versão final.

Prompt Gradients (Gradientes de solicitação)
O artigo de Pryzant et al.Otimização automática de promptsInspirada no "Processo de Otimização", essa abordagem divide o processo de otimização em várias etapas:

  1. Pontuação da saída do prompt atual
  2. Faça com que o LLM gere feedback específico (ou seja, "gradientes") para exemplos de falha
  3. Atualizações imediatas com base nesses "gradientes"

A ideia central do método é que a coleta de feedback detalhado antes de fazer alterações pode fornecer sugestões de aprimoramento mais direcionadas do que os métodos de meta-prompting.

Otimização evolutiva (EO)
Os algoritmos são executados em "gerações", com cada geração sendo otimizada em diferentes estágios. Em cada geração, os algoritmos aplicam "mutações" semi-aleatórias às dicas (neste experimento, essas mutações foram geradas pelo LLM com diferentes tipos de atualizações de dicas) e, em seguida, retêm as dicas com melhor desempenho.

Nesses experimentos, usamos a técnica de última geração proposta por Cui et al. FaseEvoEle combina uma abordagem de "gradiente de texto" com uma estratégia de variação mais global para explorar o espaço de dicas em uma escala maior, superando assim o problema de otimização local.

 

conjunto de dados

Criamos cinco conjuntos de dados para benchmarking:

  1. Suporte para distribuição de correio eletrônico 3Cada e-mail recebido é categorizado e atribuído a um dos três processadores.
  2. Suporte para distribuição de correio eletrônico 10Similar a (1), mas com um aumento para 10 processadores, a tarefa é mais desafiadora porque o "domínio especializado" de cada processador não é suficientemente claro.
  3. matemática multilíngueO LLM envolve a resolução de problemas de aplicativos de matemática e a formulação das respostas em um dos cinco idiomas. O idioma de destino é determinado pelo tópico da pergunta (Esportes → coreano, Espaço → árabe, Culinária → alemão, Música → inglês, Vida selvagem → russo). O otimizador precisa descobrir esse padrão oculto nos dados.
  4. Assistente de correio (simples)Este é um conjunto de dados sintético para testar se a otimização de dicas é útil para tarefas em que o LLM já tem conhecimento do domínio. O LLM precisa avaliar se um e-mail deve ser ignorado, respondido ou notificado ao usuário para que ele lide com ele.
  5. Assistente de correio (Preferências)A tarefa é semelhante ao conjunto de dados anterior, mas as regras da tarefa são mais sutis. Configuramos um guru de tecnologia ocupado e "excêntrico" como criador de regras de preferência de e-mail para fornecer rótulos de verdade básica.

 

no final

Usamos o GPT-4o e o O1 da OpenAI em cinco conjuntos de dados, bem como o Antrópica do Claude-3.5-Sonnet foi otimizado como o LLM da meta-pista. O LLM alvo foi o GPT-4o-mini (ou seja, usamos outros modelos para otimizar a pista GPT-4o-mini).

A figura a seguir mostra os resultados da otimização para diferentes conjuntos de dados e algoritmos:

Lançamento oficial do LangChain: Explore Cue Word Optimization-1
O valor médio de melhoria relativa em todos os conjuntos de dados de teste, 100% representa uma duplicação da precisão e 200% representa uma triplicação da precisão em relação ao original.

Dos resultados.Claude é um modelo de otimizador mais estávelO1 é mais confiável do que O1. Além disso, o O1 tem desvantagens em termos de tempo de processamento, custo e confiabilidade da API (os pontos de extremidade da OpenAI às vezes marcam incorretamente as solicitações como violadoras dos ToS). Portanto, atualmente recomendamos o Claude-3.5-Sonnet como o modelo preferencial para otimização de dicas. Atualizaremos essa recomendação à medida que o O3 e outros novos modelos estiverem disponíveis.

O que descobrimos

De modo geral, os resultados acima apóiam a literatura existente de que os modelos de linguagem grande (LLMs) têm bom desempenho na engenharia de dicas de entrada. Esses experimentos também revelam quando os LLMs serão (ou não) eficazes.

  1. Meta-prompting (Meta-prompting) existirRegras ou preferências de descoberta e outros padrões claros são particularmente úteis, especialmente quando essas informações estão fora do domínio de conhecimento original do LLM. Isso significa que você pode definir os comportamentos desejados por exemplo e contar com o otimizador para traduzir esses comportamentos para outros LLMs, desde que eles possam seguir instruções sensatas. Isso torna possível o modelo de programação de dica de entrada declarativa.
  2. Meta-dicas (ajustadas por comando) Ao transmitir preferências nonuance Por exemplo, no conjunto de dados de classificação simples de e-mails, todos os métodos de ajuste fino de dicas de entrada têm desempenho inferior aos métodos de dicas de entrada de poucos disparos (few-shot). Nesse conjunto de dados, a classificação foi baseada principalmente em regras difusas e julgamentos condicionais, em vez de regras explícitas.
  3. combinandoMenos prompts de entrada de amostra e ajuste fino de comandos podem trazer aprimoramentos complementares. Isso contrasta com a Opsahl Ong et al. responder cantando Wan et al. As conclusões do estudo são consistentes. Exemplos sem amostra podem transmitir mais informações do que instruções simples, mas não podem abranger oCondições e regras complexas Isso pode ser uma parte importante do que é necessário para agentes empresariais. Por outro lado, a otimização de dicas de entrada por meio de reflexão, "gradientes de texto" ou algoritmos evolutivos permite aprimoramentos mais direcionados com base no desempenho existente e nas características do conjunto de dados, além de melhorar a eficiência do token. A eficiência do token também é aprimorada.
  4. Os metaprompts não fornecem novos recursos ao modelo . Por exemplo, no conjunto de dados Multilingual Maths, o GPT-4o-mini não consegue superar a taxa de aprovação de 65% mesmo na configuração otimizada, principalmente devido a erros de inferência. Embora o otimizador possa orientar o modelo sobre como manifestações (Às vezes, os caminhos de raciocínio por meio de exemplos podem induzir a uma melhormodo de pensar ), mas não desbloqueiam habilidades de raciocínio mais sólidas ou conhecimento mais complexo específico do domínio.

Além da avaliação

Estamos desenvolvendo o LangSmith para ajudar as equipes a avaliar sistematicamente os aplicativos do LLM. Uma boa avaliação permite que você identifique problemas e compreenda o comportamento do sistema. Mas os conjuntos de dados e métricas criados durante o processo de avaliação também revelam um valor ainda mais importante: melhorar sistematicamente o desempenho do modelo por meio da otimização.

Os conjuntos de dados em nossos experimentos apresentam bom desempenho no processo de otimização porque são claros,Resultados verificáveis ::

  • Decisões de roteamento com rótulos reais
  • Respostas matemáticas verificáveis
  • Restrições de idioma que podem ser verificadas pelo programa

Isso é importante porque a otimização para métricas difusas ou não confiáveis tende a piorar as dicas de entrada em vez de melhorá-las. Se o LLM julgar a saída com base apenas em critérios difusos, ele tenderá a otimizar suas próprias tendências em vez de atender às suas necessidades reais.

Se você está acompanhando o desempenho do aplicativo no LangSmith, já está lançando as bases para uma otimização eficaz do prompt de entrada. O mesmo conjunto de dados não apenas o ajuda a entender por que está falhando, mas também promove melhorias sistemáticas. Dados, métricas e aprendizado formam um ciclo fechado.

Otimização de prompts de entrada, ou seja, memória de longo prazo

A otimização é um aprendizado, portanto, podemos pensar na otimização da pista de entrada como uma forma especial de memória de longo prazo que captura padrões de comportamento "sempre ativos".

Enquanto os sistemas de memória tradicionais armazenam informações em bancos de dados (vetores, gráficos ou outros formatos), o Input Cue Optimisation armazena informações diretamente nas pistas de entrada das inteligências, tornando-as sempre disponíveis e influenciando cada decisão. Essa abordagem é particularmente adequada para o armazenamento de padrões centrais, como regras de comportamento, preferências de estilo e traços-chave de personalidade.

O processo de "aprender e melhorar" é muito semelhante à otimização tradicional de dicas de entrada, com pequenas diferenças na forma como as atualizações são programadas e onde são armazenadas. As técnicas usadas para otimização de dicas de entrada e algoritmos de aprendizado também podem ser aplicáveis a sistemas de memória. Essa é uma direção que estamos investigando ativamente.

significado

Esses resultados corroboram a nossa observação (e a de pesquisadores como o DSPy) de que a otimização de prompts de entrada orientada por LLM pode melhorar sistematicamente os prompts de entrada e automatizar o atual processo de engenharia de prompts de entrada dominado por tentativa e erro. Tornar essa abordagem mais acessível a todas as partes interessadas pode nos ajudar a criar sistemas melhores e mais fortes.

No entanto, essa não é uma solução única para todos os casos. Nossos prompts de entrada otimizados não são ideais no conjunto de teste e a melhoria varia entre as tarefas. Isso sugere que a otimização da sugestão de entrada deve ser considerada como uma ferramenta na caixa de ferramentas de otimização de aplicativos LLM, e não como a única abordagem.

Planejamos integrar esses insights diretamente no LangSmith para ajudar as equipes a irem além da engenharia de prompt de entrada manual. Nosso objetivo não é eliminar o julgamento humano, mas tornar as decisões mais sistemáticas e orientadas por dados.

experimento de recorrência

Você pode executar Repositórios do GitHub acertou em cheio todos_sweeps.sh scripts para reproduzir esses experimentos.

apêndice

Dinâmica de treinamento

Na seção anterior, nos concentramos emeventual desempenho das dicas de entrada no conjunto de teste. Abaixo, mostramos gráficos da dinâmica de treinamento de cada conjunto de dados no conjunto de desenvolvimento. Esses gráficos mostram como os diferentes algoritmos se ajustam aos conjuntos de dados e podem ser usados para comparar as pontuações finais para revelar se os algoritmos estão se ajustando aos conjuntos de dados de forma instável ou nãosobreajuste dados, não conseguindo, assim, proporcionar um aumento consistente.

Suporte para roteamento de correio eletrônico (3 classes)

A maioria dos otimizadores melhorou as dicas de entrada de linha de base, com os métodos de gradiente e evolução apresentando desempenho semelhante. Notavelmente, o Claude supera o GPT-4o em todos os métodos; no entanto, no conjunto de desenvolvimento, o Claude e o GPT-4o não melhoram significativamente ao usar métodos de meta-sugestão.

Lançamento oficial do LangChain: Explore o Cue Word Optimisation-2

Suporte para roteamento de correio eletrônico (10 classes)

As configurações meta-cue e meta-cue+reflection usando o GPT-4o não conseguiram aprender as regras de classificação no conjunto de dados. Um padrão comum começa a surgir: se a curva permanecer plana, o algoritmo não conseguiu aprender. Se a curva se aproximar rapidamente de uma pontuação perfeita, pode haver excesso de ajuste. O melhor desempenho do conjunto de teste tende a vir de algoritmos que apresentam melhoria constante no conjunto de desenvolvimento.

Lançamento oficial do LangChain: explorando a otimização de palavras-chave-3

Conjuntos de dados matemáticos multilíngues

O desempenho do treinamento desse conjunto de dadosdiscreto Isso ocorre porque algumas configurações não obtêm um aumento significativo até a segunda ou terceira rodada (ou até mais tarde). Isso destaca o fato de que o rastreamentoHistórico editorial O LLM atua como um meta-otimizador e é capaz de traduzir estratégias de atualização mais eficazes com base no histórico de edições.

Lançamento oficial do LangChain: Explore o Cue Word Optimisation-4

Comparação de prompts de entrada

Embora, em última análise, nos importemos mais com as métricas downstream do que com as especificidades dos prompts de entrada, ainda é valioso analisar o que o otimizador aprendeu sobre as modificações e quais alterações resultaram em aprimoramentos.

Comparação de quatro algoritmos de otimização diferentes usando o exemplo de um conjunto de dados categorizados de 10 classes com suporte a e-mails:

Lançamento oficial do LangChain: explorando a otimização de palavras-chave-5

Todos os quatro algoritmos aprenderam as principais regras de classificação. Entretanto, o método gradiente é fraco para encontrar limites difusos, enquanto os outros métodos preferem formular "regras de prioridade" ou construir árvores de decisão para especificar os critérios de classificação.

Diferenças de comportamento também podem ser observadas na comparação de diferentes modelos de otimizadores com o mesmo algoritmo. Por exemplo, o O1 parece preferir combinar diferentes técnicas (por exemplo, sintetizar exemplos sem amostras e instruções passo a passo) e usar seu separador característico ("-") para distinguir entre conjuntos de regras. Enquanto que Claude mais conciso e direto, mas também aprendeu regras de prioridade e mapeamento de domínio. Em contrapartida, o GPT-4o gera a menor densidade de informações.

Lançamento oficial do LangChain: explorando a otimização de palavras-chave-6

CDN1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Lançamento oficial do LangChain: Explore dicas para otimização de palavras-chave

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil