Aprendizagem pessoal com IA
e orientação prática
Recomendação de recursos 1

HuggingFace revela os detalhes técnicos por trás do o1 e abre seu código-fonte!

Se os modelos pequenos tiverem mais tempo para pensar, eles podem superar os modelos maiores.

 


Nos últimos tempos, tem havido um entusiasmo sem precedentes no setor por modelos pequenos, com alguns "truques práticos" que permitem que eles superem os modelos maiores em termos de desempenho.

 

Pode-se argumentar que há um corolário para o foco no aprimoramento do desempenho de modelos menores. Para modelos de linguagem grandes, o dimensionamento da computação do tempo de treinamento tem dominado seu desenvolvimento. Embora esse paradigma tenha se mostrado muito eficaz, os recursos necessários para o pré-treinamento de modelos cada vez maiores tornaram-se proibitivamente caros, e surgiram clusters de vários bilhões de dólares.

 

Como resultado, essa tendência despertou um grande interesse em outra abordagem complementar, ou seja, o escalonamento de computação em tempo de teste. Em vez de depender de orçamentos de pré-treinamento cada vez maiores, os métodos de tempo de teste usam estratégias de inferência dinâmica que permitem que os modelos "pensem mais" em problemas mais difíceis. Um exemplo proeminente disso é o modelo o1 da OpenAI, que demonstrou um progresso consistente em problemas matemáticos difíceis à medida que a quantidade de computação em tempo de teste aumenta.

 

 

Embora não saibamos exatamente como o1 é treinado, pesquisas recentes da DeepMind sugerem que o dimensionamento ideal da computação em tempo de teste pode ser obtido por meio de estratégias como o autoaperfeiçoamento iterativo ou a busca no espaço da solução usando um modelo de recompensa. Ao alocar adaptativamente a computação do tempo de teste em uma base de prompt por prompt, os modelos menores podem se igualar e, às vezes, até superar os modelos maiores e com uso intensivo de recursos. O escalonamento do tempo de computação é especialmente benéfico quando a memória é limitada e o hardware disponível é insuficiente para executar modelos maiores. No entanto, essa abordagem promissora foi demonstrada usando um modelo de código fechado e nenhum detalhe ou código de implementação foi divulgado.

 

Artigo da DeepMind: https://arxiv.org/pdf/2408.03314

 

Nos últimos meses, a HuggingFace tem se dedicado a tentar fazer engenharia reversa e reproduzir esses resultados. Eles os apresentarão nesta postagem do blog:

 

  • Dimensionamento otimizado para computação (dimensionamento otimizado para computação):Aprimore o poder matemático dos modelos abertos no momento do teste implementando os truques do DeepMind.
  • Diversity Validator Tree Search (DVTS):É uma extensão desenvolvida para a técnica de pesquisa de árvore bootstrap do validador. Essa abordagem simples e eficiente aumenta a diversidade e proporciona melhor desempenho, especialmente quando testada com um grande orçamento computacional.
  • Pesquise e aprenda:Um kit de ferramentas leve para implementar estratégias de pesquisa usando o LLM com o vLLM Obter aumentos de velocidade.

 

Então, até que ponto o dimensionamento computacionalmente ideal funciona na prática? No gráfico abaixo, os modelos muito pequenos 1B e 3B da Llama Instruct superam os modelos muito maiores 8B e 70B no desafiador benchmark MATH-500, se você der a eles "tempo de reflexão" suficiente.

 

 

Apenas 10 dias após o lançamento público do OpenAI o1, estamos empolgados em revelar uma versão de código aberto da tecnologia revolucionária por trás de seu sucesso: Extended Test-Time Computing", disse Clem Delangue, cofundador e CEO da HuggingFace. Ao dar ao modelo um "tempo de raciocínio" mais longo, o modelo 1B pode vencer 8B e o modelo 3B pode vencer 70B. É claro que a receita completa é de código aberto.

 

 

Os internautas de todas as esferas da vida não ficaram calmos ao ver esses resultados, chamando-os de inacreditáveis e considerando-os uma vitória para as miniaturas.

 

 

 

Em seguida, o HuggingFace investiga os motivos por trás desses resultados e ajuda os leitores a entender as estratégias práticas para implementar o dimensionamento computacional durante os testes.

 

Estratégia de computação de tempo de teste estendida

 

Há duas estratégias principais para estender a computação do tempo de teste:

 

  • Autoaperfeiçoamento: o modelo melhora iterativamente seu resultado ou "ideia" ao identificar e corrigir erros nas iterações subsequentes. Embora essa estratégia seja eficaz em algumas tarefas, ela geralmente exige que o modelo tenha um mecanismo de autoaperfeiçoamento incorporado, o que pode limitar sua aplicabilidade.
  • Pesquisa com um validador: essa abordagem se concentra na geração de várias respostas candidatas e no uso de um validador para selecionar a melhor resposta. Os validadores podem se basear em heurística codificada ou em modelos de recompensa aprendidos. Neste documento, vamos nos concentrar em validadores aprendidos, que incluem técnicas como amostragem Best-of-N e pesquisa em árvore. Essas estratégias de pesquisa são mais flexíveis e podem se adaptar à dificuldade do problema, embora seu desempenho seja limitado pela qualidade do validador.

 

A HuggingFace é especializada em métodos baseados em pesquisa que são soluções práticas e dimensionáveis para otimização computacional em tempo de teste. Aqui estão três estratégias:

 

 

  • Melhor de N: normalmente usa um modelo de recompensa para gerar várias respostas para cada pergunta e atribui uma pontuação a cada resposta candidata e, em seguida, seleciona a resposta com a maior recompensa (ou uma variante ponderada, conforme discutido posteriormente). Essa abordagem enfatiza a qualidade da resposta em vez da frequência.
  • Pesquisa de cluster: um método de pesquisa sistemática para explorar o espaço da solução, geralmente usado em conjunto com os modelos de recompensa de processo (PRMs) para otimizar a amostragem e a avaliação das etapas intermediárias na solução de problemas. Ao contrário dos modelos de recompensa tradicionais que produzem uma única pontuação para a resposta final, os PRMs fornecem uma série de pontuações, uma para cada etapa do processo de raciocínio. Esse recurso de feedback refinado torna os PRMs uma opção natural para os métodos de pesquisa LLM.
  • Diversity Validator Tree Search (DVTS): uma extensão de pesquisa de cluster desenvolvida pela HuggingFace que divide o cluster inicial em subárvores separadas e, em seguida, expande avidamente essas subárvores usando PRM. Essa abordagem melhora a diversidade e o desempenho geral da solução, especialmente se o orçamento computacional for grande no momento do teste.

 

 

Configuração experimental

 

 

A configuração experimental consistiu nas seguintes etapas:

 

  • Primeiro, o LLM recebe um problema matemático para gerar N soluções parciais, por exemplo, etapas intermediárias no processo de derivação.
  • Cada etapa é pontuada por um PRM, que estima a probabilidade de que cada etapa termine com a resposta correta.
  • Após a conclusão da estratégia de pesquisa, as soluções candidatas finais são classificadas pelo PRM para produzir a resposta final.

 

Para comparar várias estratégias de pesquisa, os seguintes modelos e conjuntos de dados de código aberto são usados neste documento:

 

  • Modelos: use meta-llama/Llama-3.2-1B-Instruct como o modelo principal para cálculos de tempo de teste estendido;
  • Modelo de recompensa de processo PRM: para orientar a estratégia de pesquisa, este artigo usa o RLHFlow/Llama3.1-8B-PRM-Deepseek-Data, um modelo de recompensa de 8 bilhões treinado e supervisionado por processo. A supervisão do processo é um método de treinamento em que o modelo recebe feedback em cada etapa do processo de raciocínio, e não apenas no resultado final;
  • Conjunto de dados: este documento foi avaliado no subconjunto MATH-500, um conjunto de dados de referência MATH lançado pela OpenAI como parte de um estudo supervisionado por processo. Os problemas matemáticos abrangem sete assuntos e são desafiadores tanto para humanos quanto para a maioria dos modelos de linguagens grandes.

 

Este artigo começará com uma linha de base simples e, em seguida, incorporará gradualmente outras técnicas para melhorar o desempenho.

 

voto majoritário

 

A votação por maioria é a maneira mais direta de agregar os resultados do LLM. Para um determinado problema matemático, são geradas N soluções candidatas e a resposta com a maior frequência de ocorrência é selecionada. Em todos os experimentos, este documento coleta amostras de até N=256 soluções candidatas, com um parâmetro de temperatura T=0,8, e gera até 2048 tokens para cada problema.

 

Veja como foi o desempenho da maioria dos votos quando aplicados ao Llama 3.2 1B Instruct:

 

 

Os resultados mostram que a votação majoritária proporciona uma melhoria significativa em relação à linha de base da decodificação gulosa, mas seus ganhos começam a se estabilizar após cerca de N=64 gerações. Essa limitação ocorre porque a votação majoritária tem dificuldade em resolver problemas que exigem raciocínio cuidadoso.

 

Com base nas limitações da votação por maioria, vamos ver como podemos incorporar um modelo de recompensa para melhorar o desempenho.

 

Além da maioria: melhor de N

 

Best-of-N é uma extensão simples e eficiente do algoritmo de votação majoritária que usa um modelo de recompensa para determinar a resposta mais razoável. Há duas variantes principais do método:

 

Melhor de N comum: gere N respostas independentes e escolha a que tiver a maior recompensa RM como resposta final. Isso garante que a resposta com a maior confiança seja escolhida, mas não leva em conta a consistência entre as respostas.

 

Melhor de N ponderado: resume as pontuações de todas as respostas idênticas e seleciona a que tiver a maior recompensa total. Esse método prioriza respostas de alta qualidade, aumentando a pontuação por meio de ocorrências repetidas. Matematicamente, as respostas são ponderadas a_i:

 

 

em que RM (p,s_i) é a pontuação do modelo de recompensa para a i-ésima solução s_i para o problema p.

 

Normalmente, usa-se o Modelo de Recompensa de Resultado (ORM) para obter pontuações individuais em nível de solução. Entretanto, para uma comparação justa com outras estratégias de busca, o mesmo PRM é usado para pontuar as soluções do tipo melhor de N. Conforme mostrado na figura abaixo, o PRM gera uma sequência cumulativa de pontuações em nível de etapa para cada solução e, portanto, as etapas precisam ser pontuadas estatisticamente (redutivamente) para obter pontuações individuais em nível de solução:

 

 

Os estatutos mais comuns estão listados abaixo:

 

  • Mínimo: use a pontuação mais baixa de todas as etapas.
  • Prod: use o produto de frações escalonadas.
  • Última: use a pontuação final da etapa. Essa pontuação contém informações cumulativas de todas as etapas anteriores, tratando, portanto, o PRM como um ORM capaz de pontuar soluções parciais.

 

Abaixo estão os resultados obtidos com a aplicação das duas variantes do Best-of-N:

 

 

Os resultados revelam uma clara vantagem: o melhor de N ponderado supera consistentemente o melhor de N regular, especialmente com orçamentos de geração maiores. Sua capacidade de agregar as pontuações de respostas idênticas garante que mesmo as respostas menos frequentes, mas de maior qualidade, sejam priorizadas de forma eficaz.

 

No entanto, apesar dessas melhorias, ele ainda fica aquém do desempenho obtido pelo modelo Llama 8B e o método Best-of-N começa a se estabilizar em N=256.

 

Os limites podem ser ampliados com o monitoramento gradual do processo de busca?

 

Pesquisa de cluster usando PRM

 

Como um método de pesquisa estruturado, a pesquisa em cluster permite a exploração sistemática do espaço da solução, o que a torna uma ferramenta poderosa para melhorar os resultados do modelo no momento do teste. Quando usada em conjunto com o PRM, a pesquisa em cluster pode otimizar a geração e a avaliação de etapas intermediárias na solução de problemas. A pesquisa de cluster funciona da seguinte maneira:

 

 

  1. Várias soluções candidatas são geradas iterativamente, mantendo um número fixo de "clusters" ou caminhos ativos N .
  2. Na primeira iteração, N etapas independentes são tomadas do LLM com temperatura T para introduzir diversidade nas respostas. Essas etapas geralmente são definidas por um critério de parada, por exemplo, o término na nova linha n ou na nova linha dupla nn.
  3. Cada etapa é pontuada usando o PRM e as N/M melhores etapas são selecionadas como candidatas para a próxima rodada de geração. Aqui, M denota a "largura do cluster" de um determinado caminho de atividade. Assim como no Best-of-N, o "último" estatuto é usado para pontuar soluções parciais para cada iteração.
  4. Amplie as etapas selecionadas na etapa (3) amostrando M etapas subsequentes na solução.
  5. Repita as etapas (3) e (4) até que o EOS seja alcançado token ou excede a profundidade máxima de pesquisa.

 

Ao permitir que o PRM avalie a correção das etapas intermediárias, a busca em cluster pode identificar e priorizar caminhos promissores no início do processo. Essa estratégia de avaliação passo a passo é particularmente útil para tarefas de raciocínio complexas, como a matemática, devido ao fato de que a validação de soluções parciais pode melhorar significativamente o resultado final.

 

Detalhes da implementação

 

Nos experimentos, o HuggingFace seguiu a seleção de hiperparâmetros do DeepMind e executou a pesquisa de cluster da seguinte forma:

 

  • Calcular N clusters ao escalar para 4, 16, 64, 256
  • Largura fixa do cluster M=4
  • Amostragem na temperatura T=0,8
  • Até 40 iterações, ou seja, uma árvore com uma profundidade máxima de 40 etapas

 

Conforme mostrado na figura abaixo, os resultados são surpreendentes: com um orçamento de tempo de teste de N=4, a pesquisa em cluster atinge a mesma precisão que o Best-of-N com N=16, ou seja, uma melhoria de 4x na eficiência computacional! Além disso, o desempenho da pesquisa em cluster é comparável ao do Llama 3.1 8B, exigindo apenas N=32 soluções por problema. O desempenho médio dos alunos de doutorado em ciência da computação em matemática é de cerca de 40%, portanto, para o modelo 1B, perto de 55% é bom o suficiente!

 

 

Quais problemas são mais bem resolvidos pela pesquisa em cluster

 

Embora esteja claro, de modo geral, que a busca em cluster é uma estratégia de busca melhor do que a melhor de N ou a votação majoritária, o artigo da DeepMind mostra que há compensações para cada estratégia, dependendo da dificuldade do problema e do orçamento computacional no momento do teste.

 

Para entender quais problemas são mais adequados para cada estratégia, a DeepMind calculou a distribuição da dificuldade estimada do problema e dividiu os resultados em quintis. Em outras palavras, cada problema foi atribuído a um dos cinco níveis, com o nível 1 indicando problemas mais fáceis e o nível 5 indicando os problemas mais difíceis. Para estimar a dificuldade do problema, o DeepMind gerou 2048 soluções candidatas para cada problema com amostragem padrão e, em seguida, propôs a seguinte heurística:

 

  • Oracle: Estime as pontuações pass@1 para cada pergunta usando rótulos de fatos básicos e classifique a distribuição das pontuações pass@1 para determinar quintis.
  • Modelagem: os quintis são determinados usando a distribuição das pontuações médias de PRM para cada problema. A intuição aqui é que as perguntas mais difíceis terão pontuações mais baixas.

 

A figura abaixo mostra um detalhamento dos vários métodos com base na pontuação pass@1 e no orçamento N=[4,16,64,256] computado nos quatro testes:

 

 

Como pode ser visto, cada barra representa o orçamento calculado no momento do teste e, dentro de cada barra, é mostrada a precisão relativa de cada método. Por exemplo, nas quatro barras para o nível de dificuldade 2:

 

A votação por maioria é o método de pior desempenho de todos os orçamentos computacionais, exceto para N=256 (a pesquisa de cluster tem o pior desempenho).

A pesquisa de cluster é melhor para N=[4,16,64], mas a melhor de N é melhor para N=256.

 

Deve-se observar que a busca em cluster fez progressos consistentes em problemas de dificuldade moderada e difícil (níveis 3 a 5), mas tende a ter um desempenho pior do que a melhor de N (ou mesmo a votação majoritária) em problemas mais simples, especialmente com orçamentos computacionais maiores.

 

Ao analisar a árvore de resultados gerada pela pesquisa de cluster, a HuggingFace percebeu que, se uma única etapa recebesse uma recompensa alta, toda a árvore entraria em colapso nessa trajetória, afetando assim a diversidade. Isso os levou a explorar uma extensão de pesquisa de cluster que maximiza a diversidade.

 

DVTS: Aprimorando o desempenho por meio da diversidade

 

Como visto acima, a busca em cluster oferece um desempenho melhor do que o Best-of-N, mas tende a ter um desempenho ruim ao lidar com problemas simples e grandes orçamentos computacionais no momento do teste.

 

Para resolver esse problema, a HuggingFace desenvolveu uma extensão chamada "Diversity Validator Tree Search" (DVTS), que visa maximizar a diversidade quando N é grande.

 

O DVTS funciona de forma semelhante à pesquisa de cluster, com as seguintes modificações:

 

  • Para um determinado N e M, o conjunto inicial é expandido em N/M subárvores independentes.
  • Para cada subárvore, selecione a etapa com a maior pontuação PRM.
  • Gere M novas etapas a partir do nó selecionado na etapa (2) e selecione a etapa com a maior pontuação PRM.
  • Repita a etapa (3) até que o token EOS ou a profundidade máxima da árvore seja atingida.

 

O gráfico a seguir mostra os resultados da aplicação do DVTS ao Llama 1B:

 

 

 

Pode-se observar que o DVTS oferece uma estratégia complementar à busca em cluster: em N pequeno, a busca em cluster é mais eficaz para encontrar a solução correta; mas em N maior, a diversidade de candidatos ao DVTS entra em ação e é possível obter um desempenho melhor.

 

Além disso, no detalhamento da dificuldade do problema, o DVTS melhora o desempenho de problemas simples/médios com N grande, enquanto a busca em cluster tem melhor desempenho com N pequeno.

 

 

Dimensionamento otimizado para computação (dimensionamento otimizado para computação)

 

Com uma grande variedade de estratégias de pesquisa, uma pergunta natural é: qual é a melhor? No artigo da DeepMind (disponível como Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters), eles propõem uma estratégia de escalonamento computacionalmente ideal que seleciona o método de pesquisa e o parâmetro hyper parâmetro θ para obter o desempenho ideal para um determinado orçamento computacional N :

 

 

Entre eles é a resposta correta para a pergunta q. Computação de representação - Estratégia de dimensionamento ideal. Como é fácil calcular Um pouco complicado, o DeepMind propõe uma aproximação com base na dificuldade do problema, ou seja, alocando recursos computacionais durante o teste com base em qual estratégia de pesquisa obtém o melhor desempenho em um determinado nível de dificuldade.

 

Por exemplo, para problemas mais simples e orçamentos computacionais mais baixos, é melhor usar estratégias como Best-of-N, enquanto que para problemas mais difíceis, a pesquisa set shu é uma escolha melhor. A figura abaixo mostra a curva de otimização de computação!

 

 

Extensão para modelos maiores

 

Este documento também explora a extensão da abordagem de otimização computacional para o modelo Llama 3.2 3B Instruct para ver em que ponto o PRM começa a se enfraquecer quando comparado à capacidade da própria política. Os resultados mostram que a extensão computacionalmente ótima funciona muito bem, com o modelo 3B superando o Llama 3.1 70B Instruct (que é 22 vezes maior que o primeiro!). .

 

 

O que vem a seguir?

 

A exploração do dimensionamento computacional em tempo de teste revela o potencial e os desafios da utilização de abordagens baseadas em pesquisa. Para o futuro, este documento sugere várias direções interessantes:

 

  • Validadores robustos: Validadores robustos desempenham um papel fundamental no aprimoramento do desempenho, e melhorar a robustez e a versatilidade dos validadores é essencial para o avanço dessas abordagens;
  • Autovalidação: o objetivo final é obter a autovalidação, ou seja, o modelo pode validar de forma autônoma sua própria saída. Essa abordagem parece ser o que modelos como o o1 estão fazendo, mas ainda é difícil de alcançar na prática. Diferentemente do ajuste fino supervisionado (SFT) padrão, a autovalidação exige uma estratégia mais diferenciada;
  • (a) Integração do pensamento ao processo: a incorporação de etapas intermediárias explícitas ou do pensamento ao processo generativo pode aprimorar ainda mais o raciocínio e a tomada de decisões. Ao incorporar o raciocínio estruturado ao processo de pesquisa, é possível obter um melhor desempenho em tarefas complexas;
  • Pesquisa como ferramenta de geração de dados: o método também pode atuar como um poderoso processo de geração de dados para criar conjuntos de dados de treinamento de alta qualidade. Por exemplo, o ajuste fino de um modelo como o Llama 1B com base nas trajetórias corretas geradas pela pesquisa pode proporcionar benefícios significativos. Essa abordagem baseada em estratégia é semelhante a técnicas como ReST ou V-StaR, mas com a vantagem adicional da pesquisa, proporcionando uma direção promissora para o aprimoramento iterativo;
  • Chamada de mais PRMs: há relativamente poucos PRMs, o que limita sua aplicação mais ampla. O desenvolvimento e o compartilhamento de mais PRMs para diferentes domínios é uma área importante em que a comunidade pode fazer uma contribuição significativa.
Download de ferramentas
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " HuggingFace revela os detalhes técnicos por trás do o1 e abre seu código-fonte!

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