Como se treina um modelo de linguagem se resume a três etapas encadeadas e nessa ordem: primeiro ele engole texto por milhões de páginas até aprender a prever a palavra seguinte (pré-treinamento), depois pratica com exemplos de "é assim que se responde a uma instrução" (ajuste por instruções) e, por último, pole seu comportamento com feedback de pessoas que lhe dizem qual de duas respostas preferem (RLHF). Cada etapa faz algo que a anterior não conseguia. Confundi-las é a raiz de quase todos os mal-entendidos sobre essas máquinas.
Digo isso com a analogia que me surge sozinha, porque me dedico a observar como esses sistemas se comportam: eles não se programam, se criam. E, como qualquer um que já criou algo sabe, existe uma diferença abissal entre alguém que leu muito e alguém que, além disso, sabe se comportar. Um modelo recém-saído do pré-treinamento é a primeira coisa. O assistente com quem você conversa é a segunda. Entre um e outro, muita coisa aconteceu.
01 · a farturaPré-treinamento: ler metade da internet sem entender nada
A primeira etapa é a mais longa, a mais cara e a mais incompreendida. Ao modelo se entrega uma montanha descomunal de texto (livros, artigos, código, fóruns, boa parte da web pública) e uma única tarefa, ridiculamente simples: adivinhar a palavra que vem a seguir. Tapa-se a última peça de uma frase e ele precisa apostar. Acerta, se corrige, aposta de novo. Bilhões de vezes.
Parece uma brincadeira boba, e aí está o assombroso: para prever bem a palavra seguinte em tantíssimos contextos, o sistema se vê forçado a aprender gramática, fatos do mundo, estilos, associações, até rudimentos de raciocínio. Ninguém lhe ensina essas coisas de frente; elas emergem como efeito colateral de brincar de adivinhar. O resultado se chama modelo base: uma máquina com uma competência linguística assombrosa e nem um grama de boas maneiras.
Prever a palavra seguinte parece brincadeira boba. É a escola mais exigente que existe.
Para dimensionar a fartura: o estudo das "leis de escala" de Kaplan e seus colegas em 2020 mostrou que a qualidade do modelo melhora de forma previsível ao elevar ao mesmo tempo o tamanho do modelo, a quantidade de dados e a computação [1]. Em 2022, o trabalho de Hoffmann e sua equipe (o modelo Chinchilla) corrigiu o equilíbrio: para um orçamento de computação dado convém menos parâmetros e muito mais dados do que se acreditava [2]. Traduzindo: esta etapa se mede em centenas de bilhões de palavras e em meses de fazendas de processadores. É, de longe, onde o dinheiro vai embora.
02 · as boas maneirasAjuste por instruções: ensiná-lo a dar ouvidos
Se você fala com um modelo base recém-pré-treinado, a experiência é estranha. Você escreve "Qual é a capital da França?" e, em vez de responder "Paris", talvez ele continue com "Qual é a capital da Itália? Qual é a capital da Espanha?". Não é que ele não saiba a resposta: é que aprendeu a continuar texto, não a obedecer a um pedido. Leu metade da internet e continua sem entender que você está perguntando algo.
A segunda etapa conserta isso. Chama-se ajuste por instruções (uma forma de fine-tuning) e consiste em continuar treinando o modelo base, mas agora com um cardápio cuidadoso de exemplos com a forma "instrução → boa resposta": perguntas e sua resposta correta, tarefas e como resolvê-las, pedidos e como atendê-los. Ao imitar milhares desses pares, o modelo aprende o formato de ser útil: entender que um turno de conversa pede uma resposta, não uma continuação.
Esta etapa mal lhe ensina fatos novos. Todo o conhecimento já estava dentro desde o pré-treinamento; o ajuste por instruções só lhe ensina a extraí-lo quando lho pedem e no formato adequado. Por isso usa relativamente poucos exemplos comparada com a fartura inicial. Você não está enchendo uma biblioteca: está ensinando um bibliotecário muito lido a atender o balcão.
O conhecimento já estava dentro. O que faltava era ensiná-lo a entregá-lo quando lho pedem.
03 · o critérioRLHF: polir o comportamento com preferências humanas
Depois das instruções o modelo já obedece, mas obedecer não é o mesmo que responder bem. Entre duas respostas ambas corretas, qual é mais clara, mais honesta, menos tóxica, mais útil? Escrever à mão uma regra para isso é impossível: não existe fórmula para "a melhor resposta". Mas reconhecer a melhor quando a temos diante de nós, isso sabemos fazer.
Aí entra a terceira etapa, o aprendizado por reforço com feedback humano (RLHF). Mostram-se a pessoas duas respostas do modelo ao mesmo pedido e pede-se apenas que apontem qual preferem. Com milhares dessas comparações treina-se um segundo modelo (o modelo de recompensa) que aprende a prever o que um humano escolheria. Esse modelo passa a ser o professor automático: o sistema se ajusta para produzir respostas que esse juiz pontua alto. Em 2022 a equipe de Ouyang o aplicou a um modelo de linguagem e publicou o InstructGPT, e o salto foi tão grande que um modelo muito menor mas polido com RLHF era preferido pelas pessoas frente a outro cem vezes maior sem polir [3].
Convém ser honesta com os limites: esse juiz é uma medida do que queremos, não o que queremos em si. Um sistema que empurra com todas as suas forças rumo a uma medida imperfeita encontra atalhos: responder longo porque o comprimento se confunde com qualidade, soar seguro em vez de estar correto, bajular o usuário. Por isso o polimento com preferências melhora muitíssimo o comportamento, mas não o deixa "resolvido" para sempre: fica sob vigilância.
04 · por que a ordem importaConfundir as etapas confunde o modelo (e você)
A razão de contar isso em ordem estrita é prática. Quase todo mal-entendido comum sobre esses sistemas vem de atribuir a uma etapa o que outra faz. O modelo "sabe" coisas? Isso veio do pré-treinamento. Responde ao que você pede em vez de divagar? Isso são as instruções. É prudente, cortês, evita certo conteúdo? Isso é o polimento com preferências. Se algo falha, ajuda saber em que etapa procurar.
Um exemplo cotidiano: quando um modelo "alucina" um dado falso com total aprumo, não é que o ajuste por instruções lhe tenha metido um erro; é que o pré-treinamento lhe ensinou a produzir texto plausível e nenhuma etapa posterior garante que o plausível seja verdadeiro. E quando um modelo se recusa a algo razoável, não é que "não saiba": é sua camada de comportamento, a do RLHF, sendo excessivamente cautelosa. Distinguir as camadas transforma um "a IA é uma caixa-preta" em perguntas concretas e respondíveis.
No fim, criar um modelo de linguagem se parece mais com a criação de um filho do que com a engenharia de uma planilha. Primeiro você o deixa ler sem parar até que saiba muito. Depois você o ensina a dar ouvidos. E, por fim, você lhe ensina critério, mostrando-lhe exemplos do que está certo e do que não está, com a paciência de quem sabe que o aluno tomará cada instrução de forma temivelmente literal. Três etapas, uma ordem. Mude-a e você não obtém um assistente: obtém um leitor brilhante que não entende que você está falando com ele.
Fontes
- Kaplan, J., McCandlish, S., Henighan, T. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
- Hoffmann, J., Borgeaud, S., Mensch, A. et al. (2022). Training Compute-Optimal Large Language Models ("Chinchilla"). Advances in Neural Information Processing Systems (NeurIPS) 35. arXiv:2203.15556.
- Ouyang, L., Wu, J., Jiang, X. et al. (2022). Training Language Models to Follow Instructions with Human Feedback ("InstructGPT"). Advances in Neural Information Processing Systems (NeurIPS) 35. arXiv:2203.02155.
- Christiano, P., Leike, J., Brown, T., Martic, M., Legg, S. y Amodei, D. (2017). Deep Reinforcement Learning from Human Preferences. Advances in Neural Information Processing Systems (NeurIPS) 30. arXiv:1706.03741.