BioPlayground

🧬
목록으로

HyenaDNA · Enformer: Attention의 이차 병목을 넘어 10만 염기쌍 읽기

Attention의 이차 복잡도 병목을 우회해 10만 염기쌍 이상을 처리하는 HyenaDNA와, CNN-Transformer로 조절 영역을 예측하는 Enformer를 비교합니다.

심화
|
25
|
검증 완료 (2026-07-29)
HyenaDNAEnformerenhancer predictionlong-range regulation
진행률0/120 (0%)

F16~F17이 남긴 숙제 — 길이의 벽

F16의 DNABERT와 F17의 Nucleotide Transformer는 모두 트랜스포머 기반 self-attention을 씁니다. 그런데 self-attention은 서열 길이 nn에 대해 O(n2)O(n^2)의 계산·메모리 비용이 든다는 근본적 한계가 있습니다. 사람 게놈의 인핸서-프로모터 상호작용은 수만~수십만 염기쌍 떨어진 영역 사이에서 일어나는 경우가 흔한데, 기존 트랜스포머로는 이 거리를 감당하기 버겁습니다. F18에서는 이 길이의 벽을 서로 다른 방식으로 넘은 두 모델, HyenaDNAEnformer를 함께 살펴봅니다.

원리 — 두 가지 다른 답: 긴 컨볼루션과 CNN-Transformer 하이브리드

왜 어텐션이 길이에서 무너지는가

self-attention의 계산 비용을 손으로 확인해봅시다. 토큰 nn개짜리 서열에서 모든 토큰 쌍의 attention score를 계산하면

연산량n2\text{연산량} \propto n^2

n=1,000n=1{,}000이면 10610^6번의 쌍별 연산이지만, n=100,000n=100{,}000(10만bp)이 되면

(100,0001,000)2=1002=10,000\left(\frac{100{,}000}{1{,}000}\right)^2 = 100^2 = 10{,}000\text{배}

로 연산량이 폭증합니다. F16·F17이 다룬 모델들이 보통 수천bp 수준의 컨텍스트에 머무는 이유가 바로 이 이차 병목입니다.

HyenaDNA — 긴 컨볼루션으로 서브 이차 복잡도를 노리기

HyenaDNA(2023, Stanford)는 self-attention 대신 **암묵적으로 매개변수화된 긴 컨볼루션(implicit long convolution)**을 서브 이차(sub-quadratic) 시간복잡도로 계산하는 구조를 씁니다. Hyena는 SSM 자체가 아니라 긴 컨볼루션 연산자입니다. 둘 다 attention의 이차 비용을 줄이려는 계열이지만, 구조 이름을 서로 바꿔 부르면 안 됩니다.

Attention:O(n2)HyenaDNA:서브 이차 연산을 목표로 한 긴 컨볼루션\text{Attention}: O(n^2) \quad \longrightarrow \quad \text{HyenaDNA}: \text{서브 이차 연산을 목표로 한 긴 컨볼루션}

이 구조 덕분에 HyenaDNA는 단일 뉴클레오타이드 해상도에서 최대 100만 토큰 문맥으로 사전학습되었다고 보고되었습니다. 실제 처리 시간과 메모리는 구현·하드웨어·모델 크기에 따라 달라지므로, 이 길이를 "무료 GPU에서 바로 실행 가능한 길이"로 해석해서는 안 됩니다.

Enformer — CNN 타워로 압축한 뒤 Transformer로 장거리 관계 보기

Enformer(2021, DeepMind)는 HyenaDNA보다 먼저 등장했으며 접근이 다릅니다. 이 모델의 핵심은 팽창 컨볼루션이 아니라, 입력 서열을 convolutional stem과 convolutional tower로 더 짧은 표현으로 압축한 뒤 그 표현에 Transformer 블록을 적용하는 하이브리드 구조입니다.

196,608 bp 입력÷128 bp/bin=1,536개 압축 위치(개념적 계산)196{,}608\text{ bp 입력} \div 128\text{ bp/bin} = 1{,}536\text{개 압축 위치(개념적 계산)}

Enformer는 196,608bp 입력을 받아 사람·마우스의 기능성 유전체 트랙을 예측합니다. 위 계산처럼 base-pair 해상도의 입력을 더 거친 위치 표현으로 바꾼 뒤 attention을 적용하므로, 모든 염기쌍 쌍에 직접 attention을 계산하는 비용을 피하면서 장거리 문맥을 통합할 수 있습니다.

손 계산 예제: 압축 뒤 attention에 남는 위치 수

196,608bp 입력을 128bp 단위 표현으로 줄인다고 보면 Transformer가 처리할 위치 수는

196,608/128=1,536196{,}608 / 128 = 1{,}536

입니다. 만약 원래 염기쌍 모두에 attention을 걸었다면 쌍별 비교는

196,60823.87×1010196{,}608^2 \approx 3.87 \times 10^{10}

번이지만, 압축 표현 1,536개에 대한 attention은

1,5362=2,359,2961{,}536^2 = 2{,}359{,}296

쌍입니다. 실제 Enformer의 내부 연산은 이 단순 계산보다 복잡하지만, "먼저 압축하고 그 뒤 장거리 관계를 본다"는 설계 이득은 이 비교로 이해할 수 있습니다.

실습: Enformer 사전학습 임베딩으로 조절 영역 신호 확인하기

python
# Colab T4에서 전체 20만bp 입력을 그대로 돌리기는 메모리상 버거울 수 있습니다.
# 여기서는 짧은 구간으로 개념만 확인합니다. 실전 규모는 공식 저장소의 권장 GPU 사양을 참고하세요.
import torch
def make_dna_onehot(seq: str) -> torch.Tensor:
"""DNA 서열을 A/C/G/T 4채널 원-핫 인코딩으로 변환합니다 (Enformer류 입력 형식)."""
mapping = {"A": 0, "C": 1, "G": 2, "T": 3}
onehot = torch.zeros(len(seq), 4)
for i, base in enumerate(seq.upper()):
if base in mapping:
onehot[i, mapping[base]] = 1.0
return onehot
sample_seq = "ACGTACGTGGCCTTAAACGTACGTGGCC"
x = make_dna_onehot(sample_seq)
print(f"입력 텐서 형태: {x.shape}") # (서열 길이, 4)
# 실제 Enformer 추론은 공식 저장소(TensorFlow Hub 또는 HuggingFace 포팅)의
# 전처리·모델 로드 절차를 그대로 따라야 합니다. 여기서는 입력 형식만 재현했습니다.

CS 매핑

  • O(n²) 병목과 압축: self-attention의 이차 복잡도를 긴 컨볼루션 또는 먼저 압축한 잠재 표현으로 우회하는 발상은, 알고리즘 설계에서 브루트포스 O(n2)O(n^2)를 더 작은 문제로 바꾸는 전형적인 최적화 패턴과 같습니다.
  • 표현 해상도와 수용 영역의 교환: Enformer의 convolutional tower는 위치 해상도를 줄이는 대가로 넓은 입력 문맥을 Transformer에 전달합니다. 컴퓨터 비전에서 feature pyramid를 쓰는 것과 유사한 교환입니다.
  • 하이브리드 아키텍처: Enformer가 컨볼루션과 attention을 섞은 것처럼, 순수한 한 가지 연산에 의존하지 않고 서로 다른 연산의 장점을 조합하는 설계는 소프트웨어 아키텍처의 하이브리드 시스템 설계와 같은 논리입니다.

자주 만나는 결함

  • 긴 컨텍스트 = 항상 더 좋은 예측으로 오해: 컨텍스트 윈도우를 넓힌다고 해서 관련 없는 정보까지 유용해지는 것은 아닙니다. 실제 조절 신호가 그 거리에 있는지는 생물학적 검증이 필요합니다.
  • HyenaDNA와 Enformer를 같은 과제용으로 혼동: HyenaDNA는 범용 서열 언어모델링에, Enformer는 특정 조직에서의 유전자 발현량 예측이라는 구체적 회귀 과제에 특화되어 있습니다. 목적에 맞는 모델을 선택해야 합니다.

더 깊게 파고 싶다면

본문은 BPD 연구진이 직접 재구성한 서술입니다. 원 논문과 공식 자료로 심화해봅시다.

  • HyenaDNA 원 논문: Nguyen et al. (2023), HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution, NeurIPS.
  • Enformer 원 논문: Avsec et al. (2021), Effective gene expression prediction from sequence by integrating long-range interactions, Nature Methods 18.
  • Hyena 연산자 배경 논문: Poli et al. (2023), Hyena Hierarchy: Towards Larger Convolutional Language Models, ICML.

길이 문제를 다룬 다음, 다음 편(F19)에서는 이 롱 컨텍스트 발상을 극단까지 밀어붙인 Evo 1과 Evo 2가 100만 염기쌍 문맥을 어떻게 다루는지 살펴봅니다.