CALM: как простые слова генерировать быстрее (by Google)



Оказывается, можно пропускать часть слоёв трансформера на «простых» словах и ускорять таким образом генерацию текста в ~3 раза!



А если правильно выбрать критерий преждевременной остановки, то качество генерации совсем не падает. Исследователи из гугл предложили 3 таких критерия:

1. Косинус эмбеддингов с двух последовательных слоёв.

2. Разность топ двух значений софтмакса.

3. Обученная линейная регрессия.



P.S. Все эксперименты были для T5, но думаю, что всё без проблем переносится и на GPT.



Статья, GitHub, блог