Teks tersebut membahas tentang pemodelan bahasa dan pemrosesan bahasa alami dengan menggunakan model probabilitas dan pembelajaran mesin, termasuk model n-gram, GPT, dan BERT. Teks tersebut juga membandingkan pendekatan GPT dan BERT dalam melatih model bahasa.
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.
4.
5. 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
6. 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) = ?
7.
8. 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)
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
• 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
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)
13.
14.
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.
16.
17.
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.
19.
20. • 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.
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
• 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.
25. 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).
26. 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).
27.
28. 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.