XYZNOT

Artigos · arXiv 2104.09864

RoFormer: Enhanced Transformer with Rotary Position Embedding

Publicado em cs.CLcs.AIcs.LG arXivPDF

Ler com tradução e IA

Resumo em três linhas

  1. 🎯 Embeddings de posição padrão são vetores absolutos aditivos ou modificações relativas que quebram a compatibilidade com a autoatenção linear.
  2. 🔧 O RoPE multiplica vetores de consulta (query) e chave (key) por matrizes de rotação ortogonais bloco-diagonais para que seu produto escalar dependa exclusivamente da distância relativa entre tokens.
  3. 📈 Atinge 27,5 BLEU no WMT 2014 En-De, converge mais rápido durante o pré-treinamento e supera o WoBERT no CAIL2019-SCM em 1,5% de acurácia com comprimento de sequência de 1024.

Resumo

A codificação de posição tem se mostrado recentemente eficaz na arquitetura transformer. Ela possibilita uma supervisão valiosa para a modelagem de dependências entre elementos em diferentes posições da sequência. Neste artigo, investigamos inicialmente vários métodos para integrar informações posicionais no processo de aprendizado de modelos de linguagem baseados em transformer. Em seguida, propomos um novo método chamado Rotary Position Embedding (RoPE) para aproveitar eficazmente a informação posicional. Especificamente, o RoPE proposto codifica a posição absoluta com uma matriz de rotação e, ao mesmo tempo, incorpora a dependência explícita de posição relativa na formulação da autoatenção. Notavelmente, o RoPE proporciona propriedades valiosas, incluindo a flexibilidade no comprimento da sequência, decaimento da dependência entre tokens com o aumento das distâncias relativas e a capacidade de equipar a autoatenção linear com codificação de posição relativa. Por fim, avaliamos o transformer aprimorado com rotary position embedding, também denominado RoFormer, em vários datasets de benchmark de classificação de textos longos. Nossos experimentos mostram que ele supera consistentemente suas alternativas. Além disso, fornecemos uma análise teórica para explicar alguns resultados experimentais. O RoFormer já está integrado ao Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Resumo original (inglês)

Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Guia de leitura

Problema e motivação

A autoatenção em Transformers é inerentemente invariante a permutações, exigindo informações de posição explícitas. As abordagens anteriores dividem-se amplamente em dois grupos: embeddings de posição absolutos adicionados diretamente às representações de palavras (vetores senoidais fixos ou aprendidos) e embeddings de posição relativos integrados à matriz de atenção (por exemplo, Shaw et al., Transformer-XL, T5, DeBERTa). No entanto, os métodos relativos existentes baseiam-se em grande parte em decomposições aditivas que modificam os logits intermediários de atenção, tornando-os incompatíveis com mecanismos de autoatenção linear baseados em kernels que exigem representações fatorizáveis. Além disso, os modelos frequentemente têm dificuldades para escalar perfeitamente entre comprimentos de sequência variáveis.

Ideias-chave

  • Distância Relativa via Rotação de Vetores: Em vez de adicionar vetores de posição, o RoPE aplica uma matriz de rotação dependente da posição às consultas (queries) e chaves (keys) transformadas por projeção afim. O produto escalar entre uma consulta rotacionada no índice e uma chave rotacionada no índice depende naturalmente apenas da distância relativa .
  • Ortogonalidade e Preservação de Norma: Como o operador de rotação é ortogonal, ele preserva a norma euclidiana das consultas e chaves, estabilizando os estados ocultos.
  • Decaimento de Longo Alcance: Seguindo o escalonamento de frequência senoidal, as interações entre tokens decaem naturalmente à medida que a distância relativa aumenta, correspondendo à intuição linguística de que tokens distantes têm dependências mais fracas.
  • Compatibilidade com Atenção Linear: Como a informação posicional é aplicada diretamente aos vetores de tokens antes do cálculo dos produtos escalares, o RoPE pode ser combinado com atenção linear baseada em kernels (como o Performer).

Método (com as equações principais)

O objetivo é encontrar funções e cujo produto escalar dependa apenas dos embeddings e da distância relativa:

Em um subespaço 2D, tratar vetores reais como números complexos resulta na solução:

Para uma dimensão de embedding par , o espaço é particionado em subespaços 2D com frequências . A transformação geral aplica a matriz de rotação bloco-diagonal :

O score de atenção resultante entre as posições e satisfaz:

Para computar isso eficientemente sem multiplicação de matrizes esparsas, o RoPE é implementado por meio de operações elemento a elemento:

Resultados (com os números mais importantes)

  • Tradução Automática: No WMT 2014 Inglês-Alemão, o RoFormer atinge 27,5 BLEU, superando a linha de base Transformer-base (27,3 BLEU).
  • Convergência no Pré-treinamento: Ao treinar o BERT-base com RoPE no BookCorpus e na Wikipedia, o RoFormer converge mais rápido e atinge menor perda no masked language modeling (MLM) do que o BERT tradicional.
  • Ajuste Fino no GLUE: O RoFormer pré-treinado melhora significativamente os resultados downstream no MRPC (89,5 vs. 88,9 F1), STS-B (87,0 vs. 85,8 Spearman) e QQP (86,4 vs. 71,2 F1), embora tenha desempenho inferior ao BERT no SST-2 (90,7 vs. 93,5), QNLI (88,0 vs. 90,5) e MNLI-m/mm (80,2/79,8 vs. 84,6/83,4).
  • Atenção Linear (Performer): No dataset Enwik8, a adição do RoPE a um Performer baseado em caracteres de 12 camadas acelera consideravelmente a convergência e diminui a perda de treinamento.
  • Correspondência Semântica em Textos Longos: No CAIL2019-SCM, o RoFormer-512 obtém 68,29% de acurácia no teste (vs. 67,77% para BERT-512 e 68,10% para WoBERT-512). Escalonar para o RoFormer-1024 eleva a acurácia no teste para 69,79% (uma melhoria absoluta de 1,5% sobre o WoBERT-512).

Limitações e questões em aberto

  • O artigo aponta a falta de uma explicação teórica para o fato de a formulação rotatória em 2D convergir mais rápido durante o pré-treinamento em comparação com as alternativas aditivas.
  • Embora a propriedade de decaimento de longo alcance seja demonstrada matematicamente, o motivo pelo qual o RoFormer generaliza visivelmente melhor do que modelos equivalentes em sequências longas permanece uma questão em aberto.
  • Avaliar o RoFormer em cenários de pré-treinamento em larga escala exige uma capacidade substancial de computação em GPU, deixando as propriedades de escalabilidade mais amplas para trabalhos futuros.

Termos-chave

Rotary Position Embedding (RoPE)
Um mecanismo de codificação de posição que injeta informações posicionais multiplicando as representações de query e key por matrizes de rotação ortogonais bloco-diagonais.
RoFormer
Uma arquitetura Transformer equipada com Rotary Position Embedding em vez de codificações de posição padrão absolutas ou relativas aditivas.
Long-term Decay
A propriedade matemática em que o produto escalar entre queries e keys diminui à medida que a distância posicional relativa aumenta.
Linear Attention
Mecanismos de atenção que calculam mapeamentos de características por kernel para alterar a ordem de multiplicação de matrizes e atingir complexidade computacional linear .
PerFormer
Uma arquitetura Transformer de atenção linear testada no artigo para demonstrar que o RoPE equipa a atenção linear com informações de posição relativa sem problemas.
CAIL2019-SCM
O benchmark de correspondência de casos similares do Chinese AI and Law 2019, composto por tripletos de casos jurídicos usados para avaliar a capacidade de modelagem de textos longos além de 512 tokens.
WoBERT
Um modelo BERT em chinês baseado em palavras usado como linha de base comparativa e base de pré-treinamento para o RoFormer em corpora chineses.

Perguntas

Em que o RoPE se diferencia dos embeddings de posição senoidais padrão?

Os embeddings senoidais são adicionados aos vetores de tokens de entrada antes das projeções lineares, enquanto o RoPE é aplicado multiplicativamente como uma rotação diretamente nas projeções de query e key dentro da camada de atenção.

Por que o RoPE é compatível com a autoatenção linear enquanto outras codificações relativas não são?

As codificações relativas existentes modificam os logits de atenção par a par dentro das operações de softmax, quebrando a fatorização necessária para a atenção linear. O RoPE rotaciona os vetores de query e key individualmente sem alterar suas normas, permitindo que os kernels de atenção linear funcionem normalmente.

A aplicação do RoPE requer a multiplicação densa de matrizes por $R^d_{\Theta, m}$?

Não. Como é uma matriz bloco-diagonal esparsa composta por blocos , ela é implementada computacionalmente como multiplicação elemento a elemento e recombinação par a par usando vetores de cosseno e seno.

Qual é o desempenho do RoFormer ao escalar para contextos mais longos?

No benchmark CAIL2019-SCM, expandir o comprimento do contexto de 512 para 1024 eleva a acurácia do teste do RoFormer de 68,29% para 69,79%, demonstrando forte capacidade de generalização de comprimento.

A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.

Ler com tradução e IA