BioPlayground

🧬
목록으로

AlphaFold2가 50년 난제를 이렇게 삼켰다: MSA, Evoformer, 그리고 Triangle Attention

1972년 CASP1 이후 50년간 실험 유일이던 단백질 3D 구조 예측을 DeepMind가 어떻게 통째로 삼켰나. MSA 공진화 정보, Evoformer 48블록, IPA 3D 재구성까지 아키텍처를 뜯어본다.

심화
|
25
|
검증 완료 (2026-07-19)
AlphaFoldprotein structureColabFoldEvoformer
진행률0/5 (0%)

왜 이 편이 Fullstack의 진입점인가

BPD의 F1 티어(Foundation Model) 25편은 모두 이 편의 아이디어에서 뻗어 나온다. ESMFold도, RoseTTAFold2도, Boltz-2도 결국 AlphaFold2가 열어놓은 문 안에서 이 원리를 다르게 구현한 것이다. 그러니 F1 첫 스텝은 다른 파운데이션 모델을 어떻게 다루는지가 아니라 AlphaFold2 자체다.

한 가지 원칙을 미리 정하자. 우리는 DeepMind 논문을 처음부터 끝까지 옮기지 않는다. 그건 원문 Nature 596, 583~589 (2021)이 이미 잘 해내고 있다. 이 편에서 우리는 어느 지점에서 왜 그 선택이 필요했는가를 재구성한다. 궁금하면 편 마지막 큐레이션 링크에서 정통 강의로 원문을 파고 오자.

50년 난제라는 표현이 과장이 아닌 이유

1972년 Christian Anfinsen이 노벨 화학상을 받으며 남긴 문장이 있다.

"단백질의 3차원 구조는 그 아미노산 서열 안에 이미 결정되어 있다."

이 문장이 뜨거워 보이지만, "이미 결정되어 있다"와 "우리가 계산할 수 있다"는 완전히 다른 얘기다. 아미노산 300개짜리 작은 단백질도 이론적으로 접힘 가능한 구조가 $10^300$ 개를 넘는다. 우주 원자 수의 두 배가 넘는다. 레빈탈의 역설(Levinthal's paradox) 이었다. 그런데 세포 안에서는 그게 몇 마이크로초 만에 정확히 하나의 안정 구조로 접힌다.

이 이론적 불가능을 계산하기 위해 반세기 동안 두 캠프가 싸웠다.

  • 물리 기반(ab initio): 원자간 힘의 총합 자유에너지를 최소화. 정확하지만 소분자만 가능.
  • 템플릿 기반(homology modeling): 이미 실험으로 풀린 유사 서열의 구조를 뼈대로 활용. 실용적이지만 새 구조는 못 만듦.

CASP(Critical Assessment of Structure Prediction)라는 격년 대회에서 두 캠프의 최고 알고리즘이 겨루었다. 2018년 CASP13에서 DeepMind의 AlphaFold1이 처음 등장해 GDT_TS 점수 58점을 냈다. 기존 최고가 40점대였다. 놀랐지만 실용성은 아직 부족했다.

2020년 CASP14에서 AlphaFold2가 등장했다. 평균 GDT_TS 92점. 실험 오차와 구별이 안 될 수준이다. 50년 게임이 끝났다.

세 가지 결정적 아이디어

AlphaFold2 아키텍처를 우리가 뜯어봐야 할 세 부분으로 자를 수 있다.

  1. MSA — 공진화의 정보를 안 잃기
  2. Evoformer — MSA와 pair representation을 교차 학습
  3. Structure module (IPA) — 3D 좌표로 재구성

하나씩 보자.

1. MSA — 왜 다중 서열 정렬이 결정적인가

같은 단백질을 여러 종의 게놈에서 뽑아 정렬하면(M25에서 배웠던 MSA), 흥미로운 것이 보인다. 어떤 두 자리는 항상 같이 변한다. A 위치가 valine→isoleucine으로 바뀌면 B 위치도 반드시 이 그레이드로 함께 바뀐다. 왜? 그 두 자리가 3D에서 물리적으로 접촉하고 있기 때문이다. 하나가 커지면 상대도 커져야 상호작용이 유지된다.

이걸 공진화(coevolution) 라고 부른다. MSA에서 통계적으로 이 공진화 시그널을 추출하면, 실험 없이도 어느 잔기가 3D에서 접촉하는지 확률적으로 알 수 있다. 이 아이디어 자체는 2011년경부터 EVfold/GREMLIN이 시도했다. AlphaFold2의 결정적 차이는, MSA 공진화 시그널을 딥러닝 아키텍처에 통째로 삼켜서 표현학습한 것이다.

첫 단계에서 입력 서열을 대규모 데이터베이스(UniRef, MGnify, BFD)와 매핑해 MSA를 만든다. 이게 나중 실무에서 우리를 괴롭힐 병목이다 — 원 AlphaFold2는 HHblits로 몇 시간, ColabFold는 MMseqs2로 몇 분. 왜 그런지는 실습 파트에서.

2. Evoformer — 아키텍처의 심장

Evoformer 블록은 두 가지 표현을 동시에 다룬다.

  • MSA representation: $s \times L \times c$ (서열 $s$개, 위치 $L$개, 채널 $c$개)
  • Pair representation: $L \times L \times c$ (모든 잔기 쌍의 관계)

두 표현이 서로에게 정보를 넘겨준다. MSA에서 공진화 시그널이 pair rep로 흘러가고, pair rep의 기하 제약이 MSA로 되돌아온다. 이걸 48블록 쌓는다.

Evoformer의 진짜 트릭은 Triangle Attention이다. 잔기 $i, j, k$ 세 개가 있을 때, 3D 공간에서 $i$-$j$ 거리와 $j$-$k$ 거리와 $i$-$k$ 거리는 삼각 부등식을 만족해야 한다. $d(i,k) \le d(i,j) + d(j,k)$. 아키텍처에 삼각 제약을 못 박아 넣기 위해, pair rep의 각 셀 $(i, j)$가 업데이트될 때 세 번째 잔기 $k$를 경유하는 정보를 반드시 참조한다. 이게 결과의 기하학적 일관성을 극적으로 안정화한다.

Transformer의 self-attention을 변형한 것인데, DryBench에서 다룬 "attention을 쓸 때 어떻게 도메인 지식을 아키텍처에 박아 넣을 수 있는가"의 교과서적 답이다.

3. IPA (Invariant Point Attention) — 3D 좌표로

Evoformer가 뱉는 것은 여전히 벡터 표현이다. 이걸 실제 3D 좌표(x, y, z)로 바꿔야 한다. 여기서 회전·병진 불변성(equivariance)이라는 제약이 결정적이다. 단백질을 전체적으로 회전하거나 이동해도 접힘 구조는 같아야 한다. 표준 신경망은 이 성질을 자동으로 만족하지 않는다.

Structure module의 IPA(Invariant Point Attention)는 각 잔기를 국소 좌표계(주쇄의 3원자 프레임)로 표현하고, attention 계산이 이 프레임 변환에 대해 불변으로 정의된다. 결과적으로 회전·병진에 안전한 3D 재구성이 가능하다.

여기까지가 대략의 큰 그림이다. 실제 논문은 세부에 훨씬 많은 트릭(recycling, IPA의 대칭, distogram head, MSA row/column attention 등)을 담고 있지만, 위 세 개념만 잡히면 이후 모든 모델 (ESMFold, RoseTTAFold2, Boltz-2 등)이 이걸 어떻게 변형했는지 이해할 수 있다.

실습 — ColabFold로 인슐린 예측

원 AlphaFold2는 최소 32GB VRAM을 요구하지만, ColabFold(Sergey Ovchinnikov · Milot Mirdita)가 이를 무료 T4에 얹었다. 두 트릭:

  1. MMseqs2로 MSA 검색을 클라우드에서 대신 — HHblits 몇 시간을 몇 분으로.
  2. Recycling 감소 · 메모리 최적화 — VRAM 15GB에서 단량체 2500aa까지 예측 가능.

Colab 노트북 하나 열고 시작하자.

python
# ColabFold 설치
!pip install -q "colabfold[alphafold-minus-jax] @ git+https://github.com/sokrypton/ColabFold"
!pip install --upgrade dm-haiku
# JAX GPU 버전 (Colab T4 CUDA에 맞게)
!pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
from colabfold.batch import run
# 인슐린 사슬 A (21 아미노산). 실제 논문 재현하고 싶으면 사슬 A + B 다이머로.
query_sequences = ["GIVEQCCTSICSLYQLENYCN"]
result = run(
query_sequences,
result_dir="./output",
num_models=5, # 5개 모델 앙상블
num_recycles=3, # recycle 3회
use_msa=True, # MMseqs2로 MSA 검색
use_templates=False, # 템플릿 없이 순수 예측
zip_results=False,
)
print(result)

몇 분 후 output/에 다섯 개의 PDB 파일이 나온다. 각 파일 헤더에는 pLDDT 점수(residue-level confidence, 0~100)와 PAE 행렬(pairwise alignment error)이 붙어 있다.

  • pLDDT > 90: 매우 높은 신뢰. 실험 구조와 거의 일치.
  • pLDDT 70~90: 좋은 예측. 국소 구조 신뢰 가능.
  • pLDDT 50~70: 조심. 유연 영역일 가능성.
  • pLDDT < 50: 대체로 disordered. 접힘 정보 없음.

Mol* Viewer(molstar.org)에 PDB를 올려 3D를 돌려보자. 파란색(고신뢰)이 많으면 예측이 안정적이다.

자주 만나는 결함과 리스크

  • 다량체(multimer)를 단량체로 예측 — 인슐린 A사슬만 넣으면 실제 활성 구조를 놓친다. AlphaFold-Multimer 옵션 필수.
  • 긴 서열(단량체 2,500aa · 다량체 4,000aa 초과) 시도 — Colab T4에서 즉시 OOM. 서열을 도메인 단위로 자르거나 유료 GPU.
  • 리간드가 붙는 활성 구조 필요 — AlphaFold2는 리간드 없음 상태로 예측. F07의 Boltz-2를 대신 쓰자.
  • AlphaFold DB에 이미 있는데 재예측alphafold.ebi.ac.uk에 이미 약 2억 개 UniProt 모델이 등록. 검색 먼저.
  • "20억 모델"이라는 인터넷 오정보 — 정확히는 약 2억 개. UniProt 대부분을 덮지만 2,700aa 이상 초대형 단백질은 누락.

CS 매핑

  • Transformer / Self-Attention: DryBench에서 다룬 Attention Is All You Need가 뿌리. AlphaFold2는 그 위에 도메인 지식(삼각 부등식)을 얹은 산업 응용의 정점.
  • Graph Neural Networks: 잔기 노드 + 접촉 엣지로 보면 GNN. Pair rep가 인접 행렬이다.
  • Equivariant Neural Networks: 회전·병진 대칭을 아키텍처에 박아 넣는 것. IPA가 바이오 GNN 진화의 결정판.
  • Recycling: 신경망 출력이 다시 입력에 결합되어 세 번 갱신. RNN의 시간축을 반복 개선으로 재해석한 것.

다음 편으로 이어지는 갈래

  • F03: AlphaFold3 — Pairformer와 Diffusion 아키텍처. 리간드·DNA·RNA를 함께 예측.
  • F04: ColabFold + MMseqs2 실무 심화 — MSA 검색을 사설로 어떻게 최적화하나.
  • F05: 다량체 + 리간드 결합 — AlphaFold-Multimer의 세부.
  • F06: ESMFold — MSA 없이 서열만으로. 대량 처리에 강점.
  • F07: Boltz-2 — 구조와 결합 친화도를 동시에. FEP 대비 1,000배 빠른 신약 스크리닝.

더 깊게 파고 싶다면

본문은 BPD가 자체 재구성한 서술이다. 원문과 정통 강의로 심화하자.

  • 원 논문: Jumper et al. (2021), Highly accurate protein structure prediction with AlphaFold, Nature 596, 583–589. 아키텍처 세부의 SSoT.
  • EMBL-EBI TrainingAlphaFold: Structural Bioinformatics Revolution (60분, 자막 자동번역 우수). EMBL과 DeepMind가 공동 제작한 정통 강의. Evoformer 블록을 도해로 훑는다.
  • MIT 6.874 — Manolis Kellis 교수의 AlphaFold and Deep Learning Protein Structure (수동 자막). 딥러닝 관점에서 아키텍처를 깊게 파헤친다.
  • Stanford OnlineDeep Learning for Structural Biology (58분, 자막 완비). Equivariant Networks와 IPA의 선형대수학적 배경.
  • Broad Institute MPG PrimerFrom Genetic Variation to Mechanism (AlphaFold3) (68분). AlphaFold3 이후 임상 유전체와의 연결.
  • 참고 데이터베이스: alphafold.ebi.ac.uk (약 2억 모델), rcsb.org (실험 구조), molstar.org (웹 뷰어).

Colab T4에서 자기가 관심 있는 단백질 하나로 예측을 돌려보고, pLDDT와 PAE를 눈으로 확인하는 것이 다음 편 진입 전 최고의 준비다. 다음 편(F03)에서는 AlphaFold3가 이 아키텍처를 어떻게 Diffusion 기반으로 확장했는지 뜯어본다.