詳細解釋
SwiGLU是結合Swish激活和門控線性單元(GLU)的改進前饋層,現代LLM(如Llama、PaLM)使用。
結構:
- 三個線性投影:W₁, W₂, W₃
- 門控:Swish(xW₁) ⊙ (xW₂)
- 輸出:再經W₃
- 類似Transformer FFN但多一個投影
與標準FFN的比較:
- 標準:兩層,ReLU/GELU
- SwiGLU:三投影,Swish門控
- 參數更多,效果通常更好
- 計算稍多但效果提升明顯
歷史:
- GLU:門控機制
- Swish:平滑激活
- SwiGLU:兩者結合
- PaLM首次在Transformer使用
優勢:
- 表達能力:門控機制更靈活
- 訓練穩定:通常收斂更好
- 效果:下游任務通常提升
在現代模型中的應用:
- Llama系列
- PaLM
- 大部分新模型採用