Modelagem de Linguagem Exponencialmente Mais Rápida
Exponentially Faster Language Modelling
November 15, 2023
Autores: Peter Belcak, Roger Wattenhofer
cs.AI
Resumo
Os modelos de linguagem realmente só precisam usar uma fração exponencial de seus
neurônios para inferências individuais. Como prova, apresentamos o FastBERT, uma variante do BERT
que utiliza 0,3\% de seus neurônios durante a inferência, enquanto apresenta desempenho equivalente
a modelos BERT similares. O FastBERT engaja seletivamente apenas 12 dos 4095
neurônios para cada inferência de camada. Isso é alcançado substituindo redes feedforward
por redes feedforward rápidas (FFFs). Embora ainda não exista uma implementação verdadeiramente eficiente
para desbloquear todo o potencial de aceleração da execução neural condicional, fornecemos um código de alto nível para CPU que alcança um ganho de velocidade de 78x
em relação à implementação otimizada de feedforward de referência, e uma implementação em PyTorch que oferece um ganho de 40x em relação à inferência feedforward em batch equivalente. Publicamos nosso código de treinamento, configuração de benchmarking e pesos do modelo.
English
Language models only really need to use an exponential fraction of their
neurons for individual inferences. As proof, we present FastBERT, a BERT
variant that uses 0.3\% of its neurons during inference while performing on par
with similar BERT models. FastBERT selectively engages just 12 out of 4095
neurons for each layer inference. This is achieved by replacing feedforward
networks with fast feedforward networks (FFFs). While no truly efficient
implementation currently exists to unlock the full acceleration potential of
conditional neural execution, we provide high-level CPU code achieving 78x
speedup over the optimized baseline feedforward implementation, and a PyTorch
implementation delivering 40x speedup over the equivalent batched feedforward
inference. We publish our training code, benchmarking setup, and model weights.