人工智慧已成為近年來最受關注的話題之一,由於神經網路的發展,曾經被認為純粹是科幻小說中的服務現在正在成為現實。從對話代理到媒體內容生成,人工智慧正在改變我們與技術互動的方式。特別是機器學習 (ML) 模型在自然語言處理 (NLP) 領域取得了重大進展。一個關鍵的突破是引入了「自註意力」和用於序列處理的Transformers架構,這使得先前主導該領域的幾個關鍵問題得以解決。
在本文中,我們將研究革命性的Transformers架構以及它如何改變NLP,我們也將全面回顧從BERT到Alpaca的Transformers模型,重點介紹每種模型的主要特徵及其潛在應用。
第一部分是基於Transformer編碼器的模型,用於向量化、分類、序列標記、QA(問答)、NER(命名實體識別)等。
Transformer 編碼器,wordpiece tokenization(30K 詞彙量)。輸入嵌入由三個向量組成:標記向量、可訓練位置向量和片段向量(第一個文字或第二個文字)。模型輸入是 CLS 標記嵌入、第一個文字的嵌入和第二個文字的嵌入。
BERT 有兩個訓練任務:Masked Language Modeling (MLM) 和 Next Sentence Prediction (NSP)。在 MLM 中,15% 的令牌被屏蔽,80% 被 MASK 令牌替換,10% 被隨機令牌替換,10% 保持不變。模型會預測正確的 令牌,而損失僅在這 15% 的屏蔽令牌上計算。在 NSP 中,模型預測第二個文字是否跟在第一個文字之後。預測是在 CLS 令牌的輸出向量上進行的。
為了加快訓練速度,首先90%的訓練在序列長度為 128 個標記上進行,然後剩下的10% 的時間在 512 個標記上訓練模型以獲得更有效的位置嵌入。
BERT的改進版本,它只在MLM上訓練(因為NSP被認為不太有用),訓練序列更長(512個令牌)。使用動態屏蔽(當再次處理相同的資料時,不同的令牌被屏蔽),訓練超參數是精心選擇的。
訓練多語言模型的方法之一是使用不同的基本模型(目前最受歡迎的模型是基於RoBERTa的XLM-R)。在最初的XLM中,所有語言都有一個共享的BPE詞彙表。
XLM 有兩個訓練任務:MLM和翻譯。翻譯本質上與一對文本上的 MLM 相同,但文本是彼此的平行翻譯,具有隨機掩碼和段嵌入編碼語言。
此模型設計用於處理長序列,主要有兩個想法:片段的循環處理和相對位置編碼。
長文本被分成幾個片段,每次處理一個片段。前段的輸出被緩存,在計算當前段中的自我關注時,鍵和值是基於當前段和前一段的輸出計算的(只是簡單地連接在一起)。梯度也只在當前段內計算。
這種方法不適用於絕對位置。所以模型中重新參數化了注意力權重公式。絕對的位置編碼向量被固定的矩陣取代,該矩陣基於標記位置之間距離的正弦值和對所有位置共有的可訓練向量。
將知識圖譜中有關命名實體的資訊嵌入到 BERT 中。輸入由一組文字標記和一組實體標記組成(每個標記代表整個實體)。文字標記由 BERT 編碼。在 BERT 之上,有一組 K 編碼器區塊(約佔網路參數的 3%)。在這些區塊中:
在預訓練期間,計算三種損失:MLM、NSP 和來自令牌的實體預測(如自編碼器),自編碼器使用下列規則:
預訓練模型可以像常規 BERT 模型一樣微調(有 CLS 令牌)。也可以使用額外的程序進行微調以確定實體及其類型之間的關係。
因為BERT訓練過程有問題:
XLNet 是基於 Transformer-XL,除了替換語言建模 (PLM) 任務外,它學習在短的上下文中預測標記,而不是直接使用 MASK。這確保了梯度會計算所有標記並消除了對特殊遮罩標記的需求。
上下文中的標記被打亂(例如:可以根據第 i-2個和第i 1個標記預測第 i 個標記),但它們的位置仍然是已知的。這無法透過目前的位置編碼(包括 Transformer-XL)來實現。當嘗試在給定上下文的一部分的情況下預測令牌的機率時,模型不應該知道本身的令牌,但應該知道令牌在上下文中的位置。為了解決這個問題,他們將self-attention 分成兩個流:
在微調期間,如果忽略查詢向量,模型將像常規的 Transformer-XL 一樣運作。
在實務上該模型的要求情境必須足夠長,以便模型能夠正確學習。它在與 RoBERTa 相同數量的數據上學習,結果相似,但由於實現的複雜性,該模型並沒有像 RoBERTa 那樣流行。
在不犧牲品質的情況下簡化BERT:
模型在MLM和句子順序預測(SOP)上進行訓練。
另一種最佳化BERT的方法是蒸餾:
基於BERT的多語言向量化模型。它在MLM和TLM上進行訓練(20%的標記被屏蔽),然後對其進行微調。它支援100多種語言,包含500K個標記的詞彙表。
使用生成對抗方法加速BERT訓練:
訓練資料的數量與RoBERTa或XLNet相同,並且模型比BERT、RoBERTa和ALBERT更快地學習到相似的品質水準。訓練時間越長,它的表現就越好。
另一種將標記向量的內容和位置分離為兩個單獨的向量的模型:
是基於完整Transformers的模型。它的應用範圍非常廣泛:除了上一節的任務外,它還包括會話代理、機器翻譯、邏輯和數學推理、程式碼分析和生成,以及基本上文字生成。最大和“最聰明”的模型通常是基於解碼器架構。此類模型通常在 few-shot 和 zero-shot 模式下無需微調即可表現良好。
解碼器在因果LM的任務上進行訓練(根據左側上下文預測下一個令牌)。從體系結構的角度來看,有一些小的變化:從每個解碼器塊中移除交叉注意層,並使用了LayerNorm
使用的標記器是位元組級BPE (50K詞彙表),沒有使用類似的子字串例如(「dog」、「dog!」、「dog.」)。最大序列長度為 1024。層輸出快取所有先前產生的標記。
在MLM上進行完整的預訓練(15%的令牌被屏蔽),跨度由程式碼遮罩(
LayerNorm在自註意力層和全連接層輸入之前應用。使用相對位置編碼:
位置由可學習的嵌入編碼,其中每個「嵌入」只是在計算注意力權重時添加相應logit的標量。
矩陣B是跨層共享的,但對於不同的自註意力注頭是不同的。
每一層考慮令牌之間的128個距離,其餘的歸零,這樣可以對比訓練期間看到的序列更長的序列進行推理。
標記化使用sentencepece (32K詞彙表)完成,在預訓練期間最大序列長度為512。
另一個完整的transformers,但用GeLU取代了ReLU。訓練它從雜訊文本(AE去雜訊)中預測原始文本,雜訊類型如下:
上面LLaMA 的指導模型。主要重點是使用GPT-3建構資料集的過程:
總共產生了52K個唯一的三元組,並對LLaMA 7B進行了微調。
這是在指令資料上對LLaMA進行微調,但與上面的Alpaca不同的是,它不僅在GPT-3等大型模型生成的數據上進行微調。也資料集的組成為:
與GPT-3相比,沒有質量的增加。但在盲測中,使用者更喜歡Koala 的回答,而不是Alpaca 的回答。
基於文字描述的圖像生成器。擴散模型與transformers 結合在這一領域佔據主導地位,不僅可以產生影像,還可以進行內容操作和解析度增強。
這項工作分兩個階段進行:對圖像的標記進行訓練,然後學習文字和圖像的聯合生成模型。
在第一階段,訓練dVAE,其中將圖像從256x256x3空間轉換為32x32xdim並返回,其中dim是隱藏表示向量的維度。總共有8192個這樣的標記向量,這些標記向量將在模型中進一步使用。
使用的主要模型是稀疏transformer 解碼器。文字令牌和圖像令牌作為輸入,模型學習聯合分佈(Causal LM),之後可以基於文字產生圖像令牌。 dVAE基於這些相同的令牌產生一個映像。文字標記的損失權重是1/8,圖像標記的權重損失是7/8。
對於文字標記,有常規嵌入和位置嵌入,對於圖像標記,有常規的、按列定位的和按行定位的嵌入。文本標記序列的最大長度為256,標記化為BPE (16K詞彙表)。
一種在像素層級操作並由文字控制的擴散模型(DM)。它基於U-Net架構,具有捲積、注意和殘差連接。使用不同的方法來控制生成。使用CLIP獲得的圖像向量和文字向量的標量積
在像素空間中工作的擴散模型,主要包含2個模型:
自編碼器以類似gan的方式進行訓練,在其結果上使用鑑別器,並將額外的正則化表示與標準正態分佈的接近程度。
結果在潛在空間中進入DM解碼:如果條件是一個向量,則在步驟的輸入處與潛在向量連接,如果是一個向量序列,則用於不同U-Net層的交叉注意。對於文字提示使用CLIP向量。
這個通用的模型可以被訓練用於不同的任務:文字到圖像,著色,繪畫,超解析度。
Imagen背後的主要想法是增加文字編碼器的大小比增加DM的大小可以為生成模型帶來更多的好處。所以CLIP被替換為T5-XXL。
本節中的模型通常被稱為多模態模型,因為它們在生成文字的同時能夠分析不同性質的資料。產生的文字可以是自然語言,也可以是一組命令,例如機器人的命令。
一個單獨的圖像編碼器(ViT或CNN) 一個共享解碼器,其中前半部分處理文本,後半部分與圖像編碼器的輸出共同處理文字。
288x288的圖像被切成18x18的區塊,編碼器將其轉換為向量 基於所有這些向量的共享注意力池向量。
解碼器的前半部的輸出是文字向量和序列末端的CLS標記向量,使用sentencepece (64K詞彙表)進行標記化。文字和圖像向量透過交叉注意在解碼器的後半部分合併。
兩個損失的權重分別:
在微調過程中,影像編碼器可以被凍結,只有註意力池可以被微調。
圖片由ViT編碼,輸出向量以及文字令牌和指令被輸入PaLM, PaLM產生輸出文字。
PaLM-E用於所有任務,包括 VQA、物件偵測和機器人操作。
這是一個具有少量已知細節的封閉模型。據推測,它有一個具有稀疏注意力和多模態輸入的解碼器。它使用自回歸訓練和微調RLHF,序列長度從8K到32K。
它已經在人類考試中進行了零樣本和少樣本的測試,並達到了類似人類的水平。它可以立即和逐步解決基於圖像的問題(包括數學問題),理解和解釋圖像,並可以分析和生成程式碼。也適用於不同的語言,包括小語種。
以下是簡短結論。它們可能不完整,或者根本不正確,所以僅供參考。
自動顯示卡不能挖礦以後,各種大型模型蜂擁而至,模型的基數一直在增長,但是簡單的層的增加和數據集的增長被各種更好的技術替代,這些技術允許品質改進(使用外部資料和工具,改進網路結構和新的微調技術)。但是越來越多的工作表明訓練資料的品質比數量更重要:正確選擇和形成資料集可以減少訓練時間並提高結果品質。
OpenAI現在正在走向閉源,他們已經嘗試過不釋放GPT-2的權重但沒有成功。但是GPT4是黑盒,近幾個月來改進和優化開源模型的微調成本和推理速度的趨勢在很大程度上降低了大型私有模型作為產品的價值,開源模型在質量上也正迅速趕上巨頭,這又可以彎道超車了。
最後開源模型的總結如下:
以上,僅供參考。
以上是Transformers回顧 :從BERT到GPT4的詳細內容。更多資訊請關注PHP中文網其他相關文章!