Transformer 與大型語言模型內部機制
環形注意力(ring attention)
環形注意力對長到單一裝置放不下鍵與值的序列,計算「精確」注意力。它把序列分片到一圈(環)裝置上,每個裝置持有一塊查詢、鍵與值,然後讓鍵/值區塊沿環一步步傳遞。每當某裝置收到下一塊,就把該塊對它本地查詢之注意力的貢獻累加進去,於是繞完一整圈後,每個查詢都已對所有鍵做過注意力,而沒有任何單一裝置曾持有整條序列。
關鍵的工程洞見是重疊:它使用 FlashAttention 風格的分塊線上 softmax,讓部分注意力可以增量地合併,並把環的通訊排程安排在注意力計算的背後隱藏。由於每個裝置一次只送出與收到一塊 KV,每個裝置的記憶體對裝置數是常數,總上下文長度隨環的大小線性擴展。這沒有近似,結果與完整注意力完全相同。
這讓上下文視窗只要加裝置就能達到數百萬 token,並能與 FlashAttention 及序列平行(sequence parallelism)在現代長上下文訓練中組合。其成本是通訊量與對低延遲互連的要求;環的延遲受最慢一跳所限,因此拓樸與頻寬都很重要。
又称
另见