- 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
Comentários no Hacker News