李宏毅老師《Pre-train Model》
什么是:Self-supervised Learning
BERT
BERT 能做什么
Mask Input
Next Sentence Prediction(not helpful)
BERT其它的能力
上述的能力,可以認為是一種填空
的能力,那么除了這些,還有哪些有用的能力呢?
BERT能力模型評估
GLUE(General Language Understanding Evaluation)
GLUE是一個自然語言理解(NLU)任務的評測基準,由華盛頓大學 & Google Brain 聯合發布(2018 年)。
就像給 NLP 模型搞期末考試一樣,通過一系列標準化任務,看模型對語言理解能力到底行不行。
GLUE 里都考什么?
GLUE 是一個任務集合(benchmark suite),包含了 9 個子任務,主要考:
- 句子關系判斷
- 情感分類
- 語義相似度
- 推理能力
- 語言蘊含關系
核心任務表:
任務名 | 任務類型 | 簡介 |
---|---|---|
MNLI | 句子蘊含 (NLI) | 判斷兩句話是否蘊含、矛盾或無關 |
QNLI | 問答 NLI | 判斷一句話是否回答了問題 |
QQP | 句子相似度 | 判斷兩個問題是否等價 |
SST-2 | 情感分類 | 判斷句子是積極還是消極 |
CoLA | 語言學可接受性 | 判斷句子是否語法正確 |
MRPC | 句子對等判斷 | 判斷兩句話是否語義等價 |
STS-B | 語義相似度打分 | 給兩個句子相似度打分 (0~5) |
BERT and its Family GLUE scores
TraIning BERT
How to use BERT
Use Case1: 情感分析
Use Case2: 詞性標注
Use Case3: 自然語言蘊含推理
NLI(Natural Language Inference): 給定兩句話,第二句是不是能從第一句推理出來、相矛盾,還是無關?
** NLI 任務通常分類**
標簽 | 含義 | 舉例 |
---|---|---|
Entailment | 蘊含(能推導出來) | A: “所有狗都會叫。” B: “我家狗會叫。” |
Contradiction | 矛盾 | A: “所有狗都會叫。” B: “我家狗從不叫。” |
Neutral | 無關或無法確定 | A: “所有狗都會叫。” B: “我家狗喜歡吃骨頭。” |
Use Case4: 抽取式問答
Extraction-based QA(抽取式問答) 是一種 從給定文本中直接抽取答案片段的問答方法。
特點:
- 給定一段上下文 + 一個問題
- 系統在上下文里找出一段或一句話,作為答案
- 答案必須是原文里的內容(抽取出來,不是生成出來)
舉個例子
上下文:“OpenAI 是一家人工智能研究機構,成立于 2015 年,總部位于舊金山。”
問題: “OpenAI 成立于哪一年?”
抽取式答案: “2015 年”
Why does BERT work?
Contextualized word embedding
Apply BERT to protein,DNA, music classification
Multi-lingual BERT
例:用英文的QA問題訓練,用中文做QA問答
why
這些相同語意的詞,中、英文詞 的詞向量很近.
零樣本閱讀理解
Zero-shot Reading Comprehension(零樣本閱讀理解 )指的是: 不給模型提供任何相似示例,直接讓模型基于上下文和問題,理解語義、判斷答案或生成回答。
例:
-
上下文:“OpenAI 成立于 2015 年,總部在舊金山,專注于 AI 技術研究。”
-
問題: “OpenAI 的總部在哪?”
-
Zero-shot 模型行為:
? 沒有事先見過類似「總部在哪」的訓練樣本
? 依靠語言理解能力,定位上下文中的「總部在舊金山」,直接輸出
它和 Few-shot / Fine-tuning 的區別
類型 | 定義 | 示例 |
---|---|---|
Zero-shot | 完全不給示例,直接回答 | 只給上下文和問題 |
Few-shot | 給幾條類似示例,再回答 | 給 2~5 個 QA 示例 |
Fine-tuning | 預先用大量類似數據微調,提升特定任務能力 | 用大量閱讀理解任務微調好的模型 |
GPT(Generative Pre-trained Transformer)
生成式預訓練 Transformer 模型
Predict Next Token
<BOS>
: begin-of-sentence
How to use GPT
Few-shot/One-shot/Zero-shot Learning
T5
T5全稱: Text-To-Text Transfer Transformer
由 Google AI 團隊 2019 年發布,發表在論文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》
它和 GPT 最大不同
- GPT 是文本 → 文本生成,
偏生成式
- T5 是
·“所有 NLP 任務都統一成 Text-to-Text 格式”
不管是翻譯、分類、問答、摘要,全部都按照這個套路來做:
輸入:一句文本(帶任務提示)
輸出:一句文本(任務結果)
本質上就是一個編碼器-解碼器結構的 Transformer。
T5 典型應用場景
應用場景 | 舉例 |
---|---|
機器翻譯 | translate English to French: How are you? → Comment ?a va ? |
問答系統 | question: Who founded OpenAI? context: OpenAI was founded in 2015 by Elon Musk and Sam Altman. → Elon Musk and Sam Altman |
文本摘要 | summarize: OpenAI is an AI company founded in 2015... → An AI company founded in 2015. |
文本分類 | classify sentiment: I love this product. → positive |
語義相似度 | sts: Sentence A. Sentence B. → 4.5 (打分形式) |
#T5、BERT、GPT 各自區別
模型 | 架構類型 | 輸入-輸出形式 | 典型用途 | 能否生成文本 |
---|---|---|---|---|
BERT | 編碼器-only,雙向編碼 | 文本 → 分類/判斷 | 分類、問答、NER、相似度匹配 | ? |
GPT | 解碼器-only,自回歸生成 | 文本 → 續寫文本 | 對話、文章續寫、代碼生成 | ? |
T5 | 編碼器-解碼器(雙向+自回歸) | 文本 → 文本(統一文本形式) | 翻譯、摘要、問答、分類等多任務 | ? |