본문 바로가기

명징직조

근본적인 설명이 항상 가장 좋은 설명은 아니다 - 원자를 안다고 비행기를 설계할 수는 없는 이유

개요

직관적 생각

더 근본적인 이론을 알면 모든 것을 더 잘 설명할 수 있지 ㅇ낳을까?

실제로 물리학은 점점 더 작은 세계를 설명하는 방향으로 발전

  • 물체 운동 - 고전 역학
  • 열과 기체 - 통계 역학
  • 원자 - 양자역학
  • 입자 - 양자장론

그래서 가장 아래층의 이론이 모든 것을 설명하는 최종 해답처럼 느껴질 수 있다.

하지만 현실은 조금 다름, 더 근본적인 이론이 항상 더 유용한 설명이 되지는 않는다.

 

비행기를 설계할 때 양자역학을 쓰지 않는 이유

실제로 계산하는 것

  • 양력
  • 압력 분포
  • 점성
  • 경계층
  • 난류

유체가 날개 주변에서 어떻게 움직이는지 계산한다.

그런데 이론적으로 이렇게 말할 수 있음

공기도 원자, 원자는 전자와 핵, 전자는 영자역학적으로 행동

그렇다면 

전자들의 파동함수를 모두 계산하면 비행기를 더 정확히 설계할 수 있는가?

 

정확도와 유용성은 다를 수 잇다.

수십억 개의 공기 분자와 전자의 상태를 모두  계산하려고 하면

많은 계산 비용

더 정확할 순 있지만, 문제를 푸는 데는 거의 쓸모가 없다.

그래서 더 높은 수준(말 그대로 높은 추상화) 의 언어를 사용한다.

양자역학보다 유체역학이 더 똑똑한 언어

 

창발 (Emergence)

이 현상은 물리학에서 창발이라고 부른다.

상위 수준의 새로운 성질이 집단 행동 속에서 나타나는 현상

분자 운동 온도
분자 충돌 압력
전자 집합 전류
원자 상호작용 물질의 성질

분자 하나는 온도를 가지지 않음, 온도는 수많은 분자가 모였을 때 나타나는 집단적 성질

 

AI와 컴퓨터 시스템에서도 같은 현상

비슷한 일이 AI 시스템이나 컴파일러에서도 발생한다.

예를 들어:

Attention
LayerNorm
Softmax
GEMM
 

모두 더 추상적인 공통 계산 구조로 묶을 수 있을 수 있다.

예:

  • Reduction
  • Streaming accumulation
  • Aggregation

하지만 실제 CUDA Kernel을 최적화할 때 중요해지는 것은:

  • Memory locality
  • Tile shape
  • Cache reuse
  • Register pressure
  • Warp scheduling

이다.

즉:

근본 계산 구조를 안다고 해서
실제 실행 성능이 자동으로 설명되지는 않는다.

실행 과정에서 새로운 수준의 성질이 나타난다.

 

핵심 정리

우리는 종종 이렇게 생각한다.

더 근본적인 이론 = 더 좋은 설명

하지만 현실은:

근본 이론
↓
상호작용
↓
집단 행동
↓
새로운 현상 등장
↓
새로운 설명 필요
 

에 가깝다.

따라서 중요한 질문은:

"가장 근본적인 설명이 무엇인가?"

가 아니라,

"지금 문제를 가장 잘 설명하는 수준은 어디인가?"

일 수 있다.

비행기를 날리기 위해 필요한 것은 전자의 파동함수가 아니라, 날개 주변 공기의 흐름일 수 있다