Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[RetNet] Retentive Network: A Successor to Tran...
Search
frkake
March 05, 2024
Research
0
330
[RetNet] Retentive Network: A Successor to Transformer for Large Language Models
frkake
March 05, 2024
Tweet
Share
More Decks by frkake
See All by frkake
Removing Reflections from RAW Photos
frkake
0
250
[CorrMLP] Correlation-aware Coarse-to-fine MLPs for Deformable Medical Image Registration
frkake
0
1.5k
Neural Network Diffusion
frkake
0
260
3D Gaussian Splatting for Real-Time Radiance Field Rendering
frkake
0
900
Segment Anything + Alpha
frkake
0
290
Muse: Text-To-Image Generation via Masked Generative Transformers
frkake
0
130
Other Decks in Research
See All in Research
情報技術の社会実装に向けた応用と課題:ニュースメディアの事例から / appmech-jsce 2025
upura
0
310
2026.01ウェビナー資料
elith
0
220
その推薦システムの評価指標、ユーザーの感覚とズレてるかも
kuri8ive
1
320
自動運転におけるデータ駆動型AIに対する安全性の考え方 / Safety Engineering for Data-Driven AI in Autonomous Driving Systems
ishikawafyu
0
130
HoliTracer:Holistic Vectorization of Geographic Objects from Large-Size Remote Sensing Imagery
satai
3
620
[チュートリアル] 電波マップ構築入門 :研究動向と課題設定の勘所
k_sato
0
260
A History of Approximate Nearest Neighbor Search from an Applications Perspective
matsui_528
1
160
Can AI Generated Ambrotype Chain the Aura of Alternative Process? In SIGGRAPH Asia 2024 Art Papers
toremolo72
0
140
An Open and Reproducible Deep Research Agent for Long-Form Question Answering
ikuyamada
0
280
世界モデルにおける分布外データ対応の方法論
koukyo1994
7
1.5k
生成AIとうまく付き合うためのプロンプトエンジニアリング
yuri_ohashi
0
140
SkySense V2: A Unified Foundation Model for Multi-modal Remote Sensing
satai
3
500
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Producing Creativity
orderedlist
PRO
348
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
RailsConf 2023
tenderlove
30
1.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
The agentic SEO stack - context over prompts
schlessera
0
650
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Transcript
(RetNet) Retentive Network: A Successor to Transformer for Large Language
Models 2023/08/04 飯田啄巳
背景:RetNetの目指すところ Transformer 言語モデルのデファクトになってるけど、 👍高パフォーマンス 👎🏽O(N) Complexity 👎🏽Key-Valueストアでメモリ効率悪い 👎🏽シーケンス長いと、レイテンシも悪い Linearized Attention
アテンションスコアのexp(𝑞 ⋅ k)を𝜙 𝑞 ⋅ 𝜙(𝑘)で書き換え、自己回帰推論可能にした 👎🏽性能悪い Recurrent Network 👎🏽学習の並列性ない Others: Attentionを書き換える(S4など) 👎🏽性能悪い RetNet 並列表現 → 👍並列学習 リカレント表現(実装も楽) → 👍メモリと計算の両面でO(1)推論 チャンクごとのリカレント表現(chunkwise recurrent) → 👍長いシーケンスに対応
手法:Retentive Networks 全体の流れ 1. 入力 :𝑥 = 𝑥1 , …
𝑥 𝑥 のシーケンス 2. 各トークンの次元を𝑑𝑚𝑜𝑑𝑒𝑙 にする :𝑋0 = 𝑥1 , … , 𝑥 𝑥 ∈ ℝ 𝑥 ×𝑑𝑚𝑜𝑑𝑒𝑙 3. 自己回帰的に次の状態を推定 :𝑋𝑙 = 𝑅𝑒𝑡𝑁𝑒𝑡𝑙 𝑋𝑙−1 , 𝑙 ∈ 1, 𝐿 こんなイメージ? 𝑑𝑚𝑜𝑑𝑒𝑙 𝑑𝑚𝑜𝑑𝑒𝑙 𝑥1 𝑥2 𝑥3 𝑥 𝑥 MSR (Multi-Scale Retention) FFN (Feed-Forward Network) RetNet
手法:Retentionモジュールの仕組み 状態𝒔𝑛 を介して、𝒐𝑛 を出力 Aの対角化の式 を使うと xPosという相対位置埋め込みの表現形式 𝛾をスカラ化 共役転置 Transformerの式
(並列化可能) リカレントモデルの式 RNNとTransformerの式の関係性を考えてみる ハイブリッド表現(Chunkwise Recurrent Representation) 長いシーケンスの学習効率化 要素数Bのチャンクを作る チャンク内では並列化 チャンク外では再帰 𝑖番目のチャンク 三段階正規化(スケーリング) 未来情報使わないように 近傍の重み強めに
手法:Retentionモジュールの仕上げ(ゲート化・マルチスケール化) マルチヘッド化 マルチスケール化 ヘッドごとに異なる𝛾を使う ヘッドの数 ゲート化 swishを使う 正規化層とかもちゃんと書くと… GroupNormは各ヘッドの出力を正規化(SubLNという方法に基づくらしい) ヘッドごとに異なる𝛾を使うとヘッドごとに分布が変わってくるので、ヘッドごとに正規化
全体まとめ 𝑑𝑚𝑜𝑑𝑒𝑙 𝑑𝑚𝑜𝑑𝑒𝑙 𝑥1 𝑥2 𝑥3 𝑥 𝑥 MSR (Multi-Scale
Retention) FFN (Feed-Forward Network) RetNet さっきのMSR (Multi-Scale Retention)をTransformerブロックみたいに積んで完成! 学習時 parallel(シーケンス内並列化)or chunkwise recurrent(チャンク内並列化) parallel chunkwise recurrent 推論時 recurrentを使う → 自己回帰推論 = O(1)
実装的には 未来情報使わないように 近傍の重み強めに
実装的には 要素数Bのチャンクを作る チャンク内では並列化 チャンク外では再帰
実験:モデルサイズとその性能 パラメータ数 Transformer RetNet 𝑠𝑒𝑙𝑓 𝑎𝑡𝑡𝑒𝑛𝑡𝑖𝑜𝑛 𝑊𝑄 , 𝑊𝐾 ,
𝑊𝑉 , 𝑊𝑂 = 4𝑑2 𝐹𝐹𝑁 = 8𝑑2 𝑖𝑛𝑡𝑒𝑟𝑚𝑒𝑑𝑖𝑎𝑡𝑒 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛 = 4𝑑 𝑅𝑒𝑡𝑒𝑛𝑡𝑖𝑜𝑛 𝑚𝑜𝑑𝑢𝑙𝑒 𝑊𝑄 , 𝑊𝐾 ∈ ℝ𝑑×𝑑, 𝑊𝐺 , 𝑊𝑉 ∈ ℝ𝑑×2𝑑, 𝑊𝑂 ∈ ℝ2𝑑×𝑑 = 8𝑑2 混乱度、低いほうが良いらしい。 (確率分布を比較する指標)
実験:Zero-shot, Few-shotの性能 Transformerよりもいいです
実験:Transformerとのメモリ&スループットの比較 Kernel FusionとFlashAttentionは除外
実験:推論コスト GPUメモリ • TransformerはKVキャッシュで線形に増加 • RetNetは長いシーケンスでも同じ スループット • Transformerは長くなると低下 •
RetNetはずっと高いスループット レイテンシ • Transformerはバッチサイズ大 → レイテンシ遅 • RetNetはずっと速い
実験:周辺技術との関係性と性能比較 Query, Keyが Content-unaware attention free& 位置埋め込みを指数減衰に置換 →再帰 関係性 性能比較
Ablation Study (𝛾 = 1)
None
使い方や実際の実装 切り替えて使う感じ モデルのロード方法は書いてあるケド…運用方法は?