0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

大模型學習筆記

處理器與AI芯片 ? 來源:處理器與AI芯片 ? 2024-01-08 10:05 ? 次閱讀

Apple最近發(fā)表了一篇文章,可以在iphone, MAC 上運行大模型:【LLM in a flash: Efficient Large Language Model Inference with Limited Memory】。

50e52fd2-adca-11ee-8b88-92fbcf53809c.png

主要解決的問題是在DRAM中無法存放完整的模型和計算,但是Flash Memory可以存放完整的模型。但是Flash帶寬較低,LLM in Flash通過盡量減少從Flash中加載參數(shù)的數(shù)量,優(yōu)化在DRAM中的內(nèi)存管理,實現(xiàn)在Flash帶寬有限的條件下提高計算速度的目的。

這篇文章很多都是工程上的細節(jié),很少理論。下面是這篇論文的總結(jié),如有不對的地方,歡迎私信。

利用FeedForward 層的稀疏度,只加載FeedForward層輸入非0和預測輸出非0的參數(shù)

通過Window Sliding 只加載增量的參數(shù),復用之前的計算,減少需要加載的參數(shù)。

將up-projection的row和down-projection的column放在一起存放,這樣在flash中可以一次讀取比較大的chunk,提高flash的帶寬利用效率。

如下圖所示,chunk越大,帶寬也就越大,初始加載chunk的latency可以被平攤。

50f29eba-adca-11ee-8b88-92fbcf53809c.png

1. 大模型在FeedForward layer有超過90%的稀疏度。將embedding和attention 矩陣一直保存在DRAM中。Attention 的權(quán)重占據(jù)了model總量的1/3。對于FeedForward Layer,只有非稀疏的部分被動態(tài)的加載進去DRAM。

2. 預測Relu層的稀疏性。在attention層的輸出后面增加low-rank predictor,預測在relu層之后可能是0的元素。

經(jīng)過優(yōu)化后,最終只需要加載2%的FeedForward層的參數(shù)到DRAM中。

50ff0060-adca-11ee-8b88-92fbcf53809c.png

3. Sliding Window

每次滑動窗口,在生成新的token后,刪掉不在window內(nèi)的neuron,增加新的neuron。

51059a38-adca-11ee-8b88-92fbcf53809c.png

上圖右側(cè)為一個window size為5的示意圖,粉色的是要刪除的元素,藍色的是新加入的元素。

上圖左側(cè)是如何在aggregated usage和incremental transfer中保持平衡,window設(shè)置的越大,每次新需要加載neruon也就越少,但是需要在memory中累計保存的空間占用的也就越大。

上圖左側(cè)的目標就是如何讓aggregated usage和incremental transfer都比較小。

譯者疑問:這個window就是Longformer: The Long-Document Transformer中的sliding window嗎?歡迎私信。

4.內(nèi)存管理

內(nèi)存管理也是因為sliding window引入的。

譯者注:

就像c++中vector的維護一樣,如果每次刪除vector中間的一個元素,都需要導致該元素后面所有元素的移動。

下圖描述的就是刪除和加入新neuron的內(nèi)容。

5110e6ea-adca-11ee-8b88-92fbcf53809c.png

最后文章還提出了比較有意思的一點,他們主要進行了稀疏化的優(yōu)化,在計算和加載參數(shù)方面。他們也嘗試了通過和當前neuron關(guān)系緊密的 “closest friend”綁定,每次加載neuron時,也都加載他的closest friend。

作者說但是這樣帶來了負面作用,因為存在一些closest friend是很多neuron的closest friend (譯者注:類似于大眾之友),這些neuron被頻繁的加載到DRAM中,反而降低了性能。

審核編輯:湯梓紅

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

    關(guān)注

    40

    文章

    2298

    瀏覽量

    183204
  • Mac
    Mac
    +關(guān)注

    關(guān)注

    0

    文章

    1095

    瀏覽量

    51339
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    2276

    瀏覽量

    2359
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    0

    文章

    264

    瀏覽量

    297

原文標題:大模型筆記【2】 LLM in Flash

文章出處:【微信號:處理器與AI芯片,微信公眾號:處理器與AI芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    PADS應(yīng)用學習筆記

    本內(nèi)容提供了PADS應(yīng)用學習筆記,PADS2007學習及Power PCb使用經(jīng)驗
    發(fā)表于 11-24 10:42 ?1.1w次閱讀

    記錄一下Linux設(shè)備模型學習歷程

    Linux設(shè)備模型學習筆記1KobjectKobject, Kset和KtypeUeventsysfs文件系統(tǒng)wowo這里寫的很好了:內(nèi)核等看wowo寫的很有幫助我寫一下我的理解。記錄一下自己的
    發(fā)表于 02-17 06:05

    Allegro學習筆記

    Allegro學習筆記 不收積分,需要的看下
    發(fā)表于 11-23 17:41 ?0次下載

    模擬電路學習筆記

    模擬電子的相關(guān)知識學習教材資料——模擬電路學習筆記
    發(fā)表于 09-20 16:10 ?0次下載

    PADS_2007學習筆記

    PADS_2007學習筆記
    發(fā)表于 01-16 13:54 ?18次下載

    Ansoft學習筆記

    ansoft學習筆記與常見問題
    發(fā)表于 03-23 10:24 ?0次下載

    Java設(shè)計模式學習筆記

    Java設(shè)計模式學習筆記
    發(fā)表于 09-08 10:15 ?5次下載
    Java設(shè)計模式<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    ARM學習筆記

    ARM學習筆記
    發(fā)表于 10-13 14:28 ?3次下載
    ARM<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    機器學習的個人學習筆記

    本文檔的主要內(nèi)容詳細介紹的是機器學習的個人學習筆記免費下載。
    發(fā)表于 03-01 09:28 ?22次下載
    機器<b class='flag-5'>學習</b>的個人<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    Altera FPGA CPLD學習筆記

    Altera FPGA CPLD學習筆記(肇慶理士電源技術(shù)有限)-Altera FPGA CPLD學習筆記? ? ? ? ? ? ? ? ?
    發(fā)表于 09-18 10:54 ?82次下載
    Altera FPGA CPLD<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    學習筆記】單片機匯編學習

    學習筆記】單片機匯編學習
    發(fā)表于 11-14 18:21 ?15次下載
    【<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>】單片機匯編<b class='flag-5'>學習</b>

    Linux設(shè)備模型學習筆記(1)

    Linux設(shè)備模型學習筆記1KobjectKobject, Kset和KtypeUeventsysfs文件系統(tǒng)wowo這里寫的很好了:http://www.wowotech.net
    發(fā)表于 12-22 18:52 ?0次下載
    Linux設(shè)備<b class='flag-5'>模型</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(1)

    RT-Thread 內(nèi)核學習筆記 - 設(shè)備模型rt_device的理解

    RT-Thread 內(nèi)核學習筆記 - 內(nèi)核對象rt_objectRT-Thread 內(nèi)核學習筆記 - 內(nèi)核對象管理RT-Thread 內(nèi)核學習
    發(fā)表于 01-25 18:19 ?8次下載
    RT-Thread 內(nèi)核<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 設(shè)備<b class='flag-5'>模型</b>rt_device的理解

    Sentaurus TCAD學習筆記

    半導體仿真Sentaurus TCAD 學習筆記,僅供學習
    發(fā)表于 08-07 14:54 ?4次下載

    Allegro學習筆記.zip

    Allegro學習筆記
    發(fā)表于 12-30 09:19 ?6次下載