Sliding Window Attention(Longformer)

最簡單的自注意力大家肯定都會啦。

但這種全連接的自注意力(即每個 token 需要 attend 到輸入序列中的所有其他 token)計算與內存開銷是 O ( n 2 ) O(n^2) O(n2) 。為了緩解這個問題,研究者們提出了 Sliding Window Attention。

Sliding Window Attention

如果設置一個 window 大小為 k k k,那么每個 token 只與它前后相鄰的 k k k 個 token 計算注意力。這樣每個 token 的注意力只在局部范圍內計算,計算復雜度從 O ( n 2 ) O(n^2) O(n2) 降低到了 O ( n k ) O(nk) O(nk)(通常 k ? n k \ll n k?n)。

但問題來了:這種方式只能捕獲局部依賴關系,不能直接獲取長距離的信息。

堆疊多個 Sliding Window 層

有沒有辦法“間接”捕獲遠程依賴呢?

我們可以類比 CNN 中“感受野”的概念。通過堆疊多個 sliding window attention 層(比如 3 層,每層都有 window size k k k),第一個 token 的信息就可以被第三層的更遠處的 token 捕獲到。換句話說:

隨著層數增加,感受野擴大,token 之間的間接信息流動也就可能發生。

Dilated Sliding Window Attention(膨脹窗口注意力)

進一步優化思路是:保持窗口大小不變,但每個 token 不再是關注它附近的連續 token,而是“跳躍”地關注,例如每隔 2 個或 4 個位置看一次。

這叫做 Dilated Sliding Window Attention,類似于 CNN 中的 dilated convolution。

它的好處是:在保持同樣計算資源的情況下,感受野可以擴大。

但它的問題是:關注的是稀疏位置,可能忽略掉一些重要的局部細節信息。

Global Attention + Local Attention(Longformer 的核心)

為了解決局部不敏感的問題,Longformer 設計了 混合注意力模式:對大多數 token 只使用 Sliding Window Attention;對少數“重要的 token”(比如 [CLS] 或問題中的 token),使用 Global Attention,它們可以 attend 到所有其他 token,也可以被所有 token attend 到。

這種設計保留了局部建模的效率;又確保了關鍵 token 可以獲取全局信息。

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

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

相關文章

在Window10 和 Ubuntu 24.04LTS 上 Ollama 在線或離線安裝部署

Ollama 是一個開源的大型語言模型(LLM)服務框架,旨在通過輕量化、跨平臺的設計,簡化大模型在本地環境中的部署與應用。其基于 Go 語言開發,通過 Docker 容器化技術封裝模型運行環境,提供類似命令行工具的交…

在Ubuntu系統中安裝桌面環境

在 Ubuntu 系統中安裝桌面環境可以通過包管理器 apt 或工具 tasksel 實現。以下是詳細的安裝方法和常見桌面環境的選擇: --- ### **1. 準備系統更新** 在安裝前,建議更新軟件源和系統包: bash sudo apt update && sudo apt upgrade…

【云備份】服務端業務處理模塊設計與實現

目錄 一. 業務處理模塊的任務 二. 網絡通信接口設計 2.1.文件上傳 2.2.展示頁面獲取 2.3.文件下載 三.業務處理類設計 3.1.業務處理類的代碼框架編寫 3.2.文件上傳代碼編寫 3.3.展示頁面的獲取代碼編寫 3.4.文件下載代碼編寫——下載篇 3.4.文件下載代碼編寫——斷…

基于SpringBoot的漫畫網站設計與實現

1.1項目研究的背景 困擾管理層的許多問題當中,漫畫信息管理一定是不敢忽視的一塊。但是管理好漫畫網站又面臨很多麻煩需要解決,如何在工作瑣碎,記錄繁多的情況下將漫畫網站的當前情況反應給相關部門決策等等。在此情況下開發一款漫畫網站,于是乎變得非常合乎時宜。…

學習記錄:DAY22

假日尾聲:技術進階與自我反思 前言 于是,假日迎來了它的尾聲,把快樂和焦躁都留存在昨天。 我只覺情感的自相矛盾在加重,學習讓我焦躁,縱欲無法填補空虛,于是我的心被拖入了無止盡的拉扯中。 我還沒有找到必…

Oracle OCP認證考試考點詳解083系列07

題記: 本系列主要講解Oracle OCP認證考試考點(題目),適用于19C/21C,跟著學OCP考試必過。 31. 第31題: 題目 解析及答案: 從 Oracle 19c 開始,數據庫配置助手(DBCA)在克…

專業課復習筆記 4

前言 實際上對于我的考研來說,最重要的兩門就是數學和專業課。所以從今天開始,我盡可能多花時間學習數學和專業課。把里面的知識和邏輯關系理解清楚,把常考的內容練習透徹。就這樣。 尋址方式 立即數尋址 操作數在指令里面直接提供了。 …

Go小技巧易錯點100例(三十)

本期分享: 1.切片共享底層數組 2.獲取Go函數的注釋 切片共享底層數組 在Go語言中,切片和數組是兩種不同的元素,但是切片的底層是數組,并且還有一個比較重要的機制:切片共享底層數組。 下面這段代碼演示了切片&…

反轉字符串2

reverse函數的用法(reverse一般是左閉右開區間): 1.反轉數組: int arr[] {1, 2, 3, 4, 5}; int n sizeof(arr) / sizeof(arr[0]); // 反轉數組arr的全部元素 reverse(arr, arr n); 2.反轉字符串: string str "he…

企業可用免費軟件 | 7-Zip,壓縮率比 WinZip 高10%!

7-Zip是一款出色的文件壓縮和存檔工具,但實際上許多小伙伴們并不了解。它是一款開源的免費軟件,目前支持87種語言,適用于所有系統,軟件操作界面也十分簡潔,大部分代碼都在GNU LGPL許可下。除了免費無廣告的優點之外&am…

Gradio全解20——Streaming:流式傳輸的多模態應用(1)——Mistral-7B實現流式傳輸音頻:魔力8號球

Gradio全解20——Streaming:流式傳輸的多模態應用(1)——Mistral-7B實現流式傳輸音頻:魔力8號球 前言本篇摘要20. Streaming:流式傳輸的多模態應用20.1 Mistral-7B實現流式傳輸音頻:魔力8號球20.1.1 工作原…

Qt實現網頁內嵌

文章目錄 一、環境準備 二、代碼實現 三、測試 一、環境準備 首先,確保你的Qt安裝包含了QtWebEngine模塊。我的Qt是5.12.9并且使用MSVC來編譯項目。在項目文件中需要添加以下配置,其中在Qt中配置MSVC,建議去看看這位大佬的博客&#xff1a…

conda管理python環境

其他文章 服務容錯治理框架resilience4j&sentinel基礎應用---微服務的限流/熔斷/降級解決方案-CSDN博客 conda管理python環境-CSDN博客 快速搭建對象存儲服務 - Minio,并解決臨時地址暴露ip、短鏈接請求改變瀏覽器地址等問題-CSDN博客 大模型LLMs的MCP入門-…

Android工廠模式

前言 工廠模式是創建型模式,使我們常用/常見的模式之一。多用于需要生成復雜對象的地方。用new就可以完成創建的對象就無需使用。工廠模式降低了對象之間的耦合度,由于工廠模式依賴抽象的架構,實例化的任務交由子類去完成,所以有…

【AI面試準備】數據驅動測試思維與實踐指南

面試題:數據驅動思維 構建測試數據集:收集代碼覆蓋率、缺陷歷史等數據。 模型訓練優化:使用Jupyter Notebook分析特征重要性。 數據驅動思維是一種以數據為核心、基于數據分析結果進行決策的方法論。它強調通過量化分析、模式識別和預測建模…

內存碎片深度剖析

目錄 什么是內存碎片 內部碎片的解決 malloc STL二級空間配置器 外部碎片的解決 伙伴系統算法 slab分配器 什么是內存碎片 內存碎片是指在內存中存在的一些不連續的、較小的空閑內存塊,這些小塊內存由于太小而無法被有效地分配給程序使用,從而導…

flutter 專題 六十一 支持上拉加載更多的自定義橫向滑動表格

在股票軟件中,經常會看到如下所示的效果(ps:由于公司數據敏感,所以使用另一個朋友的一個圖)。 分析需要后,我先在網上找了下支持橫向滑動的組件,最后找到了這個:flutter_horizontal…

0-1背包問題基礎概念

一、問題描述 給定一個容量為 W 的背包和 n 個物品。每個物品有一個重量 w[i] 和價值 v[i]。每個物品只能選或不選(即“0-1”),求在不超過背包容量的前提下,所能獲得的最大總價值。 輸入: 背包容量 W(in…

使用 Semantic Kernel 快速對接國產大模型實戰指南(DeepSeek/Qwen/GLM)

文章目錄 使用 Semantic Kernel 快速對接國產大模型實戰指南(DeepSeek/Qwen/GLM)一、引言二、環境準備2.1 開發環境2.2 模型服務配置 三、核心代碼實現3.1 會話代碼封裝3.2 CurModelContext封裝3.3 DeepSeek對接示例3.4 Qwen對接示例3.5 GLM對接示例 四、…

Ai時代,運維人如何轉型

在AI時代,傳統運維向智能運維(AIOps)的轉型需要系統性重塑,以下是深度拆解的轉型路線圖和關鍵實施要素: 一、認知升級范式轉變 1. 演進路線模型(三階段) 被動響應階段:人工巡檢(→監控覆蓋率<30%)主動防御階段:規則引擎(→告警準確率70%~85%)預測自治階段:深…