
AI의 해부학: 개발자를 위한 내부 구조 가이드
요약
AI의 마케팅적 수사를 배제하고 벡터, 파이프라인, 산술 연산 등 실제 기술적 메커니즘을 설명합니다. 고전적 AI부터 머신러닝, 딥러닝으로 이어지는 계층 구조와 역사적 흐름을 다룹니다.
핵심 포인트
- AI는 인지 능력이 아닌 방대한 산술 연산의 결과물임
- AI, 머신러닝, 딥러닝의 계층적 구조 이해
- 규칙 기반의 고전적 AI와 데이터 기반의 ML 차이점
- 딥러닝에서 'Deep'은 신경망 레이어의 수를 의미함
"기계 안에 유령은 없습니다. 오직 매우 설득력 있는 의상을 입고 있는 선형 대수(linear algebra)만이 존재할 뿐입니다."
제품 관리자(product manager)가 스탠드업 미팅에서 AI 시스템을 "똑똑하다"고 부를 때마다, 어딘가에 있는 머신러닝 (ML) 엔지니어는 움찔합니다. 그 단어가 완전히 틀렸기 때문이 아니라, 실제 메커니즘이 "똑똑하다"는 말이 암시하는 것보다 덜 신비로우면서도 훨씬 더 흥미롭기 때문입니다. 데이터 센터 안에서 돌아가는 뇌 같은 것은 없습니다. 사람이 적용하는 의미에서의 이해(understanding)도 존재하지 않습니다. 실제로 실행되고 있는 것은 방대한 양의 산술 연산이며, 그 출력이 인지(cognition)와 유사해 보이도록 충분히 잘 구조화되어 있을 뿐입니다. 이를 검사를 위해 열어젖힌 AI의 해부학 (Anatomy of AI) — 벡터(vectors), 파이프라인(pipelines), 그리고 현재의 논쟁들을 손짓 발짓 같은 모호한 설명 없이 살펴보겠습니다.
1. 기술적으로 AI란 실제로 무엇인가
1.1 정의, 마케팅 레이어 제외
인공지능 (Artificial Intelligence)은 공식적으로 인간의 인지 (human cognition)를 통상적으로 필요로 하는 작업 — 패턴 인식 (pattern recognition), 언어 생성 (language generation), 예측 (prediction), 불완전한 정보 하에서의 의사결정 (decision-making) — 을 수행하는 시스템을 구축하는 데 관심을 두는 분야입니다. 오늘날 "AI"라는 라벨 아래 출시되는 거의 모든 것은 **머신러닝 (machine learning, ML)**이라 불리는 더 좁은 하위 분야에 속하며, 그 안에는 더욱 좁은 분야인 **딥러닝 (deep learning)**이 있습니다.
계층 구조를 빠르게 살펴보면 다음과 같습니다:
고전적 AI (Classical AI) (1950년대~1980년대) — 엔지니어들이 명시적인 if-then 논리 트리로 직접 코딩한 규칙 기반 시스템입니다. "기호적 AI (symbolic AI)"라고 불리거나, 덜 우호적인 집단에서는 "전통적인 방식의 AI (Good Old-Fashioned AI, GOFAI)"라고 불립니다.
머신러닝 (Machine Learning) — 접근 방식을 뒤집습니다. 규칙을 직접 코딩하는 대신, 시스템에 대량의 라벨링된 데이터(labeled data) 또는 라벨링되지 않은 데이터(unlabeled data)를 입력하여 통계적 패턴을 도출하게 합니다.
딥러닝 (Deep Learning) — 다층 신경망 (multi-layered neural networks)으로 구현된 머신러닝입니다. "딥 (Deep)"은 피치 덱 (pitch deck)에서 암시하는 개념적 정교함이 아니라, 엄격하게 레이어(layer)의 수를 의미합니다.
1.2 타임라인, 압축본
"인공지능 (Artificial Intelligence)"이라는 용어는 1956년 John McCarthy, Marvin Minsky, Nathaniel Rochester, Claude Shannon이 제안한 Dartmouth Summer Research Project에서 만들어졌습니다. 그들의 원래 제안서에는 "학습의 모든 측면은... 원칙적으로 매우 정밀하게 기술될 수 있어 기계가 이를 시뮬레이션하도록 만들 수 있다"라고 주장하며, 이를 해결하기 위해 2개월의 예산을 책정했습니다. 그로부터 70년이 지났고, 여전히 진행 중입니다.
주요 이정표:
1943— McCulloch과 Pitts가 최초의 인공 뉴런 (artificial neuron) 수학적 모델을 발표함.
1958— Rosenblatt이 최초의 학습 가능한 신경망 (neural network)인 Perceptron을 출시함.
1969–1980년대— AI Winter (AI 겨울). Minsky와 Papert의 Perceptrons가 단층 네트워크 (single-layer networks)의 한계를 증명하며 연구 자금이 급감함.
1986— Rumelhart, Hinton, Williams가 **역전파 (backpropagation)**를 대중화하여 심층 네트워크 (deep network) 학습을 계산적으로 가능하게 만듦.
2012— AlexNet이 ImageNet에서 압도적인 차이로 우승하며, 충분한 데이터와 GPU 연산 (compute)을 통한 대규모 심층 합성곱 신경망 (deep convolutional networks)의 유효성을 입증함. 일반적으로 현대 딥러닝 (deep learning) 시대의 시작으로 인용됨.
2017— Vaswani 등이 Google에서 "Attention Is All You Need"를 발표하며 Transformer를 도입함. 이는 GPT와 Claude를 포함하여 이후 출시된 거의 모든 주요 LLM의 근간이 되는 아키텍처 (architecture)임.
2020년대— LLM이 수천억 개의 파라미터 (parameters) 규모로 확장됨; RAG 및 에이전트적 도구 사용 (agentic tool-use)이 프로덕션에 도입됨; AI가 연구 단계에서 핵심 인프라 (infrastructure)로 이동함.
엔지니어를 위한 시사점: 발전은 인지 (cognition)에 대한 개념적 돌파구에서 온 것이 아닙니다. 그것은 더 나은 아키텍처 (Transformer), 더 많은 학습 데이터, 그리고 수십 배 더 많은 연산량 (compute) — 단순히 복리로 작용하는 세 가지 화려하지 않은 변수들로부터 왔습니다.
2. 신경망 (Neural Networks): 연산 레이어 (The Compute Layer)
2.1 생물학적 비유는 부하 (load) 상황에서 유지되지 않는다
인공 신경망 (Neural networks)은 생물학적 뉴런 (biological neurons)에서 명명 규칙을 빌려왔지만, 그 비유는 피상적입니다. 생물학적 뉴런은 살아있는 시스템에 내장된, 자가 수복이 가능하고 화학적으로 복잡한 세포입니다. 반면 인공 "뉴런"은 활성화 함수 (activation function)를 통과한 가중합 (weighted sum)의 결과물인 단일 스칼라 (scalar)입니다. 이를 "뇌"라고 부르는 것은 for 루프를 "의사 결정"이라고 부르는 것과 대략적으로 비슷합니다. 온보딩 (onboarding)을 위한 유용한 약어일 뿐, 기술적으로는 부정확합니다.

2.2 코드로 표현된 뉴런
각 인공 뉴런은 하나의 연산을 수행합니다: n개의 입력이 들어와 하나의 출력이 나옵니다. 수학적 식은 다음과 같습니다:
z = (w1*x1 + w2*x2 + ... + wn*xn) + b
a = activation(z)
x1...xn — 입력 (inputs): 픽셀 값, 토큰 임베딩 (token embeddings), 또는 모든 수치적 특징 벡터 (numeric feature vector)
w1...wn — 가중치 (weights): 입력의 중요도를 결정하는 학습된 계수 (learned coefficients)
b — 편향 (bias): 학습된 오프셋 (offset)
activation() — z에 적용되는 비선형 함수 (non-linear function)
비선형성 (non-linearity)을 제거하면, 아무리 많은 수의 레이어 (layers)를 쌓더라도 대수적으로는 단일 선형 변환 (linear transformation)으로 붕괴됩니다. 즉, 깊이에 상관없이 단일 레이어 모델보다 나을 것이 없습니다. 실제 운영 시스템에서 사용되는 표준 활성화 함수는 다음과 같습니다:
ReLU: f(z) = max(0, z)
— 계산 비용이 저렴하고, 기울기 소실 (vanishing gradients) 문제를 방지하며, 대부분의 은닉층 (hidden layers)에서 기본값으로 사용됩니다.
Sigmoid: f(z) = 1 / (1 + e^-z)
— 출력을 (0, 1) 사이로 제한하며, 확률과 유사한 출력이 필요한 곳에 사용됩니다.
Softmax: 원시 점수 벡터 (raw score vector)를 합계가 1인 확률 분포 (probability distribution)로 정규화합니다. 이는 언어 모델의 출력 헤드 (output head)에 위치하여 로짓 (logits)을 다음 토큰 확률 (next-token probabilities)로 변환합니다.
2.3 벡터화된 순전파 (Forward Pass)
"순전파 (Forward propagation)"는 출력 텐서 (output tensor)가 나타날 때까지 입력 텐서 (input tensor)를 네트워크의 레이어별로 통과시키는 과정입니다. 단일 밀집 레이어 (dense layer)의 경우, 행렬 표기법 (matrix notation)은 다음과 같습니다:
Z = W·X + B
A = activation(Z)
W는 해당 레이어의 가중치 행렬 (weight matrix)이며, X는 입력 벡터 (input vector), B는...
편향 벡터 (bias vector)입니다. 이것이 AI 워크로드(workload)가 근본적으로 *산업적 규모의 선형 대수 (linear algebra at industrial scale)*인 이유입니다. 거대 언어 모델 (large language model)에 대한 단 한 번의 추론 (inference) 호출은 수조 번의 행렬 곱셈 (matrix multiplications)을 유발하며, 이것이 바로 이 워크로드를 위해 범용 CPU (general-purpose CPU)에 의존하는 대신 GPU 및 TPU가 존재하는 정확한 이유입니다.
2.4 역전파 (Backprop) 및 경사 하강법 (Gradient Descent)
학습 (training)은 예측 오차를 최소화하기 위해 모든 가중치 (weight)와 편향 (bias)을 업데이트하는 반복적인 과정입니다. 루프(loop)는 다음과 같습니다:
손실 계산 (Loss computation) — 손실 함수 (loss function)를 통해 예측된 출력값과 실제 정답 (ground truth)을 비교합니다. 분류 (classification) 작업에서는 일반적으로 교차 엔트로피 손실 (cross-entropy loss)을 사용합니다:
L = -Σ y_true * log(y_predicted)
역전파 (Backpropagation) — 네트워크의 모든 가중치에 대한 손실의 기울기 (gradient) ∂L/∂w를 계산하기 위해 연쇄 법칙 (chain rule)을 적용합니다.
경사 하강법 (Gradient descent) — 손실을 최소화하는 방향으로 각 가중치를 업데이트합니다:
w_new = w_old - learning_rate * (∂L/∂w)
수백만 번의 반복 (iterations) 동안 수십억 개의 학습 데이터 (training examples)에 대해 이 루프를 실행하면, 네트워크는 유용한 출력을 생성하는 가중치 구성으로 수렴 (converge)합니다. 그 누구도 개별 가중치를 수동으로 조정하지 않습니다. 가중치는 직접 설계되는 것이 아니라 최적화 (optimization)를 통해 발견됩니다. 이것이 바로 이 모델들이 **블랙박스 (black boxes)**라고 불리는 정확한 이유입니다.
입력층 (Input Layer)— 가공되지 않은 수치 데이터(픽셀 값, 토큰 ID, 오디오 샘플)를 흡수합니다. 여기서는 어떠한 연산도 일어나지 않으며, 데이터의 진입점 역할을 합니다.
임베딩 / 인코딩층 (Embedding / Encoding Layer)— 이산적인(discrete) 토큰들을 의미론적 의미를 인코딩하는 밀집 벡터(dense vectors)로 매핑합니다. 예를 들어, 벡터 공간 내에서 "king"과 "queen"은 서로 가까운 위치에 놓이게 됩니다.
은닉층 1 (특징 탐지, Hidden Layer 1 - Feature Detection)— 저수준 패턴을 추출합니다. 시각 모델에서는 가장자리(edges)와 그래디언트(gradients)를, 텍스트 모델에서는 기본적인 구문 구조(syntactic structure)를 찾아냅니다.
은닉층 2 (특징 결합, Hidden Layer 2 - Feature Combination)— 저수준 특징들을 더 높은 차원의 개념으로 집계합니다. 가장자리로부터 형상을 만들고, 토큰으로부터 구절(phrases)을 만들어냅니다.
은닉층 3 이상 (추상화 / 어텐션, Hidden Layer 3+ - Abstraction / Attention)— 트랜스포머(transformer) 아키텍처에서는 **셀프 어텐션 (self-attention)**이 이곳에 존재하며, 입력 내의 모든 토큰 쌍 사이의 가중치 기반 연관성을 계산합니다. 이 계층 그룹이 모델 표현 능력(representational capacity)의 대부분을 담당합니다.
출력층 (Output Layer)— 최종 은닉 표현(hidden representation)을 대상 출력 공간으로 투영합니다. 다음 토큰 확률 분포, 분류 로짓(classification logits), 또는 픽셀 값 등이 이에 해당합니다.
실제 아키텍처와 비교하여 벤치마킹하려는 분들을 위한 주의사항: Claude나 GPT와 같은 프로덕션급 LLM은 6개의 층에서 멈추지 않습니다. 이들은 수십 개에서 수백 개의 트랜스포머 블록(transformer blocks)을 쌓아 올리며, 각 블록은 여러 개의 내부 서브 레이어(멀티 헤드 어텐션(multi-head attention), 레이어 정규화(layer normalization), 피드포워드 네트워크(feed-forward networks))를 포함합니다. 위의 6단계 분류는 개념적인 모델일 뿐, 설정 파일(config file)에서 발견되는 실제 레이어 개수가 아닙니다.
3. AI가 "생각하는" 방식: 벡터, 임베딩, 잠재 공간 (Vectors, Embeddings, Latent Space)
모델의 내부 구조를 실제로 조사해 본 사람이라면, AI를 "뇌"에 비유하는 프레임워크가 완전히 무너지는 지점이 바로 여기입니다. AI는 "생각"하지 않습니다. 대신 모든 입력을 벡터 (vectors) (부동 소수점의 고정 길이 배열)로 변환하고, 이를 기하학적으로 연산합니다.
- 토큰은 하나의 벡터 (vector)가 됩니다. 현대의 LLM (Large Language Models)에서는 흔히 4,096 차원 이상입니다.
- 시퀀스 (sequence)는 이러한 벡터들의 집합이 되며, 어텐션 (attention)을 통해 하나의 문맥적 표현 (contextual representation)으로 융합됩니다.
- 이미지는 패치 벡터 (patch vectors)의 그리드가 됩니다.
- 의미론적 의미 (semantic meaning)는 **잠재 공간 (latent space)**이라 불리는 이 고차원 공간에서의 **거리와 방향 (distance and direction)**이 됩니다.
교과서적인 예시: 적절하게 훈련된 임베딩 공간 (embedding space)에서는 다음과 같은 벡터 연산이
vector("king") - vector("man") + vector("woman") ≈ vector("queen")
대략적으로 성립합니다. 이는 은유가 아닌 문자 그대로의 벡터 산술 (vector arithmetic)이며, 공교롭게도 인간의 의미론적 직관과 일치합니다. 구현 수준에서의 "사고 (thinking)"란 이 공간을 가로지르는 궤적 (trajectory)이며, 그 궤적이 도달하는 지점에서 최종 토큰 또는 출력을 읽어내는 것입니다.
4. AI의 추론: Chain-of-Thought와 그 후계자들
초기 LLM은 단 한 번의 순전파 (forward pass)로 응답을 생성했습니다. 이는 미화된 자동 완성 (autocomplete)에 불과했습니다. 현대의 "추론 (reasoning)" 모델들은 Wei 등이 2022년 Google 논문에서 공식화한 **Chain-of-Thought (CoT) 프롬프팅 (prompting)**을 통해 출력 품질을 향상시킵니다. 핵심 발견은 다음과 같습니다: 모델이 최종 답변으로 바로 건너뛰는 대신 중간 추론 토큰 (intermediate reasoning tokens)을 생성하도록 강제될 때, 측정 가능한 수준으로 더 나은 답변을 생성한다는 것입니다.
이러한 방식은 더욱 구조화된 기술들로 진화했습니다:
Chain-of-Thought (사고의 사슬): 모델이 최종 답변 토큰을 내놓기 전에 단계별 자연어 추론 (natural-language reasoning)을 생성합니다.
Tree-of-Thought (사고의 트리): 모델이 여러 추론 분기 (reasoning branches)를 병렬로 탐색하며, 각 분기의 실행 가능성을 점수화합니다. 이는 고전적인 게임 플레이 알고리즘의 탐색 트리 (search tree)와 유사합니다.
Self-consistency decoding (자기 일관성 디코딩): 하나의 프롬프트에 대해 모델이 여러 개의 독립적인 추론 사슬을 샘플링하고, 오류는 일관되지 않지만 올바른 추론은 수렴한다는 가정하에 최종 답변에 대해 다수결 투표를 실시합니다.
확장된 "사고" 토큰 (Extended "thinking" tokens): 최신 추론 모델 (OpenAI의 o-series, Claude의 확장된 사고 모드)은 강화학습 (reinforcement learning)을 통해 최종 답변 전에 긴 내부 추론 흔적 (reasoning traces)을 생성하도록 훈련되었습니다. 이는 사실상 스크래치패드 버퍼 (scratchpad buffer) 역할을 합니다.
이러한 시스템을 기반으로 구축하는 모든 이들에게 명확히 말해둘 가치가 있습니다: 이것은 인지적 의미에서의 추론이 아닙니다. 이것은 학습된 통계적 상관관계 (statistical correlation)입니다. 추론 형태의 토큰을 생성하는 것은 후속 정답 토큰의 확률을 높이는데, 이는 훈련 코퍼스 (training corpus) 내에서 정답과 상관관계가 있는 추론 유사 시퀀스들이 존재하기 때문입니다. 모델은 사람이 하는 방식처럼 자신의 논리를 검증하는 것이 아니라, 검증과 닮은 분포 패턴 (distributional pattern)을 활용하는 것입니다.
5. 검색 증강 생성 (Retrieval-Augmented Generation, RAG): 상세 기술 분석
5.1 RAG가 해결하는 문제
LLM의 파라미터 지식 (parametric knowledge)은 학습 완료 시점에 고정됩니다. 이것이 바로 **지식 컷오프 (knowledge cutoff)**입니다. 그 시점 이후의 내용에 대해 질문하면 모델은 불확실성을 표시하거나, 더 나쁜 경우 환각 (hallucination) — 즉, 유창하고 자신감 넘치지만 사실과 다른 답변을 생성합니다. RAG는 이 문제를 직접적으로 해결하며, Facebook AI Research의 Lewis 등이 2020년에 발표한 논문 *
AI 자동 생성 콘텐츠
본 콘텐츠는 Hacker Noon AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기