Абстракция pre-LN в GPT-3 (настоящая Deep Learning)

Представим стол на четыре места, за которыми сидят два писателя (FNN/Attention) и два редактора (LayerNorm). Писатель переписывает текст, редактор —пересказывает. Над столом проходят две вакуумные трубы (residual connection): одна — от входа к центру, вторая — от центра к выходу. Чтобы обучать глубокие сети с Attention, нужно задать алгоритм распространения информации через такой стол — и через 30–50 таких столов последовательно. Задача: сигнал не должен затухать. Данные человечества — энциклопедия «BOOK», разделённая на BOOK_train и BOOK_test. BOOK_train обозначим как X0. BOOK_test нужен для вычисления ошибки через функцию потерь, которую минимизируют градиентным спуском. После каждого полного прохода мы выдаём «инструкции для писателей». В силу конструкции столов эти инструкции идут в обратном направлении — от конца к началу.   Алгоритм с post-LN (ChatGPT-2, 2019) Рассадка слева направо: Писатель-Attention, Редактор-LN1, Писатель-FNN, Редактор-LN2.   Прямой проход: 1.      Писатель-Attention получает X0, переписывает его в текст-1, а X0 отправляет в трубу до центра. 2.      Редактор-LN1 пересказывает текст-1 в текст-2 и передаёт Писателю-FNN. 3.      Писатель-FNN получает текст-2 и X0 из трубы, работает с обоими и пишет текст-3. 4.      Редактор-LN2 пересказывает текст-3 в текст-4. На выходе: X1 = X0 + текст-4.

Обратный проход: инструкция идёт через Редактора-LN2, Писателя-FNN, Редактора-LN1, Писателя-Attention. К столу-1 приходит инструкция-60 — почти пустой лист. То есть в post-LN информация не проходит через большое число столов.   Алгоритм с pre-LN (ChatGPT-3, 2020) Рассадка слева направо: Редактор-LN1, Писатель-Attention, Редактор-LN2, Писатель-FNN.

Прямой проход: 1.      Редактор-LN1 пересказывает X0 в текст-1, X0 отправляет в трубу до центра. 2.      Писатель-Attention переписывает текст-1 в текст-2 и передаёт Редактору-LN2. 3.      Редактор-LN2 складывает X0 и текст-2 в Y = X0 + текст-2, отправляет Y в трубу и пересказывает Y в текст-3. 4.      Писатель-FNN переписывает текст-3 в текст-4. На выходе: X1 = Y + текст-4.

Обратный проход: инструкция идёт справа налево по трубам, поступая только к писателям, которые пользуются ей без искажений. Мы не теряем информацию на редакторах.

Именно этот подход — pre-LN вместе с механизмом Attention — дал значительный скачок в развитии LLM. Я написал эту абстракцию для более простого понимания принципа работы LLM. И, возможно, в надежде, что такая аналогия поможет в работе над созданием всё более продвинутых моделей.   www.linkedin.com/in/tikhon-vergentev-298560202/