back to index

[DLHLP 2020] 來自獵人暗黑大陸的模型 GPT-3


link |
00:00.000
剩下的時間呢,我想要跟大家分享GPT-3
link |
00:04.000
GPT-3,OpenAI發表了新的巨大的Language Model
link |
00:10.240
之前OpenAI已經發表了GPT,還有轟動一時的GPT-2
link |
00:17.840
現在OpenAI發表了GPT-3
link |
00:22.000
這篇Paper有非常多的作者,作者量也挺驚人的
link |
00:27.840
這篇Paper的名字叫Language Model are Future Learners
link |
00:33.920
那其實GPT-3跟GPT-2有什麼不同呢?
link |
00:39.440
基本上沒有什麼不同,它們都是Language Model
link |
00:44.960
那Language Model是什麼?我想就不需要再多做解釋了
link |
00:49.600
那GPT-3它神奇的地方是什麼呢?
link |
00:53.360
神奇的地方是,它太過巨大
link |
00:58.160
它有多巨大呢?之前最大的Model是Turing-NLG
link |
01:04.960
我們在之前的課堂上已經給大家看過這一個Model大小的比較圖
link |
01:10.640
從最早的Elmo到後來的Turing-NLG
link |
01:16.800
Turing-NLG非常的巨大,它有17個Billion的參數
link |
01:22.400
那遠大過之前OpenAI發表的GPT-2還有最早的GPT-3
link |
01:29.680
但是第三代的GPT有多大呢?
link |
01:34.160
它是Turing-NLG的10倍啊,它有170個Billion的參數啊
link |
01:41.040
也就是它有1750億個參數啊
link |
01:44.480
你根本沒有辦法把它畫在這一張圖上
link |
01:48.320
為了讓大家能夠想像GPT-3有多大,我們來做一個比方
link |
01:54.720
假設Elmo的參數量是一個長30公分的尺
link |
02:00.480
我們用長度來代表參數量
link |
02:04.000
我們假設Elmo的參數量就是30公分
link |
02:08.560
GPT-3它的參數量有多少呢?
link |
02:12.160
GPT-3它的參數量是Elmo的大約2000倍
link |
02:17.280
30公分乘2000是多少呢?
link |
02:20.160
它比台北101還要高啊
link |
02:23.360
所以想想看,最早的這類Pre-trained model Elmo
link |
02:28.160
它只是30公分長的尺
link |
02:31.200
但今天GPT-3它已經長成了台北101那麼高的參天巨鼠
link |
02:38.400
它非常的巨大
link |
02:40.720
那我們知道說,巨大的東西都是來自暗黑大陸啦
link |
02:43.840
所以GPT-3是來自於暗黑大陸的模型
link |
02:49.600
那當然網路上就有各式各樣的討論
link |
02:53.040
有人說GPT-3如果你想要拿商用的cloud computing的platform
link |
03:00.560
自己訓練一個GPT-3要花多少錢呢?
link |
03:04.720
要花1200萬美金啊
link |
03:08.400
大概要花4億台幣啊
link |
03:11.440
這個真的是沒有人做得出來,太誇張了
link |
03:15.920
那在知乎上面有關GPT-3的討論
link |
03:19.920
被打上了炫富跟核武器啊
link |
03:22.800
然後有人發現說,GPT-3就算是OpenAI佛心來的想試出
link |
03:29.280
你搞不好載不下來啊
link |
03:31.040
因為GPT-3 1.5個billion的參數就6GB了
link |
03:35.440
175個billion的參數大概700GB啊
link |
03:39.120
搞不好你連下載下來都有困難啊
link |
03:41.680
然後有人發現,GPT-3的paper很長
link |
03:44.240
Elmo 15頁,BERT 16頁,GPT-3 24頁,T5 53頁
link |
03:48.560
GPT-3有72頁,太長了
link |
03:52.080
不只他的model很大,paper也很長
link |
03:55.760
那這系列GPT-3,GPT系列的work
link |
04:00.080
他想要做的事情是什麼呢?
link |
04:02.000
他想要做的事情是zero-shot的learning
link |
04:06.960
也就是說,過去在我們使用BERT這樣pre-train model的時候
link |
04:12.080
我們是先pre-train一個model
link |
04:14.080
接下來對每一個任務,我們都準備一些這些任務的資料
link |
04:19.200
根據這些任務的specific的資料進行finetune
link |
04:22.960
我們有每一個任務的model
link |
04:26.160
所以你今天你要拿BERT去解downstream的任務
link |
04:30.640
你其實還是要收集一些資料的
link |
04:32.960
BERT並沒有辦法直接去解這些downstream的任務
link |
04:36.080
你要BERT解QA,收集一些QA的資料給BERT去
link |
04:39.200
你要BERT解NLI,收集一些NLI的資料給BERT去
link |
04:43.120
所以你還是需要收集一些downstream task的資料
link |
04:46.720
才能夠讓BERT學會解這些downstream task
link |
04:50.160
但GPT系列的work要問的問題就是
link |
04:53.280
我們能不能夠拿掉finetune這個步驟
link |
04:57.520
我們能不能pre-train一個模型
link |
04:59.520
這個pre-train的模型,直接就可以解這些downstream task了
link |
05:03.600
連finetune通通都不要
link |
05:06.160
GPT系列它的終極目標也許就像是這樣
link |
05:11.520
我們今天人類在考這種英文能力檢定的時候
link |
05:16.160
我們是怎麼告訴考生怎麼回答試題呢
link |
05:20.240
我們其實只需要首先給一個提醒的說明
link |
05:25.120
有提醒的說明可能就是很簡單的告訴考生說
link |
05:28.960
選最適合提議的字或詞
link |
05:32.240
然後也許在佛心來的多給一個範例
link |
05:36.480
告訴考生說這個題目如果真的要解的話
link |
05:40.240
大概長什麼樣子就結束了
link |
05:42.960
考生只看了提醒的說明
link |
05:44.960
再看了一點範例就知道怎麼回答接下來的問題了
link |
05:49.360
而GPT系列想要做的就是類似的事情
link |
05:53.360
再講得更具體一點
link |
05:56.400
GPT它裡面做的事情是這個樣子
link |
05:59.760
它有三個可能
link |
06:01.440
一個是Few-Shot Learning
link |
06:03.440
一個是One-Shot Learning
link |
06:04.720
一個是Zero-Shot Learning
link |
06:06.720
這邊都跟GPT-3的Paper一樣
link |
06:09.920
以翻譯為例
link |
06:11.520
以英文翻法文為例
link |
06:13.920
在Few-Shot Learning的狀況下
link |
06:16.160
首先給GPT的Model看一個句子
link |
06:19.360
這個句子是任務的說明
link |
06:22.160
如果是翻譯的話任務的說明就是
link |
06:24.720
Translate English to French
link |
06:27.120
希望機器能夠看得懂這個句子的意思
link |
06:30.080
然後接下來給它幾個範例
link |
06:32.080
告訴它說Sea Otter箭號就是翻譯成這樣
link |
06:36.480
然後Clutch Giraffe就是翻譯成這樣
link |
06:40.960
接下來開始考試
link |
06:43.440
問它Cheese應該翻譯成什麼東西
link |
06:47.360
這個是Few-Shot Learning
link |
06:50.480
也就是Example的部分
link |
06:52.000
可以提供不只一個Example
link |
06:55.280
那如果是One-Shot Learning呢
link |
06:58.240
One-Shot Learning可能就非常接近
link |
07:01.280
人類在考英文能力檢定的狀況
link |
07:04.400
只給你一段提醒說明
link |
07:07.440
再給你一個例子
link |
07:08.960
接下來期待你可以自己把問題回答出來
link |
07:13.600
最狂的是Zero-Shot Learning
link |
07:16.880
直接給一個題目的敘述
link |
07:19.040
接下來就直接回答問題
link |
07:21.280
不知道一個Language Model
link |
07:23.040
有沒有可能做到
link |
07:24.320
你今天給它一個指示說
link |
07:26.080
Translate English to French
link |
07:27.920
在沒有額外訓練的狀況下
link |
07:30.480
它就自己知道什麼叫做
link |
07:32.080
Translate English to French
link |
07:33.600
接下來給它一句英文
link |
07:34.720
它就自動知道要輸出法文了
link |
07:37.200
這當然顯然是很大的挑戰
link |
07:39.040
也許One-Shot Learning比較接近
link |
07:41.680
真的有辦法做到的狀況
link |
07:44.720
因為機器至少有看到一個例子
link |
07:46.320
也許One-Shot Learning還是比較有機會
link |
07:48.880
那這邊需要再跟大家提醒一下
link |
07:52.000
在GPT-3裡面
link |
07:53.600
它的Few-Shot Learning
link |
07:55.120
跟一般我們所謂的Few-Shot Learning的意思
link |
07:58.000
是不一樣的
link |
07:59.040
我們一般所謂的Few-Shot Learning是說
link |
08:01.280
我們給機器少量的訓練資料
link |
08:04.080
用少量的訓練資料去Finetune我們的Model
link |
08:08.160
但在GPT-3裡面沒有Finetune這回事
link |
08:12.000
所謂的Few-Shot Learning
link |
08:14.320
所謂的一點點的Example
link |
08:17.120
是直接當作GPT Model的輸入
link |
08:21.120
給GPT讀過這些句子
link |
08:23.920
讀過這些句子
link |
08:25.440
它就要自動知道怎麼解接下來的問題
link |
08:28.880
它就要自動知道怎麼做翻譯
link |
08:31.600
在這個過程中完全沒有調整Model
link |
08:34.880
完全沒有所謂的Gradient Descent
link |
08:36.880
我們直接輸入文字當作指示
link |
08:39.840
這些文字就讓它知道接下來要做什麼
link |
08:42.880
期待它看到這些提醒的說明
link |
08:45.920
看到這些提醒的範例
link |
08:47.760
就可以真的回答問題
link |
08:50.160
在GPT-3這篇Paper裡面
link |
08:52.160
他們把這一種學習的方式
link |
08:55.200
叫做In-Context Learning
link |
08:58.160
其實在GPT-3那篇Paper裡面
link |
09:00.160
有把他們的In-Context Learning
link |
09:02.960
跟Meta-Learning稍微做一些比較
link |
09:05.440
這個部分就留給大家自己去看
link |
09:08.400
GPT-3這篇Paper表現怎麼樣呢
link |
09:12.160
碩大無窮的GPT-3表現的怎麼樣呢
link |
09:16.320
這邊顯示了這篇Paper裡面
link |
09:19.520
所用的42個Task 它的平均
link |
09:23.520
為什麼正好是42呢
link |
09:25.520
這個數字好巧 我們知道42
link |
09:27.520
就是生命的意義
link |
09:29.520
不知道42個任務是不是
link |
09:31.520
刻意選擇出來的
link |
09:33.520
還是選完正好就是42個
link |
09:35.520
我也不知道
link |
09:37.520
這個縱軸是正確率
link |
09:39.520
橫軸是Model的大小
link |
09:41.520
從0.1個Billion
link |
09:43.520
一直到175個Billion
link |
09:47.520
如果藍色這條線
link |
09:51.520
是Zero-Shot
link |
09:53.520
綠色這條線
link |
09:55.520
是One-Shot
link |
09:57.520
橙色這條線是Few-Shot
link |
09:59.520
我們確實可以看到
link |
10:01.520
隨著Model越來越大
link |
10:03.520
越來越大
link |
10:05.520
不管是Zero-Shot One-Shot
link |
10:07.520
跟Few-Shot Learning的正確率
link |
10:09.520
都越來越高
link |
10:11.520
當然有人可能會質疑說
link |
10:13.520
為了增加這麼一點點的正確率
link |
10:15.520
大概十倍的參數量
link |
10:17.520
到底值不值得
link |
10:19.520
我想這就是一個見仁見智的問題
link |
10:21.520
至少這個圖顯示說
link |
10:23.520
比較大的Model確實是有好處的
link |
10:25.520
至於大的十倍
link |
10:27.520
只有增加這樣子的正確率
link |
10:29.520
到底能不能夠接受
link |
10:31.520
到底划不划算
link |
10:33.520
這個是一個見仁見智的問題
link |
10:35.520
接下來呢
link |
10:37.520
就講幾個GPT-3的神蹟
link |
10:39.520
首先
link |
10:41.520
它可以做Closed Book的QA
link |
10:43.520
怎麼是Closed Book的QA呢
link |
10:45.520
我們剛講完Question Answering
link |
10:47.520
我們說Question Answering裡面
link |
10:49.520
就是有一個Knowledge Source
link |
10:51.520
有一個Question
link |
10:53.520
然後你要找出Answer
link |
10:55.520
因為今天機器在回答問題的時候
link |
10:57.520
可以看Knowledge Source
link |
10:59.520
所以這是Open Book
link |
11:01.520
Closed Book QA是
link |
11:03.520
沒有Knowledge Source
link |
11:05.520
直接問你一個問題
link |
11:07.520
看看你能不能得到答案
link |
11:09.520
直接問你喜馬拉雅山有多高
link |
11:11.520
會不會不需要讀任何文章
link |
11:13.520
問他喜馬拉雅山有多高
link |
11:15.520
他就知道喜馬拉雅山的高度
link |
11:17.520
是8848公尺呢
link |
11:19.520
而GPT-3的表現
link |
11:21.520
是這個樣子
link |
11:23.520
藍色的線
link |
11:25.520
是Zero-Shot
link |
11:27.520
綠色的線
link |
11:29.520
是One-Shot
link |
11:31.520
橙色的線
link |
11:33.520
是Few-Shot
link |
11:35.520
神奇的事情是
link |
11:37.520
Few-Shot Learning
link |
11:39.520
竟然超過了在Trivia QA
link |
11:41.520
這個Compass上
link |
11:43.520
Finetune最好的SOTA
link |
11:45.520
的Model
link |
11:47.520
所以這邊巨大的Model
link |
11:49.520
展現了奇蹟
link |
11:51.520
如果只有13個Billion
link |
11:53.520
沒有辦法超越SOTA
link |
11:55.520
但10倍大
link |
11:57.520
175個Billion
link |
11:59.520
可以超越SOTA
link |
12:01.520
而這個是
link |
12:03.520
Super Glue的部分
link |
12:05.520
這邊一樣顯示了
link |
12:07.520
Few-Shot Learning的Performance
link |
12:09.520
One-Shot Learning的Performance
link |
12:11.520
跟Few-Shot Learning的Performance
link |
12:13.520
隨著參數量越來越多
link |
12:15.520
Performance當然越來越好
link |
12:17.520
如果是看
link |
12:19.520
最大的Model的話
link |
12:21.520
它可以超越Finetune的
link |
12:23.520
Very Large Model
link |
12:25.520
右邊這張圖
link |
12:27.520
是顯示說
link |
12:29.520
在做Few-Shot Learning的時候
link |
12:31.520
Training Example對Performance
link |
12:33.520
所造成的影響
link |
12:35.520
任何Example也就是
link |
12:37.520
Zero-Shot的Learning
link |
12:39.520
當然有點差
link |
12:41.520
但隨著Example越來越多
link |
12:43.520
如果只給1、2、3、4個
link |
12:45.520
那跟Finetune的Bird Performance差不多
link |
12:47.520
如果給到32個
link |
12:49.520
就可以超越Finetune的Bird
link |
12:53.520
那GPT-3
link |
12:55.520
它是一個Language Model
link |
12:57.520
所以它可以做Generation
link |
12:59.520
所以在GPT-3的Paper裡面
link |
13:01.520
作者群也有用
link |
13:03.520
GPT-3來產生文章
link |
13:05.520
他們給GPT-3
link |
13:07.520
一篇新聞的標題
link |
13:09.520
然後希望GPT-3自己
link |
13:11.520
把新聞寫出來
link |
13:13.520
那有一個神奇的小發現是
link |
13:15.520
如果今天不給GPT-3
link |
13:17.520
任何的Example
link |
13:19.520
只給它一則新聞的標題
link |
13:21.520
它會以為這則新聞的標題
link |
13:23.520
是Twitter的一句話
link |
13:25.520
然後接下來它就在下面
link |
13:27.520
會自己去回應
link |
13:29.520
它想像的Twitter的模式
link |
13:31.520
所以今天在做Generation的時候
link |
13:33.520
GPT-3不會是Zero-Shot的
link |
13:35.520
你需要給它幾個Example
link |
13:37.520
告訴它說有一個Title
link |
13:39.520
下面會接一篇新聞
link |
13:41.520
然後接下來再給它一篇Title
link |
13:43.520
希望它可以知道根據這個Title
link |
13:45.520
產生的新聞
link |
13:47.520
那在這個圖上面
link |
13:49.520
縱軸代表的是說
link |
13:51.520
給人看GPT-3產生的新聞
link |
13:53.520
跟真正的新聞
link |
13:55.520
人能不能夠判斷
link |
13:57.520
這篇新聞
link |
13:59.520
是真的還是假的
link |
14:01.520
如果今天人的正確率
link |
14:03.520
只有50%
link |
14:05.520
就代表說GPT-3產生出來的新聞
link |
14:07.520
太過真實
link |
14:09.520
真實到人沒有辦法判斷
link |
14:11.520
它是真的還是假的
link |
14:13.520
你發現說
link |
14:15.520
隨著參數量越來越大
link |
14:17.520
GPT-3就越來越能騙過人類
link |
14:19.520
最大的那個
link |
14:21.520
GPT-3
link |
14:23.520
它幾乎可以騙過人類
link |
14:25.520
人類幾乎沒有辦法
link |
14:27.520
分辨GPT-3產生出來的新聞
link |
14:29.520
跟真實的新聞
link |
14:31.520
之間的差異
link |
14:33.520
GPT-3
link |
14:35.520
它也學會了造句
link |
14:37.520
在這個圖上
link |
14:39.520
淺灰色的文字
link |
14:41.520
是人的輸入
link |
14:43.520
黑色的文字
link |
14:45.520
是GPT-3的輸出
link |
14:47.520
那你先告訴GPT-3說
link |
14:49.520
要怎麼造句
link |
14:51.520
造句是怎麼一回事
link |
14:53.520
先給一個詞彙的定義
link |
14:55.520
WAPU是什麼呢
link |
14:57.520
WAPU是一個小的毛茸茸的動物
link |
14:59.520
接下來呢
link |
15:01.520
以WAPU當作詞彙
link |
15:03.520
造一個句子
link |
15:05.520
以WAPU
link |
15:07.520
接下來呢
link |
15:09.520
以WAPU造一個句子
link |
15:11.520
你就照說我們去非洲旅行
link |
15:13.520
我們看到很多可愛的WAPU
link |
15:15.520
那接下來
link |
15:17.520
你再給一個胡亂創造的詞彙
link |
15:19.520
這個詞彙叫做BURRINGO
link |
15:21.520
BURRINGO是什麼呢
link |
15:23.520
BURRINGO是一種跑得很快的車
link |
15:25.520
然後接下來
link |
15:27.520
你要GPT-3用BURRINGO
link |
15:29.520
造一個句子
link |
15:31.520
然後GPT-3就說
link |
15:33.520
在我們家的車庫裡面
link |
15:35.520
有一個BURRINGO
link |
15:37.520
我爸爸每天都開BURRINGO
link |
15:39.520
上下班
link |
15:41.520
他知道BURRINGO是一種
link |
15:43.520
可以開的東西
link |
15:45.520
或者是你告訴他說
link |
15:47.520
有一個東西叫做GIGAMURU
link |
15:49.520
它是日本的樂器
link |
15:51.520
然後叫他用GIGAMURU
link |
15:53.520
造一個句子
link |
15:55.520
GPT-3就說
link |
15:57.520
我有一個GIGAMURU
link |
15:59.520
它是我的叔叔給我的禮物
link |
16:01.520
我喜歡在家裡彈它
link |
16:03.520
他知道GIGAMURU
link |
16:05.520
是一個可以彈的東西
link |
16:07.520
或你告訴他說
link |
16:09.520
有一個動詞叫做SKRING
link |
16:11.520
SKRING是什麼呢
link |
16:13.520
SKRING就是揮劍的意思
link |
16:15.520
那這個造句呢
link |
16:17.520
GPT-3這邊造出來的句子有點奇怪
link |
16:19.520
我們對彼此SKRING
link |
16:21.520
他知道說SKRING要加ED
link |
16:23.520
我們對彼此揮劍
link |
16:25.520
然後呢我們就去吃ICE CREAM
link |
16:27.520
乍看之下有點前言不對後語
link |
16:29.520
對彼此揮劍感覺應該是敵人
link |
16:31.520
怎麼接下來就去吃ICE CREAM呢
link |
16:33.520
但是如果你把SKRING想成是一種
link |
16:35.520
小孩的遊戲
link |
16:37.520
它雖然是揮劍
link |
16:39.520
但是是小孩的一種遊戲
link |
16:41.520
小朋友對彼此SKRING之後呢
link |
16:43.520
接下來去吃冰淇淋
link |
16:45.520
我覺得是合理的
link |
16:49.520
然後GPT-3
link |
16:51.520
學會做數學問題啊
link |
16:53.520
怎麼叫他做數學問題呢
link |
16:55.520
你就問他說
link |
16:57.520
What is 17 minus 14
link |
17:01.520
然後給他A冒號
link |
17:03.520
他自動居然會回答3
link |
17:05.520
居然會算數學
link |
17:07.520
他可以做到什麼樣程度的數學呢
link |
17:09.520
這個橫軸
link |
17:11.520
代表的是使用的模型的參數量
link |
17:13.520
縱軸代表的是正確率
link |
17:17.520
如果我們看這些
link |
17:19.520
參數量最多的模型
link |
17:21.520
你會發現說
link |
17:23.520
它基本上在
link |
17:25.520
兩位數的加法
link |
17:27.520
跟兩位數的減法上
link |
17:29.520
可以得到不錯的
link |
17:31.520
幾乎100%的正確率
link |
17:33.520
三位數的減法
link |
17:35.520
也做得不錯
link |
17:37.520
也不知道為什麼
link |
17:39.520
三位數的加法
link |
17:41.520
就稍微差一點
link |
17:43.520
看起來減法很會做
link |
17:45.520
加法不知道怎麼回事
link |
17:47.520
加法難道比較難嗎
link |
17:49.520
加法就做得比較差
link |
17:51.520
當然如果是其他更困難的問題
link |
17:53.520
四位數五位數的加法
link |
17:55.520
那對他來說就比較困難
link |
17:57.520
但至少他學會了
link |
17:59.520
二位數的
link |
18:01.520
二位數跟三位數的
link |
18:03.520
加減法
link |
18:05.520
三位數不算完全學會啦
link |
18:07.520
學會二位數的加減法
link |
18:09.520
跟三位數的加減法
link |
18:11.520
當然剛才講的
link |
18:13.520
是GPT-3的神蹟
link |
18:15.520
除了講神蹟以外
link |
18:17.520
其實也應該講一些
link |
18:19.520
它不work的地方
link |
18:21.520
從文章裡面看來
link |
18:23.520
GPT-3在做NLI的問題的時候
link |
18:25.520
不太行
link |
18:27.520
所謂NLI的問題
link |
18:29.520
就是給機器兩個句子
link |
18:31.520
要求機器判斷說
link |
18:33.520
這兩個句子是矛盾嗎
link |
18:35.520
還是互相包含
link |
18:37.520
GPT-3的關係
link |
18:39.520
那你會發現說
link |
18:41.520
如果今天使用GPT-3的model
link |
18:43.520
隨著模型越來越大
link |
18:45.520
Zero-Shot跟One-Shot
link |
18:47.520
基本上都是慘的
link |
18:49.520
這個灰色的這個虛線
link |
18:51.520
代表的是Random Guess
link |
18:53.520
如果今天就算是最大的模型
link |
18:55.520
在Zero-Shot跟One-Shot
link |
18:57.520
基本上是慘
link |
18:59.520
只有Few-Shot Learning
link |
19:01.520
給他50個example的時候
link |
19:03.520
看起來是有一些希望的
link |
19:05.520
只有在這個狀況
link |
19:07.520
有顯示出一些生命的跡象
link |
19:09.520
其他部分
link |
19:11.520
都是死神
link |
19:13.520
所以看起來NLI的問題
link |
19:15.520
對GPT-3來說
link |
19:17.520
還是有些困難
link |
19:19.520
不過GPT-3
link |
19:21.520
他就是一個巨大的language model
link |
19:23.520
所以今天他在學習的過程中
link |
19:25.520
他從來沒有看過什麼NLI的問題
link |
19:27.520
他就只知道
link |
19:29.520
predict下一個詞彙
link |
19:31.520
也許因為在做NLI的任務的時候
link |
19:33.520
我們放在一起的兩個句子
link |
19:35.520
很多時候是
link |
19:37.520
奇怪和矛盾的句子
link |
19:39.520
NLI就是給兩個句子
link |
19:41.520
然後要模型判斷他們有沒有矛盾
link |
19:43.520
所以如果今天是兩個矛盾的句子
link |
19:45.520
放在一起
link |
19:47.520
也許在人類的文字裡面
link |
19:49.520
出現的次數是很少的
link |
19:51.520
所以GPT-2、GPT-3、GPT系列
link |
19:53.520
看到這種接在一起
link |
19:55.520
但是矛盾的句子
link |
19:57.520
他會覺得有些困惑
link |
19:59.520
然後呢
link |
20:01.520
發生了一句有趣的事情
link |
20:03.520
我們今天在訓練
link |
20:05.520
這種巨大的model的時候
link |
20:07.520
資料往往來自於網路
link |
20:09.520
而網路上爬下來的資料
link |
20:11.520
有可能就
link |
20:13.520
包含了我們現在的
link |
20:15.520
testing data
link |
20:17.520
這件事情是有可能
link |
20:19.520
發生的
link |
20:21.520
那本來OpenAI在做這個實驗的時候
link |
20:23.520
他們說他們想要儘量避免
link |
20:25.520
說他們的訓練資料裡面
link |
20:27.520
有混雜到他們的
link |
20:29.520
downstream task的資料
link |
20:31.520
但是
link |
20:33.520
他們在寫程式的時候
link |
20:35.520
有一個bug
link |
20:37.520
所以他們沒有成功的把訓練資料裡面
link |
20:39.520
所有跟他們的downstream task
link |
20:41.520
有overlap的資料都拿掉
link |
20:43.520
但是
link |
20:45.520
這個bug太嚴重了
link |
20:47.520
無法想像犯了這個錯誤的researcher
link |
20:49.520
他心裡壓力有多大
link |
20:51.520
接下來他說因為due to the training cost
link |
20:53.520
it wasn't feasible to train the model
link |
20:55.520
GPT-3太大了
link |
20:57.520
有一個bug
link |
20:59.520
沒辦法重train
link |
21:01.520
只能夠就這樣了
link |
21:03.520
link |
21:05.520
這個model太大了
link |
21:07.520
有bug無法重train
link |
21:09.520
但是怎麼辦呢
link |
21:11.520
雖然沒有辦法重train
link |
21:13.520
那我們就改一下testing data
link |
21:15.520
所以他們說他們把他們的
link |
21:17.520
downstream task的data
link |
21:19.520
分成clean data
link |
21:21.520
跟dirty data
link |
21:23.520
所謂clean data的意思就是說
link |
21:25.520
GPT-3在訓練的時候
link |
21:27.520
真的沒有看過
link |
21:29.520
那dirty data就是GPT-3在訓練的時候
link |
21:31.520
其實也看不到
link |
21:33.520
那今天呢
link |
21:35.520
如果
link |
21:37.520
這些點在
link |
21:39.520
這一個水平線
link |
21:41.520
之下的話
link |
21:43.520
就代表說今天有看到
link |
21:45.520
dirty data的performance
link |
21:47.520
有比較好
link |
21:49.520
在水平線之上的話
link |
21:51.520
就代表說其實給GPT-3
link |
21:53.520
dirty data的performance比較好
link |
21:55.520
也就是說今天有一些混雜的資料
link |
21:57.520
對他來講他也沒佔到什麼便宜
link |
21:59.520
那你會發現說
link |
22:01.520
多數的任務啊
link |
22:03.520
他的performance都集中在這條水平線上
link |
22:05.520
也就是說
link |
22:07.520
今天訓練資料有沒有被污染
link |
22:09.520
訓練資料有沒有
link |
22:11.520
混雜到downstream task的資料
link |
22:13.520
對GPT-3來說
link |
22:15.520
也許影響並沒有那麼大
link |
22:17.520
所以有一個bug就算了
link |
22:19.520
然後
link |
22:21.520
現在有了這麼多
link |
22:23.520
巨大的
link |
22:25.520
碩大無窮的model
link |
22:27.520
但是他們到底
link |
22:29.520
能夠了解人類的語言
link |
22:31.520
到什麼樣的程度呢
link |
22:33.520
所以就有了一個比賽
link |
22:35.520
叫做Turing Advice Challenge
link |
22:37.520
那這個跟
link |
22:39.520
現在要講這個東西跟GPT-3沒有什麼關係
link |
22:41.520
只是想到說
link |
22:43.520
現在有這麼多巨大的model
link |
22:45.520
這些巨大的model
link |
22:47.520
他們都理解人類的語言
link |
22:49.520
到了一個不錯的程度
link |
22:51.520
但他們到底
link |
22:53.520
理解人類的語言
link |
22:55.520
到什麼樣的程度了呢
link |
22:57.520
他們可以跟人類一樣
link |
22:59.520
知道怎麼使用這些語言嗎
link |
23:01.520
所以有一個比賽
link |
23:03.520
叫做Turing Advice Challenge
link |
23:05.520
這個比賽
link |
23:07.520
要機器去reddit上面
link |
23:09.520
給人類意見
link |
23:11.520
在reddit上面
link |
23:13.520
會有很多po文
link |
23:15.520
有人會po一些感情上的問題
link |
23:17.520
那這個po文
link |
23:19.520
是放在Turing Advice Challenge
link |
23:21.520
paper裡面的例子
link |
23:23.520
那這邊是怎麼說的呢
link |
23:25.520
就是有一個人說
link |
23:27.520
她男朋友跟她交往
link |
23:29.520
八個月
link |
23:31.520
有一天她男朋友說
link |
23:33.520
要給她一個生日禮物
link |
23:35.520
她男朋友就把所有的朋友都召集
link |
23:37.520
就秀出了她的背
link |
23:39.520
她的背上有一個
link |
23:41.520
她女朋友的臉
link |
23:43.520
這個女生問說
link |
23:45.520
她覺得不太行
link |
23:47.520
問要怎麼辦
link |
23:49.520
下面就期待網友
link |
23:51.520
給一些建議
link |
23:53.520
不過這題的答案很簡單
link |
23:55.520
如果把這個問題po在ptt上的話
link |
23:57.520
鄉民一律建議分手
link |
24:05.520
那對機器而言
link |
24:07.520
其實要給出像樣的建議
link |
24:09.520
不太容易
link |
24:11.520
一個typical的狀況
link |
24:13.520
是這個樣子
link |
24:15.520
舉例來說
link |
24:17.520
有人這邊問了一個問題
link |
24:19.520
他說他要上高中的解剖課
link |
24:21.520
但是他很害怕
link |
24:23.520
死掉的動物
link |
24:25.520
那怎麼辦呢
link |
24:27.520
那這邊有一個人呢
link |
24:29.520
給了一個建議
link |
24:31.520
是問問題的人覺得有用的
link |
24:33.520
他是建議說
link |
24:35.520
你可以越級上報
link |
24:37.520
我其實有點不太確定這個建議有沒有用
link |
24:39.520
因為如果在軍中的話
link |
24:41.520
你可能會飛起來
link |
24:43.520
不過至少
link |
24:45.520
這個問問題的人覺得是有用的
link |
24:47.520
這個人建議他越級上報
link |
24:49.520
那機器呢
link |
24:51.520
也給了一個建議
link |
24:53.520
機器怎麼學會給建議呢
link |
24:55.520
機器就是你訓練一個model
link |
24:57.520
這個model呢
link |
24:59.520
就是吃reddit上的一個po文
link |
25:01.520
然後他會想辦法去
link |
25:03.520
模仿這個po文下面的回覆
link |
25:05.520
那在這個比賽裡面
link |
25:07.520
他會提供600k個訓練的資料
link |
25:09.520
也就是600k個reddit上的po文
link |
25:11.520
跟這些po文的回應
link |
25:13.520
然後期待機器可以學會
link |
25:15.520
正確的回應
link |
25:17.520
那這邊是以T5當作例子
link |
25:19.520
那個時候還沒有GPD3啦
link |
25:21.520
如果是今天的話你可能就會想用GPD3試看看
link |
25:23.520
真的能用GPD3試看看嗎
link |
25:25.520
太大了你載下來都有問題啊
link |
25:27.520
那T5的答案是這樣
link |
25:29.520
T5是說
link |
25:31.520
你去跟你的老師說
link |
25:33.520
你想要一個project
link |
25:35.520
可以看到死的動物
link |
25:37.520
這個人就是不想解剖死的動物啦
link |
25:39.520
幹嘛還叫老師給他一個死的動物
link |
25:41.520
然後呢
link |
25:43.520
如果你的老師不聽
link |
25:45.520
就告訴你的校長說
link |
25:47.520
你的外傷
link |
25:49.520
不知道在說些什麼
link |
25:51.520
總之就是不知所云
link |
25:53.520
看起來是合乎文法的句子
link |
25:55.520
看起來像是在講些什麼
link |
25:57.520
但實際上沒有什麼作用
link |
25:59.520
那今天這些巨大的language model
link |
26:01.520
他往往能得到的表現就是這個樣子
link |
26:03.520
這邊有一些真正的
link |
26:05.520
實驗結果
link |
26:07.520
在Turian Advice Challenge裡面呢
link |
26:09.520
就拿了各式各樣的模型
link |
26:11.520
包括Glover
link |
26:13.520
包括T5
link |
26:15.520
未來現在有GPD3了嘛
link |
26:17.520
未來可能就會有人用GPD3
link |
26:19.520
來跟人類的建議
link |
26:21.520
做一下比較
link |
26:23.520
簡單來說
link |
26:25.520
他就是給評分的人
link |
26:27.520
一個Reddit上面
link |
26:29.520
大家公認
link |
26:31.520
大家vote
link |
26:33.520
最好的建議
link |
26:35.520
跟這些model產生出來的建議
link |
26:37.520
做比較
link |
26:39.520
你會發現說就算是T5
link |
26:41.520
人們也只有在
link |
26:43.520
9%的情況下
link |
26:45.520
才覺得T5提出來的建議
link |
26:47.520
是比人提出來的建議
link |
26:49.520
有效的
link |
26:51.520
如果今天比較Reddit上面
link |
26:53.520
評分第一高的建議跟第二高的建議
link |
26:55.520
其實評分第二高的建議
link |
26:57.520
還有40%的機率
link |
26:59.520
仍是覺得有用
link |
27:01.520
但是T5
link |
27:03.520
只有9%的機率
link |
27:05.520
仍是覺得有用
link |
27:07.520
那這個
link |
27:09.520
是想要顯示說今天
link |
27:11.520
如果你想要用這種巨大的language model
link |
27:13.520
來產生一些
link |
27:15.520
來讓機器使用語言
link |
27:17.520
產生一些文字
link |
27:19.520
他可能還跟今天人類對語言的
link |
27:21.520
使用的能力相差甚遠
link |
27:23.520
最近呢
link |
27:25.520
GPD系列的東西
link |
27:27.520
被拿來生成影像
link |
27:29.520
那你說技術上有什麼不同
link |
27:31.520
沒有什麼不同
link |
27:33.520
就是把每一個影像的pixel
link |
27:35.520
當作一個文字
link |
27:37.520
然後train下去
link |
27:39.520
就結束了
link |
27:41.520
這邊甚至沒有用到什麼CNN
link |
27:43.520
之類的
link |
27:45.520
沒有考慮什麼影像的prior knowledge
link |
27:47.520
沒用什麼CNN
link |
27:49.520
在產生影像的時候就直接給GPD
link |
27:51.520
大堆的影像做訓練
link |
27:53.520
GPD就是訓練一行一行的
link |
27:55.520
把影像產生出來
link |
27:57.520
這個叫做Raster Order
link |
27:59.520
就是一行一行的
link |
28:01.520
把影像產生出來
link |
28:03.520
那之所以舉這個例子
link |
28:05.520
是因為我覺得他產生影像還蠻有趣的
link |
28:07.520
舉例來說
link |
28:09.520
這個就是知名的用GAME產生出來的網球狗
link |
28:11.520
如果把網球狗的下半身遮住
link |
28:13.520
要GPD產生出剩下來的東西
link |
28:15.520
他會產生什麼呢
link |
28:17.520
他會幫網球狗
link |
28:19.520
加上四隻腳吧
link |
28:21.520
這個是蜘蛛人
link |
28:23.520
蜘蛛人的床上
link |
28:25.520
有什麼東西呢
link |
28:27.520
蜘蛛人的床上居然有一個女人
link |
28:29.520
不知道她是誰
link |
28:31.520
但是有一個女人
link |
28:33.520
這個貓貓
link |
28:35.520
只給他看眼睛跟耳朵
link |
28:37.520
這個貓在做什麼呢
link |
28:39.520
他居然拿一本書遮住自己的臉
link |
28:41.520
我覺得這個好萌喔
link |
28:43.520
拿一本書遮住自己的臉
link |
28:45.520
好萌喔
link |
28:47.520
你可以在OpenAI的官網上
link |
28:49.520
看到更多的影像
link |
28:51.520
好我們看大家的問題
link |
28:53.520
這個超神秘
link |
28:55.520
貓咪都可以長出手
link |
28:57.520
對他很聰明耶
link |
28:59.520
我其實不知道
link |
29:01.520
這張圖的原圖是什麼
link |
29:03.520
我其實不知道下面本來
link |
29:05.520
應該是長什麼的
link |
29:07.520
但很神奇
link |
29:09.520
這個貓都知道要拿東西耶
link |
29:11.520
他都知道兩個東西拿住這個東西
link |
29:13.520
來遮住自己的臉
link |
29:15.520
感覺很害羞的樣子
link |
29:17.520
上面好像探險活寶老皮
link |
29:19.520
哪個人是老皮啊
link |
29:21.520
你說他手很長像是老皮一樣是嗎
link |
29:23.520
有可能喔
link |
29:25.520
對反正就是這麼回事
link |
29:27.520
GPT真是一個神奇的東西
link |
29:29.520
生影像也是可以
link |
29:31.520
不過像這樣子的生影像的
link |
29:33.520
Work當然是之前有很多了啦
link |
29:35.520
比如說Pixel CNN
link |
29:37.520
所以這其實也沒有什麼特別驚奇的地方
link |
29:39.520
驚奇的地方是說
link |
29:41.520
他直接用GPT
link |
29:43.520
都沒調什麼network的架構
link |
29:45.520
直接把Pixel當作文字
link |
29:47.520
硬串下去
link |
29:49.520
就結束了