LANGUANGE MODELING
NATURAL LANGUAGE PROCESSING
how?
Task
● Language Modeling
(i.e. auto-complete)
● Probabilistic Modeling
○ Probability Theory
○ Logistic Regression
○ Sequence Modeling
● Eventually: Deep Learning
○ Recurrent Neural Nets
○ Transformer Networks
Language Model (LM)
• Language model adalah model machine learning
(ML) yang dapat memprediksi kata selanjutnya
berdasarkan kata-kata yang telah dilihat.
Language model standar ini disebut juga causal
language model (CLM).
• Cara kerja dari CLM ini adalah dengan
memprediksi probabilitas kata tertentu dalam
suatu urutan kata.
Language
Modeling
-- assigning a probability to sequences of words.
Version 1: Compute P(w1, w2, w3, w4, w5) = P(W)
:probability of a sequence of words
Version 2: Compute P(w5| w1, w2, w3, w4)
= P(wn| w1, w2, …, wn-1)
:probability of a next word given history
Language
Modeling
Version 1: Compute P(w1, w2, w3, w4, w5) = P(W)
:probability of a sequence of words
P(He ate the cake with the fork) = ?
Version 2: Compute P(w5| w1, w2, w3, w4)
= P(wn| w1, w2, …, wn-1)
:probability of a next word given history
P(fork | He ate the cake with the) = ?
Solution: Estimate from shorter sequences, use more
sophisticated probability theory.
Problem: even the Web isn’t large enough to enable
good estimates of most phrases.
P(B|A) = P(B, A) / P(A) ⇔ P(A)P(B|A) = P(B,A) = P(A,B)
P(A, B, C) = P(A)P(B|A)P(C| A, B)
The Chain Rule:
Markov Assumption:
P(Xn| X1…, Xn-1) ≈ P(Xn| Xn-k, …, Xn-1) where k < n
P(X1, X2,…, Xn) = P(X1)P(X2|X1)P(X3|X1, X2)...P(Xn|X1, ..., Xn-1)
Unigram Model: k = 0;
Problem: even the Web isn’t large enough to enable
good estimates of most phrases.
P(B|A) = P(B, A) / P(A) ⇔ P(A)P(B|A) = P(B,A) = P(A,B)
P(A, B, C) = P(A)P(B|A)P(C| A, B)
The Chain Rule:
Markov Assumption:
P(Xn| X1…, Xn-1) ≈ P(Xn| Xn-k, …, Xn-1) where k < n
P(X1, X2,…, Xn) = P(X1)P(X2|X1)P(X3|X1, X2)...P(Xn|X1, ..., Xn-1)
Bigram Model: k = 1;
Problem: even the Web isn’t large enough to enable
good estimates of most phrases.
Markov Assumption:
P(Xn| X1…, Xn-1) ≈ P(Xn| Xn-k, …, Xn-1) where k < n
Example generated sentence:
outside, new, car, parking, lot, of, the, agreement, reached
P(X1 = “outside”, X2=”new”, X3 = “car”, ....)
≈ P(X1=“outside”) * P(X2=”new”|X1 = “outside) * P(X3=”car” | X2=”new”) * ...
Example from (Jurafsky, 2017)
N-gram models
• We can extend to trigrams, 4-grams, 5-grams
• In general this is an insufficient model of language
– because language has long-distance dependencies:
“The computer which I had just put into the machine
room on the fifth floor crashed.”
• But we can often get away with N-gram models
Estimating bigram probabilities
• The Maximum Likelihood Estimate
P(wi |wi-1) =
count(wi-1,wi)
count(wi-1)
P(wi |wi-1) =
c(wi-1,wi)
c(wi-1)
PRE-TRAINED LANGUAGE MODEL
• Agar model ML bisa memprediksi kata secara
benar dan digunakan pada task lain, maka model
perlu dilatih berulang-ulang dengan data yang
besar. Untuk dapat melakukan training language
model, diperlukan suatu task tertentu. Pada ML
biasanya task yang digunakan adalah task untuk
memprediksi kata selanjutnya.
Transformer-based Language Model
(TLM)
• Saat ini di Natural Language Processing (NLP)
sedang booming model Transformer. Transformer
awalnya digunakan untuk task machine
translation. Namun, model ini telah terbukti
mumpuni untuk digunakan di berbagai macam
task lain, seperti sequence classification,
question-answering, dan language modeling.
Secara umum transformer terdiri atas dua bagian
utama, yaitu encoder dan decoder.
• Beberapa TLM yang saat ini tren, yaitu OpenAI GPT dan
BERT
• GPT dan BERT tidak menggunakan keseluruhan bagian
transformer, tetapi hanya bagian encoder saja atau decoder
saja.
• Masalah dari language model standar adalah jika
menggunakan transformer sebagai language model, maka
dengan adanya self-attention mechanism, model bisa
curang dengan melihat semua kata di dalam kalimat input.
Artinya, supaya bisa digunakan di dalam language model,
maka self-attention perlu dibatasi dengan hanya belajar dari
kata-kata sebelumnya.
OpenAI GPT
• Definisi
• GPT adalah singkatan dari Generative Pre-
Training. Model GPT hanya menggunakan
decoder block dari transformer.
• GPT-2 dan GPT-3 adalah pengembangan lanjutan
dari GPT. Pengembangan yang dimaksud adalah
training dengan dataset yang lebih besar dan
parameter yang lebih banyak.
OpenAI GPT
• Perbedaan dengan transformer
• GPT tidak memiliki encoder, dan hanya menggunakan
bagian decoder yang ditumpuk lebih banyak. Ukurannya
bermacam-macam mulai dari 12–48 block decoder.
• Decoder block dari GPT hampir sama dengan transformer,
namun GPT hanya menggunakan masked self-attention dan
feed forward neural network. GPT tidak menggunakan self-
attention layer yang kedua (encoder-decoder attention).
Hal ini disesuaikan dengan task yang digunakan untuk
melatih LM pada GPT yaitu CLM.
OpenAI GPT
BERT
• Definisi
• BERT adalah singkatan dari
for Bidirectional Encoder Representations
from Transformers. Dari kepanjangannya ada dua
hal yang dapat digaris bawahi.
• BERT menggunakan salah satu bagian dari
transformer, yaitu encoder.
• BERT itu bidirectional, artinya dilatih dari dua
arah (kiri-kanan dan kanan-kiri).
BERT
• Perbedaan dengan transformer
• BERT tidak memiliki decoder, tetapi hanya
menggunakan encoder dengan jumlah yang lebih
banyak.
• Transformer encoder memiliki 8 heads dengan
panjang embedding 64 (dimensi input 512).
Sedangkan BERT memiliki 12 head dengan
masing-masing panjang embedding 64 (dimensi
input 768).
Perbedaan GPT dan BERT
• Learning objective
• Perbedaan selanjutnya adalah learning objective
yang digunakan saat pre-training language model.
Sama seperti model ML lain, GPT menggunakan
language model standar (CLM), yaitu
memprediksi kalimat yang muncul selanjutnya.
Sedangkan BERT menggunakan language
modeling dua arah atau ‘masked’ language
model.
LANGUANGE MODELING.pdf

LANGUANGE MODELING.pdf

  • 1.
  • 2.
    how? Task ● Language Modeling (i.e.auto-complete) ● Probabilistic Modeling ○ Probability Theory ○ Logistic Regression ○ Sequence Modeling ● Eventually: Deep Learning ○ Recurrent Neural Nets ○ Transformer Networks
  • 3.
    Language Model (LM) •Language model adalah model machine learning (ML) yang dapat memprediksi kata selanjutnya berdasarkan kata-kata yang telah dilihat. Language model standar ini disebut juga causal language model (CLM). • Cara kerja dari CLM ini adalah dengan memprediksi probabilitas kata tertentu dalam suatu urutan kata.
  • 5.
    Language Modeling -- assigning aprobability to sequences of words. Version 1: Compute P(w1, w2, w3, w4, w5) = P(W) :probability of a sequence of words Version 2: Compute P(w5| w1, w2, w3, w4) = P(wn| w1, w2, …, wn-1) :probability of a next word given history
  • 6.
    Language Modeling Version 1: ComputeP(w1, w2, w3, w4, w5) = P(W) :probability of a sequence of words P(He ate the cake with the fork) = ? Version 2: Compute P(w5| w1, w2, w3, w4) = P(wn| w1, w2, …, wn-1) :probability of a next word given history P(fork | He ate the cake with the) = ?
  • 8.
    Solution: Estimate fromshorter sequences, use more sophisticated probability theory. Problem: even the Web isn’t large enough to enable good estimates of most phrases. P(B|A) = P(B, A) / P(A) ⇔ P(A)P(B|A) = P(B,A) = P(A,B) P(A, B, C) = P(A)P(B|A)P(C| A, B) The Chain Rule: Markov Assumption: P(Xn| X1…, Xn-1) ≈ P(Xn| Xn-k, …, Xn-1) where k < n P(X1, X2,…, Xn) = P(X1)P(X2|X1)P(X3|X1, X2)...P(Xn|X1, ..., Xn-1)
  • 9.
    Unigram Model: k= 0; Problem: even the Web isn’t large enough to enable good estimates of most phrases. P(B|A) = P(B, A) / P(A) ⇔ P(A)P(B|A) = P(B,A) = P(A,B) P(A, B, C) = P(A)P(B|A)P(C| A, B) The Chain Rule: Markov Assumption: P(Xn| X1…, Xn-1) ≈ P(Xn| Xn-k, …, Xn-1) where k < n P(X1, X2,…, Xn) = P(X1)P(X2|X1)P(X3|X1, X2)...P(Xn|X1, ..., Xn-1)
  • 10.
    Bigram Model: k= 1; Problem: even the Web isn’t large enough to enable good estimates of most phrases. Markov Assumption: P(Xn| X1…, Xn-1) ≈ P(Xn| Xn-k, …, Xn-1) where k < n Example generated sentence: outside, new, car, parking, lot, of, the, agreement, reached P(X1 = “outside”, X2=”new”, X3 = “car”, ....) ≈ P(X1=“outside”) * P(X2=”new”|X1 = “outside) * P(X3=”car” | X2=”new”) * ... Example from (Jurafsky, 2017)
  • 11.
    N-gram models • Wecan extend to trigrams, 4-grams, 5-grams • In general this is an insufficient model of language – because language has long-distance dependencies: “The computer which I had just put into the machine room on the fifth floor crashed.” • But we can often get away with N-gram models
  • 12.
    Estimating bigram probabilities •The Maximum Likelihood Estimate P(wi |wi-1) = count(wi-1,wi) count(wi-1) P(wi |wi-1) = c(wi-1,wi) c(wi-1)
  • 15.
    PRE-TRAINED LANGUAGE MODEL •Agar model ML bisa memprediksi kata secara benar dan digunakan pada task lain, maka model perlu dilatih berulang-ulang dengan data yang besar. Untuk dapat melakukan training language model, diperlukan suatu task tertentu. Pada ML biasanya task yang digunakan adalah task untuk memprediksi kata selanjutnya.
  • 18.
    Transformer-based Language Model (TLM) •Saat ini di Natural Language Processing (NLP) sedang booming model Transformer. Transformer awalnya digunakan untuk task machine translation. Namun, model ini telah terbukti mumpuni untuk digunakan di berbagai macam task lain, seperti sequence classification, question-answering, dan language modeling. Secara umum transformer terdiri atas dua bagian utama, yaitu encoder dan decoder.
  • 20.
    • Beberapa TLMyang saat ini tren, yaitu OpenAI GPT dan BERT • GPT dan BERT tidak menggunakan keseluruhan bagian transformer, tetapi hanya bagian encoder saja atau decoder saja. • Masalah dari language model standar adalah jika menggunakan transformer sebagai language model, maka dengan adanya self-attention mechanism, model bisa curang dengan melihat semua kata di dalam kalimat input. Artinya, supaya bisa digunakan di dalam language model, maka self-attention perlu dibatasi dengan hanya belajar dari kata-kata sebelumnya.
  • 21.
    OpenAI GPT • Definisi •GPT adalah singkatan dari Generative Pre- Training. Model GPT hanya menggunakan decoder block dari transformer. • GPT-2 dan GPT-3 adalah pengembangan lanjutan dari GPT. Pengembangan yang dimaksud adalah training dengan dataset yang lebih besar dan parameter yang lebih banyak.
  • 22.
    OpenAI GPT • Perbedaandengan transformer • GPT tidak memiliki encoder, dan hanya menggunakan bagian decoder yang ditumpuk lebih banyak. Ukurannya bermacam-macam mulai dari 12–48 block decoder. • Decoder block dari GPT hampir sama dengan transformer, namun GPT hanya menggunakan masked self-attention dan feed forward neural network. GPT tidak menggunakan self- attention layer yang kedua (encoder-decoder attention). Hal ini disesuaikan dengan task yang digunakan untuk melatih LM pada GPT yaitu CLM.
  • 23.
  • 25.
    BERT • Definisi • BERTadalah singkatan dari for Bidirectional Encoder Representations from Transformers. Dari kepanjangannya ada dua hal yang dapat digaris bawahi. • BERT menggunakan salah satu bagian dari transformer, yaitu encoder. • BERT itu bidirectional, artinya dilatih dari dua arah (kiri-kanan dan kanan-kiri).
  • 26.
    BERT • Perbedaan dengantransformer • BERT tidak memiliki decoder, tetapi hanya menggunakan encoder dengan jumlah yang lebih banyak. • Transformer encoder memiliki 8 heads dengan panjang embedding 64 (dimensi input 512). Sedangkan BERT memiliki 12 head dengan masing-masing panjang embedding 64 (dimensi input 768).
  • 28.
    Perbedaan GPT danBERT • Learning objective • Perbedaan selanjutnya adalah learning objective yang digunakan saat pre-training language model. Sama seperti model ML lain, GPT menggunakan language model standar (CLM), yaitu memprediksi kalimat yang muncul selanjutnya. Sedangkan BERT menggunakan language modeling dua arah atau ‘masked’ language model.