Объясните механизм внимания на конкретном примере

Модель машинного обучения Transformer, представленная в статье Внимание — это все, что вам нужно [1], полностью изменила область машинного обучения. А механизм Внимания служит ядром модели Преобразования. Оригинальная статья дает нам такую ​​формулу без особых объяснений:

В этой статье мы попытаемся объяснить механизм Attention простым языком. Давайте временно проигнорируем формулу или притворимся, что уже полностью поняли, что она означает.

Перед механизмом Внимание

Предположим, что мы живем в 2013 году, за 10 лет до 2023 года, года, когда я пишу это. Если мы собираемся построить языковую модель для предсказания отношений между двумя произвольными словами, что вы будете делать?

Высока вероятность того, что вы будете использовать Цепь Маркова[2] для построения вероятностной цепочки отношений из двух или трех слов. Основная идея состоит в том, чтобы вычислить показатель вероятности между каждым словом, включенным в языковой словарь. Проблема заключается в том, что размер оценки вероятности резко увеличится при расчете отношения цепи Маркова с более чем пятью словами.

Например, есть язык, в котором всего 10 слов.

Имеется 10²= 100 комбинаций из двух слов и 10³=1000 комбинаций из трех слов. Замените этот крошечный язык на язык со 100 000 слов в словаре, комбинация из пяти слов будет 100 000⁵. Если ChatGPT построен по этой модели, одно предложение с 10 входными словами может легко вывести из строя внутренний сервер, независимо от того, насколько он мощный.

Несколько лет назад мне удалось построить модель из двух и трех слов и сохранить все оценки вероятности в SQL Server, да, звучит немного глупо, но она работает довольно хорошо при правильном дизайне индекса и может помочь обнаружить любые недавно придуманные два или три слова, популярные на форуме и в социальной сети.

Однако я не могу распространить модель на комбинацию из четырех слов из-за слишком большой таблицы оценки вероятности. Я предполагал, что если однажды кто-нибудь сможет…