Ir para o conteúdo
Bruno Lucildo
Todos os experimentos

EXP / 007

EstudoConcluído

Ajuste fino de um modelo pequeno para classificar avaliações (LoRA)

Ajustar um modelo de 1,5 bilhão de parâmetros com LoRA para classificar avaliações curtas de desempenho no futebol, e o que a avaliação mostra e não mostra.

Modelo: Qwen2.5-1.5B-Instruct, LoRA adapter

Objetivo

Descobrir se um adaptador LoRA deixa um modelo aberto e pequeno melhor em rotular uma avaliação de desempenho como positiva, neutra ou negativa, e em responder no formato que um programa consegue ler.

Problema investigado

Modelos pequenos costumam ignorar o formato de resposta exigido ou pender para o rótulo errado, e classificar avaliações à mão não escala. O ajuste fino é uma correção candidata, mas só uma avaliação justa diz se ele ajuda.

Abordagem

O modelo-base, Qwen2.5-1.5B-Instruct, foi carregado com quantização de 4 bits em uma GPU T4 do Colab e treinado com um adaptador LoRA (posto 16, alfa 32, nas projeções de consulta e de valor da atenção) por três épocas, com uma instrução de sistema e uma resposta em JSON com um único campo de sentimento. O conjunto de treino era um arquivo de 75 avaliações curtas, 25 por classe. A comparação desliga e liga o adaptador sobre o mesmo modelo, com decodificação gulosa, e conta rótulos corretos, respostas inválidas e uma matriz de confusão.

Resultados

Nas mesmas 75 avaliações usadas no treino, o modelo sem o adaptador rotulou 55 corretamente e o modelo ajustado, 63. As respostas inválidas caíram de 13 de 75 para 1 de 75. As avaliações negativas encontradas subiram de 14 de 25 para 22 de 25, e as positivas, de 23 de 25 para 25 de 25, enquanto as neutras encontradas caíram de 18 de 25 para 16 de 25, e as neutras rotuladas como positivas subiram de 5 de 25 para 9 de 25. Como essas avaliações também eram os dados de treino, as contagens mostram o que o adaptador aprendeu, não como ele se sairia com avaliações novas.

Limitações

Não há conjunto de teste separado. O relatório do exercício descreve uma divisão estratificada com um quinto dos dados reservado, mas o notebook que guardei avalia o arquivo inteiro com que treinou, então trato todas as contagens acima como medidas nos dados de treino e não como evidência de generalização. 75 avaliações, uma execução e uma semente são uma amostra muito pequena, sem intervalo de confiança. A qualidade dos rótulos depende de quão claramente positivo, neutro e negativo foram definidos, e exemplos ambíguos atrapalham o treino e a avaliação. Uma resposta do modelo ajustado ainda saiu inválida, e descrições neutras de fatos (um cartão amarelo, ter sido titular) deslizaram para positivo. Não está pronto para uso sem supervisão.

O que aprendi

Um número maior não é evidência enquanto os dados de teste não ficam separados do treino: aqui o mesmo arquivo alimenta os dois, e a tabela não consegue dizer se o adaptador generaliza. Contar as falhas de formato separadamente dos erros de rótulo, e olhar quais exemplos deslizaram, ensinou mais do que o número de destaque. Da próxima vez eu dividiria os dados primeiro, congelaria o conjunto de teste e repetiria com outras sementes.