17 pontos por GN⁺ 2024-12-20 | 1 comentários | Compartilhar no WhatsApp
  • ModernBERT é um novo modelo encoder-only que aplica técnicas de ponta, com melhorias em velocidade e precisão em relação ao BERT e seus sucessores
  • Suporta contexto longo de 8192 tokens e também foi treinado com dados de código
  • Pode ser usado em diversas áreas de aplicação e é especialmente adequado para busca de código em larga escala e novos recursos de IDE

Introdução

  • BERT foi lançado em 2018 e ainda é amplamente usado, sendo especialmente adequado para busca, classificação e extração de entidades.
  • ModernBERT é um modelo substituto para o BERT, trazendo uma melhoria de Pareto em velocidade e precisão.
  • O contexto longo e a inclusão de dados de código abrem caminho para novas áreas de aplicação.

Modelos decoder-only

  • Modelos decoder-only como GPT, Llama e Claude são modelos generativos, capazes de produzir conteúdo semelhante ao humano.
  • No entanto, esses modelos são grandes, lentos e têm custo elevado.
  • Modelos encoder-only são práticos, eficientes e adequados para muitas tarefas.

Modelos encoder-only

  • Modelos encoder-only transformam a entrada em vetores numéricos para representá-la.
  • Enquanto modelos decoder-only não conseguem ver tokens futuros, modelos encoder-only podem ver os tokens de forma bidirecional, o que os torna eficientes.
  • Modelos encoder-only são usados em diversas aplicações e são especialmente importantes em pipelines de RAG e sistemas de recomendação.

Visão geral de desempenho

  • ModernBERT apresenta alta precisão em várias tarefas e é mais rápido que o DeBERTaV3, além de usar menos memória.
  • Em inferência com contexto longo, é até 3 vezes mais rápido que outros modelos de alta qualidade.
  • Apresenta desempenho incomparável em busca de código, abrindo possibilidades para o desenvolvimento de novas aplicações.

Eficiência

  • ModernBERT prioriza a praticidade e apresenta desempenho rápido em diversos comprimentos de entrada.
  • Em entradas de contexto longo, é de 2 a 3 vezes mais rápido que outros modelos.
  • Permite usar tamanhos de batch maiores, o que possibilita uso eficaz até mesmo em GPUs menores.

O que torna o ModernBERT moderno

  • ModernBERT melhora os modelos encoder ao aplicar engenharia de última geração.
  • Adota a arquitetura Transformer++ para elevar o desempenho.
  • Dá prioridade à eficiência e à escala e às fontes de dados modernas.

Um novo Transformer

  • ModernBERT adota a arquitetura Transformer++ para melhorar o desempenho.
  • Usa RoPE para aprimorar a codificação posicional e substitui a camada MLP por camadas GeGLU.
  • Remove termos de bias desnecessários para otimizar o uso de parâmetros.

Upgrade de um Honda Civic para uma pista de corrida

  • ModernBERT dá prioridade à velocidade e pode ser usado com eficiência em diversas áreas de aplicação.
  • Aproveita os ganhos de velocidade do Flash Attention 2 para aumentar a eficiência.
  • Reduz desperdício computacional com Alternating Attention, Unpadding e Sequence Packing.

Atenção ao hardware

  • ModernBERT foi projetado com foco em hardware para oferecer desempenho ideal em várias GPUs.
  • O modelo foi desenhado levando em conta uma estrutura profunda e estreita e a eficiência de hardware.

Treinamento

  • ModernBERT é treinado com dados de várias fontes e usa 2 trilhões de tokens.
  • Mostra excelente desempenho em diversas tarefas por meio de um processo de treinamento em três etapas.
  • Na fase inicial do treinamento, usa aquecimento do tamanho de batch para aumentar a velocidade.

Conclusão

  • ModernBERT melhora o desempenho dos modelos encoder-only ao aplicar técnicas modernas.
  • Oferece desempenho forte em várias tarefas e tem uma relação tamanho/desempenho atraente.
  • A expectativa é ver usos criativos da comunidade, e há um concurso em andamento para demos.

1 comentários

 
GN⁺ 2024-12-20
Comentários no Hacker News
  • Jeremy, da Answer.AI, espera que o lançamento do novo modelo possa servir de base para várias startups e projetos
    • O que foi mencionado na postagem do blog é apenas a ponta do iceberg, e há muitas oportunidades de ajustar o modelo finamente de várias formas
  • Modelos somente codificadores registram mais de 1 bilhão de downloads por mês, três vezes mais do que modelos somente decodificadores
    • Isso também acontece porque usuários de decodificadores não usam o Hugging Face e fazem chamadas de API, e porque codificadores são os heróis ocultos da maioria das aplicações sérias de ML
    • Para fazer ranking, recomendação, RAG etc., é preciso um codificador, e em geral são usados modelos das famílias BERT, RoBERTa e ALBERT
  • Quando usou modelos BERT para resumo e outras tarefas alguns anos atrás, pareceu algo milagroso
    • Vai esperar até que o Ollama o adicione à biblioteca, e os ganhos recentes de velocidade dos LLMs são impressionantes
    • A Apple já oferece suporte a modelos BERT no SDK para desenvolvedores, e fica a curiosidade sobre quão rápido ela vai atualizar isso com a nova tecnologia
  • Leu o artigo e ficou impressionado com a adição de camadas de atenção local
    • Vem experimentando isso há anos no repositório do Lucidrains, e é surpreendente que não tenha avançado mais
    • A velocidade de inferência é excelente, e houve muitas melhorias, como remoção de NSP, aumento do masking, além de RoPE e contexto longo
    • Gostaria de criar um "ModernTinyBERT", mas é difícil porque as camadas estão intricadamente entrelaçadas
  • Fica a dúvida de onde modelos BERT estão sendo usados atualmente
    • Entende-se que, em certas tarefas, eles são uma alternativa melhor do que LLMs e conseguem compreender melhor o contexto de forma bidirecional
    • No entanto, os LLMs também são poderosos, então a diferença pode ser mínima
  • Fica a dúvida se o modelo pode ser ajustado finamente com SentenceTransformers
    • ColBERT está incluído no benchmark, e fica a dúvida se o answerai-colbert-small-v2 será lançado em breve
  • Fica a dúvida se alguém já viu uma avaliação de RAG para o ModernBERT
  • A equipe da Answer.ai está entregando resultados hoje, e há elogios ao Jeremy e ao time pelo bom trabalho
  • Fica a dúvida se o modelo oferece suporte apenas a inglês e se há planos de publicar um modelo multilíngue ou modelos monolíngues para outros idiomas
  • Foi uma oportunidade perdida não ter dado ao modelo o nome de ERNIE