Экспоненциально ускоренное моделирование языка
Exponentially Faster Language Modelling
November 15, 2023
Авторы: Peter Belcak, Roger Wattenhofer
cs.AI
Аннотация
Языковым моделям действительно требуется использовать лишь экспоненциально малую долю своих нейронов для отдельных выводов. В качестве доказательства мы представляем FastBERT — вариант модели BERT, который использует 0,3% своих нейронов во время вывода, при этом демонстрируя производительность на уровне аналогичных моделей BERT. FastBERT избирательно задействует всего 12 из 4095 нейронов для каждого вывода на уровне. Это достигается за счет замены полносвязных сетей на быстрые полносвязные сети (FFFs). Хотя в настоящее время не существует действительно эффективной реализации, способной раскрыть весь потенциал ускорения условного выполнения нейронных сетей, мы предоставляем высокоуровневый код для CPU, достигающий 78-кратного ускорения по сравнению с оптимизированной базовой реализацией полносвязных сетей, а также реализацию на PyTorch, обеспечивающую 40-кратное ускорение по сравнению с эквивалентным пакетным выводом полносвязных сетей. Мы публикуем наш код для обучения, настройку бенчмаркинга и веса модели.
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.