
v1 GELU 는 element-wise. 하지만 LLaMA/Mistral/Qwen 의 FFN 은 단순 활성화가 아닌 gated 구조를 씀 — SwiGLU (Shazeer 2020):
swish(x W_gate) 가 0~선형 사이를 softly 골라냄.x W_up 은 활성화 없이 넘김.h.후속에 W_down 을 통과해 원래 차원으로 복귀하는 게 전체 FFN. 이 문제는 SwiGLU 본체만.
함수 swiglu(x, W_gate, W_up) 를 완성하세요.
x shape (N, d).W_gate, W_up shape (d, h).(N, h).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (N, h) | |
| 2 | W_up=0 → 출력 0 | |
| 3 | 큰 음수 gate → 출력 ≈ 0 | swish(-∞)=0 |
| 4 | 큰 양수 gate → swish ≈ x·W_gate → 선형 gated | |
| 5 | x=0 → 출력 0 | swish(0)=0 |
| 6 | 알려진 toy 값 | |
| 7 | element-wise gating (독립 컬럼) |
코드를 작성하고 Run 을 눌러보세요.