1. 개요[편집]
트랜스포머(Transformer)는 2017년 바스와니 등의 “Attention Is All You Need”에서 제시된 신경망 구조로, 순환이나 합성곱 없이 어텐션 연산만으로 시퀀스를 처리하는 아키텍처다. 이름 그대로 재귀를 전부 걷어내고 어텐션으로 갈아 끼운 것이 핵심이다.
심층 학습 전반에서 기본형이 됐지만, 이 문서가 관심 있는 것은 수치 시뮬레이션에서 트랜스포머가 무엇을 하고 무엇을 못 하는가다. 결론부터 말하면, 순환 신경망이 못 하던 긴 거리 상호작용의 병렬 처리를 얻은 대신 시퀀스 길이의 제곱에 비례하는 비용과 물리 대칭성을 강제하기 어렵다는 짐을 졌다.
2. 스케일드 닷프로덕트 어텐션[편집]
입력 토큰들을 행으로 쌓은 행렬 에서 선형사상으로 질의·키·값 를 만든다. 어텐션은
이다. 은 모든 토큰 쌍의 내적, 즉 짜리 완전 결합 상호작용 행렬이고, 소프트맥스가 각 행을 가중치로 정규화한다.
로 나누는 이유는 통계적이다. 의 성분이 평균 0·분산 1로 독립이면 의 분산이 가 된다. 면 표준편차가 8이라, 소프트맥스 입력의 스케일이 커져 출력이 거의 원핫으로 포화하고 기울기가 사라진다. 로 나누면 분산이 1로 돌아온다. 사소해 보이지만 빼면 학습이 안 된다.1
멀티헤드는 를 조각으로 쪼개 어텐션을 번 병렬로 돌린 뒤 이어 붙인다. 총 연산량은 같은데 서로 다른 부분공간에서 다른 관계를 볼 수 있다.
3. 위치 정보와 정규화[편집]
어텐션은 집합 연산이다. 토큰 순서를 바꾸면 출력도 같은 순서로 바뀔 뿐, 순서 자체를 보지 못한다(순열 동변). 그래서 위치 정보를 따로 주입해야 한다.
- 사인·코사인 위치 인코딩: 원논문 방식. 파장이 기하급수로 변하는 사인·코사인을 더한다. 학습 없이 임의 길이로 외삽된다는 게 장점.
- 학습형 임베딩: 위치마다 벡터를 학습. 학습 길이를 넘으면 무력하다.
- RoPE(회전 위치 임베딩): 질의·키를 위치에 따라 복소평면에서 회전시킨다. 내적이 상대 위치 차이에만 의존하게 되는 성질이 예쁘고, 지금 대부분의 대형 모형이 쓴다.
- ALiBi: 어텐션 점수에 거리 비례 선형 벌점을 더한다. 외삽에 강하다.
각 블록은 어텐션과 위치별 MLP를 잔차 연결 + LayerNorm으로 감싼다. 정규화 위치가 안정성을 가른다 — 원논문의 Post-LN(잔차 합 뒤에 정규화)은 깊어지면 학습 초기에 발산해 워밍업 스케줄이 필수인 반면, Pre-LN(부분층 입력에 정규화)은 잔차 경로가 항등에 가까워 훨씬 안정적이다. 요즘 구현은 거의 Pre-LN이고, RMSNorm으로 평균 빼기를 생략하는 변형이 흔하다.
4. 인코더·디코더와 마스킹[편집]
원논문 구조는 인코더-디코더 쌍이다. 인코더는 입력 전체를 양방향으로 보고, 디코더는 이미 생성한 토큰만 보도록 어텐션 점수 행렬의 상삼각을 로 채운다(인과 마스킹). 소프트맥스가 를 0으로 만들어 주므로 미래 정보가 새지 않는다.
여기서 갈라진 세 계열이 지금의 지형을 만들었다.
- 인코더 온리(BERT류): 양방향 문맥. 분류·회귀·표현 학습용. 시뮬레이션 쪽에서 필드 전체를 한꺼번에 보고 다른 필드를 예측하는 용도가 여기 해당한다.
- 디코더 온리(GPT류): 인과 마스킹된 자기회귀. 시계열 롤아웃과 구조가 같다.
- 인코더-디코더(T5·원논문): 서로 다른 두 시퀀스를 잇는 사상. 조건부 생성.
시간 전개를 예측하는 시뮬레이션 대리 모형은 대개 디코더 온리 형태를 쓰는데, 여기서 노출 편향(exposure bias)이 문제가 된다. 학습 때는 매 스텝 참값을 입력받다가 추론 때는 자기 예측을 다시 입력받으므로 오차가 복리로 누적한다. 학습 중에 자기 예측을 섞어 넣는 스케줄드 샘플링이나, 여러 스텝을 한 번에 예측하는 방식으로 완화하지만 근본적으로 해결되지는 않는다.
5. 비용 — 라는 벽[편집]
어텐션 행렬이 이므로 계산량과 메모리가 시퀀스 길이의 제곱으로 는다. 격자 데이터를 토큰으로 펼치는 시뮬레이션 응용에서는 이게 곧바로 치명적이다. 격자를 토큰화하면 이고, 은 다. 우회로가 여럿 나와 있다.
- FlashAttention: 근사가 아니라 정확한 어텐션을 타일 단위로 계산하며 행렬을 메모리에 쓰지 않는다(온라인 소프트맥스). 계산량은 그대로지만 메모리가 로 떨어지고 실제 속도가 몇 배 빨라진다. GPU 컴퓨팅에서 연산이 아니라 메모리 대역폭이 병목이라는 사실을 정면으로 이용한 사례.
- 희소·국소 어텐션: 슬라이딩 윈도 + 소수의 전역 토큰. 물리 문제에서는 국소 스텐실 + 장거리 항 구조와 잘 맞아서 특히 자연스럽다.
- 선형 어텐션: 소프트맥스를 커널 특징맵으로 근사해 로 만든다. 품질 손해가 있다.
6. 시뮬레이션에서의 쓰임[편집]
- 수치기상예보: GraphCast·Pangu-Weather 계열이 재분석 데이터로 학습한 뒤 중기 예보에서 전통 수치 모형과 겨루는 수준에 도달했다. 대기의 원격상관(teleconnection)처럼 지구 반대편이 얽히는 구조에 전역 어텐션이 잘 맞는다. 다만 이들은 초기장을 자료동화로 만들어 주는 기존 체계에 얹혀서 돈다는 점을 잊으면 안 된다.
- 연산자 학습: 함수공간 사이의 사상을 배우는 틀에서 어텐션이 적분 커널 연산자의 이산화로 해석된다. FNO 계열과 경쟁·혼합된다.
- 분자 시뮬레이션 퍼텐셜: 원자를 토큰으로 두는 기계학습 힘장. 여기서는 등변성(equivariance)이 결정적이라, 순수 트랜스포머가 아니라 회전 등변 표현을 어텐션에 얹은 구조(Equiformer 등)를 쓴다.
- 대리 모델: 시간 전개를 자기회귀적으로 예측하는 롤아웃. 오차가 누적해 발산하는 문제가 공통 난제다.
7. 어텐션을 수치해석의 언어로 읽기[편집]
이 위키의 독자에게는 어텐션을 적분 연산자의 이산화로 보는 관점이 가장 쓸모 있다. 어텐션 출력의 한 행은
인데, 이는 커널 로 가중한 이산 적분 의 몬테카를로/구적 근사와 같은 꼴이다. 커널이 고정돼 있지 않고 데이터에 따라 학습된다는 점만 다르다.
이 렌즈로 보면 익숙한 대응이 줄줄이 나온다.
- 합성곱은 커널이 이고 지지가 좁은 특수한 경우다. 즉 국소 스텐실.
- 어텐션은 조밀 행렬이므로 경계요소법의 조밀 영향행렬과 성격이 같다. 실제로 BEM에서 조밀 행렬을 다루려고 만든 계층 행렬·고속 다중극법의 발상이 선형 어텐션 계열과 같은 자리에 있다.
- 행 정규화()는 확률행렬 조건이라, 어텐션 한 층이 그래프 위의 한 걸음 확산으로 읽힌다. 층을 쌓는 것이 확산을 반복하는 것과 대응한다는 관찰이 과도한 평활화(over-smoothing) 논의로 이어진다.
8. 한계 — 물리에서 특히[편집]
솔직하게 짚어야 할 것들이 있다.
- 보존 법칙이 공짜로 오지 않는다. 질량·운동량·에너지 보존은 유한체적법이 이산화 단계에서 구조적으로 보장하는 성질인데, 트랜스포머는 손실함수로 벌점을 주지 않는 한 지키지 않는다. 벌점을 줘도 근사적으로만 지킨다.
- 대칭성 강제가 어렵다. 갈릴레이 불변성, 회전 등변성, 순열 대칭 — 합성곱이 병진 등변성을 구조적으로 갖는 것과 달리, 어텐션에서는 별도 설계로 넣어야 한다.
- 외삽이 약하다. 학습 분포 밖의 레이놀즈수나 격자 해상도에서 성능이 급락한다. 검증 및 확인의 관점에서 오차 한계를 보증할 수단이 사실상 없다는 것이 채택의 가장 큰 장벽이다.2
즉 트랜스포머는 지배방정식을 푸는 물건이 아니라, 비싼 솔버를 값싸게 흉내 내는 회귀 모형이다. 이 구분을 지키면 유용한 도구고, 흐리면 사고가 난다.3
9. 관련 문서[편집]
10. Footnotes[편집]
-
원논문에서 이 스케일링은 각주 하나로 지나간다. 그 각주 하나가 없었으면 재현 실패 이슈가 수백 개 열렸을 것이다. 논문에서 제일 중요한 정보가 각주에 있는 일은 생각보다 흔하다. ↩
-
“그래서 CFD 엔지니어가 잘리나요”라는 질문의 답은 아직 확고하게 “아니오”다. 학습 데이터를 만들어 준 게 애초에 그 CFD 해석이기 때문이다. 대리 모형은 원본이 있어야 존재하고, 원본이 커버하지 못한 영역은 대리 모형도 모른다. 데이터를 갈아 넣는 쪽은 여전히 사람이다. ↩
-
예보 모형 논문들이 RMSE만 자랑하고 극값 통계는 조용히 넘어가는 경향이 있다. 평균적으로 잘 맞는 것과 태풍 최대풍속을 맞히는 것은 완전히 다른 문제이며, 공학에서 돈이 걸리는 쪽은 대개 후자다. 극값 통계 참고. ↩