閱讀筆記 | REFORMER: THE EFFICIENT TRANSFORMER

閱讀論文:

Kitaev, Nikita, ?ukasz Kaiser, and Anselm Levskaya. “Reformer: The efficient transformer.” arXiv preprint arXiv:2001.04451 (2020).

背景與動機

這篇論文發表較早,主要關注Transformer的效率問題。標準的Transformer模型在許多自然語言處理任務上取得了最先進的結果,但它在長序列上的訓練和推理代價非常大。主要的計算和內存瓶頸在于自注意力機制中的點積注意力,其復雜度為 O ( L 2 ) \Omicron(L^2) O(L2),其中 L L L是序列長度。隨著 L L L的增大,計算和內存需求急劇增加。因此,Transformer難以擴展到處理長序列的任務。

模型與方法

  1. 引入基于局部敏感哈希(LSH)的近似注意力機制,將自注意力的復雜度從 O ( L 2 ) \Omicron(L^2) O(L2)降低到 O ( L log ? L ) \Omicron(L\log L) O(LlogL),大大減少了內存和計算需求。具體來說,文章首先使用隨機投影作為敏感哈希函數。相似的query和key通過投影轉換后可以映射到相同的哈希桶中。然后根據query和key的哈希值對序列進行排序。相似的query和key會聚集在一起。在排序后的序列上,將每個query塊只與相鄰的幾個query塊計算注意力。這樣可以大約保證每個塊內的query可以attend到相似的key。最后使用多輪不同的哈希函數和注意力計算,綜合多個注意力輸出,可以降低哈希誤差。
  2. 使用17年別人提出的一個可逆殘差網絡取代標準的前饋和殘差連接以減少內存占用。這允許在訓練過程中只需保存每層的一個激活副本,而不是N個副本,其中N是層數。
  3. 將前饋網絡中的激活拆分為多塊分別處理,減小每層的內存占用。

實驗

在拼寫重復、機器翻譯以及圖像生成等多個任務上驗證了Reformer的有效性。結果表明,Reformer模型比標準Transformer有相同的建模能力,但在長序列任務上速度更快,內存占用也少得多。例如,在64K詞元的英文文本建模任務上,12層的Reformer只需要一個GPU就可以高效訓練,而Transformer基本無法進行訓練。

總的來說,Reformer是一個既高效又強大的長序列Transformer模型。它結合了可縮放的近似注意力機制與高效的網絡結構,能夠在單機單卡上處理長度達10萬詞元的任務,為Transformer的工業應用提供了可能性。

個人思考

  • 文章中實現更高效自注意力的方式是尋找近似方法進行替代,這對于后面的改進是有啟發的,因為類似的替代并非只有一種。而且這類改進存在一個好處就是可以在用于電負荷時序預測模型中去帶一個計算與存儲效率的點,這也是前面閱讀的所有時序預測論文都在關注的一個點。
  • 這篇論文也從網絡結構方面對內存消耗進行了優化,對殘差連接進行了優化。在Informer中也對結構進行了關注,具體是改進了decoder的自回歸方式。可見結構方面進行考慮的優化也是大有可為的。此外,幾個最近的Transformer時序預測模型在殘差連接上基本沒有考慮太多,用的是標準殘差連接,可以將可逆殘差連接放到里面試試效果。

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

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

相關文章

數據中臺:數字中國戰略關鍵技術實施

這里寫目錄標題 前言為何要建設數據中臺數據中臺建設痛點數據中臺學習資料聚焦前沿,方法論體系更新與時俱進,緊跟時代熱點深入6大行業,提煉實踐精華大咖推薦,數字化轉型必備案頭書 前言 在數字中國這一國家戰略的牽引下&#xff0…

測試基礎|質量保障體系從1到N的思考

在2023年,重點構建了團隊的質量保障體系,基本完成了從0到1的過程積累,也在多個不同的場合做了相關的分享,收獲了很多同行給的建議和意見。今年的首個工作目標是把這套質量保障體系運營好,去覆蓋更多的團隊,完成從1到N的過程,讓更多的團隊從這個質量體系中獲益,保障基本…

Node插件開發(1)-快速入門

在使用Electron開發客戶端時,如果現有Node模塊所提供的功能無法滿足需求,我們可以使用C開發自定義的Node模塊,也稱插件(addon)。 Node.js插件的擴展名為.node,是二進制文件,其本質上是動態鏈接…

基于springboot+vue的響應式企業員工績效考評系統(源碼+論文)

文章目錄 前言 一、功能設計 1 普通員工功能 2 主管功能 3 系統管理員功能 4 評分標準功能 5 PC端與手機端 6 制圖 二、功能實現 普通員工 1普通員工登錄 2公告板塊 3日志板塊 主管 1主管登錄 2公告板塊 3日志板塊 4績效評分板塊 5個人信息板塊 系統管理員…

TypeScript 日期格式化工具方法

工具方法 創建工具文件:util.ts /*** 獲取時間并格式化函數* param M 格式模板 如: YYYY-MM-DD ...* param Time 可選傳入時間參數 默認為 Now*/ export const getFormatDate (M: string, Time: Date | null | string | number null) > {let date: Date Tim…

在 Linux 環境下安裝 Kibana

目錄 一、Kibana 是什么 二、在 Linux 環境下安裝 Kibana 1、下載安裝包 2、解壓 3、修改 Kibana的配置文件 config/kibana.yml 4、啟動 5、瀏覽器登錄 Kibana 6、測試查詢 一、Kibana 是什么 Kibana 是通向 Elastic 產品集的窗口。 它可以在 Elasticsearch 中對數據進…

品牌推廣的兩種飛輪:非酋飛輪與歐皇飛輪

在品牌推廣的世界里,存在著兩種截然不同的飛輪效應,我們稱之為“非酋飛輪”與“歐皇飛輪”。這兩種飛輪象征著品牌發展的兩種不同路徑和策略,而迅騰文化則以其獨特的“繁”的原則,巧妙地將這兩種飛輪結合,助力品牌形成…

Linux安裝JumpServer并結合內網穿透實現公網訪問本地服務

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

Kubernetes 學習總結(46)—— Pod 不停重啟問題分析與解決

我們在做性能測試的時候,往往會發現我們的pod服務,頻繁重啟,通過kubectl get pods 命令,我們來逐步定位問題。 現象:running的pod,短時間內重啟次數太多。 定位問題方法:查看pod日志 kubectl get event …

【Element】實現基于 Element UI el-tabs 的左右滑動動畫

實現基于 Element UI el-tabs 的左右滑動動畫 引言 在構建現代 web 應用時,為用戶提供平滑的動畫效果是提升用戶體驗的關鍵。本篇博客將詳細介紹如何在使用 Vue 以及 Element UI 時,實現一個具有左右滑動效果的 tab 切換動畫。 使用 el-tabs 創建 tab…

Flutter 中的 SliverGrid 和 GridView:區別與使用場景

在 Flutter 中,SliverGrid 和 GridView 都是用于展示網格布局的組件,但它們有著不同的特點和適用場景。本文將介紹它們之間的區別以及在實際開發中的使用場景。 SliverGrid 和 GridView 的區別 SliverGrid: SliverGrid 是 CustomScrollView …

第十五屆藍橋杯第三期模擬賽題單

目錄 第一題: 第二題: 第三題: 第四題: 第五題: 第六題: 第七題 第八題 第九題 第十題 第一題 【問題描述】 請問 2023 有多少個約數?即有多少個正整數,使得 2023 是這個正整數的整數倍…

FolkMQ 是怎樣進行消息的事務處理?

FolkMQ 提供了二段式提交的事務提交的機制(TCC 模型)。允許生產者在發送消息時綁定到一個事務中并接收事務的管理,以確保消息的原子性(要么全成功,要么全失敗)。在 FolkMQ 中,事務是通過 MqTran…

1、EmlogCms代碼審計

一、SQL注入 1、后臺標簽刪除處存在1處sql注入 漏洞條件 ● 漏洞url: http://emlog6.0.com/admin/tag.php?actiondell_all_tag ● 漏洞參數:tag[xx] ● 是否存在限制:無 ● 是否還有其他條件:actiondell_all_tag,token復現 POST /admin…

擼chatgpt3.5 api backend-api 對接wxbot

功能是實現 web 轉api 對接wxbot用, 直接上代碼, 1.獲取wss url def get_register_websocket():# 請求頭url "https://chat.openai.com/backend-api/register-websocket"payload {}headers {Authorization: Bearer eyJhbGxxxxxxxxxxxxx…

docker的網絡配置

文章目錄 1、網絡模式1.1、bridge模式(默認模式)1.2、host模式 2、bridge模式3、自定義網絡 1、網絡模式 Docker在創建容器時有四種網絡模式:bridge/host/container/none,bridge為默認不需要用–net去指定,其他三種模式需要在創建容器時使用…

【力扣 - 最長連續數組】

題目描述 給定一個未排序的整數數組 nums ,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。 請你設計并實現時間復雜度為 O(n) 的算法解決此問題。 示例 1: 輸入:nums [100,4,200,1,3,2] 輸出&…

Linux命令:uniq命令和wc命令

目錄 1 uniq命令1.1 uniq簡介1.2說明1.3案例1、默認輸出2、輸出重復行3、比較一行中的部分字符4、忽略大小寫5、只顯示唯一的行 2.4 uniq和sort命令配合使用1、文本統計2、統計IP連接數并排序 2 wc命令2.1 wc簡介2.2 說明2.3 案例1、默認輸出2、輸出字節、字符數、單詞數 總結 …

案例介紹:汽車維修系統的信息抽取技術與數據治理應用(開源)

一、引言 在當今汽車產業的快速發展中,軟件已經成為提升車輛性能、安全性和用戶體驗的關鍵因素。從車載操作系統到智能駕駛輔助系統,軟件技術的進步正在重塑我們對汽車的傳統認知。我有幸參與了一個創新項目,該項目專注于開發和集成先進的汽…

關于 svg path 路徑坐標 精度誤差問題

<svg width"2838.739990" height"2482.179932" viewBox"0 0 2838.74 2482.18" fill"none" xmlns"http://www.w3.org/2000/svg" xmlns:xlink"http://www.w3.org/1999/xlink"><path id"矢量 12"…