4 pontos por GN⁺ 2024-04-14 | 1 comentários | Compartilhar no WhatsApp

Prompts mais concisos geram resultados melhores ao usar GPT

  • O GPT tende a se confundir quando o prompt explicita em excesso algo que ele já conhece como conhecimento comum
  • Por exemplo, em uma tarefa de classificar o estado mencionado em um texto, pedir simplesmente o nome do estado produz resultados mais precisos do que fornecer uma lista com os 50 estados

Só a chat API da OpenAI já permite implementar recursos suficientemente diversos e poderosos

  • Mesmo sem ferramentas adicionais como Langchain, é possível implementar de forma simples os recursos necessários, como extração de JSON, usando apenas a chat API
  • Ao atualizar o modelo GPT, basta alterar uma única string no codebase
  • Também é suficiente adicionar uma lógica simples para tratamento de erros da API da OpenAI e limites de tamanho de entrada

É difícil lidar com os casos em que o GPT não encontra nada

  • Em prompts como "se não encontrar nada, retorne um valor vazio", o GPT frequentemente inventa algo ou demonstra falta de confiança
  • A solução é não enviar um prompt ao GPT quando a entrada estiver vazia

O GPT só consegue gerar saídas com comprimento limitado

  • O limite de entrada do GPT-4 é de 128k tokens, mas o limite de saída é de apenas 4k tokens
  • Ao pedir uma lista de objetos JSON, o GPT tem dificuldade para gerar de forma estável mais de 10 itens

Bancos de dados vetoriais e RAG/embeddings não ajudam muito para usos gerais

  • Fora da busca, o RAG não funciona bem
  • Por razões como dificuldade para avaliar relevância, problemas de isolamento de dados e queda na satisfação do usuário, sua utilidade prática é limitada
  • Para buscas gerais, é mais adequado usar busca facetada com GPT ou geração de consultas complexas

Na prática, o GPT quase não produz alucinações (hallucinations)

  • Em tarefas de extração de informação a partir de um texto dado, o GPT fornece resultados bastante confiáveis
  • No entanto, quando a informação não está no texto, ele pode inventar algo
  • Por isso, é importante fornecer contexto suficiente e tratar corretamente as respostas do GPT

Opinião do GN⁺

  • Parece difícil chegar à AGI apenas com modelos transformer, dados da web e infraestrutura em larga escala
  • O GPT-4 é claramente útil, mas para avanços além disso, talvez seja necessária uma inovação na própria arquitetura do modelo
  • As alternativas fora da OpenAI ainda parecem não alcançar o GPT, e no fim será preciso continuar atento às novas versões do GPT
  • Espera-se que o desempenho do GPT-5 não seja revolucionário em relação ao GPT-4. A relação custo-benefício parece estar chegando ao limite
  • Portanto, por enquanto, a escolha mais realista parece ser focar no uso do GPT-4 para projetar prompts ideais e aplicações práticas

1 comentários

 
GN⁺ 2024-04-14
Opiniões no Hacker News
  • Uma equipe está processando mais de 5 bilhões de tokens por mês, e um gerente de engenharia compartilha a experiência de administrar isso.
    • Muitas abstrações, como Langchain, são prematuras, e prompts são apenas chamadas de API, então é mais fácil tratá-los como código comum em vez de algo especial.
    • Resumo é robusto, mas raciocínio é difícil, especialmente para o LLM entender contexto e dizer quando não tem confiança.
    • É um divisor de águas, mas não é o fim do mundo; vai impactar bastante algumas profissões, mas não será tão revolucionário quanto a internet, e sim algo que amplifica capacidades.
  • Compartilha a experiência de usar modelos da OpenAI em um app pessoal de escrita.
    • Tentou implementar busca inteligente, como encontrar notas de rascunho dos últimos 2 anos que mencionassem Haskell, mas pedir ao ChatGPT para retornar dados JSON estruturados funcionou só parcialmente.
    • Em vez disso, colocar os dados em um banco SQLite e enviar o esquema ao ChatGPT para que ele escreva uma consulta retornando o que se quer funcionou melhor.
  • Usando prompts melhores, é possível usar modelos mais baratos.
    • Dá ao LLM uma saída suave — se não houver sufficient information, ele pode formular uma hipótese, mas deve declarar isso claramente e apresentar evidências e base lógica — e depois pede para ele avaliar a própria resposta.
  • Pergunta por que o modo JSON não seria necessário.
  • Testou um prompt para retornar o texto original sem mudanças caso as regras não se aplicassem, mas o ChatGPT retornou a string literal "The original text without any changes".
  • GPT é muito legal, mas discorda fortemente da interpretação de que quanto mais ambíguo, melhor a qualidade e a generalização.
    • Linguagem natural é a saída mais provável para GPT, e os desenvolvedores apenas passaram a depender mais do que ele já faz bem.
    • Mesmo tarefas simples podem fazer o GPT falhar, e a própria ideia de que o GPT "entende" um mapeamento implica correspondência de padrões de alto nível.
  • Mesmo sendo um modelo de 1 ano atrás, o GPT-4 apresenta desempenho muito superior em relação a outros LLMs; dependendo do padrão de uso, alucina pouco e é mais teimoso quando sabe que está certo.
  • Ao extrair nomes de empresas, existe um problema de hipótese nula: se não houver empresa no texto, ele sugere uma empresa aleatória.
    • É necessária uma abordagem em 2 etapas: primeiro perguntar "Este texto menciona uma empresa?" e, se sim, depois pedir "Liste os nomes das empresas neste texto".
  • O fato de o GPT não conseguir retornar de forma estável mais de 10 itens é apenas um problema de prompt; usando chaves JSON, ele consegue retornar até 200 itens na ordem exata.
  • Dicas para resolver o problema de null:
    • Em vez de "não retorne nada", diga "retorne o valor padrão XYZ"; depois, basta fazer uma busca textual por esse valor padrão (XYZ), como ao procurar o nome de um estado.
    • Com um prompt de sistema, é possível fazer o LLM assumir o papel X.
  • Apresenta um micropacote para truncamento baseado em tokens.