Modelado de Lenguaje Exponencialmente Más Rápido
Exponentially Faster Language Modelling
November 15, 2023
Autores: Peter Belcak, Roger Wattenhofer
cs.AI
Resumen
Los modelos de lenguaje realmente solo necesitan usar una fracción exponencial de sus neuronas para inferencias individuales. Como prueba, presentamos FastBERT, una variante de BERT que utiliza el 0.3\% de sus neuronas durante la inferencia mientras ofrece un rendimiento comparable a modelos BERT similares. FastBERT activa selectivamente solo 12 de 4095 neuronas para cada inferencia de capa. Esto se logra reemplazando las redes feedforward con redes feedforward rápidas (FFFs). Aunque actualmente no existe una implementación verdaderamente eficiente que desbloquee todo el potencial de aceleración de la ejecución neuronal condicional, proporcionamos código de alto nivel para CPU que logra una aceleración de 78x sobre la implementación optimizada de referencia feedforward, y una implementación en PyTorch que ofrece una aceleración de 40x sobre la inferencia feedforward equivalente por lotes. Publicamos nuestro código de entrenamiento, configuración de evaluación y pesos del 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.