我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
目前我們已經完成:
現在我們來撰寫 Query、Key、Value 權重矩陣的程式,在原始 Google 於 2017 年釋出的 Attention 論文中,Query、Key、Value 這三個矩陣的維度均為 512 x 64 ,前者對應 Embedding + Positional Encoding 後的維度,現在為了方便説明,我們把它們都調整成 4 x 3。
針對 Value 權重矩陣的程式配置如下:
W_Value = np.array([[0, 2, 0],
[0, 3, 0],
[1, 0, 3],
[1, 1, 0]])
整理圖示化結果如下,給定一段句子,假設有三個字,每個字用 4 維度的向量表示,然後配置 Query 、 Key 、 Value 三個矩陣,其維度均為 4 x 3 :