技術專欄|LLaMA家族——模型架構

LLaMA的模型架構與GPT相同,采用了Transformer中的因果解碼器結構,并在此基礎上進行了多項關鍵改進,以提升訓練穩定性和模型性能。LLaMA的核心架構如圖?3.14?所示,融合了后續提出的多種優化方法,這些方法也在其他模型(如?PaLM)中得到了應用。

圖片

圖3.14 LLaMA的模型架構示意圖

模型有以下主要特點:

1.前置的歸一化層(Pre-Normalization)為增強訓練穩定性,LLaMA?采用前置歸一化策略,即在每個?Transformer?子層的輸入之前進行歸一化,而非傳統的后置歸一化。

2.SwiGLU激活函數和降維在前饋層(FFN)中采用用SwiGLU激活函數,替代傳統的ReLU,提升了非線性表達能力和訓練穩定性。前饋層維度減少為2???4d,其表達式down(up(x))×SwiGLU(gate(x)),其中downupgate都是線性層。

3.旋轉式位置編碼(RoPE在查詢(Q)和鍵(K)上應用旋轉式位置編碼,以增強模型對相對位置信息的感知能力。

前置歸一化層詳解

歸一化操作可以協調在特征空間上的分布,更好地進行梯度下降。在神經網絡中,特征經過線性組合后,還要經過激活函數,如果某個特征數量級過大,在經過激活函數時,就會提前進入它的飽和區間(例如sigmoid激活函數),即不管如何增大這個數值,它的激活函數值都在1附近,不會有太大變化,這樣激活函數就對這個特征不敏感。在神經網絡用SGD等算法進行優化時,不同量綱的數據會使網絡失衡,變得不穩定。

歸一化的方式主要包括以下幾種方法:批歸一化(BatchNorm)、層歸一化(LayerNorm)、實例歸一化(InstanceNorm)、組歸一化(GroupNorm)。歸一化的不同方法對比如圖3.15所示,圖中N表示批次,C表示通道,HW表示空間特征。

圖片

圖3.15 歸一化的不同方法對比

1.BatchNorm:在批次方向做歸一化,計算N×H×W的均值,BatchNorm的主要缺點是對批次的大小比較敏感,對小的批次大小效果不好;由于每次計算均值和方差是在一個批次上,所以如果批次太小,則計算的均值、方差不足以代表整個數據分布;同時,對于RNN來說,文本序列的長度是不一致的,即RNN的深度不是固定的,不同的時間步需要保存不同的統計特征,可能存在一個特殊序列比其他序列長很多的情況,這樣在訓練時計算很麻煩。

2.LayerNorm:在通道方向做歸一化,計算C×H×W的均值,LayerNorm中同層神經元輸入擁有相同的均值和方差,不同的輸入樣本有不同的均值和方差,所以,LayerNorm不依賴于批次的大小和輸入序列的深度,因此對于RNN的輸入序列進行歸一化操作很方便,而且作用明顯。

3.InstanceNorm:一個通道內做歸一化,計算H×W的均值,主要用在圖像的風格化遷移;因為在圖像風格化中,生成結果主要依賴于某個圖像實例,所以對整個批次歸一化不適合圖像風格化中,因而對H×W做歸一化,可以加速模型收斂,并且保持每個圖像實例之間的獨立。

4.GroupNorm:將通道方向分組,然后每個組內做歸一化,計算(C//G)HW的均值,G表示分組的數量;這樣與批次大小無關,不受其約束。當批次大小小于16時,可以使用這種歸一化。

5.SwitchableNorm:將BatchNormLayerNormInstanceNorm結合,賦予權重,讓網絡自己學習歸一化層應該使用什么方法。其使用可微分學習,為一個深度網絡中的每一個歸一化層確定合適的歸一化操作。

旋轉位置編碼詳解

旋轉位置編碼(RotaryPositionEmbeddingRoPE)是一種將相對位置信息融入自注意力機制的位置編碼方法,能夠提升Transformer架構的表達能力和外推性能。受GPTNeo的啟發,LLaMA放棄了傳統的絕對位置編碼,而采用旋轉位置編碼,這種方式已成為當前主流大模型中最常用的相對位置編碼方案之一。

ROPE的核心優勢在于提升模型外推能力——即在訓練與推理時輸入長度不一致的情況下仍具備良好的泛化性能。例如,若模型訓練時僅見過512token的文本,傳統絕對位置編碼方法在推理超過該長度時可能性能驟降,而RoPE能自然延展到更長的輸入序列,適應長文本和多輪對話等任務。

旋轉位置編碼總結如下:

1.保持相對位置信息一致性RoPE可以有效地保持位置信息的相對關系,即相鄰位置的編碼之間有一定的相似性,而遠離位置的編碼之間有一定的差異性。這樣可以增強模型對位置信息的感知和利用,而這正是其他絕對位置編碼方式(如正弦位置編碼、學習的位置編碼等)所不具備的。

2.具備強外推性RoPE可以通過旋轉矩陣來生成超過預訓練長度的位置編碼,顯著提高模型的泛化能力和魯棒性。這是固定位置編碼方式(如正弦位置編碼、固定相對位置編碼等)難以實現的,因為它們只能表示預訓練長度內的位置,而不能表示超過預訓練長度的位置。

3.計算高效,兼容線性注意力RoPE可以與線性注意力機制兼容,即不需要額外的計算或參數來實現相對位置編碼。RoPE?相較于Transformer-XLXLNet等混合編碼方式,具有更低的計算與內存開銷。

RoPE?的實現流程簡述如下:對每個?token,先計算其查詢和鍵向量,再根據其位置信息生成對應的旋轉位置編碼。隨后將查詢和鍵的向量按照兩兩一組進行旋轉變換,最后通過內積計算自注意力分數。此外,RoPE?可從二維推廣至任意維度,進一步拓展其在復雜任務中的應用潛力。

圖片

全文引自《開啟智能對話新紀元:大規模語言模型的探索與實踐》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84626.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84626.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84626.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦插入多塊移動硬盤后經常出現卡頓和藍屏

當電腦在插入多塊移動硬盤后頻繁出現卡頓和藍屏問題時,可能涉及硬件資源沖突、驅動兼容性、供電不足或系統設置等多方面原因。以下是逐步排查和解決方案: 1. 檢查電源供電問題 問題原因:多塊移動硬盤同時運行可能導致USB接口供電不足&#x…

Go 語言實現高性能 EventBus 事件總線系統(含網絡通信、微服務、并發異步實戰)

前言 在現代微服務與事件驅動架構(EDA)中,事件總線(EventBus) 是實現模塊解耦與系統異步處理的關鍵機制。 本文將以 Go 語言為基礎,從零構建一個高性能、可擴展的事件總線系統,深入講解&#…

npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js`

npm install 報錯如下, npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @biomejs/biome@1.9.4 postinstall script. npm ERR! This is pro…

APMPlus × veFaaS 一鍵開啟函數服務性能監控,讓函數運行全程可觀測

資料來源:火山引擎-開發者社區 近年來,無服務器架構(Serverless)的崛起讓開發者得以從基礎設施的復雜性中解放,專注于業務邏輯創新。但隨著采用率提升,新的問題開始出現——函數實例的短暫生命周期、動態變…

瑪哈特零件矯平機:精密制造中的平整度守護者

在精密制造、模具、沖壓、鈑金加工、汽車零部件、航空航天以及電子設備等眾多工業領域,零件的平整度(Flatness)是一項至關重要的質量指標。微小的翹曲、扭曲或彎曲都可能導致裝配困難、功能失效、外觀缺陷甚至影響整機性能。為了消除零件在加…

std::make_shared簡化智能指針 `std::shared_ptr` 的創建過程,并提高性能(減少內存分配次數,提高緩存命中率)

std::make_shared 是 C 標準庫中的一個函數模板,用于簡化智能指針 std::shared_ptr 的創建過程。引入 std::make_shared 的主要原因是提高代碼的安全性、性能和可讀性。以下是詳細分析: 1. 安全性提升 避免顯式調用 new 導致的錯誤 在不使用 std::make…

JDK版本如何絲滑切換

一句話總結 》》》步驟分為: 下載對應JDK配置環境變量 下載JDK 如何下載JDK這里不必多提,提出一點,就是多個版本的JDK最好放在一個文件夾里(忽略我的java文件夾,這里都是不同的jdk版本): 配置環…

Rust 通用代碼生成器:蓮花,紅蓮嘗鮮版三十六,啞數據模式圖片初始化功能介紹

Rust 通用代碼生成器:蓮花,紅蓮嘗鮮版三十六,啞數據模式圖片初始化功能介紹 Rust 通用代碼生成器蓮花,紅蓮嘗鮮版三十六。支持全線支持圖片預覽,可以直接輸出帶圖片的啞數據模式快速原型。啞數據模式和枚舉支持圖片。…

45. Jump Game II

目錄 題目描述 貪心 題目描述 45. Jump Game II 貪心 正向查找可到達的最大位置 時間復雜度O(n) class Solution { public:int jump(vector<int>& nums) {int n nums.size();if(n 1)return 0;int cur_cover 0;int cover 0;int res 0;for(int i 0;i < …

model.classifier 通常指模型的分類頭 是什么,詳細舉例說明在什么部位,發揮什么作用

model.classifier 通常指模型的分類頭 是什么,詳細舉例說明在什么部位,發揮什么作用 在深度學習模型中,分類頭(Classifier Head)是指模型末端用于完成分類任務的組件,通常是一個或多個全連接層(線性層)。它的作用是將模型提取的高層語義特征映射到具體的分類標簽空間。…

機器學習+城市規劃第十四期:利用半參數地理加權回歸來實現區域帶寬不同的規劃任務

機器學習城市規劃第十四期&#xff1a;利用半參數地理加權回歸來實現區域帶寬不同的規劃任務 引言 在城市規劃中&#xff0c;如何根據不同地區的地理特征來制定有效的規劃方案是一個關鍵問題。不同區域的需求和規律是不同的&#xff0c;因此我們必須考慮到地理空間的差異性。…

Kivy的ButtonBehavior學習

Kivy的ButtonBehavior學習 ButtonBehavior 簡介1、主要特點2、基本用法3、主要事件4、常用屬性5、方法代碼示例 文檔&#xff1a;https://kivy.org/doc/stable/api-kivy.uix.behaviors.button.html#kivy.uix.behaviors.button.ButtonBehavior ButtonBehavior 簡介 ButtonBeha…

WPS中將在線鏈接轉為圖片

WPS中將在線鏈接轉為圖片 文章目錄 WPS中將在線鏈接轉為圖片一&#xff1a;解決方案1、下載圖片&#xff0c;精確匹配&#xff08;會員功能&#xff09;2、將在線鏈接直接轉為圖片 一&#xff1a;解決方案 1、下載圖片&#xff0c;精確匹配&#xff08;會員功能&#xff09; …

API:解鎖數字化協作的鑰匙及開放實現路徑深度剖析

API:解鎖數字化協作的鑰匙及開放實現路徑深度剖析 一、API 的概念與本質 (一)定義與基本原理 API(Application Programming Interface,應用程序編程接口)是一組定義、協議和工具,用于構建和集成軟件應用程序。它如同一個精心設計的合約,詳細規定了軟件組件之間相互交…

Azure 虛擬機端口資源:專用 IP 和公共 IP Azure Machine Learning 計算實例BUG

## 報錯無解 找不到Azure ML 計算實例關聯的 NSG .env 文件和 ufw status&#xff1a; .env 文件中 EXPOSE_NGINX_PORT8080 是正確的&#xff0c;它告訴 docker-compose.yaml 將 Nginx 暴露在宿主機的 8080 端口。 sudo ufw status 顯示 Status: inactive&#xff0c;意味著宿…

深入理解Python協程:async def、async for、await、yield詳解

前言 在現代編程中&#xff0c;異步編程已成為提高程序效率和性能的重要方式。 Python 作為一種流行的編程語言&#xff0c;自然也提供了強大的異步編程支持。 本文將詳細介紹 Python 中的協程&#xff0c;以及 async def、async for、await 和 yield 等關鍵字的使用。 協程簡介…

基于功能基團的3D分子生成擴散模型 - D3FG 評測

D3FG 是一個在口袋中基于功能團的3D分子生成擴散模型。與通常分子生成模型直接生成分子坐標和原子類型不同&#xff0c;D3FG 將分子分解為兩類組成部分&#xff1a;官能團和連接體&#xff0c;然后使用擴散生成模型學習這些組成部分的類型和幾何分布。 一、背景介紹 D3FG 來源…

寫一個shell腳本,把局域網內,把能ping通的IP和不能ping通的IP分類,并保存到兩個文本文件里

寫一個shell腳本&#xff0c;把局域網內&#xff0c;把能ping通的IP和不能ping通的IP分類&#xff0c;并保存到兩個文本文件里 腳本1 #!/bin/bash #定義變量 ip10.1.1 #循環去ping主機的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…

如何提升企微CRM系統數據的準確性?5大核心策略詳解

在數字化客戶管理時代&#xff0c;企微CRM管理系統已成為企業連接客戶的核心平臺。但據統計&#xff0c;73%的企業因數據質量問題導致客戶分析失真、營銷效果下降。本文將深入解析影響數據準確性的關鍵因素&#xff0c;并提供可落地的優化方案&#xff0c;幫助企業在企微CRM軟件…

Unity輕松實現麥克風錄音與播放

文章目錄 概要錄音&#xff0c;播放音頻注意事項參考 概要 之前有想寫一個音樂播放的器的音頻功能&#xff0c;一直沒做&#xff0c;最近突然想寫&#xff0c;就寫了 錄音&#xff0c;播放 在語言模型中&#xff0c;編碼器和解碼器都是由一個個的 Transformer 組件拼接在一起…