Entre em contato

Mamba: Redefinindo a modelagem de sequĂȘncia e superando a arquitetura de transformadores

InteligĂȘncia artificial

Mamba: Redefinindo a modelagem de sequĂȘncia e superando a arquitetura de transformadores

mm
Modelo Mamba AI

Neste artigo sobre Mamba, exploraremos como esse inovador modelo de espaço de estados (SSM) revoluciona a modelagem de sequĂȘncias. Desenvolvido por Albert Gu e Tri Dao, o Mamba se destaca por sua eficiĂȘncia no processamento de sequĂȘncias complexas em ĂĄreas como processamento de linguagem, genĂŽmica e anĂĄlise de ĂĄudio. Sua modelagem de sequĂȘncia de tempo linear com espaços de estado seletivos garante desempenho excepcional nessas diversas modalidades.

Iremos nos aprofundar na capacidade do Mamba de superar os desafios computacionais enfrentados pelos Transformers tradicionais, especialmente com sequĂȘncias longas. Sua abordagem seletiva em modelos de espaço de estados permite inferĂȘncia mais rĂĄpida e escalonamento linear com comprimento de sequĂȘncia, melhorando significativamente o rendimento.

A singularidade do Mamba reside na sua capacidade de processamento råpido, camada SSM seletiva e design amigåvel ao hardware inspirado no FlashAttention. Esses recursos permitem que o Mamba supere muitos modelos existentes, incluindo aqueles baseados na abordagem do transformador, tornando-o um avanço notåvel no aprendizado de måquina.

Transformadores vs. Mamba 

Os transformadores, como o GPT-4, estabeleceram padrĂ”es de referĂȘncia no processamento de linguagem natural. No entanto, a sua eficiĂȘncia diminui com sequĂȘncias mais longas. É aqui que o Mamba dĂĄ um salto Ă  frente, com sua capacidade de processar sequĂȘncias longas com mais eficiĂȘncia e sua arquitetura Ășnica que simplifica todo o processo.

Transformadores adeptos do tratamento de sequĂȘncias de dados, como texto para modelos de linguagem. Ao contrĂĄrio dos modelos anteriores que processavam dados sequencialmente, os Transformers processam sequĂȘncias inteiras simultaneamente, permitindo-lhes capturar relaçÔes complexas dentro dos dados.

Eles usam um mecanismo de atenção, que permite ao modelo focar em diferentes partes da sequĂȘncia ao fazer previsĂ”es.

Essa atenção Ă© calculada usando trĂȘs conjuntos de pesos: consultas, chaves e valores, derivados dos dados de entrada. Cada elemento de uma sequĂȘncia Ă© comparado a todos os outros elementos, fornecendo um peso que significa a importĂąncia, ou ‘atenção’, que cada elemento deve receber ao prever o prĂłximo elemento da sequĂȘncia.

Os transformadores mantĂȘm dois blocos principais: o codificador, que processa os dados de entrada, e o decodificador, que gera a saĂ­da. O codificador consiste em mĂșltiplas camadas, cada uma contendo duas subcamadas: um mecanismo de autoatenção com mĂșltiplas cabeças e uma rede feed-forward simples, posicionada e totalmente conectada. Normalização e conexĂ”es residuais sĂŁo usadas em cada subcamada para ajudar no treinamento de redes profundas.

O decodificador tambĂ©m possui camadas com duas subcamadas semelhantes ao codificador, mas adiciona uma terceira subcamada que realiza atenção de mĂșltiplas cabeças na saĂ­da do codificador. A natureza sequencial do decodificador garante que as previsĂ”es para uma posição possam considerar apenas posiçÔes anteriores, preservando a propriedade autoregressiva.

Em contraste com os Transformers, o modelo Mamba adota uma abordagem diferente. Enquanto os Transformers lidam com a questĂŁo das sequĂȘncias longas usando mecanismos de atenção mais complexos, o Mamba usa espaços de estado seletivos, fornecendo uma abordagem mais computacional.

Aqui estĂĄ uma visĂŁo geral de alto nĂ­vel de como funciona um transformador:

  1. Processamento de entrada: os transformadores primeiro codificam os dados de entrada em um formato que o modelo possa entender, geralmente usando embeddings que tambĂ©m incorporam a posição de cada elemento na sequĂȘncia.
  2. Mecanismo de Atenção: em sua essĂȘncia, o mecanismo de atenção calcula uma pontuação que representa quanto foco deve ser colocado em outras partes da sequĂȘncia de entrada ao compreender um elemento atual.
  3. Arquitetura do Codificador-Decodificador: O modelo do transformador Ă© composto por um codificador para processar a entrada e um decodificador para gerar a saĂ­da. Cada uma consiste em mĂșltiplas camadas que refinam a compreensĂŁo do modelo sobre a entrada.
  4. Atenção Multi-Cabeça: Tanto no codificador quanto no decodificador, a atenção multicabeças permite que o modelo atenda simultaneamente a diferentes partes da sequĂȘncia a partir de diferentes espaços representacionais, melhorando sua capacidade de aprender em diversos contextos.
  5. Redes Feed-Forward posicionadas: ApĂłs atenção, uma rede neural simples processa a saĂ­da de cada posição separadamente e de forma idĂȘntica. Isto Ă© combinado com a entrada atravĂ©s de uma conexĂŁo residual e seguido pela normalização da camada.
  6. Geração de resultados: o decodificador entĂŁo prevĂȘ uma sequĂȘncia de saĂ­da, influenciada pelo contexto do codificador e pelo que ele gerou atĂ© o momento.

A capacidade do transformador de lidar com sequĂȘncias em paralelo e seu robusto mecanismo de atenção o tornam poderoso para tarefas como tradução e geração de texto.

Em contraste, o modelo Mamba opera de forma diferente ao usar espaços de estados seletivos para processar sequĂȘncias. Esta abordagem aborda a ineficiĂȘncia computacional em Transformers ao lidar com sequĂȘncias longas. O design do Mamba permite inferĂȘncia mais rĂĄpida e escala linearmente com o comprimento da sequĂȘncia, estabelecendo um novo paradigma para modelagem de sequĂȘncia que poderia ser mais eficiente, especialmente Ă  medida que as sequĂȘncias se tornam cada vez mais longas.

Mamba

O que torna o Mamba verdadeiramente Ășnico Ă© o seu afastamento da atenção tradicional e dos blocos MLP. Essa simplificação leva a um modelo mais leve e rĂĄpido, que Ă© dimensionado linearmente com o comprimento da sequĂȘncia – um feito incomparĂĄvel aos seus antecessores.

Os principais recursos do Mamba incluem:

  1. SSMs seletivos: Permitem ao Mamba filtrar informaçÔes irrelevantes e focar em dados relevantes, melhorando o tratamento de sequĂȘncias. Essa seletividade Ă© crucial para um raciocĂ­nio eficiente baseado em conteĂșdo.
  2. Algoritmo com reconhecimento de hardware: o Mamba usa um algoritmo paralelo otimizado para hardware moderno, especialmente GPUs. Este design permite uma computação mais råpida e reduz os requisitos de memória em comparação com os modelos tradicionais.
  3. Arquitetura Simplificada: Ao integrar SSMs seletivos e eliminar blocos de atenção e MLP, o Mamba oferece uma estrutura mais simples e homogĂȘnea. Isso leva a melhor escalabilidade e desempenho.

O Mamba demonstrou desempenho superior em vårios domínios, incluindo linguagem, åudio e genÎmica, destacando-se tanto em tarefas de pré-treinamento quanto em tarefas específicas de domínio. Por exemplo, na modelagem de linguagem, o Mamba iguala ou excede o desempenho de modelos maiores do Transformer.

O código do Mamba e os modelos pré-treinados estão disponíveis abertamente para uso da comunidade em GitHub.

As tarefas de cĂłpia padrĂŁo sĂŁo simples para modelos lineares. As cabeças seletivas de cĂłpia e indução requerem memĂłria dinĂąmica e com reconhecimento de conteĂșdo para LLMs.

As tarefas de cĂłpia padrĂŁo sĂŁo simples para modelos lineares. As cabeças seletivas de cĂłpia e indução requerem memĂłria dinĂąmica e com reconhecimento de conteĂșdo para LLMs.

Os modelos de espaço de estados estruturados (S4) emergiram recentemente como uma classe promissora de modelos de sequĂȘncia, abrangendo caracterĂ­sticas de RNNs, CNNs e modelos clĂĄssicos de espaço de estados. Os modelos S4 inspiram-se em sistemas contĂ­nuos, especificamente um tipo de sistema que mapeia funçÔes ou sequĂȘncias unidimensionais atravĂ©s de um estado latente implĂ­cito. No contexto da aprendizagem profunda, representam uma inovação significativa, proporcionando uma nova metodologia para projetar modelos de sequĂȘncia que sejam eficientes e altamente adaptĂĄveis.

A dinĂąmica dos modelos S4

SSM (S4) Este Ă© o modelo bĂĄsico de espaço de estados estruturado. É preciso uma sequĂȘncia x e produz uma saĂ­da y usando parĂąmetros aprendidos A, B, C, e um parĂąmetro de atraso Δ. A transformação envolve discretizar os parĂąmetros (transformar funçÔes contĂ­nuas em funçÔes discretas) e aplicar a operação SSM, que Ă© invariante no tempo – o que significa que nĂŁo muda em diferentes intervalos de tempo.

O significado da discretização

A discretização é um processo chave que transforma os parùmetros contínuos em discretos através de fórmulas fixas, permitindo que os modelos S4 mantenham uma conexão com sistemas de tempo contínuo. Isso confere aos modelos propriedades adicionais, como invariùncia de resolução, e garante a normalização adequada, melhorando a estabilidade e o desempenho do modelo. A discretização também traça paralelos com os mecanismos de controle encontrados nas RNNs, que são essenciais para gerenciar o fluxo de informaçÔes através da rede.

InvariĂąncia Linear de Tempo (LTI)

Uma caracterĂ­stica central dos modelos S4 Ă© sua invariĂąncia linear no tempo. Esta propriedade implica que a dinĂąmica do modelo permanece consistente ao longo do tempo, com os parĂąmetros fixos para todos os intervalos de tempo. LTI Ă© a base da recorrĂȘncia e convoluçÔes, oferecendo uma estrutura simplificada, porĂ©m poderosa, para a construção de modelos de sequĂȘncia.

Superando LimitaçÔes Fundamentais

A estrutura S4 tem sido tradicionalmente limitada pela sua natureza LTI, o que coloca desafios na modelação de dados que requerem dinĂąmica adaptativa. O recente artigo de pesquisa apresenta uma abordagem que supera essas limitaçÔes, introduzindo parĂąmetros que variam no tempo, eliminando assim a restrição do LTI. Isto permite que os modelos S4 lidem com um conjunto mais diversificado de sequĂȘncias e tarefas, expandindo significativamente a sua aplicabilidade.

O termo “modelo de espaço de estados” abrange amplamente qualquer processo recorrente que envolva um estado latente e tem sido usado para descrever vĂĄrios conceitos em mĂșltiplas disciplinas. No contexto da aprendizagem profunda, os modelos S4, ou SSMs estruturados, referem-se a uma classe especĂ­fica de modelos que foram otimizados para computação eficiente, mantendo a capacidade de modelar sequĂȘncias complexas.

Os modelos S4 podem ser integrados em arquiteturas de redes neurais ponta a ponta, funcionando como transformaçÔes de sequĂȘncia autĂŽnomas. Eles podem ser vistos como anĂĄlogos Ă s camadas de convolução nas CNNs, fornecendo a espinha dorsal para a modelagem de sequĂȘncias em uma variedade de arquiteturas de redes neurais.

SSM vs SSM + Seleção

SSM vs SSM + Seleção

Motivação para Seletividade na Modelagem de SequĂȘncia

SSMs estruturados

SSMs estruturados

O artigo argumenta que um aspecto fundamental da modelagem de sequĂȘncia Ă© a compressĂŁo do contexto em um estado gerenciĂĄvel. Modelos que podem focar seletivamente ou filtrar entradas fornecem um meio mais eficaz de manter esse estado compactado, levando a modelos de sequĂȘncia mais eficientes e poderosos. Essa seletividade Ă© vital para que os modelos controlem de forma adaptativa como as informaçÔes fluem ao longo da dimensĂŁo da sequĂȘncia, uma capacidade essencial para lidar com tarefas complexas na modelagem de linguagem e alĂ©m.

Os SSMs seletivos aprimoram os SSMs convencionais, permitindo que seus parĂąmetros sejam dependentes de entrada, o que introduz um grau de adaptabilidade anteriormente inatingĂ­vel com modelos invariantes no tempo. Isto resulta em SSMs variantes no tempo que nĂŁo podem mais usar convoluçÔes para computação eficiente, mas, em vez disso, dependem de um mecanismo de recorrĂȘncia linear, um desvio significativo dos modelos tradicionais.

SSM + Seleção (S6) Esta variante inclui um mecanismo de seleção, adicionando dependĂȘncia de entrada aos parĂąmetros B C, e um parĂąmetro de atraso Δ. Isso permite que o modelo se concentre seletivamente em certas partes da sequĂȘncia de entrada x. Os parĂąmetros sĂŁo discretizados levando em consideração a seleção, e a operação SSM Ă© aplicada de forma variĂĄvel no tempo por meio de uma operação de varredura, que processa os elementos sequencialmente, ajustando o foco dinamicamente ao longo do tempo.

Destaques de desempenho do Mamba

Mamba é o melhor da categoria em todos os resultados de avaliação

Mamba é o melhor da categoria em todos os resultados de avaliação

Em termos de desempenho, o Mamba se destaca tanto na velocidade quanto na precisĂŁo de inferĂȘncia. Seu design permite uma melhor utilização de contextos mais longos, o que Ă© demonstrado tanto na modelagem de DNA quanto de ĂĄudio, superando os modelos anteriores em tarefas complexas que exigem dependĂȘncias de longo alcance. Sua versatilidade tambĂ©m Ă© destacada em avaliaçÔes zero-shot em mĂșltiplas tarefas, estabelecendo um novo padrĂŁo para tais modelos em termos de eficiĂȘncia e escalabilidade.

Introdução ao Mamba

Para aqueles interessados ​​em aproveitar o Mamba, os requisitos tĂ©cnicos incluem um sistema operacional Linux, uma GPU NVIDIA, PyTorch 1.12+ e CUDA 11.6+. A instalação envolve comandos pip simples para instalar os pacotes necessĂĄrios do RepositĂłrio Mamba. Se surgirem problemas de compatibilidade com as versĂ”es do PyTorch, usar o sinalizador –no-build-isolation com pip pode ajudar. Esses modelos, treinados em extensos conjuntos de dados como o conjunto de dados Pile e SlimPajama, sĂŁo projetados para atender a diversas necessidades computacionais e benchmarks de desempenho.

O Mamba oferece diferentes níveis de interfaces, desde a camada SSM seletiva até o bloco Mamba e estruturas completas de modelos de linguagem. O bloco Mamba, que é o módulo principal da arquitetura, utiliza uma camada causal Conv1d e pode ser facilmente integrado em projetos de redes neurais. O exemplo de uso fornecido em Python demonstra a instanciação de um modelo Mamba e o processamento de dados por meio dele, destacando a simplicidade e flexibilidade do sistema.

Modelos Mamba pré-treinados estão disponíveis em Abraçando o rosto, com tamanhos variando de parùmetros de 130M a 2.8B, treinados no extenso conjunto de dados Pile e no conjunto de dados SlimPajama. Esses modelos são projetados para atender diversos requisitos computacionais e de desempenho, aderindo aos padrÔes dimensionais do GPT-3. Os usuårios podem esperar alto rendimento e precisão desses modelos, tornando o Mamba uma escolha competitiva para diversas aplicaçÔes, incluindo, entre outras, modelagem de linguagem.

O impacto do Mamba

O Mamba representa um avanço na modelagem sequencial, oferecendo uma alternativa poderosa às arquiteturas Transformer para processamento de dados com muita informação. Seu design se alinha às demandas do hardware moderno, otimizando o uso de memória e os recursos de processamento paralelo. A disponibilidade de código aberto da base de código do Mamba e seus modelos pré-treinados o tornam uma ferramenta acessível e robusta para pesquisadores e desenvolvedores na årea de IA e aprendizado profundo.

Passei os Ășltimos cinco anos mergulhando no fascinante mundo do Machine Learning e Deep Learning. Minha paixĂŁo e experiĂȘncia me levaram a contribuir para mais de 50 projetos diversos de engenharia de software, com foco particular em AI/ML. Minha curiosidade contĂ­nua tambĂ©m me atraiu para o Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.