Inteligência artificial

MoRA: Atualização de Alta Classificação para PEFT

mm

Devido ao seu desempenho robusto e ampla aplicabilidade em comparação com outros métodos, LoRA ou Adaptação de Baixa Classificação é um dos métodos de PEFT (Otimização de Parâmetros Eficientes) mais populares para ajustar um grande modelo de linguagem. O framework LoRA emprega duas matrizes de baixa classificação para decompor e aproximar os pesos atualizados na FFT (Otimização de Parâmetros Completa) e o framework LoRA modifica esses parâmetros treináveis de acordo, ajustando a classificação das matrizes. O principal benefício da implementação desse processo é que ele facilita o framework LoRA a mesclar essas matrizes sem a latência de inferência após o ajuste. Além disso, embora os modelos de linguagem grandes recentes forneçam um desempenho notável em tarefas de aprendizado em contexto, certos cenários ainda exigem ajuste, e podem ser categorizados amplamente em três tipos. O primeiro tipo, ajuste de instruções, visa alinhar os LLMs (Modelos de Linguagem Grande) melhor com as tarefas finais e as preferências do usuário sem aprimorar o conhecimento e as capacidades dos LLMs, uma abordagem que simplifica o processo de lidar com tarefas variadas e instruções complexas. O segundo tipo inclui tarefas de raciocínio complexo, como resolução de problemas matemáticos. Finalmente, o terceiro tipo é o pré-treinamento contínuo, uma abordagem que tenta aprimorar as capacidades específicas de domínio dos grandes modelos de linguagem.

Neste artigo, vamos discutir se a atualização de baixa classificação afeta o desempenho do framework LoRA, pois foi observado que o mecanismo de atualização de baixa classificação pode dificultar a capacidade do grande modelo de linguagem de aprender e memorizar novos conhecimentos. Com base nisso, neste artigo vamos discutir MoRA, um novo método que alcança a atualização de alta classificação mantendo o mesmo número de parâmetros treináveis, empregando uma matriz quadrada. Para alcançar isso, o framework MoRA reduz a dimensão de entrada e aumenta a dimensão de saída para a matriz quadrada, introduzindo os operadores não parametrizados correspondentes. Além disso, esses operadores garantem que o peso possa ser mesclado de volta nos LLMs, o que torna o framework MoRA implantável como LoRA.

Este artigo visa cobrir o framework MoRA em profundidade, e exploramos o mecanismo, a metodologia, a arquitetura do framework, juntamente com sua comparação com frameworks de estado da arte. Então, vamos começar.

MoRA: Atualização de Alta Classificação para PEFT

À medida que o tamanho e as capacidades dos modelos de linguagem aumentam, a PEFT ou Otimização de Parâmetros Eficientes emerge como um dos métodos mais populares e eficientes para adaptar os LLMs a tarefas específicas downstream. Em comparação com a FFT ou Otimização de Parâmetros Completa, que atualiza todos os parâmetros, a PEFT modifica apenas uma fração dos parâmetros totais, pois em algumas tarefas pode alcançar um desempenho semelhante à FFT, atualizando menos de 1% dos parâmetros totais, reduzindo assim as necessidades de memória para o otimizador e facilitando o armazenamento e a implantação de modelos. Além disso, entre todos os métodos PEFT existentes, LoRA é o mais popular hoje, especialmente para LLMs. Uma das principais razões pelas quais os métodos LoRA entregam um melhor desempenho em comparação com os métodos PEFT, como adaptadores ou ajuste de prompts, é que LoRA usa matrizes de baixa classificação para atualizar parâmetros, com o framework tendo o controle para mesclar essas matrizes nos parâmetros originais do modelo, sem adicionar aos requisitos computacionais durante a inferência. Embora haja numerosos métodos que tentam melhorar LoRA para grandes modelos de linguagem, a maioria desses modelos depende do GLUE para validar sua eficiência, seja exigindo poucos parâmetros treináveis ou alcançando um melhor desempenho.

Além disso, experimentos realizados em LoRA em uma ampla variedade de tarefas, incluindo pré-treinamento contínuo, raciocínio matemático e ajuste de instruções, indicam que, embora os frameworks baseados em LoRA demonstrem um desempenho semelhante nessas tarefas e entreguem um desempenho em tarefas de ajuste de instruções comparável aos métodos baseados em FFT, os modelos baseados em LoRA não conseguiram replicar o desempenho no pré-treinamento contínuo e nas tarefas de raciocínio matemático. Uma explicação possível para essa falta de desempenho pode ser a dependência de LoRA em atualizações de matrizes de baixa classificação, pois a matriz de atualização de baixa classificação pode ter dificuldade em estimar as atualizações de classificação completa na FFT, especialmente em tarefas intensivas em memória que exigem memorizar conhecimentos específicos de domínio, como pré-treinamento contínuo. Como a classificação da matriz de atualização de baixa classificação é menor do que a classificação completa, ela limita a capacidade de armazenar novas informações por meio do ajuste. Com base nessas observações, MoRA tenta maximizar a classificação na matriz de atualização de baixa classificação, mantendo o mesmo número de parâmetros treináveis, empregando uma matriz quadrada, em vez do uso de matrizes de baixa classificação nos modelos tradicionais baseados em LoRA. A figura a seguir compara o framework MoRA com LoRA sob o mesmo número de parâmetros treináveis.

Na imagem acima, (a) representa LoRA e (b) representa MoRA. W é o peso congelado do modelo, M é a matriz treinável em MoRA, A e B são matrizes treináveis de baixa classificação em LoRA e r representa a classificação em LoRA e MoRA. Como pode ser observado, o framework MoRA demonstra uma capacidade maior do que os modelos baseados em LoRA com uma grande classificação. Além disso, o framework MoRA desenvolve operadores não parametrizados correspondentes para reduzir a dimensão de entrada e aumentar a dimensão de saída para a matriz treinável M. Além disso, o framework MoRA concede a flexibilidade para usar uma matriz de atualização de baixa classificação para substituir a matriz treinável M e os operadores, garantindo que o método MoRA possa ser mesclado de volta no grande modelo de linguagem, como LoRA. A tabela a seguir compara o desempenho de FFT, LoRA, variantes de LoRA e nosso método em tarefas de ajuste de instruções, raciocínio matemático e pré-treinamento contínuo.

MoRA: Metodologia e Arquitetura

A Influência da Atualização de Baixa Classificação

O princípio fundamental dos modelos baseados em LoRA é estimar atualizações de classificação completa na FFT, empregando atualizações de baixa classificação. Tradicionalmente, para uma matriz de parâmetros pré-treinada, LoRA emprega duas matrizes de baixa classificação para calcular a atualização de peso. Para garantir que as atualizações de peso sejam 0 quando o treinamento começa, o framework LoRA inicializa uma das matrizes de baixa classificação com uma distribuição gaussiana, enquanto a outra é inicializada com 0. A atualização de peso geral em LoRA exibe uma classificação de baixa classificação em comparação com a otimização na FFT, embora a atualização de baixa classificação em LoRA entregue um desempenho comparável à atualização de classificação completa em tarefas específicas, incluindo ajuste de instruções e classificação de texto. No entanto, o desempenho do framework LoRA começa a se deteriorar para tarefas como pré-treinamento contínuo e raciocínio complexo. Com base nessas observações, MoRA propõe que é mais fácil aproveitar as capacidades e o conhecimento original dos LLMs para resolver tarefas usando atualizações de baixa classificação, mas o modelo tem dificuldade em realizar tarefas que exigem aprimorar as capacidades e o conhecimento do grande modelo de linguagem.

Metodologia

Embora os LLMs com aprendizado em contexto sejam uma melhoria significativa em relação às abordagens anteriores, ainda há contextos que dependem do ajuste, que podem ser categorizados amplamente em três categorias. Existem LLMs para ajuste de instruções, alinhando-se melhor com as tarefas finais e as preferências do usuário, o que não aumenta consideravelmente o conhecimento e as capacidades dos LLMs, tornando mais fácil trabalhar com múltiplas tarefas e compreender instruções complexas. Outro tipo é sobre envolver tarefas de raciocínio complexo, como resolução de problemas matemáticos, para as quais o ajuste de instruções gerais não é suficiente para lidar com o raciocínio simbólico multi-etapas complexo. A maioria das pesquisas relacionadas visa melhorar as capacidades de raciocínio dos LLMs e exige projetar conjuntos de dados de treinamento correspondentes com base em modelos de professor maiores, como GPT-4, ou reescrever questões racionais correspondentes ao longo de um caminho de raciocínio. O terceiro tipo é o pré-treinamento contínuo, projetado para melhorar as capacidades específicas de domínio dos LLMs. Ao contrário do ajuste de instruções, o ajuste é necessário para enriquecer o conhecimento e as habilidades específicas de domínio relacionados.

No entanto, a maioria das variantes de LoRA quase exclusivamente usa tarefas de ajuste de instruções ou classificação de texto para avaliar sua eficácia no contexto dos LLMs. Como o ajuste para ajuste de instruções exige os menos recursos em comparação com outros tipos, pode não representar uma comparação apropriada entre as variantes de LoRA. Adicionar tarefas de raciocínio para avaliar melhor seus métodos tem sido uma prática comum em trabalhos mais recentes. No entanto, geralmente empregamos conjuntos de treinamento pequenos (mesmo com 1 milhão de exemplos, o que é bastante grande). Os LLMs têm dificuldade em aprender o raciocínio adequado a partir de exemplos desse tamanho. Por exemplo, algumas abordagens utilizam o GSM8K com apenas 7,5 mil episódios de treinamento. No entanto, esses números são inferiores ao método SOTA, que foi treinado em 395 mil amostras, e torna difícil julgar a capacidade desses métodos de aprender o poder de raciocínio da PLN.

Com base nas observações da influência da atualização de baixa classificação, o framework MoRA propõe um novo método para mitigar os efeitos negativos da atualização de baixa classificação. O princípio básico do framework MoRA é empregar os mesmos parâmetros treináveis ao máximo para alcançar uma classificação mais alta na matriz de atualização de baixa classificação. Após considerar os pesos pré-treinados, o framework LoRA usa duas matrizes de baixa classificação A e B com parâmetros treináveis totais para a classificação r. No entanto, para o mesmo número de parâmetros treináveis, uma matriz quadrada pode alcançar a classificação mais alta, e o framework MoRA alcança isso reduzindo a dimensão de entrada e aumentando a dimensão de saída para a matriz quadrada treinável. Além disso, essas duas funções devem ser operadores não parametrizados e esperados para serem executados em tempo linear correspondente à dimensão.

MoRA: Experimentos e Resultados

Para avaliar seu desempenho, o framework MoRA é avaliado em uma ampla variedade de tarefas para entender a influência da atualização de alta classificação em três tarefas: memorizando pares de UUID, tarefas de ajuste e pré-treinamento.

Memorizando Pares de UUID

Para demonstrar as melhorias no desempenho, o framework MoRA é comparado contra os frameworks FFT e LoRA em memorizar pares de UUID. A perda de treinamento do experimento é refletida na imagem a seguir.

É importante notar que, para o mesmo número de parâmetros treináveis, o framework MoRA consegue superar os modelos LoRA existentes, indicando que se beneficiou da estratégia de atualização de alta classificação. O relatório de precisão de treinamento em nível de caractere em diferentes etapas de treinamento é resumido na tabela a seguir.

Como pode ser observado, em comparação com LoRA, o framework MoRA leva menos etapas de treinamento para memorizar os pares de UUID.

Tarefas de Ajuste

Para avaliar seu desempenho em tarefas de ajuste, o framework MoRA é avaliado em três tarefas de ajuste: ajuste de instruções, raciocínio matemático e pré-treinamento contínuo, projetados para grandes modelos de linguagem, juntamente com um conjunto de dados de alta qualidade correspondente para ambos os modelos MoRA e LoRA. Os resultados das tarefas de ajuste são apresentados na tabela a seguir.

Como pode ser observado, nas tarefas de raciocínio matemático e ajuste de instruções, ambos os modelos LoRA e MoRA retornam um desempenho semelhante. No entanto, o modelo MoRA se destaca do framework LoRA nas tarefas de pré-treinamento contínuo para ambos os domínios biomédico e financeiro, se beneficiando da abordagem de atualização de alta classificação para memorizar novos conhecimentos. Além disso, é vital entender que as três tarefas são diferentes umas das outras, com requisitos diferentes e capacidades de ajuste diferentes.

Pré-treinamento

Para avaliar a influência da atualização de alta classificação no desempenho geral, o transformador dentro do framework MoRA é treinado do zero no conjunto de dados C4, e o desempenho é comparado contra os modelos LoRA e ReLoRA. A perda de pré-treinamento, juntamente com a complexidade correspondente no conjunto de dados C4, são demonstrados nas figuras a seguir.

Como pode ser observado, o modelo MoRA entrega um melhor desempenho em tarefas de pré-treinamento em comparação com os modelos LoRA e ReLoRA, com o mesmo número de parâmetros treináveis.

Além disso, para demonstrar o impacto da atualização de alta classificação na classificação da matriz de atualização de baixa classificação, o framework MoRA analisa o espectro de valores singulares para a matriz de atualização de baixa classificação aprendida, pré-treinando o modelo de 250M, e os resultados são contidos na imagem a seguir.

Pensamentos Finais

Neste artigo, discutimos se a atualização de baixa classificação afeta o desempenho do framework LoRA, pois foi observado que o mecanismo de atualização de baixa classificação pode dificultar a capacidade do grande modelo de linguagem de aprender e memorizar novos conhecimentos. Com base nisso, neste artigo vamos discutir MoRA, um novo método que alcança a atualização de alta classificação, mantendo o mesmo número de parâmetros treináveis, empregando uma matriz quadrada. Para alcançar isso, o framework MoRA reduz a dimensão de entrada e aumenta a dimensão de saída para a matriz quadrada, introduzindo os operadores não parametrizados correspondentes. Além disso, esses operadores garantem que o peso possa ser mesclado de volta nos LLMs, o que torna o framework MoRA implantável como LoRA.

Um engenheiro por profissão, um escritor por coração. Kunal é um escritor técnico com um amor e compreensão profundos de AI e ML, dedicado a simplificar conceitos complexos nestes campos por meio de sua documentação envolvente e informativa.