Exponentiell schnellere Sprachmodellierung
Exponentially Faster Language Modelling
November 15, 2023
Autoren: Peter Belcak, Roger Wattenhofer
cs.AI
Zusammenfassung
Sprachmodelle benötigen tatsächlich nur einen exponentiellen Bruchteil ihrer
Neuronen für einzelne Inferenzen. Als Beweis präsentieren wir FastBERT, eine BERT-
Variante, die während der Inferenz 0,3\% ihrer Neuronen verwendet und dabei
ähnliche Leistungen wie vergleichbare BERT-Modelle erzielt. FastBERT aktiviert
selektiv nur 12 von 4095 Neuronen für jede Schichtinferenz. Dies wird erreicht,
indem Feedforward-Netze durch schnelle Feedforward-Netze (FFFs) ersetzt werden.
Obwohl derzeit keine wirklich effiziente Implementierung existiert, um das volle
Beschleunigungspotenzial der bedingten neuronalen Ausführung zu erschließen,
stellen wir High-Level-CPU-Code bereit, der eine 78-fache Beschleunigung gegenüber
der optimierten Baseline-Feedforward-Implementierung erreicht, sowie eine PyTorch-
Implementierung, die eine 40-fache Beschleunigung gegenüber der äquivalenten
Batch-Feedforward-Inferenz liefert. Wir veröffentlichen unseren Trainingscode,
Benchmarking-Setup und Modellgewichte.
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.