Se você já teve a experiência de se comunicar com qualquer robô de IA conversacional, com certeza pode se lembrar de alguns momentos extremamente “frustrantes”. Por exemplo, os pontos-chave que você mencionou na conversa do dia anterior foram completamente esquecidos pela IA...
Isso ocorre porque a maioria dos LLMs atuais só consegue se lembrar de um contexto limitado. Assim como os alunos que se preparam para os exames, seus pés ficarão expostos após um pequeno questionamento.
Imagine se um assistente de IA em um bate-papo pudesse fazer referência contextual a conversas de semanas ou meses atrás, ou se você pudesse pedir ao assistente de IA para resumir um relatório com milhares de páginas. Isso não é invejável?
Para fazer com que o LLM seja lembrado mais e melhor, os pesquisadores trabalham constantemente. Recentemente, pesquisadores do MIT, Meta AI e CMU propuseram um método chamado "StreamingLLM" para permitir que modelos de linguagem processem texto infinito sem problemas.
* Endereço do papel:
*endereço do projeto:
O princípio de funcionamento do StreamingLLM é identificar e salvar os tokens iniciais ancorados pelos "sumidouros de atenção" inerentes ao modelo para seu raciocínio. Combinado com o cache contínuo de tokens recentes, o StreamingLLM acelera a inferência em 22 vezes sem sacrificar qualquer precisão. Em apenas alguns dias, o projeto ganhou 2,5 mil estrelas na plataforma GitHub:
Especificamente, o StreamingLLM permite que o modelo de linguagem lembre com precisão a pontuação do touchdown do último jogo, o nome do recém-nascido, o longo contrato ou o conteúdo do debate, assim como a memória do assistente de IA foi atualizada para lidar perfeitamente com cargas de trabalho mais pesadas.
A seguir, vamos dar uma olhada nos detalhes técnicos.
Inovação de método
Normalmente, o LLM é limitado pela janela de atenção quando pré-treinado. Embora muito trabalho anterior tenha sido feito para expandir o tamanho dessa janela e melhorar a eficiência do treinamento e da inferência, o comprimento de sequência aceitável do LLM ainda é limitado, o que não é amigável para implantação persistente.
Neste artigo, os pesquisadores introduziram pela primeira vez o conceito de aplicativos de streaming LLM e fizeram a pergunta: "O LLM pode ser implantado com entradas infinitamente longas sem sacrificar a eficiência e o desempenho?"
Existem dois desafios principais ao aplicar o LLM a fluxos de entrada infinitamente longos:
Durante a fase de decodificação, o LLM baseado em transformador armazena em cache o status de chave e valor (KV) de todos os tokens anteriores, conforme mostrado na Figura 1 (a), o que pode causar uso excessivo de memória e aumentar a latência de decodificação;
A capacidade de extrapolação de comprimento dos modelos existentes é limitada, ou seja, quando o comprimento da sequência excede o tamanho da janela de atenção definido durante o pré-treinamento, seu desempenho diminuirá.
Um método intuitivo é chamado de atenção de janela (Figura 1 b).Este método mantém apenas uma janela deslizante de tamanho fixo no estado KV do token mais recente, embora possa garantir que o uso de memória e a velocidade de decodificação possam ser estáveis, mas quando o comprimento da sequência exceder o tamanho do cache, ou mesmo apenas expulsar o KV do primeiro token, o modelo entrará em colapso. Outro método é recalcular a janela deslizante (mostrada na Figura 1 c). Este método reconstruirá o estado KV do token recente para cada token gerado. Embora o desempenho seja poderoso, ele requer o cálculo da atenção secundária dentro da janela. O o resultado é significativamente mais lento, o que não é ideal em aplicações reais de streaming.
No processo de compreensão da falha da atenção da janela, os pesquisadores descobriram um fenômeno interessante de LLM autorregressivo: conforme mostrado na Figura 2, um grande número de pontuações de atenção são atribuídos aos tokens iniciais, independentemente de esses tokens estarem relacionados à tarefa de modelagem de linguagem .
Os pesquisadores chamam esses tokens de “reservatórios de atenção”: embora não tenham significado semântico, eles ocupam uma grande quantidade de pontos de atenção. Os pesquisadores atribuem esse fenômeno ao Softmax (que exige que a soma das pontuações de atenção de todos os tokens de contexto seja 1).Mesmo que a consulta atual não tenha uma correspondência forte entre muitos tokens anteriores, o modelo ainda precisa transferir essas atenções desnecessárias. . Os valores são atribuídos em algum lugar para que a soma seja 1. A razão pela qual o token inicial se torna um "pool" é intuitiva: devido às características da modelagem de linguagem autorregressiva, o token inicial é visível para quase todos os tokens subsequentes, o que os torna mais fáceis de treinar como um pool de atenção.
Com base nos insights acima, os pesquisadores propuseram o StreamingLLM, uma estrutura simples e eficiente que permite que um modelo de atenção treinado usando uma janela de atenção limitada processe textos infinitamente longos sem ajuste fino.
StreamingLLM explora o fato de que os pools de atenção têm altos valores de atenção, e reter esses pools de atenção pode tornar a distribuição da pontuação de atenção próxima de uma distribuição normal. Portanto, StreamingLLM só precisa reter o valor KV do token do pool de atenção (apenas 4 tokens iniciais são suficientes) e o valor KV da janela deslizante para ancorar o cálculo da atenção e estabilizar o desempenho do modelo.
Usando StreamingLLM, modelos incluindo Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B e Pythia [2.9,6.9,12] B podem ser simulados com segurança. milhões de tokens ou até mais.
Comparado com a única linha de base viável, recalculando a janela deslizante, o StreamingLLM é 22,2 vezes mais rápido sem sacrificar o desempenho.
Avaliação
Na sessão experimental, conforme mostrado na Figura 3, em texto abrangendo 20 mil tokens, a perplexidade do StreamingLLM é comparável à linha de base do Oracle (recalculando a janela deslizante). Ao mesmo tempo, quando o comprimento da entrada exceder a janela de pré-treinamento, a atenção densa falhará e, quando o comprimento da entrada exceder o tamanho do cache, a atenção da janela terá problemas, fazendo com que o token inicial seja eliminado.
A Figura 5 confirma ainda que o StreamingLLM pode lidar de forma confiável com textos de tamanhos incomuns, incluindo mais de 4 milhões de tokens, cobrindo uma variedade de famílias e tamanhos de modelos. Isso inclui Llama-2-[7,13,70] B, Falcon-[7,40] B, Pythia-[2.8,6.9,12] B e MPT-[7,30] B.
Posteriormente, os pesquisadores confirmaram a hipótese do “pool de atenção” e provaram que o modelo de linguagem pode ser pré-treinado e requer apenas um token de pool de atenção durante a implantação do streaming. Especificamente, eles recomendam adicionar um token aprendível adicional no início de todos os exemplos de treinamento como um grupo de atenção designado. Ao pré-treinar um modelo de linguagem com 160 milhões de parâmetros do zero, os pesquisadores demonstraram que esse método pode manter o desempenho do modelo. Isto contrasta fortemente com os modelos de linguagem atuais, que exigem a reintrodução de vários tokens iniciais como grupos de atenção para atingir o mesmo nível de desempenho.
Finalmente, os pesquisadores compararam a latência de decodificação e o uso de memória do StreamingLLM com a janela deslizante de recomputação e testaram em uma única GPU NVIDIA A6000 usando os modelos Llama-2-7B e Llama-2-13B. Conforme mostrado na Figura 10, à medida que o tamanho do cache aumenta, a velocidade de decodificação do StreamingLLM aumenta linearmente. O atraso de decodificação deste último aumenta em uma curva quadrática. Experimentos provaram que StreamingLLM atinge velocidades impressionantes, com a velocidade de cada token aumentada em até 22,2 vezes.
Para obter mais detalhes da pesquisa, consulte o artigo original.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Com até 4 milhões de contextos de token e inferência 22 vezes mais rápida, o StreamingLLM se tornou popular e recebeu 2,5 mil estrelas no GitHub.
Editor: Molho de Ovo
Se você já teve a experiência de se comunicar com qualquer robô de IA conversacional, com certeza pode se lembrar de alguns momentos extremamente “frustrantes”. Por exemplo, os pontos-chave que você mencionou na conversa do dia anterior foram completamente esquecidos pela IA...
Isso ocorre porque a maioria dos LLMs atuais só consegue se lembrar de um contexto limitado. Assim como os alunos que se preparam para os exames, seus pés ficarão expostos após um pequeno questionamento.
Imagine se um assistente de IA em um bate-papo pudesse fazer referência contextual a conversas de semanas ou meses atrás, ou se você pudesse pedir ao assistente de IA para resumir um relatório com milhares de páginas. Isso não é invejável?
Para fazer com que o LLM seja lembrado mais e melhor, os pesquisadores trabalham constantemente. Recentemente, pesquisadores do MIT, Meta AI e CMU propuseram um método chamado "StreamingLLM" para permitir que modelos de linguagem processem texto infinito sem problemas.
O princípio de funcionamento do StreamingLLM é identificar e salvar os tokens iniciais ancorados pelos "sumidouros de atenção" inerentes ao modelo para seu raciocínio. Combinado com o cache contínuo de tokens recentes, o StreamingLLM acelera a inferência em 22 vezes sem sacrificar qualquer precisão. Em apenas alguns dias, o projeto ganhou 2,5 mil estrelas na plataforma GitHub:
Inovação de método
Normalmente, o LLM é limitado pela janela de atenção quando pré-treinado. Embora muito trabalho anterior tenha sido feito para expandir o tamanho dessa janela e melhorar a eficiência do treinamento e da inferência, o comprimento de sequência aceitável do LLM ainda é limitado, o que não é amigável para implantação persistente.
Neste artigo, os pesquisadores introduziram pela primeira vez o conceito de aplicativos de streaming LLM e fizeram a pergunta: "O LLM pode ser implantado com entradas infinitamente longas sem sacrificar a eficiência e o desempenho?"
Existem dois desafios principais ao aplicar o LLM a fluxos de entrada infinitamente longos:
Durante a fase de decodificação, o LLM baseado em transformador armazena em cache o status de chave e valor (KV) de todos os tokens anteriores, conforme mostrado na Figura 1 (a), o que pode causar uso excessivo de memória e aumentar a latência de decodificação;
A capacidade de extrapolação de comprimento dos modelos existentes é limitada, ou seja, quando o comprimento da sequência excede o tamanho da janela de atenção definido durante o pré-treinamento, seu desempenho diminuirá.
No processo de compreensão da falha da atenção da janela, os pesquisadores descobriram um fenômeno interessante de LLM autorregressivo: conforme mostrado na Figura 2, um grande número de pontuações de atenção são atribuídos aos tokens iniciais, independentemente de esses tokens estarem relacionados à tarefa de modelagem de linguagem .
Com base nos insights acima, os pesquisadores propuseram o StreamingLLM, uma estrutura simples e eficiente que permite que um modelo de atenção treinado usando uma janela de atenção limitada processe textos infinitamente longos sem ajuste fino.
StreamingLLM explora o fato de que os pools de atenção têm altos valores de atenção, e reter esses pools de atenção pode tornar a distribuição da pontuação de atenção próxima de uma distribuição normal. Portanto, StreamingLLM só precisa reter o valor KV do token do pool de atenção (apenas 4 tokens iniciais são suficientes) e o valor KV da janela deslizante para ancorar o cálculo da atenção e estabilizar o desempenho do modelo.
Usando StreamingLLM, modelos incluindo Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B e Pythia [2.9,6.9,12] B podem ser simulados com segurança. milhões de tokens ou até mais.
Comparado com a única linha de base viável, recalculando a janela deslizante, o StreamingLLM é 22,2 vezes mais rápido sem sacrificar o desempenho.
Avaliação
Na sessão experimental, conforme mostrado na Figura 3, em texto abrangendo 20 mil tokens, a perplexidade do StreamingLLM é comparável à linha de base do Oracle (recalculando a janela deslizante). Ao mesmo tempo, quando o comprimento da entrada exceder a janela de pré-treinamento, a atenção densa falhará e, quando o comprimento da entrada exceder o tamanho do cache, a atenção da janela terá problemas, fazendo com que o token inicial seja eliminado.
Finalmente, os pesquisadores compararam a latência de decodificação e o uso de memória do StreamingLLM com a janela deslizante de recomputação e testaram em uma única GPU NVIDIA A6000 usando os modelos Llama-2-7B e Llama-2-13B. Conforme mostrado na Figura 10, à medida que o tamanho do cache aumenta, a velocidade de decodificação do StreamingLLM aumenta linearmente. O atraso de decodificação deste último aumenta em uma curva quadrática. Experimentos provaram que StreamingLLM atinge velocidades impressionantes, com a velocidade de cada token aumentada em até 22,2 vezes.