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

Поділитися
Вставка
  • Опубліковано 18 жов 2024

КОМЕНТАРІ • 100

  • @savostyanov
    @savostyanov Рік тому +82

    Одна из лучших лекций про трансформеры на русском

    • @user---------
      @user--------- 7 місяців тому

      Я нихрена не понял (кроме токенизатора), но я новичок в ML.....

    • @alexandrdeveloper1242
      @alexandrdeveloper1242 7 місяців тому +2

      Да, к сожалению. Тут очевидно нужен курс лекций, а не одна.

  • @linkernick5379
    @linkernick5379 Рік тому +48

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

    • @CbI4
      @CbI4 Рік тому +2

      Да, тоже на английском смотрел, и тут хопа и на русском выпало такое. У Андрея Карпатого может подробнее есть на англ, но я в его серии лекций пока только первую посмотрел. Следующие отложил пока. У него прямо с кодами на питоне. Можно пощупать всё руками если что в коде.

    • @sndrstpnv8419
      @sndrstpnv8419 Рік тому

      @@CbI4 can you share link to . У Андрея Карпатого может подробнее есть на англ,

    • @linkernick5379
      @linkernick5379 7 місяців тому

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

    • @linkernick5379
      @linkernick5379 7 місяців тому

      @@user--------- Конечно, сначала надо прочитать оригинальную статью "Attention is all you need" и сделать простой классификатор фраз, например, грубые/не грубые фразы. Затем это видео поможет заполнить оставшиеся белые пятна.

    • @linkernick5379
      @linkernick5379 7 місяців тому

      @@user--------- Если вы сразу поняли статью, то видео можете не смотреть 🤷🏻‍♂️

  • @НиколайНовичков-е1э

    Хорошее видео. Так не привычно слушать про эту тему не на английском, а на русском языке. :)

  • @art_nomadi4
    @art_nomadi4 Рік тому +7

    Как педагог, очень доходчиво, с рефлексией в изложении всё ок. Респект!

    • @user---------
      @user--------- 7 місяців тому

      Если вы поняли, объясните мне? Могу заплатить денег

  • @user-ey2vv1dl3n
    @user-ey2vv1dl3n Рік тому +8

    Ох Ох какая годнота подъехала!))) А если серьезно спасибо за просветительскую деятельность!

    • @alexsv9310
      @alexsv9310 Рік тому +4

      единственно, мне пришлось постав скорость 0,75, чтобы понять че то))

  • @АнтонРаченко-ш7с
    @АнтонРаченко-ш7с 4 місяці тому +1

    Игорь, спасибо за лекцию! Крайне полезный материал, с отличной подачей! Каждый раз обращаюсь к твоей лекции, перед собесами на секцию NLP) Было бы очень здорово, если бы появились таймкоды. Спасибо!

  • @alexeysolovyov5989
    @alexeysolovyov5989 Рік тому +2

    24:36 お誕生日おめでとう- Otanjoubi omedetou - Поздравляю с Днем рождения!

  • @vvv-tech
    @vvv-tech Рік тому +3

    как поставить еще лайков...
    лекция супер!

  • @daniil4944
    @daniil4944 Рік тому +6

    Огромное спасибо за лекцию!!!

  • @shapovalentine
    @shapovalentine 9 місяців тому +1

    Спасибо большое Пожалуй, это самое сложное и интересное в чём мне пришлось разобраться =)

  • @blackbigdeath
    @blackbigdeath Рік тому +2

    Выкатываю огромный лайк!

  • @pitersmith4500
    @pitersmith4500 Рік тому +2

    Игорь респект!. Продолжайте!

  • @user-fg6ng7ej6w
    @user-fg6ng7ej6w Рік тому +1

    spasibo, krutoe objasnenie temy

  • @chanel454879876354
    @chanel454879876354 8 місяців тому +1

    Спасибо, очень насыщенно и понятно ❤ Теперь пойду в HF NLP

    • @user---------
      @user--------- 7 місяців тому

      Объясните мне если вам понятно, мне ничего не понятно кроме токенизатора

    • @chanel454879876354
      @chanel454879876354 7 місяців тому

      @@user--------- рекомендую небольшую книгу создаем нейронную сеть, тарик рашид

  • @736939
    @736939 Рік тому +18

    Ойййй, ойййй, ойййй, КАК Я ДОЛГО ИСКАЛ ЧЕЛОВЕКА, КТО НОРМАЛЬНО БЫ ВСЮ ЭТУ ФИГНЮ С ТРАНСФОРМЕРАМИ БЫ ОБЪЯСНИЛ - ГИГАНСКИЙ РЕСПЕКТ ТЕБЕ!!! Плиз сделай видео о том, как работает GPT и ChatGPT. СПАСИБО.

    • @user---------
      @user--------- 7 місяців тому

      Объясните мне если вам понятно, мне ничего не понятно кроме токенизатора

  • @eskenderqrm8041
    @eskenderqrm8041 7 місяців тому +1

    Лекция 🔥

  • @АлександрВальвачев-я6ъ

    Великолепно.

  • @narvispb
    @narvispb Рік тому

    Игорь, большое спасибо! Сжато, по делу - очень классный формат!

  • @vmarchenkoff
    @vmarchenkoff Рік тому +16

    1:00:00
    Это не "магическая константа", а следует из свойства дисперсии случайной величины:
    Var(cX) = c^2 * Var(X)

  • @user-ku6zk5ib8k
    @user-ku6zk5ib8k Рік тому +4

    Игорь, спасибо за разбор темы, очень интересно!))
    Где теперь будете трудиться и над чем?

  • @michaelfarmakovskii8302
    @michaelfarmakovskii8302 Рік тому +2

    Очень интересно!

  • @blackbigdeath
    @blackbigdeath Рік тому +1

    Не знаю, какой раз пересматриваю

  • @CbI4
    @CbI4 Рік тому +4

    Досмотрел, круто. Мысли вслух. Было бы интересно посмотреть как конкретно трансформер сможет выполнять конкретные (простые для человека, но неочевидные для нейронки) задачи по построению предложения. Уже упоминалось в вопросах задача про разное кол-во слов в оригинале и в переводе. Я бы взял например такую задачу: в одном языке определения (красивый) всегда идут после определяемого слова (цветок), в другом всегде до (я нашел красивый цветок vs. ja nashel tsvetok krasivii). Или например если уточнения по времени действия в одном языке (на который надо перевести) всегда идут в начале предложения, потом за ним идут уточнения по месту, а потом уже подлежащее и сказуемое (В 5 часов [время] из дома [место] я выехал). Ну и всякое такое еще придумать. И посмотреть как с помощью механизма attention или еще каких-то конкретно эта задача реализуется. И может придумать какие то хитрые примеры предложений для перевода (м.б. с несуществующими языками, а может и с существующими), которые очевидны человеку, но механизмами этой нейронки в принципе невыполнимы.

    • @user---------
      @user--------- 7 місяців тому

      А мне еще интересно, как GPT модели "собирают" предложение из разных фактов? Например условный вопрос модели: "Где жили Билл Гейтс и Стив Джобс, кто из них мужчина и кто из них лучше следил за здоровьем?", модель ответит где они оба жили (отдельные факты), что они оба мужчины (обобщенный факт по ним обоим) и скорее всего скажет что за здоровьем предположительно лучше следил Гейтс, так как Джобс уже умер и от рака (я не проверял конкретно этот пример, но не важно, примерно так модель всегда и отвечает). Это выходит за рамки "модель дописывает текст", здесь модель находит известные ей факты и даже делает предположение о том, кто из двоих лучше следил за здоровьем. Как она это делает?

  • @xaik1989
    @xaik1989 Рік тому +4

    Супер, даже на английском нет такого уровня.

  • @mukhtarbimurat5106
    @mukhtarbimurat5106 Рік тому +10

    спасибо, круто обяснили! А почему суммируем эмбеддинги а не стекаем? Как будто теряется смысл когда суммируем представления слов, позиций, sentence

    • @stalkermustang
      @stalkermustang  Рік тому +6

      Когда мы делаем поэлементное сложение - мы как бы "сдвигаем" вектор в некотором пространстве. Этот сдвиг и кодирует позиционную составляющую, как будто бы говоря "это слово 'мама' на третьем месте и в начале предложения". А модель уже работает с таким представлением. Поэтому смысл не теряется (так как эмбеддинги позиций тоже обучаются, ну и с точки зрения модели она их не делает насколько непонятными, что их прибавление ломает смысл).
      Стекание (если имеется в виду конкатенация) же по сути будет создавать новые размерности в пространстве эмбеддингов, при этом сигнал там будет разреженный - ведь это полностью новые размерности, а значит каждая из них обучается реже, и модель просто не увидит большинства комбинаций слово + позиция. И экстраполировать тут (субъективно) сложнее, нежели когда все слова так или иначе перемещаются в общем пространтве

    • @Vilka044
      @Vilka044 Рік тому

      Есть разные варианты. Например, в DeBERTa позиционные эмбеддинги и эмбеддинги слов развязаны и представлены отдельными матрицами. В целом трансформер может подстроиться под любой вариант, если информация о позиции в принципе есть в данных.

    • @mukhtarbimurat5106
      @mukhtarbimurat5106 Рік тому

      @@stalkermustang понятно, спасибо!

  • @matveyshishov
    @matveyshishov Рік тому +1

    Получил большое удовольствие, спасибо!
    Если можно что-то сделать с микрофоном, было бы очень круто.

    • @stalkermustang
      @stalkermustang  Рік тому +1

      уже сделано, смотрите следующую лекцию на канале :)

  • @VladoK68
    @VladoK68 Рік тому +2

    Как на выходе из последнего декодера получается один эмбеддинг (который как раз в линейный слой подается, на 1:37:00 на картинке видно)? Все имеющиеся как-то объединяются или выбирается последний?
    Спасибо за отличный рассказ!

    • @stalkermustang
      @stalkermustang  Рік тому +3

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

    • @matveyshishov
      @matveyshishov Рік тому

      @@stalkermustangТы имеешь в виду batch, когда мы предсказываем по первому слову второе, по 1 и 2 - третье и тд (но отдельные строки независимы), или что-то другое?

  • @Solalexc
    @Solalexc 8 місяців тому +2

    0:18 спасибо Семен большое за интродакшн 🤣
    Не проще ли говорить «Биг секнкс Семион за интродакшн»

    • @stalkermustang
      @stalkermustang  8 місяців тому

      сори я он инглиш не шпрехаю(

  • @onamixt
    @onamixt 14 днів тому

    Ссылки для более глубокого/детального понимания трансформеров (на английском):
    ua-cam.com/play/PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ.html
    ua-cam.com/play/PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi.html
    ua-cam.com/video/KV5gbOmHbjU/v-deo.html&ab_channel=NeelNanda

  • @JCSirorezka
    @JCSirorezka Місяць тому

    👏👏👏

  • @onamixt
    @onamixt 14 днів тому

    50:49 Неясно, каким образом нейронка поняла, что "it_" связано с "animal", если в masked self-attention токены слева (из прошлго) не могут "обращать внимание" на токены справа ("из будущего" ). Иными словами, трансформер в данном случаем пытается сделать предсказание для куска "The animal didn't cross the street because it". Такой кусок даже для человека будет двусмысленным

  • @АринаШупенко
    @АринаШупенко 10 місяців тому

    что можно почитать/изучить ДО просмотра (пересмотра) данной лекции, чтобы лучше понять и возможно соотнести полученную информацию с современной робототехникой ( трансформерами для роботов при принятии решений) ?

    • @ТурикФилиппов
      @ТурикФилиппов 4 дні тому

      наверху советовали изначально самостоятельно попробовать почитать статью в комфортном для себя темпе, которую и разбирают в этом ролике

  • @ОлегВасильев-л6ф
    @ОлегВасильев-л6ф 8 місяців тому

    До AGI, как до Китая раком :) Это усугубляет 57:39 проблему китайской комнаты.

  • @StanislavMasharsky
    @StanislavMasharsky Рік тому +3

    Мне в описании не хватает ссылки на презентацию. В начале говорится "можете скачать презентацию, перейти по ссылкам".

    • @stalkermustang
      @stalkermustang  Рік тому +7

      я не прошёл верификацию UA-cam и не могу прикреплять ссылки описании на внешние ресурсы. Заходите завтра - будут и таймкоды, и ссылка не презентацию, и на канал, и вообще на всё!

    • @stalkermustang
      @stalkermustang  Рік тому +6

      Добавил :)

  • @Perfffffffect
    @Perfffffffect 2 місяці тому

    А на 58:22 нет ошибки в инициализированных матрицах, которые мы перемножаем? А размером 100 на 300 и B размером 100 на 300. Должно же быть (100, 300) * (300, 100).

    • @stalkermustang
      @stalkermustang  2 місяці тому

      поскольку это случайные матрицы, то разницы нет - это же просто примемер. Для соблюдения шейпов в операции делется транспонирование (A @ B.T)

  • @duming3076
    @duming3076 Рік тому +4

    как поставить супер лайк?

  • @dankopenko947
    @dankopenko947 Рік тому

    А в чем собственно проблема декодеру смотреть на весь инпут 1:43:50? Интуитивно, когда идет задача перевода, то мы смотрим на все предложение и потом его переводим, а не ограничиваемся только левым контекстом? Я прослушал где-то мб?

    • @stalkermustang
      @stalkermustang  Рік тому +2

      Для перевода (в примере в презентации) используется 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 вообще, только маскированный селф аттеншен, и маску нужно применять, чтобы не смотреть в будущее - при этом все токены промпта (в случае перевода - исходная фраза на исходном языке) доступны каждому генерируемому токену перевода (потому что вторые идут после, а значит видят левый контекст)

  • @BrainUniverse
    @BrainUniverse 4 місяці тому

    Порекомендуйте видео где на пальцах объяснено как "обучают" матрицы q,k,v у трансформера

    • @stalkermustang
      @stalkermustang  3 місяці тому

      Боюсь, такого нет. Можно смотреть на объяснение обучения Linear (Dense) layer, и потом от него переходить к расчётам q,k,v, как каждая цифра в них меняется из-за того или иного градиента.

    • @BrainUniverse
      @BrainUniverse 3 місяці тому

      @@stalkermustang вот по linear layer как раз всё понятно, а по матрицам q,k,l - ни капли. И в видео об этом ни слова. Понятно, что они обучаются схожим образом, но вот что на вход подаётся и на выходе ожидается при обучении - нет.

  • @2k12cool
    @2k12cool Рік тому

    Подскажите пожалуйста, а каким образом рассчитываются матрицы запроса, ключа и значения (хотел бы чуть более подробно об этом узнать, если возможно)?

    • @stalkermustang
      @stalkermustang  Рік тому

      Это просто матрицы, которые инициализируются случайным образом перед обучением, а во время тренировки уже настраиваются автоматически (как и все другие параметры в нейросетях).
      Это буквально один линейны слой с N входных и M выходных значений, то есть матрица размера NxM

    • @2k12cool
      @2k12cool Рік тому

      @@stalkermustang ​ @stalkermustangable тогда хотел бы уточнить: если у нас матрицы запроса и ключа инициализируются случайно, и затем (если верить схеме оригинальной статьи) проходят через одни и те же слои, то почему они в обучения результате не только не близки по значению, но и вдобавок по смыслу серьезно различаются? Почему мы не получаем одно и то же?

    • @stalkermustang
      @stalkermustang  Рік тому

      @@2k12cool они не проходят через одни и те же слои, они функционально разные, см. 52:26 - ключи и значения совмещаются. То есть это различие оно из дизайна модели следует. Для первого слова мы возьмем его Query и все Keys для остальных слов. Будем сопоставлять один единственный Query и все остальные Keys, а затем нормировать через Softmax это значения.

    • @2k12cool
      @2k12cool Рік тому

      @@stalkermustang Спасибо!

  • @CbI4
    @CbI4 Рік тому

    Получается, что если бы не было Residuals, то на следующий слой вместо инфы (Values) о самом слове, проходила бы инфа (Values) о наиболее связанным (attended) с ним словом из входных данных. Разве это имеет смысл (без Residuals)? Инфа о слове не дополнялась бы инфой о связанных (attended) с ним словах, а заменялась бы.

    • @stalkermustang
      @stalkermustang  Рік тому +1

      Это имеет смысл, и в целом даже с residuals работает также. Часто наибольший скор аттеншена у самого же слова, то есть прокидывается, скажем, на 80% его эмбеддинг, а остальные - лишь слегка его корректируют на 20%. Эта логика работает и с резидуалом, и без него. Замена бы происходила только если вес самого слова к самому себе был очень маленький, а это редкий случай (такое может происходить, например, для отдельных голов, которые заменяют смысл местоимений на полный смысл слова, на которое местоимение указывает: эмбеддинг слова "он" "заменить" на эмбеддинг слова "мужчина" из первой части предложения, условно)

  • @1411ashwin
    @1411ashwin Рік тому +2

    Does anyone know if there is an English version of the talk?

    • @stalkermustang
      @stalkermustang  Рік тому +2

      There is no English version, sorry( I'm working on it, but it wouldn't be available until June-July 2022

    • @CbI4
      @CbI4 Рік тому +3

      Idk why they made title in english. May be russian people're searching info about this topic in english preferebly.

    • @DanOneOne
      @DanOneOne Рік тому +1

      @@CbI4 I agree. It doesn't make sense. I speak both and was surprised that it's in Russian.

    • @stalkermustang
      @stalkermustang  Рік тому +1

      @@DanOneOne i'll make another video in English...with Russian announce :)

  • @Nehcye
    @Nehcye 10 місяців тому

    Отличная лекция! Кое-что прояснил для себя. Только multihead немного не так... Все-таки разные головы на разные части эмбеддинга смотрят. ;) Поэтому есть ограничение, что количество голов кратно размеру эмбеддинга. И cat на выходе дает размерность как раз n_embd

    • @stalkermustang
      @stalkermustang  9 місяців тому +1

      А на каком моменте мои слова этому противоречат? Ты прав в описании механизма, но я не думаю, что описываю его иначе в лекции.

    • @Nehcye
      @Nehcye 9 місяців тому

      Не - в лекции все ОК. Там этот момент не подсвечен, но может и не нужно. Дальше в секции вопросов-ответов на 1:32 спрашивают - почему выучиваются по-разному, если приходит одно и тоже, и... Вот тут бы ввернуть про то, что это не одно и то же, а все-таки разное. Разные части эмбеддинга... . :) @@stalkermustang

  • @lighto263
    @lighto263 Рік тому

    А почему это называется токенизация а не хэшинг? Функционально вроде одно и то же, нет?

    • @Vilka044
      @Vilka044 Рік тому +2

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

    • @stalkermustang
      @stalkermustang  Рік тому +1

      Как отметили в комментарии выше, тут однозначное соответствие с полным разделением всех токенов между собой. Более того, хэширование в том же FastText незначительно, но уменьшает качество (так как много "смыслов" ложатся в один бин/токен), а тут нам уже нет смысла экономить - обучать так обучать!
      Так что это просто две разных вещи, поэтому так и не называют.

    • @matveyshishov
      @matveyshishov Рік тому

      Из лингвистики. Там есть types, words, tokens. Удобно было recycle термин для алгоритмов вроде N-gram, потому что embeddings у людей в голове близко находятся, все понимали, о чём идёт речь 😂

  • @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  Рік тому +2

      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  Рік тому +1

      @@georgemichael6884 в описании есть ссылка на презентацию, можно найти этот слайд там и кликнуть на любую ссылку, которая интересна. Вот конкретно эта ссылка, но остальные придется получать самостсоятельно: colab.research.google.com/drive/1hXIQ77A4TYS4y3UthWF-Ci7V7vVUoxmQ?usp=sharing

    • @matveyshishov
      @matveyshishov Рік тому

      Смотрите первоисточник, 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"

  • @feeelgoood9580
    @feeelgoood9580 9 місяців тому

    Хорошо разжевал

  • @АнтонЗайцев-ы8ъ
    @АнтонЗайцев-ы8ъ 8 місяців тому +1

    1:14:00

  • @14types
    @14types Рік тому

    Без примеров сложно сразу всё понять. Тут то есть пример, то нет примера, то начинает с одним примером, а заканчивает с другим.

  • @АлексейБаженов-м9в

    Админ - от слова АД?-)

  • @DanOneOne
    @DanOneOne Рік тому +3

    Так они перегрузили... Было бы лучше не бежать сразу в матрицы и технику, а описать "значение" и смысл того что происходит. Но это гораздо сложнее. Слово embedding по-моему просто с потолка взяли за не имением лучшего. Что куда "включено"? Что оно означает? Что каждый элемент вектора (массива) этого embedding-а означает? Мы не знаем. Но мы уверенно перемножаем всё со всем, считает скалярные произведения и хотим убедить себя, что оно что-то означает.

    • @XorAlex
      @XorAlex Рік тому +1

      Ну в итоге же работает. ЛЛМки дают хороший результат. Значит что-то да означают все эти циферки внутри него. Другое дело как понять что? Этим пытается заниматься область interpretability.

  • @hopelesssuprem1867
    @hopelesssuprem1867 Рік тому +3

    Люди, которые не умеют делать трансформеры, рассказывают как работают трансформеры - это все, что нужно знать про русскоязычный data science.

    • @DanOneOne
      @DanOneOne Рік тому +5

      А есть видео или книга с лучшим объяснением?

    • @iwillwatch
      @iwillwatch 6 місяців тому

      О! украинские побратимы решили зайти и отблагодарить автора за его поддержку.

  • @несквикспивом-ц8и
    @несквикспивом-ц8и 6 місяців тому

    1:18:53