Quando os "Dados Sintéticos" Encontram os Agentes Inteligentes
No último ano, testemunhamos o surgimento de agentes inteligentes. Esses agentes podem gerar dados de alta qualidade e, através de reflexão e iteração, suas capacidades superaram os modelos de base subjacentes.
Nesse processo, os agentes podem revisar soluções, autocriticar-se e melhorar suas respostas. Eles podem até utilizar ferramentas como APIs de busca, calculadoras e interpretadores de código para expandir as capacidades dos grandes modelos.
Além disso, múltiplos agentes podem trazer mais vantagens, como simular cenários e gerar simultaneamente novos prompts e respostas. Eles também podem automatizar fluxos de trabalho de geração de dados, reduzindo ou eliminando a necessidade de intervenção humana em certas tarefas.
No artigo, os autores introduzem o conceito de "ensino generativo". Isso significa usar dados sintéticos para pós-treinamento, especialmente criando dados com modelos poderosos para ensinar novas habilidades ou comportamentos a outro modelo.
AgentInstruct é uma solução de agente para o ensino generativo.
Em resumo, AgentInstruct pode criar:
- Dados de alta qualidade: usando modelos poderosos como GPT-4, combinados com ferramentas como busca e interpretadores de código.
- Dados diversificados: AgentInstruct gera prompts e respostas simultaneamente. Utiliza múltiplos agentes (equipados com LLMs poderosos, ferramentas e processos de reflexão) e uma taxonomia com mais de 100 subcategorias para criar prompts e respostas diversificados e de alta qualidade.
- Grande volume de dados: AgentInstruct pode operar autonomamente e aplicar processos de validação e filtragem de dados. Não requer prompts iniciais, usando documentos brutos como sementes.
Ensino Generativo: AgentInstruct
Como criar dados em massa? Como garantir que os dados gerados sejam diversos? Como gerar dados complexos ou sutis?
Para isso, os pesquisadores delinearam uma abordagem estruturada para enfrentar esses desafios:
Especificamente, AgentInstruct define três processos de geração automatizados distintos:
Processo de transformação de conteúdo: converte sementes brutas em representações intermediárias, simplificando a criação de instruções para objetivos específicos.
Processo de geração de instruções-semente: composto por múltiplos agentes, usa as sementes transformadas do processo de transformação de conteúdo como entrada para gerar um conjunto diversificado de instruções.
Processo de melhoria de instruções: usa as instruções do processo de instruções-semente como entrada para iterativamente aumentar sua complexidade e qualidade.
Em seguida, os pesquisadores implementaram esses processos para 17 habilidades diferentes, cada uma com múltiplas subcategorias. Essas habilidades incluem compreensão de leitura, perguntas e respostas, codificação, geração aprimorada por recuperação, escrita criativa, uso de ferramentas/APIs e controle da web.
Resultados Experimentais
Como mencionado no início, os pesquisadores usaram 25,8 milhões de pares de instruções para ajustar o modelo Mistral-7b-v0.1, resultando no Orca-3.
Então, como é o desempenho após treinar o Orca-3 com dados do AgentInstruct?
O objetivo do AgentInstruct é sintetizar um conjunto de dados grande e diversificado, contendo dados de diferentes níveis de dificuldade. Neste conjunto de dados, modelos de referência como Orca-2.5, Mistral-Instruct-7b e ChatGPT pontuaram muito abaixo de 10, mostrando sua desvantagem em relação ao GPT-4 (designado como referência, com pontuação 10).
Em média, incluindo o Orca-3 após cada rodada de treinamento, a introdução dos dados do AgentInstruct melhorou o desempenho em 33,94% em comparação com o Orca 2.5 e 14,92% em comparação com o Mistral-Instruct-7B.
Estabelecendo Novos Recordes em Múltiplos Benchmarks
Por exemplo, houve uma melhoria de 40% no AGIEval, 19% no MMLU, 54% no GSM8K, 38% no BBH e 45% no AlpacaEval.