Se você quiser que o modelo grande aprenda mais exemplos em _, este método permite inserir mais caracteres

Sabemos que ao usar modelos de linguagem grandes, como GPT e LLaMA, há um limite de caracteres na entrada. Por exemplo, o limite atual de caracteres de entrada para ChatGPT é de 4.096 caracteres. Isto limita o âmbito de tecnologias como a aprendizagem contextual e o encadeamento de pensamentos, uma vez que os utilizadores só podem fornecer um número limitado de exemplos. Recentemente, uma equipe de pesquisa da Nous Research, EleutherAI e da Universidade de Genebra propôs o YaRN, uma solução para expandir a janela de contexto, e obteve melhores resultados do que todos os outros métodos em experimentos, e também lançou o LLaMA 2 ajustado usando YaRN 7B/ Modelo 13B com janelas de contexto de 64k e 128k.

Fonte da imagem: gerada por Unbounded AI

Grandes modelos de linguagem (LLM) baseados em transformadores demonstraram a poderosa capacidade de realizar aprendizagem contextual (ICL) e quase se tornaram a única escolha para muitas tarefas de processamento de linguagem natural (PNL). O mecanismo de autoatenção do Transformer permite que o treinamento seja altamente paralelizado, permitindo que longas sequências sejam processadas de maneira distribuída. O comprimento da sequência usada para o treinamento LLM é chamado de janela de contexto.

A janela de contexto de um Transformer determina diretamente a quantidade de espaço que pode fornecer exemplos, limitando assim seus recursos de ICL.

Se a janela de contexto do modelo for limitada, haverá menos espaço para fornecer ao modelo exemplos robustos nos quais executar ICL. Além disso, outras tarefas como a sumarização também são severamente dificultadas quando a janela de contexto do modelo é particularmente curta.

Devido à natureza da própria linguagem, a localização dos tokens é crucial para uma modelagem eficaz, e a autoatenção não codifica diretamente as informações de localização devido ao seu paralelismo. A arquitetura Transformer introduz codificação posicional para resolver este problema.

A arquitetura original do Transformer usava uma codificação de posição sinusoidal absoluta, que mais tarde foi aprimorada para uma codificação de posição absoluta que pode ser aprendida. Desde então, os esquemas de codificação de posição relativa melhoraram ainda mais o desempenho do Transformer. Atualmente, as codificações de posição relativa mais populares são T5 Relative Bias, RoPE, XPos e ALiBi.

A codificação posicional tem uma limitação recorrente: a incapacidade de generalizar para a janela de contexto vista durante o treinamento. Embora alguns métodos como o ALiBi tenham a capacidade de fazer alguma generalização limitada, nenhum método ainda generalizou para sequências significativamente mais longas do que seu comprimento pré-treinado.

Surgiram vários esforços de pesquisa que tentam superar essas limitações. Por exemplo, algumas pesquisas propõem modificar ligeiramente o RoPE por meio de interpolação posicional (PI) e ajustar uma pequena quantidade de dados para estender o comprimento do contexto.

Dois meses atrás, Bowen Peng, da Nous Research, compartilhou uma solução no Reddit, que consiste em implementar "interpolação com reconhecimento de NTK" incorporando perdas de alta frequência. NTK aqui se refere ao Kernel Neural Tangente.

Ele afirma que o RoPE estendido com reconhecimento de NTK pode expandir significativamente a janela de contexto do modelo LLaMA (mais de 8k) sem qualquer ajuste fino e com impacto mínimo na perplexidade.

Recentemente, um artigo relacionado dele e de três outros colaboradores foi lançado!

* papel:

  • Modelo:

Neste artigo, eles fizeram duas melhorias na interpolação compatível com NTK, que focam em diferentes aspectos:

  • O método de interpolação dinâmica NTK pode ser usado para modelos pré-treinados sem ajuste fino.
  • Método de interpolação NTK parcial, o modelo pode atingir o melhor desempenho quando ajustado com uma pequena quantidade de dados de contexto mais longos.

O pesquisador disse que antes do nascimento deste artigo, os pesquisadores já haviam usado interpolação com reconhecimento de NTK e interpolação NTK dinâmica em alguns modelos de código aberto. Os exemplos incluem Code Llama (usando interpolação com reconhecimento de NTK) e Qwen 7B (usando interpolação NTK dinâmica).

Neste artigo, com base em resultados de pesquisas anteriores sobre interpolação com reconhecimento de NTK, interpolação NTK dinâmica e interpolação NTK parcial, os pesquisadores propuseram YaRN (Yet another RoPE extensioN method), um método que pode estender com eficiência o uso de incorporação de posição de rotação (Rotary Position Método de janela de contexto do modelo Embeddings / RoPE), pode ser usado para modelos das séries LLaMA, GPT-NeoX e PaLM. O estudo descobriu que o YaRN pode alcançar o melhor desempenho de expansão da janela de contexto atualmente usando apenas amostras representativas de aproximadamente 0,1% do tamanho dos dados de pré-treinamento do modelo original para ajuste fino.

método

Rotary Position Embeddings (RoPE) foi introduzido pela primeira vez no artigo "RoFormer: Enhanced Transformer with Rotary Position Embedding" e também é a base do YaRN.

Simplificando, RoPE pode ser escrito da seguinte forma:

Para um LLM pré-treinado com um comprimento de contexto fixo, se a interpolação posicional (PI) for usada para estender o comprimento do contexto, ela pode ser expressa como:

Pode-se ver que o PI estenderá igualmente todas as dimensões do RoPE. Os pesquisadores descobriram que os limites teóricos de interpolação descritos no artigo do PI eram insuficientes para prever a dinâmica complexa entre a incorporação interna do RoPE e do LLM. A seguir serão descritos os principais problemas de PI descobertos e resolvidos pelos pesquisadores, para que os leitores possam compreender os antecedentes, as causas e as razões da solução de vários novos métodos no YaRN.

Perda de informações de alta frequência - interpolação com reconhecimento de NTK

Se olharmos para RoPE apenas da perspectiva da codificação de informações, de acordo com a teoria do kernel tangente neural (NTK), se a dimensão de entrada for baixa e a incorporação correspondente carecer de componentes de alta frequência, então é difícil para uma rede neural profunda aprender informações de alta frequência.

A fim de resolver o problema de perda de informações de alta frequência ao incorporar interpolação para RoPE, Bowen Peng propôs interpolação com reconhecimento de NTK na postagem do Reddit acima. Esta abordagem não expande cada dimensão do RoPE igualmente, mas espalha a pressão de interpolação por múltiplas dimensões, expandindo menos as frequências altas e mais as frequências baixas.

Nos testes, os pesquisadores descobriram que essa abordagem superou o PI no dimensionamento do tamanho do contexto do modelo não ajustado. No entanto, este método tem uma grande desvantagem: como não é apenas um esquema de interpolação, algumas dimensões serão extrapoladas para alguns valores "externos", portanto o ajuste fino usando a interpolação compatível com NTK não é tão eficaz quanto o PI.

Além disso, devido à existência de valores “externos”, o factor de expansão teórico não pode descrever com precisão o verdadeiro grau de expansão do contexto. Na prática, para uma determinada extensão de comprimento de contexto, os valores de extensão s devem ser definidos ligeiramente superiores ao valor de extensão esperado.

Perda de distância local relativa - interpolação NTK parcial

Para a incorporação RoPE, há uma observação interessante: dado um tamanho de contexto L, existem algumas dimensões d onde o comprimento de onda λ é maior que o comprimento máximo do contexto visto no estágio de pré-treinamento (λ > L), o que ilustra a incorporação de algumas dimensões Distribuição possivelmente desigual no domínio rotativo.

A interpolação com reconhecimento de PI e NTK trata todas as dimensões ocultas do RoPE igualmente (como se tivessem o mesmo efeito na rede). Mas os investigadores descobriram através de experiências que a Internet trata algumas dimensões de forma diferente de outras dimensões. Como mencionado anteriormente, dado o comprimento de contexto L, o comprimento de onda λ de algumas dimensões é maior ou igual a L. Como quando o comprimento de onda de uma dimensão oculta é maior ou igual a L, todos os pares de posição codificarão uma distância específica, então os pesquisadores levantam a hipótese de que a informação de posição absoluta é retida; quando o comprimento de onda é mais curto, a rede só pode obter a informação relativa posição. informação.

Quando todas as dimensões do RoPE são esticadas usando a taxa de expansão s ou o valor de mudança de base b', todos os tokens ficam mais próximos uns dos outros porque o produto escalar de dois vetores girados em uma quantidade menor será maior. Esta extensão pode prejudicar seriamente a capacidade do LLM de compreender pequenas relações locais entre as suas incorporações internas. Os pesquisadores especulam que essa compressão fará com que o modelo fique confuso sobre a ordem de posição dos tokens próximos, prejudicando assim a capacidade do modelo.

Para resolver este problema, com base no que os pesquisadores observaram, eles optaram por não interpolar dimensões de frequência mais altas.

Eles também propuseram que para todas as dimensões d, as dimensões com r < α são interpoladas linearmente de acordo com o grau de extensão s (como PI, a extrapolação é evitada); dimensões com r > β não são interpoladas (sempre extrapoladas).

Usando a técnica descrita nesta seção, nasceu um método chamado interpolação NTK parcial. Este método aprimorado supera os métodos de interpolação anteriores com reconhecimento de PI e NTK e funciona em modelos não ajustados e ajustados. Como este método evita extrapolar dimensões onde o domínio de rotação está distribuído de forma desigual, todos os problemas de ajuste fino dos métodos anteriores são evitados.

Escalonamento Dinâmico - Interpolação Dinâmica NTK

Ao dimensionar o tamanho do contexto sem ajuste fino usando o método de interpolação RoPE, esperamos que o modelo se degrade lentamente em tamanhos de contexto mais longos, em vez de degradar completamente em todo o tamanho do contexto quando o grau de escala s excede o valor desejado.

No método NTK dinâmico, o grau de expansão s é calculado dinamicamente.

Durante a inferência, quando o tamanho do contexto é excedido, o grau de expansão s é alterado dinamicamente, o que permite que todos os modelos se degradem lentamente em vez de travarem repentinamente ao atingir o limite L do contexto de treinamento.

Adicionada similaridade média de cosseno mínimo para longas distâncias - YaRN

Mesmo que o problema da distância local descrito anteriormente seja resolvido, uma distância maior deve ser interpolada no limiar α para evitar extrapolação. Intuitivamente, isso não parece ser um problema, porque a distância global não requer alta precisão para distinguir as posições dos tokens (ou seja, a rede só precisa saber aproximadamente se o token está no início, no meio ou no final da sequência).

No entanto, os pesquisadores descobriram que, como a distância média mínima se torna mais próxima à medida que o número de tokens aumenta, isso tornará a distribuição do softmax de atenção mais nítida (ou seja, reduzirá a entropia média do softmax de atenção). Em outras palavras, à medida que o impacto da atenuação de longa distância for reduzido pela interpolação, a rede “prestará mais atenção” a mais tokens. Esta mudança na distribuição pode levar a uma degradação na qualidade da produção do LLM, que é outra questão não relacionada com a anterior.

Como a entropia na distribuição softmax de atenção diminui quando os embeddings RoPE são interpolados para tamanhos de contexto mais longos, pretendemos reverter essa diminuição de entropia (ou seja, aumentar a "temperatura" do logit de atenção). Isso pode ser feito multiplicando a matriz de atenção intermediária pela temperatura t > 1 antes de aplicar softmax, mas como a incorporação RoPE é codificada como uma matriz de rotação, é possível simplesmente estender o comprimento da incorporação RoPE por um fator constante √t . Esta técnica de "extensão de comprimento" permite a pesquisa sem modificar o código de atenção, o que pode simplificar bastante a integração com os processos de treinamento e inferência existentes, e a complexidade do tempo é de apenas O(1).

Uma vez que este esquema de interpolação RoPE interpola de maneira não uniforme as dimensões do RoPE, é difícil calcular uma solução analítica para a razão de temperatura necessária t em relação ao grau de expansão s. Felizmente, os pesquisadores descobriram através de experimentos que, ao minimizar a perplexidade, todos os modelos LLaMA seguem aproximadamente a mesma curva de ajuste:

Os pesquisadores descobriram esta fórmula no LLaMA 7B, 13B, 33B e 65B. Eles descobriram que esta fórmula também funcionou bem para os modelos LLaMA 2 (7B, 13B e 70B), com diferenças sutis. Isto sugere que esta propriedade de aumento de entropia é comum e generalizada para diferentes modelos e dados de treinamento.

Esta modificação final resultou no método YaRN. O novo método supera todos os métodos anteriores em cenários ajustados e não ajustados, sem exigir quaisquer modificações no código de inferência. Somente o algoritmo usado para gerar embeddings RoPE precisa ser modificado. O YaRN é tão simples que pode ser facilmente implementado em todas as bibliotecas de inferência e treinamento, incluindo compatibilidade com Flash Attention 2.

experimentar

Experimentos mostram que o YaRN pode expandir com sucesso a janela de contexto do LLM. Além disso, eles alcançaram esse resultado após treinar apenas 400 etapas, o que representa aproximadamente 0,1% do corpus original de pré-treinamento do modelo, o que representa uma diminuição significativa em comparação com resultados de pesquisas anteriores. Isso mostra que o novo método é altamente eficiente computacionalmente e não tem custo adicional de inferência.

Para avaliar o modelo resultante, os pesquisadores calcularam a perplexidade de documentos longos e os pontuaram em benchmarks existentes, e descobriram que o novo método superou todos os outros métodos de expansão de janela de contexto.

Primeiramente, os pesquisadores avaliaram o desempenho do modelo quando a janela de contexto foi aumentada. A Tabela 1 resume os resultados experimentais.

A Tabela 2 mostra a perplexidade final em 50 documentos GovReport não censurados (pelo menos 16 mil tokens de comprimento).

Para testar a degradação do desempenho do modelo ao usar extensões de contexto, avaliamos o modelo usando o conjunto Hugging Face Open LLM Leaderboard e o comparamos com pontuações existentes do modelo de linha de base LLaMA 2 e modelos com reconhecimento de PI e NTK disponíveis publicamente. A Tabela 3 resume os resultados experimentais.

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)