CALM: как простые слова генерировать быстрее (by Google)
Оказывается, можно пропускать часть слоёв трансформера на «простых» словах и ускорять таким образом генерацию текста в ~3 раза!
А если правильно выбрать критерий преждевременной остановки, то качество генерации совсем не падает. Исследователи из гугл предложили 3 таких критерия:
1. Косинус эмбеддингов с двух последовательных слоёв.
2. Разность топ двух значений софтмакса.
3. Обученная линейная регрессия.
P.S. Все эксперименты были для T5, но думаю, что всё без проблем переносится и на GPT.
Статья, GitHub, блог
Оказывается, можно пропускать часть слоёв трансформера на «простых» словах и ускорять таким образом генерацию текста в ~3 раза!
А если правильно выбрать критерий преждевременной остановки, то качество генерации совсем не падает. Исследователи из гугл предложили 3 таких критерия:
1. Косинус эмбеддингов с двух последовательных слоёв.
2. Разность топ двух значений софтмакса.
3. Обученная линейная регрессия.
P.S. Все эксперименты были для T5, но думаю, что всё без проблем переносится и на GPT.
Статья, GitHub, блог