연산자는 합성곱과 게이트를 번갈아 써
Hyena(Poli et al., 2023.2, ICML 2023, arXiv:2302.10866)는 곱셈 게이트와 암시적 장거리 합성곱을 번갈아 적용해. N차 연산자라면 합성곱 N개와 게이트 N개가 교대로 들어가. 각 필터는 위치 부호화를 받는 작은 FFN이 암시적으로 만들어.
복잡도는 O(L · D · (log L + D))야. L은 시퀀스 길이, D는 모델 차원이고 log L은 FFT에서 나와. 짧은 시퀀스에서는 어텐션의 O(L² · D)와 비용이 비슷해. 차이는 길이가 늘면서 벌어져. 8K 토큰에서는 약 2배 빠르고 64K에서는 100배 빠르다고 보고됐어.
게이트가 비선형 표현력을 채워
합성곱만으로는 어텐션과 경쟁할 비선형 표현력이 부족해. 그래서 Hyena는 합성곱 사이에 곱셈 게이트를 넣어. x ← x * gate(v)이고 v는 토큰마다 학습되는 조절자야. GLU와 SwiGLU에서 보던 종류의 게이트를 Hyena 연산자 안에 넣은 셈이지. 언어 작업에서 경쟁할 표현력을 여기서 얻어.
시퀀스가 길어질수록 속도 차이가 제품 경쟁력이 돼
8K에서 2배 빠른 건 흥미롭지만 판을 뒤집지는 않아. FlashAttention도 단순한 어텐션보다 비슷한 속도 향상을 주거든. 64K에서 100배 차이가 나기 시작하면 배포 선택이 달라져. 메가베이스 규모의 유전체 시퀀스에서는 비교 자체가 사라져. Transformer는 그 길이를 실행하지 못하지만 Hyena는 돌릴 수 있어.