ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:00:01
Трансформеры и глубокое обучение:
  • Описание устройства трансформеров и принципов глубокого обучения
  • Процесс преобразования входных данных в токены и векторы
  • Использование матричного умножения и эмбеддингов слов
  • Механизм внимания и его роль в понимании контекста
0: Инициалы gpt означают генеративный предобученный трансформер генеративный означает, что модель генерирует новый текст. Предобученный означает, что модель была обучена на огромном.
1: Количестве данных и её можно дообучить для конкретных задач. И, наконец, трансформер это особый вид нейронной сети, лежащий в основе нынешнего бума в области искусственно
2: Интеллекта в этом видео и последующих главах. Я хочу наглядно показать, что на самом деле происходит внутри трансформера. Существует множество различных видов моделей на основе трансформеров, не
3: Некоторые модели принимают на вход аудиозапись и на выходе возвращают текст или, наоборот, на вход, текст, а на выходе синтезированный голос, также на трансформерах работают такие модели, как далли и major.
4: Которые по текстовому описанию генерируют изображение. Это удивительно и потрясающе, что такое вообще возможно. А оригинальный трансформер, представленный в 2017 году.
5: Компании google был придуман для перевода текста с 1 языка на другой итак, в этом видео мы сосредоточимся на трансформере, который лежит в основе таких моделей, как chat gpt, на вход подаётся фраг.
6: Текста, а также, может быть, сопутствующие звук и изображение. А на выходе получаем продолжение текста. Такое предсказание текста имеет форму распределения вероятностей для различных вариантов. Сле.
7: Следующего слова на 1 взгляд может показаться, что предсказание следующего слова это совсем другая задача, нежели генерация нового текста, но мы вполне можем создавать таким образом и длинные.
8: Тексты слово за словом каждый раз подавая на вход весь созданный ранее текст и генерируя 1 следующее слово, на 1 взгляд кажется, что вряд ли такой текст получится осмысленным давайте.
9: Запустим на ноутбуке gpt 2 и попросим эту модель написать рассказ. Мы получаем рассказ без особого смысла. Однако если взять более крупную модель GPT-3, то внезапно по
10: Почти по волшебству мы получаем вполне Разумный рассказ, в котором существо пи могло бы жить в стране математики и вычислений.
11: Этот процесс предсказания следующего слова это то, что происходит, когда мы взаимодействуем с чат gpt или любой другой большой языковой моделью, и здесь нам очень пригодилась бы возможность увидеть распределе.
12: Вероятностей для каждого нового слова.
13: Итак, давайте посмотрим на то, как данные проходят через трансформер. Для начала мы взглянем на общую схему, а чуть позже добавим детали для каждого шага. Во первых, входные данные разбиваются на кучу.
14: Маленьких кусочков эти кусочки называются токенами для текста это отдельные слова или части слов, а для изображений и звука это фрагменты изображения или отрывки звукового.
15: Ряда. Далее каждый из этих токенов ассоциируется с вектором, который должен каким-то образом закодировать значение этого фрагмента. Если представить координаты, то слова с похожими значениями
16: Имеют векторы близко друг к другу в этом пространстве. Затем эти векторы проходят через операцию аттеншн блок, которая позволяет векторам общаться друг с другом и передавать информацию туда.
17: Сюда фейшн модел позволяет понять
18: Например, значение слова model во фразе a machine learning модул отличается от значения во фразе э аттеншн блок, какие слова в контексте имеют?
19: Сюда, например, значение слова model во фразе a machine learning модул отличается от значения во фразе э фейшн модел аттеншн блок позволяет понять, какие слова в контексте имеют.
20: Отношение друг к другу этих слов операции перцептрон.
21: И как нужно обновить векторы на основе. Далее эти векторы проходят через другой вид, многослойный.
22: Отношение друг к другу и как нужно обновить векторы на основе этих слов. Далее эти векторы проходят через другой вид операции, многослойный перцептрон или иногда его ещё
23: Называют фит. Здесь векторы уже не общаются, и хотя этот блок немного сложнее интерпретировать этот шаг, немного похож на длинный список вопросов о каждом векторе и
24: Форвард Леер друг с другом.
25: Называют фит форвард Леер. Здесь векторы уже не общаются друг с другом, и хотя этот блок немного сложнее интерпретировать этот шаг, немного похож на длинный список вопросов о каждом векторе и
26: Новление векторов на основе ответов на все операции в обоих этих блоках выполняются как огромное количество, и прежде всего нам с вами важно понять, какие матрицы
27: Эти вопросы матричных вычислений.
28: Новление векторов на основе ответов на эти вопросы. Все операции в обоих этих блоках выполняются как огромное количество матричных вычислений. И прежде всего нам с вами важно понять, какие матрицы
29: Здесь участвуют для упрощения я пропускаю некоторые промежуточные шаги нормализации, и далее этот процесс многократно повторяется, данные перемещаются между блоками внимания и блоками.
30: Многослойного перцептрона. В итоге мы надеемся, что весь смысл рассказа был закодирован в самый последний вектор. Затем мы выполняем определённую операцию над этим последним вектором, получаем распределение.
31: Вероятности токенам.
32: По всем возможным, и как только модель умеет предсказывать 1 следующее слово, мы можем сначала скормить ей некоторый начальный текст, а затем предсказывать следующее слово много раз.
33: Вероятности по всем возможным токенам, и как только модель умеет предсказывать 1 следующее слово, мы можем сначала скормить ей некоторый начальный текст, а затем предсказывать следующее слово много раз в итоге.
34: Получая продолжение начального текста, именно так выглядели ранние демо версии GPT-3 ещё до появления chat gpt, чтобы превратить такой инструмент в чат бота проще всего.
35: Начать с небольшого текста, который описывает взаимодействие пользователя с чат ботом. Такой текст называется системным промтом. И далее этот prompt и 1 вопрос пользователя это нача.
36: Текст, а дальнейшее предсказание текста это ответ чат бота на вопрос пользователя. Конечно, нужно многое сделать для обучения такой модели, но это основная идея. В этом видео мы
37: Посмотрим подробнее на то, что происходит в самом начале сети, а также в самом конце сети. Кроме того, мы вспомним некоторые базовые знания о нейронных сетях, которые появились ещё до трансформеров. Если
38: Вы уже знаете нейронные сети и хотите сразу перейти к трансформерам, то можете сразу перейти к следующему видео, в котором речь пойдёт о блоках внимания. После этого речь пойдёт о многослойном перцептроне и о том,
39: Как происходит обучение модели, эти видеоролики являются продолжением плейлиста о глубоком обучении. Если вы не смотрели предыдущие видео, ничего страшного, их можно смотреть не по порядку, однако.
40: Все-таки нужно сказать пару общих слов о глубоком обучении, рискуя заявить очевидное скажу, что речь пойдёт о моделях машинного обучения, поведение которых определяется обучающими данными в качестве.
41: Примера представим, что нам нужна функция, которая принимает на вход изображение, а на выходе выдаёт описание или наш пример с предсказанием следующего слова для начального текста идея.
42: Машинного обучения заключается в том, что мы не пытаемся явно написать алгоритм решения задачи. Вместо этого мы берём очень гибкую модель с настраиваемыми параметрами и показываем этой моде.
43: Много примеров того, как должны выглядеть результаты модели для тех или иных входных данных, например, самой простой формой машинного обучения может быть линейная регрессия, где входными и
44: Входными данными являются отдельные числа, например, площадь дома и его цена. Мы ищем линию наилучшего соответствия, чтобы предсказать будущие цены на дома. Эта.
45: Описывается 2 непрерывными параметрами, и цель определить эти параметры, чтобы они как можно точнее соответствовали данным. Глубокое обучение выглядит намного сложнее.
46: 5 3, например, содержит не 2, а 175 миллиардов параметров. Однако огромное количество параметров ещё не гарантирует того, что модель сможет хорошо обучиться. И все же модель
47: Глубокого обучения доказали, что они удивительно хорошо обучаются и масштабируются эти модели объединяет один и тот же алгоритм обучения, который называется обратное распространение.
48: Propagation для того, чтобы этот алгоритм обучения хорошо работал, модели должны соответствовать определённому формату во первых, при создании любой модели входные данные должны быть оформлены.
49: В виде массива вещественных чисел. Это может быть список чисел, может быть двумерный массив, а очень часто это массивы более высокой размерности. Такие массивы называются тензорами. Входные
50: Данные постепенно преобразуются во множестве отдельных слоёв, где опять же каждый слой всегда структурирован как некоторый массив вещественных чисел и так продолжается до последнего слоя, который
51: Будет результатом работы модели в глубоком обучении. Эти параметры модели почти всегда называются весами. При этом единственный способ взаимодействия этих параметров с обрабатываемыми данными это
52: Взвешенные суммы также кое-где добавляются нелинейные функции, но они не будут зависеть от параметров обычно, вместо того, чтобы увидеть взвешенные суммы в явном виде, мы видим их в виде.
53: Отдельных компонентов в произведении векторов и матриц каждый компонент на выходе будет выглядеть как взвешенная сумма.
54: Обычно удобнее работать с матрицами параметров, которые преобразуют вектора входных данных например, 175 миллиардов весов в GPT-3 организованы в чуть менее чем 28.
55: Тысяч отдельных матриц эти матрицы, в свою очередь, делятся на 8 различных категорий, и по ходу дела будет интересно ссылаться на конкретные цифры из GPT-3, чтобы посчитать.
56: Откуда именно взялись эти 175 миллиардов, даже если сейчас уже есть модели побольше и получше, это была 1 большая языковая модель, которая действительно привлекла всеобщее внимание.
57: Кроме того, для современных моделей не всегда просто найти информацию о конкретных цифрах итак, когда мы заглядываем под капот такого инструмента, как chat gpt, то почти все вычисления выглядят как матрично век.
58: Умножение, чтобы не заблудиться в миллиардах чисел, следует очень чётко разграничить веса модели мы будем окрашивать в синий или красный цвет, а также обрабатываемые данные, которые мы всегда будем
59: Окрашивать в серый цвет веса это мозг модели, это то, что усваивается во время обучения. Модели. Обрабатываемые данные просто кодируют все конкретные входные данные с учётом этого.
60: Давайте приступим к 1 шагу нашего примера по обработке данных.
61: Мы разбиваем входные данные на токены и далее превращаем их в векторы. Как упоминалось ранее, токены могут быть как словами, так и частями слов. Но для упрощения давайте будем счи.
62: Что это? Целые слова. Модель имеет предопределённый словарный запас. Это список всех возможных слов. Скажем, 50000 штук. 1 матрица, с которой мы столкнёмся, это
63: Матрица эмбеддингов. В ней для каждого слова есть отдельная колонка. Обозначим эту матрицу дабл ю и и как и для других матриц. Сначала её значения будут случайными, а за
64: Затем они будут подобраны в процессе обучения модели преобразование слов в векторы появилось задолго до появления векторы для слов часто называют имбединги.
65: На основе данных трансформеров.
66: Затем они будут подобраны в процессе обучения модели на основе данных преобразование слов в векторы появилось задолго до появления трансформеров векторы для слов часто называют имбединги.
67: Слов их можно представить многомерном пространстве.
68: Геометрически, как точки в некотором
69: Слов геометрически их можно представить как точки в некотором многомерном пространстве.
70: Если координат всего 3, то в трёхмерном пространстве визуализацию сделать просто, однако имбединги имеют намного больше измерений в chat GPT-3 это 12000 с хвостиком измерен.
71: Как же визуализировать такие данные для трёхмерного пространства? Мы можем делать двумерные срезы и проецировать все точки на этот срез. Давайте для эмбеддингов сделаем тоже самое сделаем.
72: Трёхмерный срез и будем проецировать на него имбединги из многомерного пространства. Во время обучения модели меняются веса, и в итоге мы получаем имбединги для слов при
73: Этом отдельные измерения могут иметь некоторый семантический смысл в качестве примера. Если мы поищем все слова, чьи эмбеддинги близки к слову Таур башня, то мы увидим слова.
74: Близкие по смыслу. Если вы хотите взять в руки питон и поиграть дома, то вот конкретная модель, которую я использую для создания анимации. Классический пример, если взять разницу.
75: Между векторами для мужчины и женщины. И представить это как маленький вектор, соединяющий кончик 1 вектора с кончиком другого, то это очень похоже на разницу между королём и королевой. Так что если
76: Если мы не знаем слова обозначающего монарха женщину, то мы можем взять слово king, добавить к нему направление мужчины и женщины и далее взять имбединги, близкие к этой точке.
77: На самом деле эмбединг для слова queen немного дальше, чем можно было бы предположить, и это потому, что слово queen может иметь другие значения, эта же идея более чётко видна в таких парах слов, как дядя.
78: И тётя, папа, и мама, и так далее 1 направление в этом пространстве кодировало гендерную информацию. Другой пример если взять эмбеддинг Италии, вычесть эмбеддинг.
79: Германии и прибавить эмбеддинг гитлера, то получится что-то очень близкое к эмбеддинг муссолини, как будто модель научилась ассоциировать 1 направление с Италией, а другое с участниками 2 мировой войны.
80: Или вот красивый пример если взять разницу между Германией и Японией и добавить суши, то получим сардельки.
81: Ещё пример кошка может быть близка как к зверю, так и к монстру.
82: Хорошо. Далее взглянем на скалярное произведение 2 векторов дот продукт скалярное произведение это умножение соответствующих компонентов вектора и затем сложение геометрически скалярное.
83: Произведение положительно. Если векторы направлены в 1 и ту же сторону, оно равно нулю, если векторы перпендикулярны и отрицательно, если они направлены в противоположные стороны в качестве при
84: Мера попробуем взять разницу эмбеддингов кошки и кошка. Мы можем найти измерение, которое делает из единственного числа. Множественное для проверки. Можно взять скалярные произведения слов.
85: Единственном числе и тоже самое во множественном числе можно заметить, что слова во множественном числе действительно имеют большие значения по этому измерению, чем слова в единственном числе.
86: Также забавно, что если взять скалярное произведение со словами 1, 2, 3 и так далее, то они имеют возрастающие значения, какие получаются имбединги, определяется во время обучения модели.
87: И в итоге получается, матрица эмбедингов это 1 набор коэффициентов нашей модели. Если говорить про GPT-3, то в ней словарный запас 50000 токенов размер.
88: Верность эмбеддингов равна 12000. Умножаем эти числа, получаем 617000000 весов. Запишем это, чтобы в конце получить общее количество в 175 миллиардов параметров.
89: Вектора в этом пространстве эмбеддингов представляют собой не только отдельные слова, они также кодируют информацию о позиции слова, о чем мы поговорим позже, но, что ещё более важно, они
90: Обладают способностью впитывать контекст. Представьте себе эмбединг для слова кинг по мере обучения модели он постепенно притягивает к себе информацию из других блоков, который жил
91: Шотландии для восхождения на трон устранил предыдущего короля, говорил на языке шекспира и так далее. Представьте себе слово птичье перо значение этого слова.
92: Явно зависит от окружающих слов, и иногда оно включает в себя контекст, находящийся на большом расстоянии внутри текста, поэтому при создании модели нужно каким-то образом дать ей возможность эффектив.
93: Учитывать контекст в самом начале обучения имбединги содержат только значения отдельных слов без вклада, окружающих слов, и далее эти вектора постепенно впитывают в себя.
94: Информацию о соседних словах в дополнение к самому исходному слову нейронная сеть может обрабатывать только фиксированное количество векторов, известное как размер контекста для GPT-3.
95: Размер контекста был 2048, поэтому данные выглядят как массив из 2048 столбцов, каждый из которых имеет 12000 измерений, размер контекста ограничивает то,
96: Сколько текста может содержать трансформер именно поэтому в длительных беседах с некоторыми чат ботами часто возникало ощущение, что бот как бы теряет нить разговора чуть позже мы углубимся в детали, но забегая
97: Вперёд. Давайте кратко обсудим, что происходит в самом конце. Например, если самое последнее слово профессор, а контекст включает такие слова, как гарри поттер, а чуть раньше написано наименее любимый.
98: Учитель, то хорошо обученная сеть, накопившая знания о гарри поттере, присвоит высокое значение слову снейп.
99: Для этого нужны 2 разных этапа 1 этап заключается в использовании другой матрицы, которая сопоставляет самый последний вектор в данном контексте со списком из 50000 значений по 1.
100: На каждый токен в словаре далее идёт функция софт Макс, которая нормализует это распределение вероятностей, однако кажется странным использовать для предсказания только последний эмбеддинг.
101: Тогда как на последнем шаге у нас есть 1000 других векторов.
102: Дело здесь в том, что в процессе обучения очень полезно использовать каждый из этих векторов в последнем слое для того, чтобы одновременно предсказывать следующее слово.
103: Эта матрица называется матрицей ан эмбеддинг, и мы обозначим её как дабл ю ю, как и для других матриц с весами все её значения сначала случайные, а затем подбираются в процессе.
104: Обучение модели. Эта матрица похожа на матрицу дабл ю, и только поменялся порядок размерностей. Прибавляем 617000000 параметров, и в данный момент мы получили чуть больше миллиарда
105: Это лишь небольшая часть от 175 миллиардов, которые мы получим в итоге хорошо. Далее поговорим о функции софт Макс, которая нам не раз ещё встретится в следующих видео. Идея.
106: Заключается в том, что если мы хотим преобразовать последовательность чисел в распределение вероятностей, то каждое значение должно быть между нулём и единицей, а также сумма должна быть равна единице. Однако
107: Во время обучения мы выполняем произведение матриц на вектора, и результаты получаются совсем не похожи на вероятности значения часто бывают отрицательными или намного больше единицы, и их сумма не
108: Равна единице софтмакс это стандартный способ превратить произвольный список чисел в правильное распределение вероятностей. Для этого можно сначала возвести число е в степень каждого из чисел.
109: Получим положительные числа, а затем взять сумму этих и поделить отдельные числа. В итоге получается, что если 1 из чисел на входе значительно больше остальных, то на вы
110: Значений на эту сумму.
111: Получим положительные числа, а затем взять сумму этих значений и поделить отдельные числа на эту сумму. В итоге получается, что если 1 из чисел на входе значительно больше остальных, то на вы
112: Выходе это число доминирует в, но это более мягкое условие, чем просто брать, потому что другие значения, если они тоже велики, то они получают значительный вес в распределении.
113: Распределении максимум.
114: Выходе это число доминирует в распределении, но это более мягкое условие, чем просто брать максимум, потому что другие значения, если они тоже велики, то они получают значительный вес в распределении.
115: В некоторых ситуациях, например, когда chat gpt использует это распределение для создания следующего слова, есть возможность добавить в знаменатель экспонент константу т. Её можно назвать.
116: Температурой, потому что она похожа на температуру в некоторых уравнениях термодинамики.
117: Когда т больше мы придаём больший вес меньшим, то есть распределение становится более если т меньше, то большие значения будут доминировать более.
118: Значениям равномерным агрессивно. И если
119: Когда т больше мы придаём больший вес меньшим значениям, то есть распределение становится более равномерным. Если т меньше, то большие значения будут доминировать более агрессивно. И если
120: Tt равно нулю то весь вес перейдёт к максимальному значению, например, давайте попросим GPT-3 сгенерировать историю с начальным текстом ванс эпон э тайм нулевая температура означает, что всегда выбирает.
121: Слово с наибольшей вероятностью в итоге мы получим вариацию сказки про более высокая температура даёт шанс выбирать менее вероятные слова, но это связано
122: Златовласку с риском это
123: Слово. С наибольшей вероятностью. В итоге мы получим вариацию сказки про златовласку. Более высокая температура даёт шанс выбирать менее вероятные слова, но это связано с риском. Это
124: История начинается более оригинально о молодом веб художнике из южной кореи, но быстро вырождается в бессмыслицу, и на самом деле эйпиай не позволяет выбирать температуру больше 2. Это
125: Просто произвольное значение, чтобы инструмент не в этом видео я на самом деле беру 20 наиболее вероятных следующих слов из GPT-3, а уже затем подстраиваю вероятности.
126: Генерировал слишком нелепые вещи.
127: Просто произвольное значение, чтобы инструмент не генерировал слишком нелепые вещи в этом видео я на самом деле беру 20 наиболее вероятных следующих слов из GPT-3, а уже затем подстраиваю вероятности.
128: И в качестве ещё 1 жаргона отдельные компоненты выхода этой функции можно назвать вероятностями, а вот входы этой функции часто называют словом логитс, или logits напри.
129: Например, когда исходный текст проходит через слои нейронной сети и в конце выполняется умножение на матрицу анем беддинг, то специалисты по машинному обучению могут называть эти ненормализованные компоненты логитами.
130: Хорошо механизма внимания в следующем видео.
131: Во многом целью этого видео было заложить основы для понимания, который будет, если вы понимаете, что такое имбединги слов, что скалярное произведение измеряет по
132: Хорошо. Во многом целью этого видео было заложить основы для понимания механизма внимания, который будет в следующем видео, если вы понимаете, что такое имбединги слов, что скалярное произведение измеряет по
133: Схожесть векторов, а также что большинство вычислений должны выглядеть как матричное умножение, то вам будет проще разобраться в механизме внимания, который является краеугольным камнем в современном буме искусственного интеллекта. На этом
134: Все, до встречи в следующем видео.
135: Черновик следующего видео доступен для ознакомления участникам. Финальная версия появится через неделю или 2. Обычно это зависит от того, как много будет изменений по
136: Патрион результатам замечаний.
137: Черновик следующего видео доступен для ознакомления участникам патрион, финальная версия появится через неделю или 2 обычно это зависит от того, как много будет изменений по результатам замечаний.