Transformer, explained in detail | Igor Kotenkov | NLP Lecture (in Russian)

  Рет қаралды 47,252

Igor Kotenkov

Igor Kotenkov

Жыл бұрын

Ссылка на презентацию: 1drv.ms/p/s!AlnN0aqNwShslRdcd...
Мой телеграм канал: t.me/seeallochnaya
Список всех моих образовательных материалов, статей, лекций итд: t.me/seeallochnaya/3
В этой вводной лекции о трансформерах мы рассмотрим базовые понятия, алгоритмы и методы, используемые в современных языковых моделях. Мы начнем с базовых знаний о NLP, поговорим про концепцию векторов и эмбеддингов, их смысле. Затем подробно обсудим ткокенизацию и то, почему она столь важна. Мы разберем архитектуру трансформера, включая FeedForward, SelfAttention, CrossAttetntion, а еще постараемся понять роль позиционного кодирования в моедели и разных регуляризаторов и оптимизаций.
Мы также подробно рассмотрим декодер и маскированный Attention и процедуру обучения таких моделей.
Лекция была прочитана онлайн для сообщества Singularis, и по ходу было сделано 5 пауз для Q&A секиций - вполне возможно, что вопрос, появившийся у вас, будет отвечен в лекции!
Подпишитесь на наш канал, чтобы не пропустить новые видео о машинном обучении и искусственном интеллекте. Не забудьте поставить лайк и поделиться этим видео с друзьями, если оно вам понравилось. Если у вас возникнут вопросы или предложения, оставляйте их в комментариях!
Timeline:
0:00 - 4:10 - Intro
4:10 - 11:41 - NLP 101 (intro for ML Engineers), W2V, Embeddings
11:41 - 15:55 - Tokenization Intuition
15:55 - 23:08 - Tokenization Details and how to build a Vocabulary
23:08 - 28:55 - Why Tokenization matters
28:55 - 36:10 - 1st Q&A
36:10 - 39:58 - Transformer: a 10'000 foot view
39:58 - 45:06 - FeedForward layer
45:06 - 49:19 - 2nd Q&A
49:19 - 1:08:01 - Self-Attention Mechanism in Detail
1:08:01 - 1:14:05 - 3rd Q&A
1:14:05 - 1:20:59 - Multi Head Self-Attention & its Matrix form
1:20:59 - 1:26:55 - Positional Encodings
1:26:55 - 1:32:11 - Transformer Optimizations & Regularizers: LayerNorm, Skip-Connection
1:32:11 - 1:36:31 - 4th Q&A
1:36:31 - 1:43:50 - Decoder & Cross-Attention
1:43:50 - 1:50:30 - Masked Self-Attention & Training Procedure
1:50:30 - 1:53:48 - 5th Q&A
1:53:48 - 2:04:50 - BERT Training: MLM, NSP
2:05:50 - 2:14:19 - Outro: why are Transformers THAT good?
2:14:19 - 2:17:09 - 6th and final Q&A
----
#Трансформеры #Машинноеобучение #Искусственныйинтеллект #NLP #DeepLearning #AI #NeuralNetworks #BERT #AttentionMechanism #NaturalLanguageProcessing #Tokenization #MachineLearningAlgorithms #DataScience #LanguageModels #ML #GPT #OpenAI #MLengineers #WordEmbeddings #PositionalEncoding #LayerNormalization #SkipConnection #CrossAttention #MLM #NSP #chatgpt #attention #attentionisallyouneed

Пікірлер: 89
@savostyanov
@savostyanov Жыл бұрын
Одна из лучших лекций про трансформеры на русском
@user---------
@user--------- 2 ай бұрын
Я нихрена не понял (кроме токенизатора), но я новичок в ML.....
@alexandrdeveloper1242
@alexandrdeveloper1242 Ай бұрын
Да, к сожалению. Тут очевидно нужен курс лекций, а не одна.
@linkernick5379
@linkernick5379 Жыл бұрын
Это лучшая лекция, объясняющая трансформеры и то, как они реализуют анализ естественных языков, даже на английском языке я не видел подобной. Огромная благодарность вам, Игорь, за подготовку этих материалов.
@CbI4
@CbI4 Жыл бұрын
Да, тоже на английском смотрел, и тут хопа и на русском выпало такое. У Андрея Карпатого может подробнее есть на англ, но я в его серии лекций пока только первую посмотрел. Следующие отложил пока. У него прямо с кодами на питоне. Можно пощупать всё руками если что в коде.
@sndrstpnv8419
@sndrstpnv8419 11 ай бұрын
@@CbI4 can you share link to . У Андрея Карпатого может подробнее есть на англ,
@linkernick5379
@linkernick5379 2 ай бұрын
@@user--------- Напоминаю, что учёба это труд, никакую тему невозможно изучить не вкладывая труда. Соответственно, нет смысла ожидать, что ваше пассивное слушание одной лекции обогатит вас такими же знаниями, как и специалиста, изучавшего эту тему продолжительное время и впоследствии решающего прикладную задачу с использованием трансформеров.
@linkernick5379
@linkernick5379 2 ай бұрын
@@user--------- Конечно, сначала надо прочитать оригинальную статью "Attention is all you need" и сделать простой классификатор фраз, например, грубые/не грубые фразы. Затем это видео поможет заполнить оставшиеся белые пятна.
@linkernick5379
@linkernick5379 2 ай бұрын
@@user--------- Если вы сразу поняли статью, то видео можете не смотреть 🤷🏻‍♂️
@user-co6pu8zv3v
@user-co6pu8zv3v Жыл бұрын
Хорошее видео. Так не привычно слушать про эту тему не на английском, а на русском языке. :)
@vmarchenkoff
@vmarchenkoff Жыл бұрын
1:00:00 Это не "магическая константа", а следует из свойства дисперсии случайной величины: Var(cX) = c^2 * Var(X)
@daniil4944
@daniil4944 Жыл бұрын
Огромное спасибо за лекцию!!!
@narvispb
@narvispb 11 ай бұрын
Игорь, большое спасибо! Сжато, по делу - очень классный формат!
@pitersmith4500
@pitersmith4500 Жыл бұрын
Игорь респект!. Продолжайте!
@shapovalentine
@shapovalentine 4 ай бұрын
Спасибо большое Пожалуй, это самое сложное и интересное в чём мне пришлось разобраться =)
@michaelfarmakovskii8302
@michaelfarmakovskii8302 Жыл бұрын
Очень интересно!
@user-ey2vv1dl3n
@user-ey2vv1dl3n Жыл бұрын
Ох Ох какая годнота подъехала!))) А если серьезно спасибо за просветительскую деятельность!
@alexsv9310
@alexsv9310 Жыл бұрын
единственно, мне пришлось постав скорость 0,75, чтобы понять че то))
@vvv-tech
@vvv-tech 10 ай бұрын
как поставить еще лайков... лекция супер!
@blackbigdeath
@blackbigdeath Жыл бұрын
Выкатываю огромный лайк!
@user-fg6ng7ej6w
@user-fg6ng7ej6w 7 ай бұрын
spasibo, krutoe objasnenie temy
@alexeysolovyov5989
@alexeysolovyov5989 11 ай бұрын
24:36 お誕生日おめでとう- Otanjoubi omedetou - Поздравляю с Днем рождения!
@eskenderqrm8041
@eskenderqrm8041 Ай бұрын
Лекция 🔥
@art_nomadi4
@art_nomadi4 8 ай бұрын
Как педагог, очень доходчиво, с рефлексией в изложении всё ок. Респект!
@user---------
@user--------- 2 ай бұрын
Если вы поняли, объясните мне? Могу заплатить денег
@736939
@736939 Жыл бұрын
Ойййй, ойййй, ойййй, КАК Я ДОЛГО ИСКАЛ ЧЕЛОВЕКА, КТО НОРМАЛЬНО БЫ ВСЮ ЭТУ ФИГНЮ С ТРАНСФОРМЕРАМИ БЫ ОБЪЯСНИЛ - ГИГАНСКИЙ РЕСПЕКТ ТЕБЕ!!! Плиз сделай видео о том, как работает GPT и ChatGPT. СПАСИБО.
@user---------
@user--------- 2 ай бұрын
Объясните мне если вам понятно, мне ничего не понятно кроме токенизатора
@chanel454879876354
@chanel454879876354 3 ай бұрын
Спасибо, очень насыщенно и понятно ❤ Теперь пойду в HF NLP
@user---------
@user--------- 2 ай бұрын
Объясните мне если вам понятно, мне ничего не понятно кроме токенизатора
@chanel454879876354
@chanel454879876354 2 ай бұрын
@@user--------- рекомендую небольшую книгу создаем нейронную сеть, тарик рашид
@user-ku6zk5ib8k
@user-ku6zk5ib8k Жыл бұрын
Игорь, спасибо за разбор темы, очень интересно!)) Где теперь будете трудиться и над чем?
@blackbigdeath
@blackbigdeath 8 ай бұрын
Не знаю, какой раз пересматриваю
@CbI4
@CbI4 Жыл бұрын
Досмотрел, круто. Мысли вслух. Было бы интересно посмотреть как конкретно трансформер сможет выполнять конкретные (простые для человека, но неочевидные для нейронки) задачи по построению предложения. Уже упоминалось в вопросах задача про разное кол-во слов в оригинале и в переводе. Я бы взял например такую задачу: в одном языке определения (красивый) всегда идут после определяемого слова (цветок), в другом всегде до (я нашел красивый цветок vs. ja nashel tsvetok krasivii). Или например если уточнения по времени действия в одном языке (на который надо перевести) всегда идут в начале предложения, потом за ним идут уточнения по месту, а потом уже подлежащее и сказуемое (В 5 часов [время] из дома [место] я выехал). Ну и всякое такое еще придумать. И посмотреть как с помощью механизма attention или еще каких-то конкретно эта задача реализуется. И может придумать какие то хитрые примеры предложений для перевода (м.б. с несуществующими языками, а может и с существующими), которые очевидны человеку, но механизмами этой нейронки в принципе невыполнимы.
@user---------
@user--------- 2 ай бұрын
А мне еще интересно, как GPT модели "собирают" предложение из разных фактов? Например условный вопрос модели: "Где жили Билл Гейтс и Стив Джобс, кто из них мужчина и кто из них лучше следил за здоровьем?", модель ответит где они оба жили (отдельные факты), что они оба мужчины (обобщенный факт по ним обоим) и скорее всего скажет что за здоровьем предположительно лучше следил Гейтс, так как Джобс уже умер и от рака (я не проверял конкретно этот пример, но не важно, примерно так модель всегда и отвечает). Это выходит за рамки "модель дописывает текст", здесь модель находит известные ей факты и даже делает предположение о том, кто из двоих лучше следил за здоровьем. Как она это делает?
@Solalexc
@Solalexc 2 ай бұрын
0:18 спасибо Семен большое за интродакшн 🤣 Не проще ли говорить «Биг секнкс Семион за интродакшн»
@stalkermustang
@stalkermustang 2 ай бұрын
сори я он инглиш не шпрехаю(
@xaik1989
@xaik1989 11 ай бұрын
Супер, даже на английском нет такого уровня.
@matveyshishov
@matveyshishov 11 ай бұрын
Получил большое удовольствие, спасибо! Если можно что-то сделать с микрофоном, было бы очень круто.
@stalkermustang
@stalkermustang 11 ай бұрын
уже сделано, смотрите следующую лекцию на канале :)
@user-wx1ds7ee7e
@user-wx1ds7ee7e 5 ай бұрын
что можно почитать/изучить ДО просмотра (пересмотра) данной лекции, чтобы лучше понять и возможно соотнести полученную информацию с современной робототехникой ( трансформерами для роботов при принятии решений) ?
@mukhtarbimurat5106
@mukhtarbimurat5106 Жыл бұрын
спасибо, круто обяснили! А почему суммируем эмбеддинги а не стекаем? Как будто теряется смысл когда суммируем представления слов, позиций, sentence
@stalkermustang
@stalkermustang Жыл бұрын
Когда мы делаем поэлементное сложение - мы как бы "сдвигаем" вектор в некотором пространстве. Этот сдвиг и кодирует позиционную составляющую, как будто бы говоря "это слово 'мама' на третьем месте и в начале предложения". А модель уже работает с таким представлением. Поэтому смысл не теряется (так как эмбеддинги позиций тоже обучаются, ну и с точки зрения модели она их не делает насколько непонятными, что их прибавление ломает смысл). Стекание (если имеется в виду конкатенация) же по сути будет создавать новые размерности в пространстве эмбеддингов, при этом сигнал там будет разреженный - ведь это полностью новые размерности, а значит каждая из них обучается реже, и модель просто не увидит большинства комбинаций слово + позиция. И экстраполировать тут (субъективно) сложнее, нежели когда все слова так или иначе перемещаются в общем пространтве
@Vilka044
@Vilka044 Жыл бұрын
Есть разные варианты. Например, в DeBERTa позиционные эмбеддинги и эмбеддинги слов развязаны и представлены отдельными матрицами. В целом трансформер может подстроиться под любой вариант, если информация о позиции в принципе есть в данных.
@mukhtarbimurat5106
@mukhtarbimurat5106 Жыл бұрын
@@stalkermustang понятно, спасибо!
@duming3076
@duming3076 Жыл бұрын
как поставить супер лайк?
@VladoK68
@VladoK68 Жыл бұрын
Как на выходе из последнего декодера получается один эмбеддинг (который как раз в линейный слой подается, на 1:37:00 на картинке видно)? Все имеющиеся как-то объединяются или выбирается последний? Спасибо за отличный рассказ!
@stalkermustang
@stalkermustang Жыл бұрын
Во время генерации берется последний, так как именно по нему мы должны предсказать следующее слово. Во время тренировки берутся все сразу, и сразу предсказываются все слова.
@matveyshishov
@matveyshishov 11 ай бұрын
@@stalkermustangТы имеешь в виду batch, когда мы предсказываем по первому слову второе, по 1 и 2 - третье и тд (но отдельные строки независимы), или что-то другое?
@dankopenko947
@dankopenko947 9 ай бұрын
А в чем собственно проблема декодеру смотреть на весь инпут 1:43:50? Интуитивно, когда идет задача перевода, то мы смотрим на все предложение и потом его переводим, а не ограничиваемся только левым контекстом? Я прослушал где-то мб?
@stalkermustang
@stalkermustang 9 ай бұрын
Для перевода (в примере в презентации) используется encoder-decoder архитектура. В таком случае в Decoder есть 2 типа аттеншена: cross-attention и self-attention. Первый смотрит на все токены из encoder, то есть ему достпна вся информация для того, чтобы понять, как дальше переводить. То есть 7й токен в decoder в этом случае видит даже 25й токен encoder. В Self-attention токены смотрят только на выходные токены (токены перевода в decoder, encoder-векторов тут нет), при этом нам не нужно, чтобы эти токены смотрели в будущее. Поэтому тут применяется маска, отсюда и название - Masked self attention. Лучше всего еще раз посмотреть часть на 1:36:50, где картинка enc-dec механизма изображена. Обрати внимание, что там блок трансформера справа состоит уже не из двух, а из трех частей - два аттеншена и один FF. Если же мы говорим про decoder-only модель, то там нет cross-attention вообще, только маскированный селф аттеншен, и маску нужно применять, чтобы не смотреть в будущее - при этом все токены промпта (в случае перевода - исходная фраза на исходном языке) доступны каждому генерируемому токену перевода (потому что вторые идут после, а значит видят левый контекст)
@user-wo5ie9hk1o
@user-wo5ie9hk1o Жыл бұрын
Мне в описании не хватает ссылки на презентацию. В начале говорится "можете скачать презентацию, перейти по ссылкам".
@stalkermustang
@stalkermustang Жыл бұрын
я не прошёл верификацию KZbin и не могу прикреплять ссылки описании на внешние ресурсы. Заходите завтра - будут и таймкоды, и ссылка не презентацию, и на канал, и вообще на всё!
@stalkermustang
@stalkermustang Жыл бұрын
Добавил :)
@user-py4it2qm1m
@user-py4it2qm1m 3 ай бұрын
1:14:00
@CbI4
@CbI4 Жыл бұрын
Получается, что если бы не было Residuals, то на следующий слой вместо инфы (Values) о самом слове, проходила бы инфа (Values) о наиболее связанным (attended) с ним словом из входных данных. Разве это имеет смысл (без Residuals)? Инфа о слове не дополнялась бы инфой о связанных (attended) с ним словах, а заменялась бы.
@stalkermustang
@stalkermustang Жыл бұрын
Это имеет смысл, и в целом даже с residuals работает также. Часто наибольший скор аттеншена у самого же слова, то есть прокидывается, скажем, на 80% его эмбеддинг, а остальные - лишь слегка его корректируют на 20%. Эта логика работает и с резидуалом, и без него. Замена бы происходила только если вес самого слова к самому себе был очень маленький, а это редкий случай (такое может происходить, например, для отдельных голов, которые заменяют смысл местоимений на полный смысл слова, на которое местоимение указывает: эмбеддинг слова "он" "заменить" на эмбеддинг слова "мужчина" из первой части предложения, условно)
@user-ij9rm8wm6l
@user-ij9rm8wm6l Ай бұрын
1:18:53
@1411ashwin
@1411ashwin Жыл бұрын
Does anyone know if there is an English version of the talk?
@stalkermustang
@stalkermustang Жыл бұрын
There is no English version, sorry( I'm working on it, but it wouldn't be available until June-July 2022
@CbI4
@CbI4 Жыл бұрын
Idk why they made title in english. May be russian people're searching info about this topic in english preferebly.
@DanOneOne
@DanOneOne Жыл бұрын
@@CbI4 I agree. It doesn't make sense. I speak both and was surprised that it's in Russian.
@stalkermustang
@stalkermustang Жыл бұрын
@@DanOneOne i'll make another video in English...with Russian announce :)
@2k12cool
@2k12cool Жыл бұрын
Подскажите пожалуйста, а каким образом рассчитываются матрицы запроса, ключа и значения (хотел бы чуть более подробно об этом узнать, если возможно)?
@stalkermustang
@stalkermustang Жыл бұрын
Это просто матрицы, которые инициализируются случайным образом перед обучением, а во время тренировки уже настраиваются автоматически (как и все другие параметры в нейросетях). Это буквально один линейны слой с N входных и M выходных значений, то есть матрица размера NxM
@2k12cool
@2k12cool Жыл бұрын
@@stalkermustang ​ @stalkermustangable тогда хотел бы уточнить: если у нас матрицы запроса и ключа инициализируются случайно, и затем (если верить схеме оригинальной статьи) проходят через одни и те же слои, то почему они в обучения результате не только не близки по значению, но и вдобавок по смыслу серьезно различаются? Почему мы не получаем одно и то же?
@stalkermustang
@stalkermustang Жыл бұрын
@@2k12cool они не проходят через одни и те же слои, они функционально разные, см. 52:26 - ключи и значения совмещаются. То есть это различие оно из дизайна модели следует. Для первого слова мы возьмем его Query и все Keys для остальных слов. Будем сопоставлять один единственный Query и все остальные Keys, а затем нормировать через Softmax это значения.
@2k12cool
@2k12cool Жыл бұрын
@@stalkermustang Спасибо!
@user-pk5mh3nd5d
@user-pk5mh3nd5d 3 ай бұрын
До AGI, как до Китая раком :) Это усугубляет 57:39 проблему китайской комнаты.
@Nehcye
@Nehcye 5 ай бұрын
Отличная лекция! Кое-что прояснил для себя. Только multihead немного не так... Все-таки разные головы на разные части эмбеддинга смотрят. ;) Поэтому есть ограничение, что количество голов кратно размеру эмбеддинга. И cat на выходе дает размерность как раз n_embd
@stalkermustang
@stalkermustang 4 ай бұрын
А на каком моменте мои слова этому противоречат? Ты прав в описании механизма, но я не думаю, что описываю его иначе в лекции.
@Nehcye
@Nehcye 4 ай бұрын
Не - в лекции все ОК. Там этот момент не подсвечен, но может и не нужно. Дальше в секции вопросов-ответов на 1:32 спрашивают - почему выучиваются по-разному, если приходит одно и тоже, и... Вот тут бы ввернуть про то, что это не одно и то же, а все-таки разное. Разные части эмбеддинга... . :) @@stalkermustang
@feeelgoood9580
@feeelgoood9580 4 ай бұрын
Хорошо разжевал
@georgemichael6884
@georgemichael6884 Жыл бұрын
chatgpt имеет свое мнение по поводу работы BPE и оно мягко говоря сильно отличается от мнения игоря.кто рассудит где правда?ответ CHATGPT:Byte Pair Encoding (BPE) назван так из-за своего подхода к разбиению слов на более мелкие единицы, называемые "байтами" (bytes). В контексте BPE "байт" не обязательно соответствует фактическому байту, используемому в компьютерах. Вместо этого, "байт" представляет собой последовательность символов, которые могут включать в себя как буквы и цифры, так и другие знаки препинания и символы. В исходной версии BPE каждый символ в исходном корпусе рассматривается как отдельный "байт", а затем на каждом шаге наиболее часто встречающиеся пары "байтов" объединяются в новый "байт", который добавляется в словарь. Этот процесс повторяется до тех пор, пока не будет достигнуто желаемое количество "байтов" в словаре или до тех пор, пока не будет достигнуто определенное количество итераций. Таким образом, BPE позволяет эффективно кодировать и сжимать текстовые данные, используя более мелкие единицы, чем слова. Это может быть полезно для задач, таких как машинный перевод или распознавание речи, где часто встречаются слова, которые не встречаются в словаре. BPE позволяет модели обрабатывать эти слова, разбивая их на более мелкие "байты", которые уже присутствуют в словаре.
@stalkermustang
@stalkermustang Жыл бұрын
но почему тогда во время демонстрации токенизации GPT-3.5/4 там настоящие байты? Которые можно декодировать, что и было продемонстрировано? А главное почему размер токенайзера для GPT-2 был 50257, что подозрительно близко к 50'000 + 256 (уникальных байтов) + 1?
@stalkermustang
@stalkermustang Жыл бұрын
GPT-4: GPT-2's tokenizer is based on the BPE technique, and its vocabulary is generated by merging the most frequent character pairs in the training data. However, the first 256 tokens in GPT-2's vocabulary are reserved for individual byte values, which means that they correspond to ASCII characters. The ASCII character set includes 128 characters, such as lowercase letters (a-z), uppercase letters (A-Z), digits (0-9), punctuation marks, and control characters (e.g., newline, tab). In GPT-2's vocabulary, these ASCII characters occupy the first 128 token positions. The remaining 128 tokens in the first 256 are used for UTF-8 continuation bytes, which enable the representation of a wide range of Unicode characters beyond the basic ASCII set. While GPT-2's tokenizer operates primarily on subwords and characters, the presence of byte-level tokens in its vocabulary allows it to handle a broad array of languages and symbols without requiring an extensive pre-defined list of characters. This design choice makes GPT-2 more flexible and capable of handling text in various languages, even if they were not well-represented in the training data.
@georgemichael6884
@georgemichael6884 Жыл бұрын
@@stalkermustang дайте пожалуйста ссылку на ноутбук от гугла который вы упоминает на 1:20:59 вашей презентации.в котором можно посмотреть визуализацию разных паттернов эмбеддингов в обученной модели
@stalkermustang
@stalkermustang Жыл бұрын
@@georgemichael6884 в описании есть ссылка на презентацию, можно найти этот слайд там и кликнуть на любую ссылку, которая интересна. Вот конкретно эта ссылка, но остальные придется получать самостсоятельно: colab.research.google.com/drive/1hXIQ77A4TYS4y3UthWF-Ci7V7vVUoxmQ?usp=sharing
@matveyshishov
@matveyshishov 11 ай бұрын
Смотрите первоисточник, Sennrich et. al, arXiv:1508.07909 Авторы использовали идею старого алгоритма сжатия данных, который назывался byte pair encoding, модифицировав для под-слов. abstract: "Neural machine translation (NMT) mod- els typically operate with a fixed vocabu- lary, but translation is an open-vocabulary problem. Previous work addresses the translation of out-of-vocabulary words by backing off to a dictionary. In this pa- per, we introduce a simpler and more ef- fective approach, making the NMT model capable of open-vocabulary translation by encoding rare and unknown words as se- quences of subword units. This is based on the intuition that various word classes are translatable via smaller units than words, for instance names (via character copying or transliteration), compounds (via com- positional translation), and cognates and loanwords (via phonological and morpho- logical transformations). We discuss the suitability of different word segmentation techniques, including simple character n- gram models and a segmentation based on the byte pair encoding compression algo- rithm, and empirically show that subword models improve over a back-off dictionary baseline for the WMT 15 translation tasks English→German and English→Russian by up to 1.1 and 1.3 BLEU, respectively"
@lighto263
@lighto263 Жыл бұрын
А почему это называется токенизация а не хэшинг? Функционально вроде одно и то же, нет?
@Vilka044
@Vilka044 Жыл бұрын
В общем случае хэширование не подразумевает возможность восстановления исходных данных из хэша, т.к. одному выходу хэш-функции могут соответствовать множество вариантов входных данных. Токенизация подразумевает однозначное соответствие входных и выходных данных, т.к. она обратима.
@stalkermustang
@stalkermustang Жыл бұрын
Как отметили в комментарии выше, тут однозначное соответствие с полным разделением всех токенов между собой. Более того, хэширование в том же FastText незначительно, но уменьшает качество (так как много "смыслов" ложатся в один бин/токен), а тут нам уже нет смысла экономить - обучать так обучать! Так что это просто две разных вещи, поэтому так и не называют.
@matveyshishov
@matveyshishov 11 ай бұрын
Из лингвистики. Там есть types, words, tokens. Удобно было recycle термин для алгоритмов вроде N-gram, потому что embeddings у людей в голове близко находятся, все понимали, о чём идёт речь 😂
@user-xr3yf1fh8t
@user-xr3yf1fh8t Жыл бұрын
Админ - от слова АД?-)
@14types
@14types 11 ай бұрын
Без примеров сложно сразу всё понять. Тут то есть пример, то нет примера, то начинает с одним примером, а заканчивает с другим.
@DanOneOne
@DanOneOne Жыл бұрын
Так они перегрузили... Было бы лучше не бежать сразу в матрицы и технику, а описать "значение" и смысл того что происходит. Но это гораздо сложнее. Слово embedding по-моему просто с потолка взяли за не имением лучшего. Что куда "включено"? Что оно означает? Что каждый элемент вектора (массива) этого embedding-а означает? Мы не знаем. Но мы уверенно перемножаем всё со всем, считает скалярные произведения и хотим убедить себя, что оно что-то означает.
@XorAlex
@XorAlex 10 ай бұрын
Ну в итоге же работает. ЛЛМки дают хороший результат. Значит что-то да означают все эти циферки внутри него. Другое дело как понять что? Этим пытается заниматься область interpretability.
@hopelesssuprem1867
@hopelesssuprem1867 Жыл бұрын
Люди, которые не умеют делать трансформеры, рассказывают как работают трансформеры - это все, что нужно знать про русскоязычный data science.
@DanOneOne
@DanOneOne Жыл бұрын
А есть видео или книга с лучшим объяснением?
@iwillwatch
@iwillwatch 28 күн бұрын
О! украинские побратимы решили зайти и отблагодарить автора за его поддержку.
GPT-4o - Takeaways and NEW Insights
12:06
AI GROWTH GUYS
Рет қаралды 457
Она Постояла За Себя! ❤️
00:25
Глеб Рандалайнен
Рет қаралды 3,7 МЛН
Как работает ChatGPT: объясняем нейросети просто
39:04
RationalAnswer | Павел Комаровский
Рет қаралды 1,1 МЛН
[1hr Talk] Intro to Large Language Models
59:48
Andrej Karpathy
Рет қаралды 1,8 МЛН
Вселенная и Специальная теория относительности.
3:51:36
ЗЛОЙ АНАЛИТИК ВСЕЛЕННОЙ.
Рет қаралды 6 МЛН
ЗАДАЧА О КОЛЛЕКТИВНОЙ (БЕЗ)ОТВЕТСТВЕННОСТИ. ТЕОРИЯ ИГР (Алексей Савватеев) | ИПУ РАН
56:15
Институт проблем управления им. В. А. Трапезникова РАН
Рет қаралды 13 М.
Азы программирования в 1С за 3 часа
3:46:49
IRONSKILLS - Курсы по 1С
Рет қаралды 3,2 МЛН
Евгений Жаринов: беседы о литературе
3:31:47
Profileschool
Рет қаралды 2,2 МЛН
Learn HTML5 and CSS3 For Beginners - Crash Course
3:54:03
developedbyed
Рет қаралды 2,7 МЛН