官术网_书友最值得收藏!

1.1.3 關鍵術語

本節將詳細介紹與大模型相關的3個關鍵術語——Token、Prompt和Embedding。這些術語在自然語言處理和機器學習領域中扮演著重要的角色,對于理解和應用大模型至關重要。

1.Token

在大模型中,Token(詞元)是文本中的最小單位,可以代表一個單詞、一個標點符號、一個數字等。Tokenization(分詞)是將一個句子或文本分成多個Token的過程。常用的分詞方法包括BPE(Byte-Pair Encoding,字節對編碼)算法、WordPiece算法和ULM(Uni-gram Language Model,一元語言模型)算法。在第12章中進行開源模型的微調實踐時,在訓練模型前,不僅需要加載模型的權重參數,還需要導入對應的Tokenizer(分詞器)。

在大模型的訓練和應用中,模型將接收的大量Token作為輸入,并對下一個最有可能出現的Token進行預測。如今,很多模型會將Token處理為詞向量(Embedding,也稱為詞嵌入)的形式,這種形式的數據便于在神經網絡中處理。

2.Prompt

這里講解的Prompt偏向于模型的訓練過程,另外,Prompt的形式不拘泥于自然語言,也可以是向量,不同于用戶與模型溝通交互時傳遞的提示詞。此處的Prompt將會給模型提供輸入的上下文信息。在有監督或無監督訓練過程中,Prompt可以幫助模型更好地理解輸入內容并響應。

具體而言,針對情感分類任務,可以在輸入“I love this song”句子后增加提示詞“This song is ___”,將情感分類任務轉變為完形填空任務。模型將輸出“Wonderful”“Moving”等具有情感偏好的形容詞。這種方式可以引導模型輸出更加正確的分類標簽。將上述問題轉化為更一般的形式,對于輸入文本x,通常有專用的函數fforward(x),可以將x轉換為所需的形式。應用模板如下。

[X] This is a [Z] song.

其中,[X]指代輸入文本x的位置,[Z]指代生成文本的位置。

在研究過程中,一般會留下空位置以便模型填充答案。如果空位置在句子中間,一般稱此類提示詞為Cloze Prompt;如果空位置在句末,則稱為Prefix Prompt。總之,通過設計合理的Prompt,經過無監督預訓練的模型也可以處理多種下游任務。

Prompt主要有兩種設計方法——手工設計模板和自動學習模板。

在Prompt發展初期,一般將其稱為一種輸入形式或模板。手工設計模板一般基于自然語言而設計,例如經典的LAMA數據集中包含的Cloze Templates[24]。手工設計模板的優勢是直觀、簡單,但缺點是需要設計人員擁有大量的相關知識和經驗,并且構造速度較慢。

為了解決手工設計模板的缺點,研究人員提出了自動學習模板。自動學習模板可細分為離散提示詞(Discrete Prompt)和連續提示詞(Continuous Prompt)兩類。離散提示詞是指自動生成由自然語言組成的提示詞,因其搜索空間是離散的而得名,常用方法包括Prompt Mining、Prompt Paraphrasing、Gradient-based Search等。而連續提示詞則不把提示詞的形式拘泥于自然語言,向量也可以作為提示詞(通常是可訓練的),因為自然語言并不是模型或機器能直接理解的語言。第6章將要介紹的Prefix tuning方法就屬于連續提示詞類的經典方法。

3.Embedding

在機器學習和自然語言處理領域中,Embedding(詞嵌入,也稱詞向量)是一種將高維度離散數據(如單詞、短語或整個句子等文本數據)映射到低維度連續向量空間的技術。這種映射的目的是捕捉和表征數據的語義與句法特征,使得原本在高維度空間中表示的數據在低維度空間中能夠更加有效地進行處理和分析。

隨著機器學習和自然語言處理技術的快速發展,Embedding得到進一步改進。例如,BERT、ELMo和GPT等模型可以生成上下文相關的向量表示。這些向量不僅捕獲單詞的語義信息,而且融入了上下文信息,可以提高模型對語言的理解能力。

此外,Embedding與向量數據庫的結合使用為大模型的知識檢索和知識補充提供了強大支持。Embedding可以將用戶提問轉化為向量表示,并在向量數據庫(已存入大量知識)中進行相似度計算,取出相似度最高的知識并將其作為提示詞輸入模型中,以實現對模型輸入的有益補充。這種技術在信息檢索、問答系統等方面具有廣泛的應用前景。在11.3.3節中,我們將詳細介紹這一技術的原理及應用案例。

在實際開發過程中,比較常用的生成詞向量的方法包括Word2Vec、GloVe[25]以及OpenAI公司提供的Embedding工具等。

主站蜘蛛池模板: 东方市| 普安县| 井冈山市| 双牌县| 台州市| 绥化市| 凉山| 平塘县| 桐柏县| 大名县| 若尔盖县| 岱山县| 内江市| 沛县| 两当县| 长葛市| 崇礼县| 炉霍县| 清河县| 赣榆县| 文昌市| 百色市| 出国| 周宁县| 修武县| 秦皇岛市| 荣成市| 龙里县| 毕节市| 福泉市| 遵义县| 应用必备| 宁安市| 曲阜市| 西乌| 黄大仙区| 天台县| 南靖县| 筠连县| 新兴县| 涪陵区|