我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
延續 AI說書 - 從0開始 - 93 介紹了 The Corpus of Linguistic Acceptability (CoLA),其核心思想為:如果該句子在語法上不可接受,則該句子被標記為 0,如果該句子語法上可以接受,則該句子被標記為 1。
在 AI說書 - 從0開始 - 94 介紹了 Stanford Sentiment TreeBank (SST-2),其為電影評論,可以對 0(負面)到 n(正面)範圍內的情緒進行分類。
今天來介紹 Microsoft Research Paraphrase Corpus (MRPC),其是一項 GLUE 任務,從網路來源中提取句子對,根據兩個密切相關的屬性對每一對進行註釋,以指示句子是否等效。
如果想要感覺 MRPC 的能力,可以使用下列程式載入模型:
from transformers import AutoTokenizer, TFAutoModelForSequenceClassification
import tensorflow as tf
tokenizer = AutoTokenizer.from_pretrained("bert-base-cased-finetuned-mrpc")
model = TFAutoModelForSequenceClassification.from_pretrained("bert-base-cased-finetuned-mrpc")
classes = ["not paraphrase", "is paraphrase"]
接著使用以下資料進行測試:
sequence_A = "The DVD-CCA then appealed to the state Supreme Court."
sequence_B = "The DVD CCA appealed that decision to the U.S. Supreme Court."
paraphrase = tokenizer.encode_plus(sequence_A, sequence_B, return_tensors = "tf")
paraphrase_classification_logits = model(paraphrase)[0]
paraphrase_results = tf.nn.softmax(paraphrase_classification_logits, axis = 1).numpy()[0]
print(sequence_B, "should be a paraphrase")
for i in range(len(classes)):
print(f"{classes[i]}: {round(paraphrase_results[i] * 100)}%")
至於衡量的基準則選擇 F1 Score,詳見 AI說書 - 從0開始 - 82
測試結果如下: