stamatios
← Voltar ao feed
Pesquisador tenta replicar qualidade de instruction-following do GPT-2
IA & Modelos · Open Source

Pesquisador tenta replicar qualidade de instruction-following do GPT-2

resumo de ~3 min

O mistério

Giles Thomas, que mantém um projeto de treinar um LLM do zero (arquitetura GPT-2 small, ~163M de parâmetros), percebeu uma inconsistência: seus modelos frequentemente obtinham perda de entropia cruzada (test loss) melhor que os pesos originais do GPT-2 small da OpenAI, mas eram consistentemente piores em instruction-following após fine-tuning no dataset Alpaca.

A avaliação ("IFT eval") funciona assim: treina-se o modelo em amostras do Alpaca até a loss de validação começar a subir, gera-se respostas para um conjunto de teste, e um LLM (GPT 5.5) pontua as respostas de 0 a 100.

Os resultados

Na tabela de resultados, o GPT-2 medium da OpenAI ficou em primeiro lugar (score 41,62), seguido pelo GPT-2 small (26,73). O melhor modelo de Giles ficou com 20,71 - uma diferença consistente entre execuções. Outro dado relevante: os pesos da OpenAI atingiam overfitting em apenas 2 épocas de fine-tuning, enquanto os modelos de Giles precisavam de 3 a 7 épocas.

A hipótese da paisagem de loss

A explicação central do post gira em torno da ideia de "loss landscape". O pré-treino e o fine-tuning minimizam a mesma função (entropia cruzada), mas com alvos diferentes. A suposição por trás do paradigma pré-treino → fine-tuning é que um ponto baixo na paisagem do pré-treino esteja próximo (no espaço de parâmetros) de um ponto baixo na paisagem do fine-tuning. Os pesos da OpenAI aparentemente caíram em regiões que são boas para ambas as paisagens, enquanto os de Giles caíram em regiões boas apenas para a paisagem de pré-treino.

Um detalhe adicional: os pesos da OpenAI são ainda melhores do que parecem

Giles observa que o test loss foi calculado sobre dados do FineWeb - o mesmo dataset usado para treinar seus modelos. Os pesos da OpenAI foram treinados no WebText (nunca publicado), um dataset diferente. Mesmo assim, o GPT-2 small obteve loss melhor que a maioria dos modelos de Giles nesse test set "estrangeiro". Usando uma analogia com corredores de trilha: se um corredor que nunca esteve naquela floresta fica em quarto lugar entre 15 que correm lá regularmente, provavelmente é o melhor de todos.

Além disso, o GPT-2 small usa weight tying, o que o torna menor (~124M parâmetros vs. 163M dos modelos de Giles). Quando Giles testou weight tying, a loss piorou significativamente.

Hipóteses descartadas e o próximo experimento

  • Dropout: um modelo treinado com dropout teve um dos piores resultados no IFT eval, então foi descartado como explicação.
  • Qualidade dos dados: o WebText foi filtrado por links com pelo menos 3 upvotes no Reddit. O FineWeb é mais genérico. Modelos treinados no FineWeb-Edu (páginas "educacionais") tiveram desempenho desproporcionalmente bom no IFT, sugerindo que qualidade importa - mas não explica tudo, já que os pesos da OpenAI também performaram bem no test set do FineWeb.
  • Overtraining: a hipótese escolhida para o primeiro experimento. Giles treinou com 20 tokens por parâmetro (o ótimo de Chinchilla, de 2022), mas o GPT-2 foi treinado em 2019, provavelmente com muito mais dados e múltiplas épocas. O próximo post testará se treinar com mais tokens (overtraining) aproxima os resultados dos pesos da OpenAI.