Melhorando o Desempenho do Modelo de Linguagem Através da Repetição de Amostras
Aumentar as amostras durante a inferência aumenta muito as taxas de resolução de problemas do modelo de linguagem.
― 7 min ler
Índice
- Cálculo de Inferência e Amostragem
- Custo-Benefício da Amostragem Repetida
- Explorando o Impacto das Amostras
- Desafios em Verificar Soluções
- Configuração do Experimento
- Resultados da Amostragem Repetida
- Aspectos Financeiros da Escala
- A Importância da Verificação de Amostras
- Direções Futuras
- Conclusão
- Fonte original
- Ligações de referência
Nos últimos anos, treinar grandes modelos de linguagem melhorou muito a habilidade deles em resolver vários tipos de tarefas. Mas, quando usamos esses modelos pra gerar respostas ou soluções, muitas vezes a gente só tem uma tentativa por pergunta. Esse artigo investiga como aumentar o número de amostras geradas durante a inferência pode ajudar a melhorar o Desempenho desses modelos.
Amostragem
Cálculo de Inferência eO cálculo usado pra treinar grandes modelos de linguagem os deixou bem potentes. Mas na hora da inferência, muitas vezes só uma solução é gerada. Esse artigo examina como a inferência também pode ser escalada gerando várias amostras pra cada problema. Nossas descobertas mostram que, conforme aumentamos o número de amostras geradas, a probabilidade de resolver Problemas aumenta significativamente.
Por exemplo, ao usar um modelo chamado DeepSeek-V2-Coder-Instruct em uma tarefa específica de codificação, a taxa de problemas resolvidos salta de 15,9% com uma amostra pra 56% com 250 amostras. Isso é melhor que o método atual mais eficiente, que consegue resolver 43% usando menos tentativas.
Custo-Benefício da Amostragem Repetida
Usar uma alternativa mais em conta como o DeepSeek com cinco amostras se mostrou bem mais barato que usar modelos mais fortes como o GPT-4o ou o Claude 3.5 Sonnet. A melhoria na fração de problemas resolvidos mostra que gerar várias amostras não é só eficaz, mas também econômico. Com uma abordagem de 250 amostras, os resultados indicam que uma maior Cobertura leva a um melhor desempenho em várias tarefas.
Em tarefas de codificação e provas formais, onde cada resposta pode ser validada automaticamente, os ganhos em resolver mais problemas se traduzem diretamente em resultados melhores.
Explorando o Impacto das Amostras
Quando testamos modelos em diferentes tarefas, percebemos que a cobertura-ou seja, a porcentagem de problemas que conseguimos resolver com qualquer amostra gerada-cresce conforme aumentamos o número de amostras. Em cenários onde todas as respostas podem ser verificadas-como em tarefas de codificação com testes unitários-melhorar a cobertura leva diretamente a um desempenho melhor.
Por exemplo, com vários modelos, quando recebemos um grande número de amostras, o desempenho continua subindo. Em outro contexto, ao lidar com problemas de matemática, a cobertura com modelos específicos chega a mais de 95% com 10.000 amostras.
Desafios em Verificar Soluções
No entanto, métodos comuns pra escolher soluções corretas entre as amostras, como votação por maioria ou uso de modelos de recompensa, não escalam bem além de algumas centenas de amostras. Isso apresenta um desafio significativo, especialmente em áreas onde a Verificação automática não está disponível. Identificar amostras corretas entre muitas geradas continua sendo um foco importante pra pesquisas futuras.
Em algumas tarefas, os modelos têm dificuldade em identificar respostas finais corretas, resultando em uma lacuna entre o número de problemas resolvidos e o desempenho dos métodos destinados a selecionar essas respostas.
Configuração do Experimento
Nesse estudo, focamos em vários problemas como GSM8K e MATH, onde a cobertura cresce significativamente conforme aumentamos o número de amostras. Cada modelo gera várias soluções candidatas enquanto tenta resolver um problema. O sucesso desse processo depende bastante tanto da habilidade de gerar respostas corretas pra muitos problemas quanto da habilidade de identificar essas respostas corretas entre as muitas amostras geradas.
Avaliamos tarefas com verificadores automáticos, como desafios de codificação e provas formais, que melhoram a cobertura diretamente e consequentemente aumentam a taxa de sucesso.
Os modelos usados em nossos experimentos incluem Llama-3 e Gemma, cada um testado em diferentes tarefas pra observar como a amostragem repetida melhora a cobertura e o sucesso na resolução de problemas.
Resultados da Amostragem Repetida
Em todas as tarefas, encontramos que a cobertura aumenta com o número de amostras geradas. Usando amostragem repetida, aumentamos a taxa de resolução de 15,9% pra 56% em tarefas de codificação. Os efeitos são igualmente profundos em outros conjuntos de problemas matemáticos onde aumentar o tamanho da amostra leva a resultados melhores.
Notavelmente, até modelos menores mostram aumentos impressionantes na cobertura quando aplicamos métodos de amostragem repetida. Por exemplo, alguns modelos menores conseguem 300 vezes melhor cobertura em tarefas específicas simplesmente aumentando o número de amostras de 1 pra 10.000.
Em cenários onde modelos podem ter suas soluções verificadas automaticamente, os aumentos na cobertura levam a avanços de desempenho que superam os de modelos mais fortes com menos tentativas.
Aspectos Financeiros da Escala
O custo-benefício da amostragem repetida também se destaca. Mantendo o número de FLOPs de inferência constante, observamos que diferentes modelos maximizam cobertura de forma mais eficiente ou produzem melhores resultados com base na tarefa em questão. Nossas comparações mostram que aumentar o número de amostras costuma resultar em melhor cobertura e taxas de sucesso, mesmo com modelos de custo mais baixo.
Por exemplo, ao usar o DeepSeek-V2-Coder-Instruct com amostragem repetida, conseguimos uma taxa superior de resolução de problemas em comparação com tentativas únicas de modelos mais caros, apresentando uma abordagem viável e econômica pra melhorar o desempenho.
A Importância da Verificação de Amostras
Uma consideração significativa em nossas descobertas é o papel que os métodos de verificação desempenham na identificação de respostas corretas. Em tarefas que não têm verificadores automáticos, métodos tradicionais, como votação por maioria, costumam estagnar e não escalam com o aumento do orçamento de amostras. Isso resulta em uma lacuna de desempenho, enfatizando a necessidade de sistemas de verificação robustos nesses contextos.
Ao verificar soluções para problemas de matemática, vemos uma melhora notável na cobertura à medida que o número de amostras aumenta drasticamente. No entanto, os métodos disponíveis pra selecionar respostas finais não acompanham, o que destaca uma área pra mais desenvolvimento.
Direções Futuras
Progredindo, acreditamos que refinar nossa abordagem à amostragem repetida pode levar a resultados ainda melhores. Isso inclui melhorar a diversidade das soluções e permitir que os modelos aprendam com tentativas anteriores, especialmente em tarefas de codificação e resolução de problemas. Fornecer feedback da execução pode levar a soluções de maior qualidade, que por sua vez podem melhorar a eficácia geral da amostragem repetida.
Também enfatizamos a necessidade de desenvolver melhores ferramentas de verificação, especialmente para tarefas complexas e criativas, pra aproveitar totalmente as capacidades da amostragem repetida em aplicações do mundo real.
Conclusão
Resumindo, nossa pesquisa mostra que escalar o cálculo de inferência através da amostragem repetida pode aumentar significativamente o desempenho de grandes modelos de linguagem em várias tarefas. Esse método torna viável aproveitar modelos menos potentes de forma eficaz enquanto superamos modelos mais fortes ao amostrar várias vezes. Nossas observações sugerem uma conexão sólida entre o número de amostras e as taxas de cobertura, apontando pra um futuro onde a amostragem repetida se torne uma prática comum na implementação de modelos de linguagem para tarefas complexas de resolução de problemas.
Título: Large Language Monkeys: Scaling Inference Compute with Repeated Sampling
Resumo: Scaling the amount of compute used to train language models has dramatically improved their capabilities. However, when it comes to inference, we often limit models to making only one attempt at a problem. Here, we explore inference compute as another axis for scaling, using the simple technique of repeatedly sampling candidate solutions from a model. Across multiple tasks and models, we observe that coverage -- the fraction of problems that are solved by any generated sample -- scales with the number of samples over four orders of magnitude. Interestingly, the relationship between coverage and the number of samples is often log-linear and can be modelled with an exponentiated power law, suggesting the existence of inference-time scaling laws. In domains like coding and formal proofs, where answers can be automatically verified, these increases in coverage directly translate into improved performance. When we apply repeated sampling to SWE-bench Lite, the fraction of issues solved with DeepSeek-Coder-V2-Instruct increases from 15.9% with one sample to 56% with 250 samples, outperforming the single-sample state-of-the-art of 43%. In domains without automatic verifiers, we find that common methods for picking from a sample collection (majority voting and reward models) plateau beyond several hundred samples and fail to fully scale with the sample budget.
Autores: Bradley Brown, Jordan Juravsky, Ryan Ehrlich, Ronald Clark, Quoc V. Le, Christopher Ré, Azalia Mirhoseini
Última atualização: 2024-12-30 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2407.21787
Fonte PDF: https://arxiv.org/pdf/2407.21787
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://en.m.wikipedia.org/wiki/Infinite_monkey_theorem
- https://scalyresearch.stanford.edu/pubs/large_language_monkeys/
- https://docs.google.com/spreadsheets/d/1D-suvkheNA4fjLsO2TuwHNqwx2TIECmp
- https://github.com/rah4927/lean-dojo-mew/blob/main/MiniF2F/Test.lean
- https://github.com/facebookresearch/miniF2F
- https://github.com/rah4927/lean-dojo-mew/blob/main/MiniF2F/Validation.lean
- https://huggingface.co/datasets/openai/gsm8k/viewer/main/test?row=1042