Para especializar um grande modelo de linguagem (LLM) num domínio específico, a abordagem clássica consiste em fine-tuná-lo, ou seja, continuar o seu treino num conjunto de dados específico. Um tutorial compara este método a uma solução mais leve: manter o modelo fixo e treinar apenas um pequeno classificador colocado no topo. Numa tarefa de classificação de artigos de imprensa, a primeira estratégia obtém a melhor precisão, mas exige muito mais tempo.
A primeira estratégia baseia-se em LoRA (Low-Rank Adaptation), um algoritmo que congela os pesos pré-treinados do modelo e adiciona pequenas matrizes de adaptação treináveis. Estas matrizes representam tipicamente 1 a 2% do tamanho do modelo. O tutorial utiliza uma variante quantizada, designada QLoRA, que mantém o modelo em precisão de 4 bits para economizar memória. A segunda estratégia, designada de embeddings fixos, consiste em usar o LLM apenas como extrator de características. Cada texto é transformado num vetor numérico, chamado embedding, a partir da última camada oculta do modelo, e depois estes vetores servem para treinar um classificador clássico: uma floresta aleatória (random forest) de 100 árvores, proveniente da biblioteca scikit-learn.
As experiências foram realizadas no Google Colab, com uma GPU T4. O modelo utilizado é o Qwen/Qwen2.5-1.5B, e o conjunto de dados é o ag_news, que reúne artigos de notícias classificados em quatro categorias. Para que a comparação permaneça rápida, os autores trabalham num subconjunto de 800 artigos de treino e 200 artigos de teste.
Resultados contrastados
Com a estratégia dos embeddings fixos, a extração dos vetores demora 96,5 segundos, e o treino do classificador apenas 2,866 segundos. A precisão atinge 82,0% no conjunto de teste. O tutorial salienta que a maior parte do tempo é dedicada à extração de características, sendo o treino do classificador quase instantâneo.
A estratégia LoRA apresenta uma precisão de 87,0%, para um treino de 300,3 segundos. O ganho de precisão tem, portanto, um custo: segundo o tutorial, todo o processo demorou três vezes mais, e esta diferença poderia tornar-se nitidamente mais acentuada com conjuntos de dados mais volumosos.
Quando privilegiar uma ou outra
Os autores recomendam os embeddings fixos quando se procura um treino rápido e uma baixa carga computacional, evitando simultaneamente o sobreajuste do modelo base. O fine-tuning com QLoRA impõe-se, por outro lado, quando reduzir a diferença de precisão é determinante para o domínio visado, ou quando o modelo precisa de aprender nuances específicas profundamente enraizadas nesse domínio.
O raciocínio muda para tarefas puramente generativas, como a produção de texto ou código, onde a adaptação do modelo, por exemplo através de fine-tuning, é geralmente necessária para obter comportamentos especializados. O tutorial nota, no entanto, que os embeddings fixos podem constituir uma alternativa viável para alguns usos generativos em implementações gratuitas, quando o desempenho máximo é um critério ligeiramente negociável.
