Visão geral do desenvolvimento de tecnologia de modelo grande - (3)

Documento de referência de conteúdo de texto "A Survey of Large Language Models"

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Título do artigo: A Survey of Large Language Models
Link do artigo: https://arxiv.org/pdf/2303.18223v10.pdf

5. Adaptando o LLM

Após o pré-treinamento, o LLM pode adquirir a capacidade geral de resolver várias tarefas. No entanto, um crescente corpo de pesquisa sugere que os recursos dos **LLMs podem ser ajustados para objetivos específicos. **Nesta seção, apresentamos dois métodos principais para adaptar LLMs pré-treinados, ajuste de instrução e ajuste de alinhamento . A primeira abordagem visa principalmente aprimorar (ou desbloquear) as capacidades do LLM, enquanto a última abordagem visa alinhar o comportamento do LLM com valores ou preferências humanas. Além disso, discutimos métodos de ajuste eficientes para ajuste rápido do modelo. A seguir, apresentaremos essas três partes em detalhes.

5.1 Ajuste de instruções

Em essência, o ajuste de instrução é um método para ajustar LLMs pré-treinados com uma série de exemplos de linguagem natural formatados, que está intimamente relacionado ao ajuste fino supervisionado e ao treinamento de dica multitarefa . Para fazer o ajuste de instrução, primeiro precisamos coletar ou construir instâncias formatadas. Em seguida, usamos essas instâncias formatadas para ajustar o LLM de maneira supervisionada (por exemplo, usando perda de sequência para sequência para treinamento). Após o ajuste da instrução, o LLM pode demonstrar capacidade de generalização superior e pode ser aplicado a tarefas invisíveis, mesmo em ambientes multilíngues.

5.1.1 Construção da instância do formato

Normalmente, uma instância formatada consiste em uma descrição de tarefa (chamada de diretiva), um par de entrada-saída e uma pequena quantidade de demonstração (opcional). Como um importante recurso público, a pesquisa existente publicou uma grande quantidade de dados rotulados formatados em linguagem natural. Em seguida, apresentamos os dois principais métodos de construção de instâncias formatadas (veja o exemplo na figura abaixo) e, em seguida, discutimos vários fatores-chave na construção de instâncias.

Formatar um conjunto de dados existente

insira a descrição da imagem aqui

Antes que o ajuste de instrução fosse proposto, alguns estudos anteriores coletavam instâncias de várias tarefas, como resumo de texto, classificação de texto e tradução, criando conjuntos de dados de treinamento multitarefa supervisionados. Como a principal fonte de exemplos de ajuste de instrução, é conveniente formatar esses conjuntos de dados de treinamento multitarefa com descrições de tarefa em linguagem natural.

Por exemplo, na imagem acima, uma descrição de tarefa "Responda a esta pergunta" foi adicionada a cada tarefa de resposta a perguntas . Após o ajuste da instrução, o LLM pode generalizar bem em outras tarefas não vistas seguindo a descrição da tarefa.

A pesquisa mostrou que a instrução é um fator chave que afeta a capacidade de generalização das tarefas LLM: ao ajustar o modelo no conjunto de dados rotulado com a descrição da tarefa removida, o desempenho do modelo será significativamente reduzido. Para gerar melhor instâncias rotuladas ajustadas por instrução, PromptSource, uma plataforma de crowdsourcing, é proposta para criar, compartilhar e validar com eficiência as descrições de tarefas em diferentes conjuntos de dados. A fim de enriquecer os exemplos de treinamento, alguns estudos também tentam usar descrições de tarefas especialmente projetadas para inverter os pares de entrada-saída de exemplos existentes para ajuste de instrução. Por exemplo, dado um par pergunta-resposta, podemos criar uma nova instância prevendo a pergunta com base na resposta (por exemplo, "Gere uma pergunta com base na resposta:"). Além disso, alguns estudos também utilizam modelos de tarefas heurísticas para converter textos não rotulados em grande escala em instâncias rotuladas.

Formatando Necessidades Humanas

Embora um grande número de exemplos de treinamento tenha sido formatado com instruções, eles são principalmente de conjuntos de dados públicos de NLP, que carecem de diversidade de instruções ou não correspondem às necessidades humanas reais . Para resolver esse problema, o InstructGPT propõe considerar as consultas que os usuários enviam à API OpenAI como descrições de tarefas. As consultas do usuário são expressas em linguagem natural, o que é adequado para obter os recursos de acompanhamento de instruções do LLM. Além disso, para enriquecer a diversidade de tarefas, os anotadores humanos também são solicitados a escrever instruções para tarefas da vida real, incluindo geração aberta, resposta a perguntas abertas, brainstorming e bate-papo. Eles então pediram a outro grupo de anotadores para responder diretamente a essas instruções como saída. Finalmente, uma instrução (ou seja, consulta de usuário coletada) é emparelhada com uma saída esperada (ou seja, resposta escrita por humanos) como uma instância de treinamento. Notavelmente, o InstructGPT também usa essas tarefas formatadas em linguagem natural para ajustes de alinhamento.

Fatores-chave na construção de exemplo

A qualidade das instâncias tem um impacto significativo no desempenho do modelo. Alguns fatores-chave na construção de exemplo são discutidos abaixo.

  • Instruções de expansão : Estudos mostraram que aumentar o número de tarefas pode melhorar muito a capacidade de generalização dos LLMs. O desempenho do modelo inicialmente tende a aumentar continuamente à medida que o número de tarefas aumenta, mas os ganhos tornam-se insignificantes quando um determinado nível é atingido. Uma conjectura razoável é que um certo número de tarefas representativas pode fornecer conhecimento relativamente suficiente e adicionar mais tarefas pode não trazer benefícios adicionais. Além disso, aumentar a diversidade de descrições de tarefas em termos de extensão, estrutura e criatividade também é benéfico. Quanto ao número de instâncias por tarefa, verificou-se que um pequeno número de instâncias geralmente pode atingir o ponto de saturação do desempenho de generalização do modelo. No entanto, para algumas tarefas, aumentar o número de instâncias para um número grande (por exemplo, centenas) pode causar problemas de overfitting, prejudicando o desempenho do modelo.
  • Design de formato : O design do formato de linguagem natural também tem um impacto importante no desempenho de generalização do LLM. Normalmente, podemos adicionar descrições de tarefas e demonstrações opcionais aos pares de entrada-saída de conjuntos de dados existentes, onde a descrição da tarefa é a parte mais crítica para o LLM entender a tarefa. Além disso, um número apropriado de demonstrações como instâncias pode levar a melhorias substanciais enquanto mitiga a sensibilidade do modelo à engenharia de instrução. No entanto, incorporar outros componentes (como o que evitar, por que e conselhos) na instrução pode ter efeitos insignificantes ou mesmo opostos no desempenho do LLM. Recentemente, a fim de obter a capacidade de raciocínio passo a passo do LLM, alguns estudos propuseram que, para alguns conjuntos de dados de raciocínio (como raciocínio aritmético), incluindo exemplos de Cadeia de Pensamento (CoT), LLMs de ajuste fino usando exemplos CoT e não-CoT podem obter bom desempenho em várias tarefas de raciocínio, incluindo tarefas que exigem capacidade de raciocínio multi-hop (como resposta a perguntas de senso comum e raciocínio aritmético) e tarefas que não exigem esse estilo de raciocínio (como análise de sentimento e resposta extrativa a perguntas).

Em resumo, parece que a diversidade de instruções é mais importante do que o número de instâncias, uma vez que os bem-comportados InstructGPT e Alpaca usam menos, mas mais diversas instruções (ou instâncias) do que os LLMs da família Flan. Além disso, é mais útil convidar anotadores para escrever tarefas que atendam às necessidades humanas em vez de tarefas que usam conjuntos de dados específicos. No entanto, atualmente faltam diretrizes de rotulagem para instâncias de necessidades humanas, tornando a composição de tarefas um tanto instrutiva .

5.1.2 Estratégia de ajuste de instrução

Ao contrário do pré-treinamento, o ajuste de instrução geralmente é mais eficiente porque apenas um número modesto de instâncias é usado para treinamento. Como o ajuste de instrução pode ser visto como um processo de treinamento supervisionado, sua otimização difere do pré-treinamento em vários aspectos, como o objetivo do treinamento (ou seja, função de perda de sequência a sequência) e a configuração da otimização (por exemplo, tamanho de lote e taxa de aprendizado menores), que requerem atenção especial na prática. Além dessas configurações ideais, há dois outros aspectos importantes a serem considerados:

Distribuição Balanceada de Dados

Como o ajuste de instrução envolve uma mistura de diferentes tarefas, é importante equilibrar as proporções de diferentes tarefas durante o ajuste fino. Uma abordagem amplamente utilizada é a estratégia de mistura de proporção de instância, onde todos os conjuntos de dados são combinados e cada instância é amostrada com igual probabilidade do conjunto de dados de mistura. Além disso, aumentar a taxa de amostragem de conjuntos de dados de alta qualidade (como FLAN e P3) geralmente leva a melhorias de desempenho, de acordo com descobertas de pesquisas recentes. No entanto, muitas vezes é desejável definir um limite superior máximo para controlar o número máximo de instâncias que um conjunto de dados pode conter durante o ajuste de instrução. Isso é feito para evitar que conjuntos de dados maiores sobrecarreguem toda a distribuição. Na prática, o limite superior máximo geralmente é definido para alguns milhares ou dezenas de milhares de instâncias, dependendo do conjunto de dados.

Combinando ajuste de instrução e pré-treinamento

Para tornar o processo de ajuste mais eficiente e estável, o OPT-IML leva em consideração os dados pré-treinamento durante o ajuste da instrução, o que pode ser visto como uma espécie de regularização para o ajuste do modelo. Além disso, alguns estudos tentaram usar o aprendizado multitarefa para treinar modelos a partir do zero, usando uma mistura de dados pré-treinados (ou seja, texto simples) e dados ajustados por instrução (ou seja, conjuntos de dados formatados) em vez de usar um processo independente de dois estágios (primeiro o pré-treinamento e depois o ajuste da instrução). Especificamente, GLM-130B e Galactica pré-treinam o conjunto de dados de instrução formatado como uma pequena parte do corpus de pré-treinamento, que alcança as vantagens do pré-treinamento e do ajuste de instrução até certo ponto.

5.1.3 Efeito do ajuste de comando

Nesta seção, discutimos o impacto dos ajustes de instrução em dois aspectos principais do LLM.

melhoria de desempenho

Embora ajustado apenas para um número modesto de instâncias, o ajuste de instrução surgiu como uma maneira importante de melhorar ou desbloquear os recursos dos LLMs. Estudos recentes experimentaram modelos de linguagem em várias escalas (de 77M a 540B) e mostraram que modelos de diferentes escalas podem se beneficiar do ajuste de instrução, com desempenho melhorando à medida que a escala do parâmetro aumenta. Além disso, modelos menores ajustados para instruções podem até superar modelos maiores sem ajuste fino. Além do tamanho do modelo, o ajuste de instrução exibe melhorias consistentes em uma variedade de arquiteturas de modelo, objetivos de pré-treinamento e métodos de adaptação de modelo. Na prática, o ajuste de instrução fornece uma abordagem geral para melhorar os recursos dos modelos de linguagem existentes (incluindo pequenos PLMs). Além disso, o ajuste de instrução também é muito menos dispendioso em comparação com o pré-treinamento, uma vez que a quantidade de dados de instrução necessária para o LLM é significativamente menor do que os dados de pré-treinamento.

generalização de tarefas

O ajuste de instrução incentiva o modelo a entender as instruções de linguagem natural para a conclusão da tarefa. Ele confere ao LLM a capacidade (muitas vezes vista como uma capacidade emergente) de seguir instruções humanas para realizar tarefas específicas, mesmo em tarefas invisíveis, mesmo na ausência de demonstrações. Numerosos estudos demonstraram a eficácia do ajuste de instrução em alcançar um desempenho superior em tarefas conhecidas e desconhecidas. Além disso, o ajuste de instrução também ajuda a mitigar vários pontos fracos dos LLMs (como geração repetitiva ou entradas suplementares sem concluir uma tarefa específica), tornando os LLMs ainda melhores para resolver tarefas do mundo real. Além disso, LLMs treinados com ajuste de instrução são capazes de generalizar tarefas relacionadas em diferentes idiomas. Por exemplo, BLOOMZ-P3 é ajustado com base em BLOOM usando o conjunto de tarefas somente em inglês P3.

5.2 Ajuste de alinhamento

5.2.1 Antecedentes e critérios para alinhamento

fundo

Os LLMs demonstraram capacidades notáveis ​​em várias tarefas de processamento de linguagem natural, mas esses modelos às vezes podem exibir comportamentos inesperados, como fabricar informações falsas, perseguir alvos imprecisos e produzir expressões prejudiciais, enganosas e tendenciosas. Para o LLM, o objetivo de modelagem de linguagem pré-treina os parâmetros do modelo por meio de previsão de palavras, mas não leva em consideração valores ou preferências humanas. Para evitar esses comportamentos inesperados, foi proposta a noção de alinhamento humano, ou seja, o comportamento do LLM corresponde às expectativas humanas. No entanto, esse alinhamento precisa considerar critérios muito diferentes (como utilidade, honestidade e inocuidade) do pré-treinamento original e do ajuste adaptativo (como o ajuste guiado). Verificou-se que o alinhamento prejudica a capacidade geral dos LLMs até certo ponto, o que é referido como uma taxa de alinhamento na literatura relacionada.

padrão de alinhamento

Recentemente, tem havido um foco crescente no desenvolvimento de diversos padrões para regular o comportamento dos LLMs. Aqui, discutimos três critérios de alinhamento típicos (ou seja, utilidade, honestidade e inocuidade) como exemplos, que foram amplamente adotados na literatura existente. Além disso, existem outros critérios que alinham LLMs de diferentes perspectivas, incluindo aspectos comportamentais, intencionais, motivacionais e intrínsecos, que são de natureza semelhante (ou pelo menos têm técnicas de alinhamento semelhantes). Dependendo de necessidades específicas, esses três critérios podem ser modificados, como substituir honestidade por correção ou focar em alguns critérios especificados. A seguir, uma breve explicação desses três critérios típicos de alinhamento:

  • Utilidade : para ser útil, um LLM deve ajudar os usuários a resolver tarefas ou responder a perguntas da forma mais concisa e eficiente possível. Em um nível mais alto, quando mais esclarecimentos são necessários, o LLM deve demonstrar a capacidade de obter informações relevantes adicionais, fazendo perguntas relevantes e demonstrando sensibilidade, percepção e cautela apropriadas. Alcançar a utilidade é um desafio para o LLM porque é difícil definir e medir com precisão a intenção do usuário.
  • Honestidade : Em um nível fundamental, um LLM alinhado à honestidade deve fornecer conteúdo preciso, não informações fabricadas. Além disso, os LLMs também devem expressar a incerteza em sua saída de forma adequada para evitar qualquer tipo de engano ou distorção de informações. Isso requer que o modelo esteja ciente de suas próprias habilidades e níveis de conhecimento (por exemplo, "saber o que não sabe"). De acordo com a discussão em [223], a honestidade é um critério relativamente objetivo que pode depender menos do esforço humano do que da utilidade e inofensividade.
  • Inofensivo : para ser inofensivo, a linguagem produzida pelo modelo não deve ser ofensiva ou discriminatória. Dentro de suas capacidades, um modelo deve ser capaz de detectar esforços potenciais para atrair solicitações de maneira maliciosa. Idealmente, quando um modelo é induzido a realizar uma ação perigosa, como um ato criminoso, o LLM deve recusar educadamente. No entanto, qual comportamento é considerado prejudicial e em que medida varia entre indivíduos ou sociedades e depende muito de quem usa o LLM, do tipo de perguntas feitas e do contexto (por exemplo, tempo) em que o LLM é usado.

Como vimos, esses critérios são muito subjetivos e baseados na cognição humana. Portanto, é difícil formulá-los diretamente como objetivos de otimização para o LLM. No trabalho existente, existem muitos métodos para atender a esses critérios ao alinhar LLMs. Uma técnica promissora é o red teaming, que usa meios manuais ou automatizados para investigar adversamente o LLM, gerar saída prejudicial e, em seguida, atualizar o LLM para evitar tal saída.

5.2.2 Coleta de Feedback Humano

No estágio de pré-treinamento, o LLM é treinado em um corpus de grande escala usando um objetivo de modelagem de linguagem. No entanto, não leva em consideração a avaliação subjetiva e qualitativa do ser humano sobre a produção do LLM (referido como feedback humano nesta pesquisa). O feedback humano de alta qualidade é importante para alinhar os LLMs com as preferências e valores humanos. Nesta seção, discutimos como selecionar um grupo de anotadores humanos para coletar dados de feedback.

Seleção de Anotador Humano
No trabalho existente, a anotação humana é o principal método para gerar dados de feedback humano. É muito importante escolher os anotadores humanos certos com educação qualificada e bons conhecimentos de inglês. Alguns estudos rastreiam anotadores avaliando o acordo entre anotadores humanos e pesquisadores para garantir a qualidade do feedback humano. Outros estudos usam "superavaliadores" para garantir feedback humano de alta qualidade. Para normalizar ainda mais as anotações dos anotadores, é útil fornecer a eles instruções detalhadas e orientação imediata.

coleta de feedback humano

No trabalho existente, existem três abordagens principais usadas para coletar feedback e dados de preferência de anotadores humanos. Esses métodos incluem métodos baseados em classificação, métodos baseados em perguntas e métodos baseados em regras.

  • Os métodos baseados em classificação comparam as saídas dos candidatos usando um sistema de classificação Elo para chegar a uma classificação de preferência que orienta o modelo para gerar saídas mais confiáveis ​​e seguras.
  • A abordagem baseada em perguntas fornece feedback detalhado respondendo a perguntas projetadas que cobrem os critérios de alinhamento e outras restrições do LLM.
  • As abordagens baseadas em regras utilizam um conjunto de regras para testar se a saída gerada pelo modelo atende a determinados critérios, incluindo utilidade, correção e inocuidade. Esses métodos podem obter diferentes tipos de dados de feedback humano para melhorar o desempenho e a segurança do modelo.

Em seguida, vamos nos concentrar em uma técnica bem conhecida, Reinforcement Learning from Human Feedback (RLHF), que tem sido amplamente utilizada em LLMs recentes e poderosos, como o ChatGPT

5.2.3 Aprendizagem por Reforço com Feedback Humano

Para alinhar os LLMs com os valores humanos, foi proposto o aprendizado por reforço a partir do feedback humano (RLHF) para ajustar os LLMs usando dados de feedback humano coletados para melhorar os critérios de alinhamento (por exemplo, utilidade, honestidade e inocuidade). O RLHF incorpora humanos no processo de treinamento usando algoritmos de aprendizado por reforço, como Proximal Policy Optimization (PPO) para desenvolver LLMs bem alinhados, conforme exemplificado pelo InstructGPT.

sistema RLHF

O sistema RLHF consiste principalmente em três componentes principais: um LLM pré-treinado para ser alinhado, um modelo de recompensa aprendido com feedback humano e um algoritmo de aprendizado por reforço para treinar o LLM. Especificamente, um LLM pré-treinado é geralmente um modelo generativo, inicializado com parâmetros LLM pré-treinados existentes. Por exemplo, a OpenAI usou o parâmetro GPT-3 de 175 bilhões em seu primeiro modelo RLHF popular, InstructGPT, e a DeepMind usou o parâmetro Gopher de 280 bilhões no modelo GopherCite. Além disso, o modelo de recompensa (RM) fornece sinais de orientação (aprendidos) que refletem as preferências humanas pelo texto gerado pelo LLM, geralmente na forma de valores escalares. Os modelos de recompensa podem assumir duas formas: LLMs ajustados ou LLMs treinados do zero usando dados de preferência humana. Os trabalhos existentes geralmente usam modelos de recompensa com escalas de parâmetros diferentes dos LLMs alinhados. Por exemplo, OpenAI usa GPT-3 com 6 bilhões de parâmetros e DeepMind usa Gopher com 7 bilhões de parâmetros como modelo de recompensa. Finalmente, a fim de otimizar o LLM pré-treinado com o sinal do modelo de recompensa, algoritmos específicos de aprendizado por reforço são projetados para ajuste de modelo em larga escala. Especificamente, Proximal Policy Optimization (PPO) é um algoritmo de aprendizado por reforço comumente usado para alinhamento em trabalhos existentes.

insira a descrição da imagem aqui

Etapas principais em RLHF

A figura acima mostra o processo geral de três etapas do RLHF, descrito abaixo.

  • Ajuste fino supervisionado : Para que o LLM exiba inicialmente o comportamento desejado, geralmente é necessário coletar um conjunto de dados supervisionado contendo sinais de entrada (instruções) e saídas desejadas para ajuste fino do LLM. Essas dicas e saídas podem ser escritas por anotadores humanos para tarefas específicas, garantindo a diversidade de tarefas. Por exemplo, o InstructGPT pede aos anotadores humanos que criem um prompt (por exemplo, “Liste cinco ideias para restaurar o entusiasmo profissional”) e o resultado desejado de várias tarefas de geração, como resposta a perguntas abertas, brainstorming, bate-papo e reescrita. Observe que a primeira etapa é opcional em determinadas configurações ou cenários.
  • Treinamento do Modelo de Recompensa : A segunda etapa é treinar o modelo de recompensa usando dados de feedback humano. Especificamente, usamos o LLM para gerar uma certa quantidade de texto de saída usando dicas amostradas de conjuntos de dados supervisionados ou dicas geradas por humanos. Anotadores humanos são então convidados a anotar esses pareamentos com preferência. O processo de anotação pode assumir várias formas, uma abordagem comum é anotar classificando os textos candidatos gerados, o que pode reduzir a inconsistência entre os anotadores. Em seguida, treine o modelo de recompensa para prever a saída preferida pelos humanos. No InstructGPT, os anotadores classificam a saída gerada pelo modelo de boa a ruim e, em seguida, treinam o RM (ou seja, GPT-3 com 6 bilhões de parâmetros) para prever a classificação
  • Ajuste fino de aprendizado por reforço : Nesta etapa, o alinhamento (ou seja, ajuste fino) do LLM é formalizado como um problema de aprendizado por reforço. Nesta configuração, um LLM pré-treinado atua como uma política, aceitando uma sugestão como entrada e gerando um texto de saída, cujo espaço de ação é o vocabulário, o estado é a sequência de tokens gerada atualmente e a recompensa é fornecida por um modelo de recompensa. Para evitar desvios significativos do LLM inicial (antes do ajuste), um termo de penalidade é geralmente adicionado à função de recompensa. Por exemplo, o InstructGPT usa o algoritmo PPO para otimizar o LLM em relação ao modelo de recompensa. Para cada sugestão de entrada, o InstructGPT calcula a divergência KL entre o resultado da geração LLM atual e o LLM inicial como um termo de penalidade. Deve-se observar que a segunda e última etapa pode ser iterada por várias rodadas para alinhar melhor os LLMs.

Por meio das etapas acima, o método RLHF pode aprender e ajustar o LLM a partir de dados de feedback humano para melhor atender aos critérios de alinhamento e tornar a saída do LLM mais alinhada com as expectativas e preferências humanas.

5.3 Ajuste fino eficiente

No conteúdo anterior, discutimos métodos de ajuste fino guiado e ajuste fino alinhado para ajustar o LLM de acordo com um objetivo específico. Como o LLM contém um grande número de parâmetros do modelo, o custo do ajuste fino completo dos parâmetros é alto. Nesta seção, discutimos como ajustar os LLMs com eficiência. Primeiro, revisaremos brevemente vários métodos representativos de ajuste fino eficientes para modelos de linguagem Transformer e, em seguida, resumiremos o trabalho de pesquisa LLM existente sobre ajuste fino eficiente de parâmetros.

5.3.1 Método eficiente de ajuste fino de parâmetros

O ajuste fino eficiente dos parâmetros é um importante tópico de pesquisa na literatura existente, com o objetivo de reduzir o número de parâmetros treináveis, mantendo o melhor desempenho possível. Em seguida, apresentaremos brevemente quatro métodos de ajuste fino com eficiência de parâmetros para modelos de linguagem Transformer, incluindo ajuste fino de adaptador, ajuste fino de prefixo, ajuste fino de dica e LoRA.

Ajuste do Adaptador

O ajuste fino do adaptador incorpora pequenos módulos de rede neural (chamados adaptadores) nos modelos do Transformer. Para implementar o módulo adaptador, é proposta uma arquitetura de gargalo que primeiro comprime os vetores de recursos originais para uma dimensão menor (e então passa por uma transformação não linear) e, em seguida, os restaura para a dimensão original. Os módulos adaptadores são geralmente integrados em cada camada do transformador, e os módulos adaptadores são inseridos em série após as duas partes principais (camada de atenção e camada de alimentação). Alternativamente, adaptadores paralelos [235] podem ser usados ​​na camada Transformer, onde dois módulos adaptadores são colocados em paralelo com as camadas de atenção e feed-forward. Durante o ajuste fino, o módulo adaptador é otimizado de acordo com um objetivo de tarefa específico, enquanto os parâmetros do modelo de idioma original são congelados durante esse processo. Desta forma, podemos efetivamente reduzir o número de parâmetros treináveis ​​durante o ajuste fino.

Ajuste de Prefixo

O ajuste fino de prefixo adiciona uma série de prefixos antes de cada camada Transformer do modelo de linguagem, que são um conjunto de vetores contínuos treináveis, que podem ser considerados como incorporações de tokens virtuais. Para otimizar o vetor de prefixo, um truque de reparametrização é proposto aprendendo uma função MLP que mapeia a matriz menor para a matriz de parâmetro de prefixo, em vez de otimizar diretamente o prefixo. Esta técnica provou ser útil para o treinamento de estabilização. Após a conclusão da otimização, a função de mapeamento é descartada e apenas os vetores de prefixo derivados são mantidos para aprimorar o desempenho específico da tarefa. Isso pode levar à otimização do modelo com eficiência de parâmetros, pois apenas os parâmetros de prefixo são treinados. Semelhante ao ajuste fino de prefixo, o p-tuning v2 incorpora vetores hierárquicos de dica na arquitetura do Transformer especificamente para compreensão de linguagem natural e também utiliza aprendizado multitarefa para otimizar dicas compartilhadas em conjunto. A pesquisa mostrou que isso é útil para melhorar o desempenho de modelos de diferentes tamanhos de parâmetros em tarefas de compreensão de linguagem natural.

Ajuste rápido

Ao contrário do ajuste fino de prefixo, o ajuste fino de dica se concentra na introdução de vetores de dica treináveis ​​na camada de entrada. Com base na abordagem de sinalização discreta, ele aumenta o texto de entrada incluindo um conjunto de tokens de sinalização suave (seja em formato livre ou prefixado) e, em seguida, usa a entrada aumentada para resolver tarefas específicas de downstream. Na implementação, os embeddings de sinalização específicos da tarefa são combinados com embeddings de texto de entrada, que são então alimentados em um modelo de linguagem. O P-tuning propõe uma abordagem de forma livre para combinar contexto, sugestões e tokens de destino, adequados para a compreensão da linguagem natural e arquiteturas de geração. Eles também aprendem representações para tokens de sinalização suave por meio de um LSTM bidirecional. Outra abordagem representativa é chamada de ajuste fino de dica, que adiciona dicas de prefixo diretamente antes da entrada. Durante o treinamento, apenas as incorporações de sugestões são aprendidas com supervisão específica da tarefa. No entanto, como esse método inclui apenas um pequeno número de parâmetros treináveis ​​na camada de entrada, verifica-se que o desempenho é altamente dependente da capacidade do modelo de linguagem subjacente.

Adaptação de classificação baixa (LoRA)

LoRA [232] emprega restrições de baixo escalão em cada camada densa para ajustar aproximadamente a matriz de atualização de parâmetros para tarefas a jusante para reduzir o número de parâmetros treináveis. Considerando o caso de otimização da matriz de parâmetros W, o processo de atualização pode ser expresso de uma forma geral: W ← W + ∆WW ← W + ∆WCC+∆W . _ A ideia básica do LoRA é congelar a matriz originalW ∈ R m × n W ∈ R^{m \times n}CRm × n enquanto aproxima a atualização do parâmetro∆W ∆WW , imediatamente∆ W = A ⋅ B ⊤ ∆W = A B^⊤W=A B , ondeA ∈ R m × k A ∈ R^{m \times k}ARm × k eB ∈ R n × k B ∈ R^{n \times k}BRn × k é um parâmetro treinável para adaptação à tarefa,r ≪ min ( m , n ) r ≪ min(m, n)rmin ( m ,n ) é o posto reduzido. A principal vantagem do LoRA é que ele pode economizar bastante memória e uso de armazenamento (por exemplo, VRAM). Além disso, pode-se manter apenas uma cópia do modelo grande, mantendo algumas matrizes de fatoração de baixo escalão específicas para adaptação a diferentes tarefas a jusante. Além disso, existem vários estudos discutindo como definir classificações de forma mais racional, como atribuição baseada em pontuações de importância e seleção de classificação ideal sem pesquisa.

Além dos métodos acima, há uma grande quantidade de pesquisas sobre o ajuste fino eficiente dos modelos de linguagem Transformer. No entanto, uma discussão mais abrangente sobre o ajuste fino eficiente está além do escopo deste artigo e pode ser encontrada em trabalhos de pesquisa relacionados.

5.3.2 Ajuste fino eficiente dos parâmetros LLM

Com o surgimento do LLM, o ajuste fino eficiente atraiu cada vez mais a atenção da pesquisa para desenvolver uma abordagem mais leve para a adaptação de tarefas a jusante.

Em particular, o LoRA tem sido amplamente utilizado para o ajuste fino de parâmetros eficientes de LLMs de código aberto, como LLaMA e BLOOM. Entre essas tentativas de pesquisa, o LLaMA e suas variantes receberam ampla atenção para o ajuste fino eficiente dos parâmetros. Por exemplo, Alpaca-LoRA é treinado usando LoRA como uma versão leve e ajustada de Alpaca (um modelo 7B LLaMA com 52K demonstrações humanas). Para diferentes idiomas ou tamanhos de modelos, extensas explorações de pesquisa Alpaca-LoRA são feitas e podem ser encontradas nas páginas relevantes. Além disso, o LLaMA-Adapter insere vetores de dicas que podem ser aprendidos em cada camada do Transformer, onde a atenção de inicialização zero é proposta para melhorar o treinamento para aliviar o impacto de vetores de dicas insuficientes. Além disso, eles estendem essa abordagem para configurações multimodais, como respostas a perguntas visuais.

Além disso, um estudo empírico examina o efeito de diferentes métodos de ajuste fino em modelos de linguagem. Eles compararam quatro métodos eficientes de ajuste fino, incluindo ajuste fino do adaptador serial, ajuste fino do adaptador paralelo e LoRA, em três LLMs de código aberto (GPT-J (6B), BLOOM (7.1B) e LLaMA (7B)). Por meio de resultados experimentais em seis conjuntos de dados de raciocínio matemático, eles descobriram que esses métodos eficientes de ajuste fino tiveram desempenho inferior ao modelo de linha de referência GPT-3.5 em tarefas difíceis, mas alcançaram desempenho comparável em tarefas fáceis. No geral, o LoRA tem um desempenho relativamente bom entre esses métodos de comparação enquanto usa menos parâmetros treináveis.

Como um recurso importante, a biblioteca PEFT (sigla para Parameter Efficient Fine Tuning) foi lançada no GitHub. Ele inclui vários métodos de ajuste fino eficientes amplamente usados, incluindo LoRA/AdaLoRA, ajuste fino de prefixo, ajuste P e ajuste fino de dicas. Além disso, ele oferece suporte a vários modelos de linguagem, como GPT-2 e LLaMA, e também abrange vários modelos de transformadores visuais representativos (como ViT e Swin Transformer).

Acho que você gosta

Origin blog.csdn.net/weixin_42010722/article/details/131682333
Recomendado
Clasificación