No campo do aprendizado profundo (deep learning), o ajuste fino (fine-tuning) é o processo de adaptar um modelo treinado para uma tarefa inicial (a tarefa a montante ou upstream task) para executar uma tarefa diferente e, geralmente, mais específica (a tarefa a jusante ou downstream task). É considerado uma vertente do aprendizado por transferência (transfer learning), pois reaproveita o conhecimento adquirido a partir do objetivo de treinamento original.
O ajuste fino envolve a aplicação de treinamento adicional (por exemplo, com novos dados) aos parâmetros de uma rede neural que já passou por um pré-treinamento. Existem muitas variantes do processo. O treinamento adicional pode ser aplicado a toda a rede neural ou a apenas um subconjunto de suas camadas ocultas, caso em que as camadas que não estão sendo ajustadas são descritas como "congeladas" (ou seja, seus pesos não são alterados durante a retropropagação de gradientes).
Um modelo também pode ser aumentado por meio de "adaptadores" (adapters) — módulos leves inseridos na arquitetura do modelo que ajustam sutilmente o espaço de incorporação para fins de adaptação de domínio. Esses módulos contêm significativamente menos parâmetros do que o modelo original e podem ser ajustados de uma maneira eficiente em termos de parâmetros (PEFT, parameter-efficient fine-tuning), otimizando apenas os seus próprios pesos e mantendo o restante dos pesos do modelo base inteiramente congelado.
Para certas arquiteturas, tais como as redes neurais convolucionais (CNNs), é uma prática comum manter as camadas iniciais (aquelas mais próximas da camada de entrada) congeladas, uma vez que elas capturam características visuais de baixo nível (como bordas e texturas), enquanto as camadas subsequentes frequentemente discernem características de alto nível que guardam maior relação com a tarefa específica para a qual o modelo está sendo especializado.
Modelos que são pré-treinados em córpus massivos e genéricos são usualmente ajustados reutilizando seus parâmetros como ponto de partida e adicionando uma camada final específica para a tarefa, a qual é treinada do zero. O ajuste fino de todo o modelo (full fine-tuning) também é comum e frequentemente gera melhores resultados, embora demande um custo computacional muito mais elevado.
O ajuste fino é tipicamente realizado por meio de aprendizado supervisionado, mas existem técnicas para ajustar um modelo empregando regimes de supervisão fraca. O processo também pode ser combinado com uma função de perda baseada em Aprendizado por reforço com feedback humano (RLHF) para produzir modelos de linguagem avançados, como o ChatGPT (uma versão ajustada de modelos da série GPT) e o Sparrow.
Robustez O ajuste fino pode, em certas circunstâncias, degradar a robustez de um modelo frente a desvios de distribuição de dados (distribution shifts ou afastamentos de domínio). Uma estratégia de mitigação consiste em realizar a interpolação linear dos pesos do modelo que sofreu o ajuste fino com os pesos originais do modelo pré-treinado. Esse procedimento demonstrou ser capaz de elevar significativamente o desempenho fora de distribuição (out-of-distribution), retendo em larga escala a acurácia na distribuição interna obtida com o ajuste fino.
Variantes
Adaptação de baixo posto (LoRA) A adaptação de baixo posto (LoRA, do inglês Low-rank adaptation) é uma técnica baseada em adaptadores para realizar o ajuste fino de modelos de forma altamente eficiente. A premissa fundamental consiste em projetar uma matriz de baixo posto que é adicionada à matriz de pesos original durante o fluxo de cálculo. Um adaptador, neste contexto, representa uma coleção de matrizes de baixo posto que, quando acoplada a um modelo base, gera o modelo ajustado. Isso viabiliza um desempenho muito próximo ao do ajuste fino de modelo completo com requisitos de memória e armazenamento dramaticamente menores. Um modelo de linguagem contendo bilhões de parâmetros pode, dessa forma, passar por um ajuste fino LoRA modificando apenas uma fração de poucos milhões de parâmetros.
O ajuste fino baseado em LoRA tornou-se extremamente popular na comunidade do Stable Diffusion para a personalização de modelos de geração de imagens. O suporte estrutural ao LoRA foi formalmente integrado à biblioteca *diffusers* da Hugging Face. O suporte a essa técnica e a metodologias similares também é disponibilizado de forma ampla para uma gama de arquiteturas através do pacote *Parameter-Efficient Fine-Tuning* (PEFT) da Hugging Face.
Ajuste fino de representação (ReFT) O ajuste fino de representação (ReFT, do inglês Representation fine-tuning) é uma técnica desenvolvida por pesquisadores da Universidade Stanford projetada para especializar modelos de linguagem grandes (LLMs) modificando menos de 1% de suas representações internas ocultas. Diferente dos métodos tradicionais de PEFT, cujo foco principal reside na atualização direta dos pesos das matrizes, o ReFT atua diretamente sobre as representações, partindo da premissa de que manipular os estados ocultos pode se consolidar como uma estratégia mais eficiente do que reescrever pesos estruturais.
Os métodos de ReFT operam mantendo o modelo base inteiramente congelado e aprendendo intervenções específicas aplicadas sobre as representações ocultas durante a inferência. Essas intervenções manipulam uma fração minúscula das representações para direcionar o comportamento do modelo rumo à resolução das tarefas a jusante. Uma metodologia específica contida na família ReFT é o ajuste fino de representação de subespaço linear de baixo posto (LoReFT), que intervém nas representações ocultas dentro do subespaço linear delimitado por uma matriz de projeção de baixo posto. O LoReFT pode ser interpretado como o equivalente baseado em representações da técnica LoRA.
Aplicações
Processamento de linguagem natural O ajuste fino é uma prática ubíqua no processamento de linguagem natural (PLN), especialmente na subárea de modelagem de linguagem. Modelos de linguagem grandes, como a série de modelos de fundação GPT desenvolvida pela OpenAI, podem passar por ajustes finos utilizando dados direcionados a tarefas de PLN a jusante com o objetivo de obter um salto de desempenho em relação ao modelo pré-treinado original não modificado.
Plataformas analíticas de mercado exemplificam o uso de modelos ajustados para monitoramento em nível de entidades. Esses sistemas rastreiam em tempo real como marcas e entidades mencionadas são referenciadas e representadas dentro das respostas sintéticas geradas por mecanismos de resposta baseados em modelos de linguagem de larga escala.
Modelos comerciais Modelos de linguagem comerciais de grande porte disponibilizados no mercado corporativo podem receber ajustes finos por parte de desenvolvedores externos caso os provedores forneçam uma API dedicada para esse fim. Provedores de nuvem e empresas de inteligência artificial oferecem APIs de ajuste fino de modelos para subconjuntos de suas arquiteturas, como verificado nos serviços da OpenAI, no *Azure OpenAI Service* da Microsoft, no Google Cloud Platform para modelos da família PaLM/Gemini, entre outros servidores do ecossistema deeptech.
Ver também Esquecimento catastrófico Sobreajuste Otimização de hiperparâmetros Modelo de fundação
Referências
Categoria:Aprendizagem de máquina Categoria:Aprendizagem profunda Categoria:Inteligência artificial