[PyTorch] 使用 2.0+ 的 SDPA 提昇 Transformer 自注意力機制計算速度
SDPA 介紹
縮放點積注意力(Scaled Dot-Product Attention, SDPA)對於熟悉 Transformer 自注意力架構(Self-Attention)的人來說,恐怕馬上腦海中瞬間就閃過了:
縮放點積注意力(Scaled Dot-Product Attention, SDPA)對於熟悉 Transformer 自注意力架構(Self-Attention)的人來說,恐怕馬上腦海中瞬間就閃過了:
(備註:由於本篇文章自我個人 Hackmd 導入,所以有些符號跟 WordPress 顯示不對位,還請閱讀者多多包涵,Sorry~)
RoPE 是一種通過絕對位置編碼的方式,引入相對位置的資訊給自注意力機制(Self-Attention Mechanism)的位置嵌入。
Read More »[Machine Learning] 旋轉位置嵌入 (Rotary Position Embedding, RoPE)筆記RMSNorm 是對於 LayerNorm 的一種改進,經常用於 Transformer 自注意力機制,旨在減輕梯度消失和梯度爆炸的問題,從而幫助模型更快收斂並提高性能。
Read More »[Machine Learning] RMSNorm 筆記高斯誤差線性單元(Gaussian Error Linear Unit, GELU)是一種機器學習中會使用到的激活函數。跟經典的 ReLU(Rectified Linear Unit)雖然相像卻有些地方不盡相同。
Read More »[Machine Learning] GELU 激活函數筆記以前我的指導教授常常告訴我,不要僅僅只是使用別人的套件,一定要自己寫過才會有感覺。當時我沒有太多的時間去實現各種我感興趣的技術,光是拼出論文就已經竭盡全力了。但是直到現在仍時常回想教授的諄諄教誨,忍不住開始動手實現 BERT 這一經典架構的 encoder-only transformer 模型。
Read More »[PyTorch] BERT 架構實現筆記提示注入攻擊(prompt injection attack)算是一種新興的資安疑慮問題,主要是發生在大型語言模型(Large Language Model, LLM)或其他 AI 相關領域的攻擊形式。
Read More »提示注入攻擊(prompt injection attack)的防禦筆記我經常會使用我的電腦看全螢幕的影片,並且需要在等下工作時間到時準時回到工作狀態 —— 但尷尬的是我並不喜歡隨時拿起手機查看當前的時間,因為那樣做很麻煩。
Read More »[Linux] 顯示終端機電子時鐘時間的小工具: tty-clock 介紹在使用 PyTorch 進行深度學習模型的建設時,我們免不了一次又一次地調整神經層與輸入輸出的形狀,這顯然是每位 AI 工程師必經的道路 —— 而在 PyTorch 的形狀變換 view()
方法中,顯然存在一個有趣的小陷阱:
RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.Read More »[已解決] RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.
Hadolint 是一個 Dockerfile linter,它可以幫助你在撰寫 Dockerfile 時遵循最佳做法和風格指南。
Read More »[Linux] Hadolint 使用筆記