色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

聊一聊Transformer中的FFN

深度學習自然語言處理 ? 來源:青稞AI ? 2024-03-13 11:41 ? 次閱讀

作者:潘梓正,莫納什大學博士生

最近看到有些問題[1]說為什么Transformer中的FFN一直沒有大的改動。21年剛入學做ViT的時候就想這個問題,現在讀博生涯也快結束了,剛好看到這個問題,打算稍微寫寫, 也算是對這個地方做一個小總結吧。

1. Transformer與FFN

Transformer的基本單位就是一層block這里,一個block包含 MSA + FFN,目前公認的說法是,

?Attention作為token-mixer做spatial interaction。

?FFN(又稱MLP)在后面作為channel-mixer進一步增強representation。

從2017至今,過去絕大部分Transformer優化,尤其是針對NLP tasks的Efficient Transformer都是在Attention上的,因為文本有顯著的long sequence問題。安利一個很好的總結Efficient Transformers: A Survey [2], 來自大佬Yi Tay[3]。到了ViT上又有一堆attention[4]改進,這個repo一直在更新,總結的有點多,可以當輔助資料查閱。

而FFN這里,自從Transformer提出基本就是一個 Linear Proj + Activation + Linear Proj的結構,整體改動十分incremental。

94eb8810-e05c-11ee-a297-92fbcf53809c.jpg

Transformer Block示意圖 + FFN內部

2. Activation Function

經歷了ReLU, GeLU,Swish, SwiGLU等等,基本都是empirical observations,但都是為了給representation加上非線性變換做增強。

?ReLU對pruning挺有幫助,尤其是過去對CNN做pruning的工作,激活值為0大致意味著某個channel不重要,可以去掉。相關工作可查這個repo[5]。即便如此,ReLU造成dead neurons,因此在Transformer上逐漸被拋棄。

?GeLU在過去一段時間占比相當大,直到現在ViT上使用十分廣泛,當然也有用Swish的,如MobileViT[6]。

?Gated Linear Units目前在LLM上非常流行,其效果和分析來源于GLU Variants Improve Transformer[7]。如PaLM和LLaMA都采用了SwiGLU, 谷歌的Gemma使用GeGLU。

不過,從個人經驗上來看(偏CV),改變FFN中間的activation function,基本不會有極大的性能差距,總體的性能提升會顯得incremental。NLP上估計會幫助reduce overfitting, improve generalization,但是與其花時間改這個地方不如好好clean data。。。目前來說

3. Linear Projections

說白了就是一個matrix multiplication, 已經幾乎是GPU上的大部分人改model的時候遇到的最小基本單位。dense matrix multiplication的加速很難,目前基本靠GPU更新迭代。

不過有一個例外:小矩陣乘法可以結合軟硬件同時加速,比如instant-ngp的tiny cuda nn, 64 x 64這種級別的matrix multiplication可以使得網絡權重直接放到register, 激活值放到shared memory, 這樣運算極快。

94f66ed8-e05c-11ee-a297-92fbcf53809c.jpg

Source: https://github.com/nvlabs/tiny-cuda-nn

但是這對今天的LLM和ViT來講不現實,最小的ViT-Tiny中,FFN也是個192 x (4 x 192)這種級別,更不用說LLM這種能> 10000的。

那為什么Linear Projection在Transformer里就需要這么大?

常見的說法是Knowledge Neurons。tokens在前一層attention做global interaction之后,通過FFN的參數中存放著大量training過程中學習到的比較抽象的knowledge來進一步update。目前有些studies是說明這件事的,如

?Transformer Feed-Forward Layers Are Key-Value Memories[8]

?Knowledge Neurons in Pretrained Transformers[9]

?...

問題來了,如果FFN存儲著Transformer的knowledge,那么注定了這個地方不好做壓縮加速:

?FFN變小意味著model capacity也變小,大概率會讓整體performance變得很差。我自己也有過一些ViT上的實驗 (相信其他人也做過),兩個FC中間會有個hidden dimension的expansion ratio,一般設置為4。把這個地方調小會發現怎么都不如大點好。當然太大也不行,因為FFN這里的expansion ratio決定了整個Transformer 在推理時的peak memory consumption,有可能造成out-of-memory (OOM) error,所以大部分我們看到的expansion ration也就在4倍,一個比較合適的performance-memory trade-off.

?FFN中的activations非低秩。過去convnet上大家又發現activations有明顯的低秩特性,所以可以通過low rank做加速,如Kaiming的這篇文章[10],如下圖所示。但是FFN中間的outputs很難看出低秩的特性,實際做網絡壓縮的時候會發現pruning FFN的trade-off明顯不如convnets,而unstructured pruning又對硬件不友好。

94fa9f9e-e05c-11ee-a297-92fbcf53809c.jpg

Source: Zhang et.al, Accelerating Very Deep Convolutional Networks for Classification and Detection

4. 所以FFN真的改不動了嗎?

當然不是。

我們想改動一個model or module的時候,無非是兩個動機:1)Performance。2)Efficiency。

性能上,目前在NLP上可以做Gated MLP[11], 如Mamba[12]的block中,或者DeepMind的新結構Griffin[13]。

95031dfe-e05c-11ee-a297-92fbcf53809c.jpg

Source: Griffin: Mixing Gated Linear Recurrences with Local Attention for Efficient Language Models

但是難說這個地方的性能提升是不是來自于更多的參數量和模型復雜度。

在CV上,有個心照不宣的trick,那就是加depthwise convolution引入locality,試過的朋友都知道這個地方的提升在CV任務上有多明顯,例如CIFAR100上,DeiT-Ti可以漲接近10個點這樣子。。。

但是呢,鑒于最原始的FFN依然是目前采用最廣泛的,并且conv引入了inductive bias,破壞了原先permutation invariant的sequence(因為卷積要求規整的shape,width x height)。大規模ViT訓練依然沒有采用depthwise conv,如CLIP, DINOv2, SAM, etc。

效率上,目前最promising是改成 **Mixture-of-Expert (MoE)**,但其實。。。GPT4和Mixtral 8x7B沒出來之前基本是Google在solo,沒人關注。當然現在時代變了,Mixtral 8x7B讓MoE起死回生。最近這個地方的paper相當多,簡單列幾個自己感興趣的:

?Soft MoE: From Sparse to Soft Mixtures of Experts[14]

?LoRA MoE: Alleviate World Knowledge Forgetting in Large Language Models via MoE-Style Plugin[15]

?DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models[16]

5. 達到AGI需要什么結構?

目前這個階段,沒人知道一周以后會有什么大新聞,就像Sora悄無聲息放出來,一夜之間干掉U-Net,我也沒法說什么結構是最有效的。

總體上,目前沒有任何結構能真的完全beat Transformer,Mamba 目前 也不行,如這篇[17]發現 copy and paste不太行,scaling和in-context能力也有待查看。

考慮到未來擴展,優秀的結構應該滿足這么幾個東西,個人按重要性排序:

?Scaling Law。如果model很難通過scale up提升性能,意義不大(針對AGI來講)。但是建議大家不要針對這個地方過度攻擊學術界paper,學術界很難有資源進行這種實驗,路都是一步一步踩出來的,提出一個新architecture需要勇氣和信心,給一些寬容。嗯,說的就是Mamba。

?In-Context Learning能力。這個能力需要強大的retrieval能力和足夠的capacity,而對于Transformer來講,retrieval靠Attention,capacity靠FFN。scaling帶來的是兩者協同提升,進而涌現強大的in-context learning能力。

?Better Efficiency。說到底這也是為什么我們想換掉Transformer。做過的朋友都知道Transformer訓練太耗卡了,無論是NLP還是CV上。部署的時候又不像CNN可以做bn conv融合,inference memory大,low-bit quantization效果上也不如CNN,大概率是attention這個地方low-bit損失大。在滿足1,2的情況下,如果一個新結構能在speed, memory上展現出優勢那非常有潛力。Mamba能火有很大一部分原因是引入hardware-aware的實現,極大提升了原先SSM的計算效率。

?Life-long learning。知識是不斷更新的,訓練一個LLM需要海量tokens,強如OpenAI也不可能每次Common Crawl[18]放出新data就從頭訓一遍,目前比較實際的方案是持續訓練,但依然很耗資源。未來的結構需要更高效且持久地學習新知識。

Hallucination問題我反倒覺得不是大問題,畢竟人也有幻覺,比如對于不知道的,或自以為是的東西很自信的胡說一通,強推Hinton懟Gary Marcus這個視頻[19]。我現在寫的東西再過幾年回來看,說不定也是個Hallucination。。。

總結: FFN因為結構最簡單但是最有效,被大家沿用至今。相比之下,Transformer改進的大部分精力都在Attention這個更明顯的bottleneck上,有機會再寫個文章聊一聊這里。

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4860

    瀏覽量

    130165
  • Transformer
    +關注

    關注

    0

    文章

    147

    瀏覽量

    6273
  • nlp
    nlp
    +關注

    關注

    1

    文章

    489

    瀏覽量

    22361

原文標題:聊一聊Transformer中的FFN

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    從焊接角度,設計PCB的5個建議

    完成個電路板,需要PCB工程師、焊接工藝、焊接工人等諸多環節的把控。今天通過定位孔、MARK點、留邊、焊盤過孔、輔助工具這五個方面從畫板的角度跟大家PCB設計。
    的頭像 發表于 02-06 10:31 ?2120次閱讀
    從焊接角度<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>,設計PCB的5個建議

    消息隊列技術選型的7種消息場景

    我們在做消息隊列的技術選型時,往往會結合業務場景進行考慮。今天來消息隊列可能會用到的 7 種消息場景。
    的頭像 發表于 12-09 17:50 ?1527次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>消息隊列技術選型的7種消息場景

    AltiumFill,Polygon Pour,Plane的區別和用法

    Fill會造成短路,為什么還用它呢?來AltiumFill,Polygon Pour,Plane的區別和用法
    發表于 04-25 06:29

    stm32的低功耗調試

    前言:物聯網的大部分設備都是電池供電的,設備本身低功耗對延長設備使用至關重要,今天就實際調試總結stm32的低功耗調試。1、stm32在運行狀態下的功耗上圖截圖自stm32l15x手冊
    發表于 08-11 08:18

    7系列FPGA的供電部分

    前幾篇咱們說了FPGA內部邏輯,本篇咱們再聊7系列FPGA的供電部分。首先咱們說spartan7系列,通常咱們需要使用以下電源軌:1,VCCINTFPGA內部核心電壓。其不損壞FPGA器件的范圍
    發表于 11-11 09:27

    平衡小車代碼的實現

    前言今天代碼,只有直立功能的代碼。代碼總體思路給定個目標值,單片機通過IIC和mpu6050通信,得知數據后,根據角度環計算出個P
    發表于 01-14 08:29

    FPGA的片內資源相關知識

    大家好,到了每日學習的時間了。今天我們來FPGA的片內資源相關知識。 主流的FPGA仍是基于查找表技術的,已經遠遠超出了先前版本的基本性能,并且整合了常用功能(如RAM、DCM和DSP)的硬核
    的頭像 發表于 05-25 14:11 ?9073次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>FPGA的片內資源相關知識

    IIC總線設計

    大家好,又到了每日學習的時間了,今天咱們來 IIC 總線設計。 、概述: IIC 是Inter-Integrated Circuit的縮寫,發音為eye-squared cee
    的頭像 發表于 06-22 10:32 ?9435次閱讀

    小米米2月19日停止服務 米宣布關閉服務器

    v8.8.70 及以上版本支持批量導出。 2010年12月10日,反應迅速的小米僅僅用了不到2個月的時間,發布了中國第款模仿kik的產品——米。Kik是款基于手機通信錄的社交軟件,用戶可以免費短信聊天。 2012年5月,
    的頭像 發表于 01-20 05:43 ?6797次閱讀

    復活了 能維持多久?

    2021年2月19日,米宣布停服,2021年2月26日,米重新上線。不過這次,米卻是以全新的面貌與大家相見。
    發表于 03-08 16:32 ?1197次閱讀

    FPGA的彩色轉灰度的算法

    大家好,又到了每日學習的時間了,今天我們來FPGA學習可以遇到的些算法,今天就
    的頭像 發表于 04-15 15:47 ?2085次閱讀

    【職場雜談】與嵌入式物聯網架構師幾個話題

    【職場雜談】與嵌入式物聯網架構師幾個話題
    的頭像 發表于 08-23 09:19 ?1513次閱讀
    【職場雜談】與嵌入式物聯網架構師<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>幾個話題

    華為云彈性公網IP的那些事兒

    華為云彈性公網IP的那些事兒 如今,企業上云已成為熱門話題,云可以驅動流程創新和業務創新,成為企業新的利潤增長點,被看成是企業實現數字化轉型的必經之路。彈性公網IP作為種網絡基
    的頭像 發表于 11-21 15:20 ?986次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>華為云彈性公網IP的那些事兒

    簡單DPT技術-double pattern technology

    今天想來簡單DPT技術-double pattern technology,也就是雙層掩模版技術,在目前先進工藝下,這項技術已經應用的很普遍了。
    的頭像 發表于 12-05 14:26 ?2559次閱讀

    芯片設計的NDR是什么?

    今天突然想route相關的問題,講講NDR是什么,我也梳理總結下我對NDR的認識。
    的頭像 發表于 12-06 15:14 ?2703次閱讀

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 国产在线AV一区二区香蕉 | 蜜柚在线观看免费高清官网视频 | 小SB几天没做SAO死了H | 窝窝影院午夜看片毛片 | 久久精品视频在线看 | 久久综合一个色综合网 | 久久re视频这里精品一本到99 | 美女的jj | 一品道门免费高清视频 | 免费看成人毛片 | 国语自产视频在线 | 俄罗斯雏妓的BBB孩交 | 精品国产福利一区二区在线 | 国产人妻麻豆蜜桃色精 | 最近2019年日本中文免费字幕 | 午夜影院费试看黄 | 欧美激情视频一区二区 | 国产精品人妻系列21P | jk制服喷水| 狂操空姐电影 | 内射人妻无码色AV麻豆去百度搜 | 亚洲欧美日韩中字视频三区 | 99久久精品免费看国产免费 | 校园纯肉H教室第一次 | 无人影院在线播放 | 人妻夜夜爽天天爽三区麻豆AV网站 | 国产性夜夜性夜夜爽91 | 日日噜噜噜夜夜爽爽狠狠 | 亚洲精品嫩草AV在线观看 | 色狠狠一区 | 国产真实强被迫伦姧女在线观看 | 综合激情区视频一区视频二区 | 年轻老师毛茸茸自由性 | 国产亚洲福利精品一区 | 四虎国产精品高清在线观看 | 无码国产成人777爽死 | 色悠久久综合 | 脱女学小内内摸出水网站免费 | 中文字幕亚洲无线码高清不卡 | 久久精品美女久久 | 健身房被教练啪到腿软H |