> EulerStack > 튜토리얼 > 믹서 > 4. Hyena 상세

4. Hyena 상세

한 줄 요약

"FFT 기반의 매우 긴 컨볼루션 커널을 작은 신경망(filter generator)으로 생성해서 sub-quadratic 으로 시퀀스를 섞는 연산. Attention 없이 매우 긴 거리 패턴을 인식."

어떻게 동작하나요?

일반적인 1D 컨볼루션을 생각해보세요. 커널 크기 K 를 주면 각 토큰이 주변 K 개 토큰과 섞입니다. Hyena 의 핵심 통찰은: "커널 크기를 시퀀스 전체 길이 N 만큼 크게 하면 매 토큰이 모든 과거 토큰과 섞일 수 있다. 하지만 N 개의 파라미터를 직접 학습하는 건 비효율적이다. 대신 작은 신경망이 N 개 값을 암묵적으로 (implicitly) 생성하게 하자"

구체적으로:

  1. Filter generator: 작은 MLP + 사인파 특성 + 지수 감쇠 윈도우가 있는 함수가 위치 인덱스 t 를 받아서 그 위치의 필터 값 h(t) 를 출력.
  2. FFT 컨볼루션: 이 긴 필터와 입력을 FFT 로 변환 → 원소별 곱 → 역 FFT = 컨볼루션. FFT 덕분에 비용은 O(N log N).
  3. 게이팅/다중 주문: Hyena 연산을 여러 번 반복하며 게이팅을 곱해 표현력 강화.

결과: Attention 없이도 전체 시퀀스에 걸친 장거리 의존성 을 O(N log N) 으로 학습.

장점

단점

어떤 상황에서 빛나는가?

Hyena 는 "텍스트가 아닌 극도로 긴 시퀀스" 에서 진가를 발휘합니다:

EulerStack 에서는 arch_expert_research 프리셋의 Phase 1 (초기 레이어) 에서 mamba 와 함께 사용해 "벌크 토큰 처리" 역할을 맡깁니다 — 초기 레이어는 세부 매칭보다 큰 범위의 구조적 패턴을 포착하는 데 유리하다는 가설입니다.

실제 적용 예

어떤 상황에 유리한가?

상황 Hyena 가 좋은가?
DNA / 오디오 / 긴 센서 데이터 ★★★★★ 원래 용도
LLM 초기 레이어 (벌크 처리) ★★★★ (하이브리드로)
매우 긴 컨텍스트 (≥128K) ★★★★ 선형 스케일
짧은 대화/ICL 중심 태스크 ★★ (Attention 이 나음)
코딩 (정확한 심볼 recall) ★★ (Attention + Mamba 조합이 나음)

EulerStack YAML 예시

layer_templates:
  hyena_layer:
    mixer:
      type: hyena
      hyena:
        depth: 2             # Hyena order (반복 깊이)
        filter_hidden: 64    # filter generator 의 은닉 차원
        filter_decay: 0.0    # 지수 감쇠 강도 (0 = 감쇠 없음)
    ffn:
      type: gated_mlp
      activation: swiglu
    # 주의: Hyena 는 state 가 없어서 state 섹션을 비워둔다

Stage 5 스타일 Phase 1 (mamba + hyena) 예시:

layer_schedule:
  - template: mamba_layer
    repeat: 2
  - template: hyena_layer
    repeat: 1
  - template: mamba_layer
    repeat: 2
  - template: hyena_layer
    repeat: 1

논문 출처