- Byte Latent Transformer (BLT) é uma nova arquitetura de modelo de linguagem grande (LLM) em nível de byte, que alcança o mesmo desempenho de modelos baseados em tokenização, ao mesmo tempo em que melhora significativamente a eficiência de inferência e a robustez
- Codifica bytes em patches de tamanho dinâmico, fazendo com que os patches atuem como a principal unidade de operação
- Divisão dinâmica em patches: aloca mais recursos computacionais para dados mais complexos com base na entropia do próximo byte
- Primeiro estudo de escalabilidade com controle de FLOPs para modelos baseados em bytes:
- Escalado até 8B (8 bilhões) de parâmetros e 4 trilhões (4T) de bytes de treinamento
- Confirma a viabilidade de treinar modelos com bytes brutos, sem necessidade de vocabulário fixo
Principais resultados
- Treinamento e inferência eficientes:
- Seleciona patches longos quando os dados são previsíveis, reduzindo o volume de computação
- O modelo ajusta dinamicamente os patches de acordo com a complexidade, otimizando o uso de recursos
- Melhora de escalabilidade:
- Com custo de inferência fixo, apresenta desempenho superior ao de modelos baseados em tokenização
- Garante eficiência de escalabilidade ao aumentar simultaneamente o tamanho dos patches e o tamanho do modelo
- Melhorias qualitativas de desempenho:
- Melhora na capacidade de raciocínio e generalização: avanços qualitativos em raciocínio causal e no tratamento de dados esparsos (long-tail)
- Supera as limitações das abordagens baseadas em vocabulário fixo
Significado
- O BLT processa bytes brutos sem tokenização e, ainda assim, demonstra eficiência no treinamento de grandes volumes de dados e modelos
- Oferece desempenho superior em relação ao custo de inferência e aponta o potencial da próxima geração de LLMs em nível de byte
- Em especial, ao lidar com dados complexos, sugere que a abordagem de patches dinâmicos pode se tornar um novo padrão de modelagem adaptativa
1 comentários
Comentários no Hacker News
No verão em que o BERT foi lançado, eu trabalhava em uma startup que fazia tarefas de classificação usando um modelo CNN baseado em caracteres. O pessoal do time tinha interesse em word vectors, mas achava que a grande quantidade de palavras fora do vocabulário poderia levar ao fracasso
A estrutura hierárquica é interessante, mas é uma pena haver apenas dois níveis. Empilhar mais níveis pode ser uma direção de pesquisa
Usa-se um modelo pequeno para prever a probabilidade do próximo caractere da string de entrada a fim de gerar patches
Sampling é uma parte difícil dos LLMs, mas possibilita usos interessantes, como forçar sempre a saída de JSON válido ou ajustar a temperatura para obter distribuições variadas
Há uma pergunta sobre se a IA pode ser pré-treinada em arquivos binários
Há uma pergunta sobre se não seria possível tornar a tokenização implícita e fornecer ao modelo apenas bytes (ou caracteres)
Citação relacionada do Karpathy: a tokenização está no centro de muitas das esquisitices dos LLMs
É um modelo composto por 3 componentes
Como os bytes são agrupados
Há vantagens em relação à tokenização por byte pair dos LLMs atuais
Eu achava que deveríamos estar entrando em um período de estagnação