SlideShare a Scribd company logo
1 of 42
Download to read offline
The Decade of NLP
Давайте разберемся, как NLP развивался на протяжении
последних 10 лет
До 2012...
● Rule-based подходы
● Графовые подходы
● Большинство классических методов ML
● Простые векторные представления документов/предложений/слов
● Весь DL -- только гипотеза без подтверждения
Боли:
● Громоздкость
● Отсутствие мощностей
● Малая точность
● Об интеграции никто даже не задумывлася
2013: word2vec
● Efficient Estimation of Word Representations in Vector Space (Tomas Mikolov
et al., 2013) https://arxiv.org/pdf/1301.3781.pdf
● Distributed Representations of Words and Phrases and their Compositionality
(Tomas Mikolov et al., 2013) https://arxiv.org/pdf/1310.4546.pdf
● We propose two novel model architectures for computing continuous vector
representations of words from very large data sets.
● Основная идея: попробовать сформировать из большого количества
текстов датасет, чтобы в supervised стиле обучить какую-то модель с
помощью gradient descent метода предсказывать контекст/семантику
слова, а параметры модели использовать как представления.
Как это работает
iggle
0
0
0
0
1
0
0
…
0
H
i
d
d
e
n
OHE
(..., n)
3.54
-0.84
0.123
...
(..., n)
(iggle, squiggs)
squiggs
Loss: CE
The iggle squiggs trazed wombly
in the harlish hoop.
(The, iggle), (The, squiggs), (Iggle,
the), (iggle, squiggs), (iggle,
trazed)...
n-gramms
В итоге соответствие в матрице u -- входным словам, а в v --
выходным.
w(squiggs) = u(squiggs) + v(squiggs)
Что мы получаем в итоге?
Реализации и использование
● классическая модель
● fasttext
● Glove
Обычно, использование сводится к
● конкатенации векторов
●
Предложение — последовательность
1. w2v не учитывает последовательность слов в предложении
2. усредненный контекст вместо конкретного
2013-2014: RNN
“What’s going on?”
Backpropagation through time
...
W W W W W
...
И тогда общий
backpopagation для какого-то
момента времени -- сумма
всех производных по
параметрам сети до этого
момента
В случае RNN, на
каждом шаге времени
мы можем посчитать
целевой лосс.
RNN для разных задач
1 to 1
Usual NN
1 to n
Text generation
n to 1
Classification
https://colah.github.io/posts/2015-08-Understanding-LSTMs/
RNN для разных задач
n to n
POS, NER Machine
translation
Vanishing and exploding gradients
n n^10 n^100
1.77 ~301 ~6*10^24
0.45 ~0.0003 ~0
http://web.stanford.edu/class/cs224n/re
adings/cs224n-2019-notes05-LM_RNN.
pdf
Каким образом пофиксить?
1) Для борьбы со
взрывающимися
градиентами мы можем
просто не давать им сильно
расти -- gradient clipping.
2) Разбивать
последовательности
3) Identity инициализация
вместо рандома
4) ReLU
2014: LSTM
Вариации LSTM
Peephole connections
No input gates
GRU и так далее...
LSTM: A Search Space Odyssey
https://arxiv.org/abs/1503.04069
2014: seq2seq
https://arxiv.org/pdf/1409.3215.pdf
2015: Bidirectional LSTM
2016: Attention!
● в какой пропорции надо взять
вектора на текущем шагу
https://arxiv.org/pdf/1409.0473.pdf
Bidirectional
RNN
Свойство attention
Метрика
2016: Google bridges the gap between human and
machines
https://arxiv.org/pdf/1609.08144.pdf
2014-2016: эра LSTM
● Огромная куча вариаций
● Все task-specific
● Нет transfer learning
2018: ULM-Fit
https://arxiv.org/pdf/1801.06146
We propose Universal Language Model Fine-tuning (ULMFiT), an effective transfer learning method that
can be applied to any task in NLP, and introduce techniques that are key for fine-tuning a language model.
Our method significantly outperforms the state-of-the-art on six text classification tasks, reducing the error
by 18- 24% on the majority of datasets. Furthermore, with only 100 labeled examples, it matches the
performance of training from scratch on 100× more data. We open-source our pretrained models and
code
ULM-Fit
2018: ELMO (Embeddings from Language Models)
https://arxiv.org/pdf/1802.05365.pdf
ELMO
ELMO
2017: Attention is all you need!
https://arxiv.org/pdf/1706.03762.pdf
● главный вопрос: а зачем нам
рекуррентность?
encoder
decoder
Positional encoding
Multi-Head attention
Учим h подобных сетей:
● На вход слою подаются вектора key,
value, query (key = value)
● От каждого из векторов считается
линейное преобразование
● Считаем скалярное произведение Q
со всеми K
● Считается softmax
● Вектора складываются и
прогоняются через линейный слой
2018: GPT (Generative pretrained transformers)
https://jalammar.github.io/illustrated-gpt2/
Masked self-attention
Как использовать?
2019: BERT (Bidirectional encoder representation of
transformer)
BERT
not frozen
BERT pretraining: masked language model
BERT pretraining: next sentence prediction
На данный момент имеем
● GPT-2, GPT-3
● BERT и его модификации
● ELMo
● One-shot / few-shot learning
● индивидуальный подход ;)
Questions?

More Related Content

Similar to ODS.ai Odessa Meetup #4: NLP: изменения за последние 10 лет

Доски проектов и продуктов на TFS: Agile-визуализация на уровне компании
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компанииДоски проектов и продуктов на TFS: Agile-визуализация на уровне компании
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компании
GoSharp
 
Использование ЦОР на уроке
Использование ЦОР на урокеИспользование ЦОР на уроке
Использование ЦОР на уроке
branka5
 

Similar to ODS.ai Odessa Meetup #4: NLP: изменения за последние 10 лет (7)

Pedalim vacancy IT HR
Pedalim vacancy IT HRPedalim vacancy IT HR
Pedalim vacancy IT HR
 
Современные коллаборативные технологии в учебном процессе: возможности и проб...
Современные коллаборативные технологии в учебном процессе: возможности и проб...Современные коллаборативные технологии в учебном процессе: возможности и проб...
Современные коллаборативные технологии в учебном процессе: возможности и проб...
 
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компании
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компанииДоски проектов и продуктов на TFS: Agile-визуализация на уровне компании
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компании
 
А.Левенчук -- Образование по машинному обучению
А.Левенчук -- Образование по машинному обучениюА.Левенчук -- Образование по машинному обучению
А.Левенчук -- Образование по машинному обучению
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharp
 
Использование ЦОР на уроке
Использование ЦОР на урокеИспользование ЦОР на уроке
Использование ЦОР на уроке
 
"Делаем тематическое моделирование в 2017" Талипов Руслан, Ridero
"Делаем тематическое моделирование в 2017" Талипов Руслан, Ridero"Делаем тематическое моделирование в 2017" Талипов Руслан, Ridero
"Делаем тематическое моделирование в 2017" Талипов Руслан, Ridero
 

More from DataPhoenix

Deploying deep learning models with Kubernetes and Kubeflow
Deploying deep learning models with Kubernetes and KubeflowDeploying deep learning models with Kubernetes and Kubeflow
Deploying deep learning models with Kubernetes and Kubeflow
DataPhoenix
 

More from DataPhoenix (7)

Exploring Infrastructure Management for GenAI Beyond Kubernetes
Exploring Infrastructure Management for GenAI Beyond KubernetesExploring Infrastructure Management for GenAI Beyond Kubernetes
Exploring Infrastructure Management for GenAI Beyond Kubernetes
 
Deploying DL models with Kubernetes and Kubeflow
Deploying DL models with Kubernetes and KubeflowDeploying DL models with Kubernetes and Kubeflow
Deploying DL models with Kubernetes and Kubeflow
 
ODS.ai Odessa Meetup #4: Чему учит нас участите в соревновательном ML
ODS.ai Odessa Meetup #4: Чему учит нас участите в соревновательном MLODS.ai Odessa Meetup #4: Чему учит нас участите в соревновательном ML
ODS.ai Odessa Meetup #4: Чему учит нас участите в соревновательном ML
 
Deploying deep learning models with Kubernetes and Kubeflow
Deploying deep learning models with Kubernetes and KubeflowDeploying deep learning models with Kubernetes and Kubeflow
Deploying deep learning models with Kubernetes and Kubeflow
 
The A-Z of Data: Introduction to MLOps
The A-Z of Data: Introduction to MLOpsThe A-Z of Data: Introduction to MLOps
The A-Z of Data: Introduction to MLOps
 
ODS.ai Odessa Meetup #3: Object Detection in the Wild
ODS.ai Odessa Meetup #3: Object Detection in the WildODS.ai Odessa Meetup #3: Object Detection in the Wild
ODS.ai Odessa Meetup #3: Object Detection in the Wild
 
ODS.ai Odessa Meetup #3: Enterprise data management - весело или нет?!
ODS.ai Odessa Meetup #3: Enterprise data management - весело или нет?!ODS.ai Odessa Meetup #3: Enterprise data management - весело или нет?!
ODS.ai Odessa Meetup #3: Enterprise data management - весело или нет?!
 

ODS.ai Odessa Meetup #4: NLP: изменения за последние 10 лет

  • 1. The Decade of NLP Давайте разберемся, как NLP развивался на протяжении последних 10 лет
  • 2. До 2012... ● Rule-based подходы ● Графовые подходы ● Большинство классических методов ML ● Простые векторные представления документов/предложений/слов ● Весь DL -- только гипотеза без подтверждения Боли: ● Громоздкость ● Отсутствие мощностей ● Малая точность ● Об интеграции никто даже не задумывлася
  • 3. 2013: word2vec ● Efficient Estimation of Word Representations in Vector Space (Tomas Mikolov et al., 2013) https://arxiv.org/pdf/1301.3781.pdf ● Distributed Representations of Words and Phrases and their Compositionality (Tomas Mikolov et al., 2013) https://arxiv.org/pdf/1310.4546.pdf ● We propose two novel model architectures for computing continuous vector representations of words from very large data sets. ● Основная идея: попробовать сформировать из большого количества текстов датасет, чтобы в supervised стиле обучить какую-то модель с помощью gradient descent метода предсказывать контекст/семантику слова, а параметры модели использовать как представления.
  • 4. Как это работает iggle 0 0 0 0 1 0 0 … 0 H i d d e n OHE (..., n) 3.54 -0.84 0.123 ... (..., n) (iggle, squiggs) squiggs Loss: CE The iggle squiggs trazed wombly in the harlish hoop. (The, iggle), (The, squiggs), (Iggle, the), (iggle, squiggs), (iggle, trazed)... n-gramms В итоге соответствие в матрице u -- входным словам, а в v -- выходным. w(squiggs) = u(squiggs) + v(squiggs)
  • 6.
  • 7. Реализации и использование ● классическая модель ● fasttext ● Glove Обычно, использование сводится к ● конкатенации векторов ●
  • 8. Предложение — последовательность 1. w2v не учитывает последовательность слов в предложении 2. усредненный контекст вместо конкретного
  • 10. Backpropagation through time ... W W W W W ... И тогда общий backpopagation для какого-то момента времени -- сумма всех производных по параметрам сети до этого момента В случае RNN, на каждом шаге времени мы можем посчитать целевой лосс.
  • 11. RNN для разных задач 1 to 1 Usual NN 1 to n Text generation n to 1 Classification https://colah.github.io/posts/2015-08-Understanding-LSTMs/
  • 12. RNN для разных задач n to n POS, NER Machine translation
  • 13. Vanishing and exploding gradients n n^10 n^100 1.77 ~301 ~6*10^24 0.45 ~0.0003 ~0 http://web.stanford.edu/class/cs224n/re adings/cs224n-2019-notes05-LM_RNN. pdf
  • 14. Каким образом пофиксить? 1) Для борьбы со взрывающимися градиентами мы можем просто не давать им сильно расти -- gradient clipping. 2) Разбивать последовательности 3) Identity инициализация вместо рандома 4) ReLU
  • 16. Вариации LSTM Peephole connections No input gates GRU и так далее...
  • 17. LSTM: A Search Space Odyssey https://arxiv.org/abs/1503.04069
  • 20. 2016: Attention! ● в какой пропорции надо взять вектора на текущем шагу https://arxiv.org/pdf/1409.0473.pdf Bidirectional RNN
  • 23. 2016: Google bridges the gap between human and machines https://arxiv.org/pdf/1609.08144.pdf
  • 24. 2014-2016: эра LSTM ● Огромная куча вариаций ● Все task-specific ● Нет transfer learning
  • 25. 2018: ULM-Fit https://arxiv.org/pdf/1801.06146 We propose Universal Language Model Fine-tuning (ULMFiT), an effective transfer learning method that can be applied to any task in NLP, and introduce techniques that are key for fine-tuning a language model. Our method significantly outperforms the state-of-the-art on six text classification tasks, reducing the error by 18- 24% on the majority of datasets. Furthermore, with only 100 labeled examples, it matches the performance of training from scratch on 100× more data. We open-source our pretrained models and code
  • 27. 2018: ELMO (Embeddings from Language Models) https://arxiv.org/pdf/1802.05365.pdf
  • 28. ELMO
  • 29. ELMO
  • 30. 2017: Attention is all you need! https://arxiv.org/pdf/1706.03762.pdf ● главный вопрос: а зачем нам рекуррентность? encoder decoder
  • 32. Multi-Head attention Учим h подобных сетей: ● На вход слою подаются вектора key, value, query (key = value) ● От каждого из векторов считается линейное преобразование ● Считаем скалярное произведение Q со всеми K ● Считается softmax ● Вектора складываются и прогоняются через линейный слой
  • 33.
  • 34. 2018: GPT (Generative pretrained transformers) https://jalammar.github.io/illustrated-gpt2/
  • 37. 2019: BERT (Bidirectional encoder representation of transformer)
  • 39. BERT pretraining: masked language model
  • 40. BERT pretraining: next sentence prediction
  • 41. На данный момент имеем ● GPT-2, GPT-3 ● BERT и его модификации ● ELMo ● One-shot / few-shot learning ● индивидуальный подход ;)