Ângulo de Anderson

O Dano Causado pelo Ajuste Fino de um Modelo de IA Pode Ser Facilmente Recuperado, Conclui a Pesquisa

mm
Adicione Unite.AI às suas fontes preferidas no Google
AI-generated image from ChatGPT. Prompt: ' a photorealistic panoramic image of a scientist in a white coat, wearing protective soldering goggles, who is soldering circuitry in an open panel of the underside of a massive and high-tech computer system. Photorealistic, gorgeous, UHQ'

Nova pesquisa nos EUA indica que o ajuste fino de um modelo de IA de base em seus próprios dados não precisa reduzir ou prejudicar a funcionalidade do modelo original – e que uma solução relativamente simples pode não apenas restaurar as capacidades do modelo original, mas também melhorar a qualidade da saída que você está tentando obter do modelo (já treinado).

Ganho de desempenho em modelos diversos com a nova calibração pós-treinamento dos autores. Mais detalhes mais tarde no artigo. Fonte: http://export.arxiv.org/pdf/2409.16223

Ganho de desempenho em modelos diversos com a nova calibração pós-treinamento dos autores. Mais detalhes mais tarde no artigo. Fonte: http://export.arxiv.org/pdf/2409.16223

As implicações disso são significativas, não apenas para os gigantes da tecnologia cuja atenção está se concentrando nos lucros financeiros de alugar sistemas gerativos “como serviço”, mas também para o número crescente de “cortadores de corda” que baixam e personalizam modelos de código aberto, para que eles possam acessar sistemas de escrita e geração de imagens/vídeo personalizados mais baratos – e com menos restrições.

Os autores do artigo não têm medo de mostrar seu entusiasmo pelo potencial de seu método, que aparentemente faz avanços significativos em relação à submissão de 2023 Holistic Transfer: Towards Non-Disruptive Fine-Tuning with Partial Target Data (coautoria com muitos dos contribuintes do novo artigo).

Eles afirmam:

‘Os [achados] são encorajadores e têm implicações profundas! Eles implicam que uma calibração de pós-processamento simples pode potencialmente abordar a precisão inferior do modelo ajustado fino nas classes ausentes, trazendo de volta a capacidade do modelo pré-treinado enquanto revela a melhoria da qualidade de recursos em todas as classes.’

Vamos dar uma olhada no novo trabalho em breve. Primeiro, vamos ver qual problema ele está tentando resolver.

Por Que Isso Importa

A primeira onda de ajuste fino generalizado ocorreu após o lançamento do modelo de texto-para-imagem Stable Diffusion da Stability.ai em agosto de 2002. Os primeiros modelos, treinados em um subconjunto do conjunto de dados LAION de hiperscala, foram disponibilizados para qualquer um baixar.

No entanto, os usuários que desejavam inserir conteúdo específico (como suas próprias identidades, estilos de arte ou a representação de celebridades) nas qualidades gerativas extraordinárias da Stable Diffusion foram obrigados a recorrer a técnicas como DreamBooth – uma extrapolação de um método de personalização da Google Research, que permitia que o usuário treinasse novos dados no modelo disponível gratuitamente, por meio do ajuste fino.

Exemplos do processo do usuário para a implementação oficial do DreamBooth da Google em 2022. O usuário cura uma pequena seleção de imagens e escolhe um nome único (que a Stable Diffusion não tem em seus dados de treinamento) em prompts de texto do modelo ajustado fino. Fonte: https://dreambooth.github.io/

Exemplos do processo do usuário para a implementação oficial do DreamBooth da Google em 2022. O usuário cura uma pequena seleção de imagens e escolhe um nome único (que a Stable Diffusion não tem em seus dados de treinamento) em prompts de texto do modelo ajustado fino. Fonte: https://dreambooth.github.io/

Desta forma, era possível obter uma cópia do modelo que era muito boa em criar uma pessoa ou um estilo de arte personalizado, mas que agora estava ‘comprometida’ para uso mais geral.

Isso significava que, se você quisesse ajustar fino a Stable Diffusion para que ela pudesse representar com precisão três pessoas diferentes, você inevitavelmente tinha que criar três modelos diferentes, cada um com cerca de 2-4GB ou mais.

Qualquer tentativa de ajustar fino esses modelos uma segunda vez não apenas degradaria o desempenho geral do modelo ainda mais, mas também afetaria negativamente a saída da sessão de ajuste fino anterior.

Em qualquer caso, modelos de DreamBooth de celebridades logo se proliferariam na internet, reunindo-se principalmente no domínio civit.ai. Eventualmente, métodos menos onerosos, como Adaptação de Baixo Rango (LoRA), superariam o ajuste fino em popularidade (embora se a saída do LoRA seja tão eficaz quanto um ajuste fino completo permaneça controverso, e a NVIDIA desde então liberou uma abordagem aparentemente mais eficaz chamada DoRA).

Um LoRA cai na categoria de Ajuste Fino Eficiente de Parâmetros (PEFT), que influencia apenas um subconjunto dos parâmetros treinados do modelo.

Alguns usuários queriam alterar a natureza fundamental dos pontos de verificação de código aberto da Stable Diffusion, ajustando-os em muitos milhares de imagens.

Isso, efetivamente, produziu um modelo de fundação alternativo, dedicado a qualquer domínio que o usuário estivesse tentando treinar (como um estilo de arte particular). Para esse propósito, métodos “leves” como o LoRA provavelmente seriam menos eficazes, pois os pesos do modelo precisavam de um viés severo em relação aos novos dados de treinamento.

Chat Local

Com o recente aumento de interesse em Modelos de Linguagem Grande (LLMs), os usuários que desejam evitar as crescentes saídas (e os custos associados) de serviços baseados em API, como o ChatGPT, começaram a baixar e ajustar modelos de código aberto eficazes como o Llama 3, entre muitos outros.

Aqui também, os LoRAs podem ser usados em vez de ajustar um checkpoint completo. Já argumentamos que o ajuste fino é um método superior para produzir LLMs adaptados às necessidades específicas do usuário. Embora o ajuste fino possa ter requisitos de hardware maiores e possa levar mais tempo, ele oferece uma generalização mais profunda dos dados novos que o usuário deseja que o modelo assimile.

O problema com o ajuste fino é que é um processo destrutivo que não pode ser treinado incrementalmente em dados adicionais posteriormente, como notamos acima.

Os recursos e vieses injetados no modelo aparentemente perturbam o equilíbrio original de pesos no conjunto de dados, significando que o modelo é excessivamente propenso a refletir esses dados contribuídos pelo usuário ou, pelo menos, ter um desempenho pior geral do que o modelo de fundação original (em tarefas que não estão relacionadas aos novos dados).

Uma solução parcial pode ser congelar certas partes do modelo durante o treinamento; no entanto, isso pode levar a uma funcionalidade geral reduzida, pois a parte congelada da arquitetura pode não generalizar bem para os dados ajustados finos dentro do espaço latente do modelo.

Sería ótimo se houvesse uma maneira mais fácil de preservar as capacidades originais de um modelo ajustado fino, enquanto retém a capacidade do modelo de produzir saída com base nos dados de ajuste fino.

Tal desenvolvimento seria benéfico em toda a gama de usuários potenciais, desde os entusiastas e os primeiros adotantes que usam LLMs locais e outros tipos de modelos gerativos, até o nível FAANG (onde um modelo de IA muito caro pode ser aprimorado iterativamente e de forma não destrutiva, sem o custo de vários milhões de dólares de iniciar o treinamento novamente com os dados adicionais).

Calibração Pós-Processamento

Isso nos leva de volta ao novo artigo, que se chama Ajuste Fino Está Bem, se Calibrado, e vem de 11 pesquisadores da Ohio State University, da University of Wisconsin Madison e do Rensselar Polytechnic Institute.

Os pesquisadores estavam tentando descobrir exatamente o que é danificado em um modelo de fundação quando ele é ajustado fino. Eles concluíram que a única grande diferença entre o modelo “antes e depois” é que as escalas de logit entre as classes de ajuste fino e as classes originais no modelo exibem uma discrepância significativa.

Os links de logit preveem a probabilidade de sucesso em um processo de regressão lógica, convertendo os valores estimados (que podem ser muito precisos) em zero ou um.

Os autores não apenas descobriram que essa deficiência é quase casualmente reversível por uma técnica de calibração, mas que essa solução post facto realmente melhora a qualidade da saída para os dados de ajuste fino. Portanto, com essa técnica, você não apenas obtém as capacidades originais do modelo de fundação, mas também uma melhor integração de seus próprios dados de ajuste fino.

(Embora o artigo não examine a perspectiva, essa técnica implica que um modelo pode ser ajustado fino múltiplas vezes e permanecer eficaz)

Discutindo suas descobertas ao investigar o dano do modelo após o ajuste fino, os autores afirmam:

‘Para nossa surpresa, descobrimos que o modelo ajustado fino não esquece a relação entre as outras classes nem degrada os recursos para reconhecer essas classes.

‘Em vez disso, o modelo ajustado fino frequentemente produz recursos mais discriminativos para essas outras classes, mesmo que elas estivessem ausentes durante o ajuste fino!

‘[O que] realmente prejudica a precisão é a discrepância nas escalas de logit entre as classes de ajuste fino e as outras [classes], implicando que uma calibração de pós-processamento simples pode trazer de volta a capacidade do modelo pré-treinado e, ao mesmo tempo, revelar a melhoria da qualidade de recursos em todas as classes.’

Os autores tornaram os resultados de seus testes para essa teoria reproduzíveis em um repositório do GitHub.

Eles descobriram que, ao investigar, a única parte da arquitetura do modelo de fundação que é danificada no ajuste fino é o classificador binário, que misclassifica classes que estão ausentes no modelo original como classes de ajuste fino.

O artigo afirma*:

‘[Ao] adicionar um fator de viés de calibração a todos os logit das classes ausentes [4, 40 ], o modelo ajustado fino pode reivindicar com sucesso a precisão da classe ausente e obter uma melhoria geral decente no domínio [downstream].

‘O desempenho resultante até supera a linha de base forte [Holistic Transfer – o artigo no qual este artigo se baseia ] em muitos dos benchmarks, incluindo ImageNet e suas variantes [ImageNet, ImageNet-R(endition), ImageNet-S(ketch) ], Office-Home e VTAB, sem treinamento complicado e configuração de hiperparâmetros.’

Resultados do artigo: um modelo ajustado fino que teve uma calibração de pós-processamento realizada nele pode, segundo os autores, superar a abordagem de estado da arte para o problema.

Resultados do artigo: um modelo ajustado fino que teve uma calibração de pós-processamento realizada nele pode, segundo os autores, superar a abordagem de estado da arte para o problema.

Os autores classificam o desempenho melhorado de um modelo ajustado fino pós-calibrado como ‘comportamentos benignos inesperados’ e observam que, quando um otimizador básico de Gradiente Estocástico Descendente (SGD) é usado, um resultado melhor é obtido do que com otimizadores mais populares atuais, como Adam.

‘Ainda,’ eles notam ‘com taxas de aprendizado e decaimento de peso suficientemente pequenas, os comportamentos benignos aparecem e se mantêm.’

Reparos Menores

Para reparar as discrepâncias de logit resultantes do ajuste fino, os autores emprestaram uma técnica do aprendizado de zero disparo, adicionando um fator constante aos logit de todas as classes ausentes. Isso resulta em uma nova regra de classificação.

Os autores observam que esse processo ‘promove’ as classes ausentes negligenciadas para a mesma qualidade de previsão das classes de ajuste fino, restaurando o desempenho original e melhorando o desempenho dos dados ‘adicionados’ no momento da inferência.

Nos testes, a técnica de calibração pós-processamento restaurou o desempenho em uma variedade de modelos ajustados finos. O 'Oracle' indicado na tabela se refere a um classificador ajustado fino que também leva em consideração os dados de classe ausentes.

Nos testes, a técnica de calibração pós-processamento restaurou o desempenho em uma variedade de modelos ajustados finos. O ‘Oracle’ indicado na tabela se refere a um classificador ajustado fino que também leva em consideração os dados de classe ausentes.

Eles observam ainda que a calibração pós-processamento é ‘potencialmente aplicável a qualquer modelo’ e que os métodos que buscam manter a integridade do modelo de fundação por meio do congelamento de camadas (como o classificador e a espinha dorsal) pontuam mal em comparação com a abordagem proposta por eles.

Conclusão

As descobertas dessa colaboração parecem significativas. Treinar um modelo de IA em um conjunto de dados de hiperscala é um compromisso enorme, análogo à decolagem de um avião de passageiros. Embora o treinamento possa ser interrompido e qualquer dano mitigado salvando os pesos atuais periodicamente (com um custo de armazenamento considerável), para permitir interrupções no treinamento, há relativamente pouco que se pode fazer para alterar o resultado após o lançamento.

O que é impressionante sobre o trabalho é que os pesquisadores parecem ter descoberto um princípio fundamental no treinamento geral de modelos de IA e que sua solução é surpreendentemente elegante.

As implicações econômicas de ser capaz de reter a precisão do modelo de fundação após o ajuste fino também são significativas. Até o momento, o método mais comum de abordar as limitações de modelos de vários milhões de dólares tem sido filtrar a saída no momento da inferência ou controlar a inferência para evitar qualquer calcanhar de aquiles evidente no modelo.

Além disso, tal técnica poderia trazer melhorias significativas para as capacidades de modelos gerativos ajustados finos no nível do consumidor, com o bônus de um aumento na qualidade da saída.

 

* Minha conversão das citações em linha dos autores para links.

Publicado pela primeira vez na terça-feira, 1 de outubro de 2024

Escritor em aprendizado de máquina, especialista em síntese de imagem humana. Antigo chefe de conteúdo de pesquisa da Metaphysic.ai, até sua dissolução na Brahma.ai da DNEG.
Portfolio site: martinanderson.ai
Contato: martin@martinanderson.ai