Как работает нейросеть за 5 минут. Генерация

Всем привет!

В прошлый раз я рассмотрел первый этап работы GPT - токенизацию и составление матрицы запроса.

Теперь переходим к собственно генерации - процессам, в результате которых мы видим на экране ответ. Сначала происходит

Получение основы для генерации

На входе в этот процесс имеем наш запрос, переведенный на математический язык - матрицу.

1️⃣  Полученная матрица проходит через многократно повторяемые операции умножения и конкатенации (о ней чуть ниже). Это всё происходит в так называемых слоях по так называемым головам.

✅  Каждый слой содержит несколько голов - по сути несколько наборов коэффициентов, на которые умножается матрица.

✅  Коэффициенты каждой головы вносят свою корректировку: с позиций значений слов, структуры предложения и т.д. Умножение идет одновременно для каждой головы.

✅  Результаты умножения по каждой голове конкатенируются в одну матрицу. Конкатенация - это когда к концу матрицы от одной головы дописывается матрица от второй и так далее.

2️⃣  Такая процедура последовательно повторяется в каждом слое модели. Слоев может быть несколько десятков - чем их больше, тем лучше потом будет ответ.

В итоге мы имеем детальный математический анализ промпта - так называемое начальное представление, которое математически учитывает связь между словами, их значениями и т.д.

Особенности

✅  Коэффициенты, участвующие в математических операциях - это то, что получается в результате тренировок (обучения) модели.

✅  Если максимально упростить - то архитектурно - логика модели - это файл(ы) с указанными коэффициентами, а операции исполняются по небольшому набору формул.

Когда начальное представление сформировано, то происходит

Декодирование и генерация

Модель за счет ряда операций (в основном, умножения) вычисляет вероятность для каждого следующего токена, который уже отправит пользователю (в нашем примере в виде слова, его части и т.д).

1️⃣ Для этого на основе начального представления считаются  вероятности для каждого токена в словаре модели.

2️⃣ После расчета вероятности для каждого токена, модель выбирает токен из словаря и отправляет его нам на экран на нашем языке.

3️⃣🔥Самое интересное - что отправив нам токен, алгоритм модели затем проводит его через все слои, как описывал выше (да ещё и так, чтобы учесть связи с другими токенами промпта), и дописывает полученный вектор к начальному представлению.

🔄 И вновь начинается вычисление вероятности для каждого токена словаря, но уже с учетом отправленных нам токенов - и так происходит, пока нам не отправится весь ответ 😅

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

Однако, возникает вопрос - как же так получается? Как же мыслим мы и «мыслит» модель - об этом я попытаюсь порассуждать в одном из следующеих постов.

Дисклеймер

Специально опускаю сложные математические представления и ряд механизмов и деталей. Не претендую на первенство и уникальность в описании работы - уверен, что кто-то уже это делал и не раз. Мои источники - популярные статьи и общение с популярными на сей день моделями.

Подписывайтесь, чтобы не пропустить ☺️

Ставьте лайк  💜 если полезно 🙌

Как работает нейросеть за 5 минут. Генерация | Сетка — социальная сеть от hh.ru