<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 智能計算 > 設計應用 > 熟悉LLM的重要機制

熟悉LLM的重要機制

作者:高煥堂 時(shí)間:2024-06-11 來(lái)源:EEPW 收藏


本文引用地址:http://dyxdggzs.com/article/202406/459739.htm

1 前言

在前一期里,介紹過(guò)大語(yǔ)言模型()幕后核心的注意力(Attention)機制。本期就來(lái)繼續擴大,介紹大名鼎鼎的轉換器(Transformer)模型。其中,要特別闡述:為什么當今主流都采用<僅譯碼器>(Decoder-Only Transformer)模型。

在 2017 年, 首先在「Attention is All You Need」這篇論文中提出了經(jīng)典的Transformer架構,它內含編碼器(Encoder)和譯碼器(Decoder)兩部分。后來(lái),自從GPT-2之后,整個(gè)大趨勢逐漸轉向<僅譯碼器>(Decoder-Only Transformer)模型。隨著(zhù)的流行,在其應用于下游任務(wù)的微調(Fine-tuning) 過(guò)程中,經(jīng)常會(huì )看到<僅譯碼器>的身影,所以更深刻領(lǐng)會(huì )這個(gè)大趨勢,也更熟悉這個(gè)重要機制,對于LLM 的各項應用是很有幫助的。

2 從典型的Transformer架構說(shuō)起

最初在 2017 年的論文「Attention is All You Need」中介紹,Transformer具有譯碼器(Decoder)和編碼器(Encoder)部分,如圖1。


image.png

圖1

這圖里的左半部分是編譯程序(Encoder)部分,而右半部分是解釋器(Decoder)部分。

剛才提到了,當今主流的GPT模型,由于其在文字生成方面的出色性能,LLM大趨勢是轉向<僅譯碼器>(Decoder-Only Transformer)模型。這種模型的強大之處在于它們不僅能夠模仿類(lèi)似人類(lèi)的文本,而且還能夠創(chuàng )造性地做出回應。他們可以寫(xiě)故事、回答問(wèn)題,甚至進(jìn)行自然流暢的對話(huà)。這種功能使它們在廣泛的應用中非常有用,從聊天機器人和數字助理到內容創(chuàng )建、抽象總結和講故事。

如今,這僅譯碼器架構已經(jīng)是GPT-3、ChatGPT、GPT-4、PaLM、LaMDa和Falcon等主要語(yǔ)言模型的核心了。它專(zhuān)注于生成新內容,而不是解釋或分析所輸入的內容( 如文本)。例如,除了能夠解析人類(lèi)文本的涵意,還能夠創(chuàng )造性地寫(xiě)故事、回答問(wèn)題、以及流暢對話(huà)等。這種功能對于這些大語(yǔ)言模型(LLM)在廣泛應用的效益很大。為什么當今的LLM,主要都采用僅譯碼器架構呢?其原因,除了可提升訓練效率之外,還有在生成任務(wù)上,引入編譯程序的雙向注意力機制并無(wú)太多幫助。于是,大趨勢就逐漸轉向< 僅譯碼器> 模型。

1718065507389198.png

圖2

https://cameronrwolfe.substack.com/p/decoder-only-transformers-the-workhorse

3 認識Decoder-Only Transformer架構

剛才已經(jīng)看到了,上圖-1里的右半部分是解釋器。所以?xún)H譯碼器模型的核心架構反而必較簡(jiǎn)單。它通常是是由多個(gè)具有相同結構的區塊按順序堆棧而成的。在每個(gè)譯碼器區塊(Decoder Block)都包含兩個(gè)主要組件:

1)屏蔽多頭自注意力(Masked, multi-headed attention)層。這是在前一期里介紹過(guò)的注意力機制,它在理解輸入序列的涵意方面扮演非常關(guān)鍵的角色。其中的< 屏蔽>的用意是要確保其預測標記(Token) 時(shí),僅專(zhuān)注于當前位置之前產(chǎn)生的標記,而不考慮之后的標記,這樣可發(fā)揮自回歸(Autoregressive)模型的特性和功能。也就是,它很擅長(cháng)于從句子中前面的單字收集信息,來(lái)預測出下一個(gè)詞的機率估計值( 例如文字接龍)。這是生成式AI的魅力源頭。

2)逐位置的前饋網(wǎng)絡(luò )(Position-wise feed-forward network) 層。這用來(lái)引入非線(xiàn)性的變換,協(xié)助注意力機制( 純線(xiàn)性數據變換) 來(lái)捕捉更復雜的模式和關(guān)系。例如,使用非線(xiàn)性活化函數( 如ReLU 或GeLU 等) 來(lái)讓模型能夠逼近任何函數,以便提供更強的表達能力。它常常放在自注意力層之后,并且添加了有關(guān)序列中每個(gè)標記的位置的信息,這對于理解單字的順序至關(guān)重要。其用意是在每個(gè)序列的位置單獨應用一個(gè)全連接前饋網(wǎng)絡(luò ),所以稱(chēng)為:逐位置(Position-wise)方式。

其中,這個(gè)模型背后的真正驅動(dòng)力,即是上述的多頭自注意力機制。這種機制允許模型在預測每個(gè)標記時(shí)專(zhuān)注于輸入序列的不同部分,從而促進(jìn)上下文相關(guān)文字的生成。

4 以Gemma的<僅譯碼器>模型為例

剛才已經(jīng)介紹了,在每個(gè)譯碼器區塊里,都包含兩個(gè)主要組件:自注意力機制(Attention) 和前饋網(wǎng)絡(luò )(FFN)。其結構如圖2 所示。

其中的歸一化層(Layer Normalization),用來(lái)對網(wǎng)絡(luò )中的每個(gè)神經(jīng)元的輸出進(jìn)行歸一化,使得網(wǎng)絡(luò )中每一層的輸出都具有相似的分布。該技術(shù)應用於每個(gè)子層(自註意力和前饋)之後,可以標準化激活並穩定訓練過(guò)程。

此外,還常添加殘差連接(Residual Connections) 層,它提供了一條捷徑,允許梯度在反向傳播過(guò)程中自由流過(guò)網(wǎng)路,可緩解梯度消失和爆炸的問(wèn)題,并有助于學(xué)習更強大的特征,以及提高訓練過(guò)程的整體易用性和穩定性。

# Gemma 的譯碼器區塊的結構

class RMSNorm(torch.nn.Module):

def __init__(….. ):

#...............................

#...............................

class GemmaMLP(nn.Module):

def __init__( ….. ):

#...............................

#...............................

class GemmaAttention(nn.Module):

def __init__( ….. ):

#...............................

#...............................

class GemmaDecoderLayer(nn.Module):

def __init__( …..):

#...............................

self.self_attn = GemmaAttention(…..)

self.mlp = GemmaMLP(…..)

self.input_layernorm = RMSNorm(…..)

s e l f . p o s t _ a t t e n t ion_ l ayernorm =

RMSNorm(…..)

#...............................

#...............................

基于上述的譯碼器區塊(Decoder Block),就可以依據需求的不同,而有多個(gè)彼此堆棧的譯碼器區塊,如圖3所示。

1718066001466281.png

圖3

https://cameronrwolfe.substack.com/p/decoder-only-transformers-the-workhorse

這樣子,就將多個(gè)區塊堆棧起來(lái),成為一個(gè)僅譯碼器模型了。各層區塊都各負責從輸入數據中提取越來(lái)越抽象的特征。例如,前幾層可能捕捉到局部的相關(guān)性,而更深的層可以捕捉更復雜的遠程依賴(lài)性。這種分層方法讓模型建立輸入數據的豐富表示。

其中,各區塊里的注意機制,讓模型在產(chǎn)生輸出時(shí)專(zhuān)注于輸入序列的各個(gè)不同部分。然后,將多層的自注意力協(xié)同合作,使模型能夠逐步細化這些注意力權重,來(lái)提升對輸入有更細致和上下文感知更廣闊的理解。于是,每個(gè)區塊在輸入數據的分層處理中都發(fā)揮其重要的作用,并協(xié)同合作,來(lái)提升模型掌握復雜依賴(lài)關(guān)系的能力,來(lái)捕捉各種復雜的模式(Pattern)。

例如,在Gemma 的源碼中,將譯碼器區塊( 名為:GemmaDecoderLayer) 疊加起來(lái),成為僅譯碼器模型( 名為:GemmaModel),如下:

# Gemma 的僅譯碼器模型結構

#...............................

#...............................

class GemmaDecoderLayer(nn.Module):

def __init__( …..):

#...............................

self.self_attn = GemmaAttention(…..)

self.mlp = GemmaMLP(…..)

self.input_layernorm = RMSNorm(…..)

s e l f . p o s t _ a t t e n t ion_ l ayernorm =

RMSNorm(…..)

#...............................

#...............................

class GemmaModel(nn.Module):

def __init__(self, config):

#...............................

self.layers = nn.ModuleList()

for _ in range(config.num_hidden_layers):

self.layers.append( GemmaDecoderLayer(…..) )

#...............................

#...............................

從這Gemma的源碼結構而觀(guān)之,盡管這些年來(lái),LLM取得了快速的進(jìn)步,但是其中的核心組成部分仍然保持不變,就是:僅譯碼器架構。

5 結束語(yǔ)

在僅譯碼器模型中,擁有多層互相迭加的譯碼器區塊,將輸入序列進(jìn)行分層,透過(guò)多層處理來(lái)提升從輸入序列中學(xué)習和泛化的能力。這種深度讓模型能處理復雜的依賴(lài)關(guān)系,然后生成高質(zhì)量的作品,即是LLM 魅力的源頭。

(本文來(lái)源于《EEPW》



關(guān)鍵詞: 202406 LLM

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>