Ajuste Fino

Para entender o conceito de ajuste fino, não é necessário ter um doutorado. Este artigo explica como modelos pré-treinados aprendem novas habilidades por meio do ajuste fino. Este artigo faz parte de uma série para iniciantes, onde abordamos as perguntas mais procuradas no Google, mas que podem não ser bem compreendidas devido à complexidade matemática e outros fatores. Se você está aqui, provavelmente já ouviu falar em ajuste fino no contexto de grandes modelos de linguagem (LLMs), especialmente. Esse conceito já existia na aprendizagem de máquina tradicional há anos, mas ganhou popularidade após os LLMs, pois agora todos têm acesso a esses grandes modelos pré-treinados gerais que podem ser adaptados às suas necessidades específicas e em seu próprio tom. Essa adaptação é basicamente chamada de ajuste fino, e agora é uma das coisas mais comuns que as pessoas fazem com os LLMs. No entanto, você não pode entender isso até entender o passo que vem antes, que é o “pré-treinamento”. O ajuste fino é literalmente “ajustar” algo que já existe, e esse “algo” é um modelo pré-treinado. Então, vamos tentar desmembrar esses conceitos para que, no futuro, se alguém perguntar sobre isso, você saiba o que é.

Se você começa com um modelo recém-criado que tem milhões ou bilhões de parâmetros atribuídos a números aleatórios e tenta ensinar-lhe uma tarefa muito específica diretamente – digamos, como classificar filmes em diferentes categorias -, ele precisa aprender todo o idioma inglês do zero ao mesmo tempo, o que é impossível, especialmente com o conjunto de dados limitado que você pode ter. É como ensinar biologia a uma criança antes que ela possa entender a linguagem ou conceitos científicos básicos. O pré-treinamento resolve esse problema aprendendo as coisas difíceis e gerais apenas uma vez a partir de uma grande quantidade de dados. Os requisitos de computação e dados são bastante altos nessa etapa. Mas, uma vez que você o treine, terá um modelo que já entende a linguagem. Durante essa etapa, você ensina ao modelo uma habilidade muito simples: prever a próxima palavra. Você mostra ao modelo um trecho de texto com a próxima palavra oculta, e ele precisa adivinhar o que vem a seguir. Boas suposições recebem uma pequena perda, más suposições recebem uma grande perda, e o modelo se ajusta.

Por exemplo, no diagrama acima, se dermos a frase “O gato sentou-se no ____”, o modelo aprende que “tapete” é muito mais provável do que “carro”. Repetir esse treinamento em bilhões de frases, livros e artigos torna o modelo um excelente preditor de próxima palavra e o obriga a absorver gramática, fatos, padrões de raciocínio e muito mais. Após o pré-treinamento, você tem um modelo que já entende a linguagem. Cada tarefa que você constrói posteriormente pode se basear nessa fundação em vez de começar do zero. É por isso que esses modelos são frequentemente chamados de modelos de fundação. Você quase nunca pré-treina nada sozinho. Você baixa o resultado finalizado – um modelo pré-treinado como Llama, Mistral ou Qwen – e começa a partir daí. Isso nos leva ao nosso tópico real de ajuste fino.

Muitos iniciantes pensam que, uma vez que um modelo foi treinado, os pesos são congelados para sempre. Na realidade, ter um modelo pré-treinado significa que os pesos foram definidos para “valores bons” que codificam inteligência e performam bem em tarefas gerais. Uma vez que você tenha esse modelo, pode adaptar essa inteligência às suas necessidades específicas usando dados específicos da tarefa – e isso é chamado de “ajuste fino”. Os requisitos de dados nessa etapa também são muito menores do que no pré-treinamento, pois você só precisa de exemplos para a tarefa em que está interessado. É muito semelhante a como diferentes chefs são treinados na mesma escola de culinária e, quando se juntam a um restaurante, aprendem habilidades específicas do restaurante. Como não estamos construindo algo do zero aqui, é menos caro – semelhante à ideia de que treinar uma pessoa completamente nova para um restaurante requer muito mais esforço do que treinar alguém que já frequentou a escola de culinária. O diagrama abaixo resume a diferença entre pré-treinamento e ajuste fino.

Discutimos a previsão de próxima palavra e o processo de pré-treinamento. Agora, vamos dar uma olhada no loop de ajuste fino. Você mostra ao modelo um exemplo de dados específicos da tarefa – digamos, um filme -, pede que ele categorize o filme e faça uma suposição, então compara sua resposta com a ideal, ajusta os pesos um pouco e repete o processo até que ele melhore na tarefa downstream. Também há duas coisas principais feitas de forma diferente no ajuste fino em comparação com o pré-treinamento: embora você encontre diferentes definições na internet, com base no número de parâmetros do modelo que você deseja ajustar ou adaptar, o ajuste fino pode ser dividido em duas categorias principais.

O ajuste fino é excelente para ensinar ao modelo uma nova habilidade, estilo, comportamento ou tarefa, mas não é a única ferramenta – e muitas vezes não é a primeira que você deve usar. Uma boa solicitação pode resolver seu problema sem qualquer treinamento. Da mesma forma, quando faz mais sentido procurar informações online ou em um banco de dados no momento da consulta, a geração aumentada de recuperação (RAG) é uma melhor opção, especialmente quando você precisa de informações específicas ou atualizadas. O ajuste fino é uma ferramenta poderosa, mas é importante saber quando usá-la e como usá-la de forma eficaz. Com a crescente disponibilidade de modelos pré-treinados e a capacidade de ajuste fino, as possibilidades para a aprendizagem de máquina e a inteligência artificial são vastas e