🔧 Engineering/📁 Infra & System

LLM 이란?

만두개 2026. 3. 23. 16:43
반응형
SMALL

1. LLM이란 무엇인가? (개념)

LLM은 수조 개의 문장을 학습해서 "다음에 올 가장 확률 높은 단어"를 예측하는 인공지능 모델입니다.

  • Large (거대): 모델을 구성하는 파라미터(매개변수) 수가 수십억 개에서 수천억 개에 달합니다. (예: GPT-4, Llama 3 등)
  • Language (언어): 텍스트를 이해하고 생성하는 데 특화되어 있습니다.
  • Model (모델): 일종의 거대한 '확률 계산기' 프로그램입니다.

2. 왜 하드웨어(GPU)가 중요한가?

LLM은 엄청나게 거대한 행렬 연산(Matrix Multiplication)의 덩어리입니다.

  • 병렬 연산: 한 문장을 처리할 때 수조 번의 계산이 동시에 일어나야 합니다. CPU는 하나씩 똑똑하게 처리하지만, GPU는 수만 개의 코어가 동시에 계산하기 때문에 LLM에 필수적입니다.
  • 메모리(VRAM) 점유: 모델이 너무 커서 GPU 한 장의 메모리(HBM)에 다 안 들어가는 경우가 많습니다. 그래서 민서 님이 다루시는 H100 8장(640GB)을 하나로 묶어 거대한 모델을 올리는 것입니다.

3. LLM의 주요 라이프사이클 (인프라 관점)

인프라 엔지니어는 LLM의 단계에 따라 서버 자원을 다르게 관리합니다.

  1. 훈련 (Training): 아무것도 모르는 모델에게 데이터를 쏟아부어 학습시키는 단계입니다.
    • 특징: 수개월간 수백 대의 GPU(DGX 클러스터)가 풀 가동됩니다. 인피니밴드(UFM) 성능이 가장 중요한 시점입니다.
  2. 파인튜닝 (Fine-tuning): 이미 학습된 모델에 특정 도메인(예: 42dot의 자율주행 데이터)을 추가로 가르치는 단계입니다.
    • 특징: 훈련보다는 자원을 적게 쓰지만, 여전히 고성능 GPU가 필요합니다.
  3. 추론 (Inference/Serving): 사용자가 질문하면 대답을 생성하는 실서비스 단계입니다.
    • 특징: 속도가 중요합니다. 이때 자원을 효율적으로 쓰기 위해 MIG로 GPU를 쪼개거나, Kubernetes로 서비스를 배포합니다.

4. LLM의 핵심 아키텍처: 트랜스포머(Transformer)

현재 거의 모든 LLM의 뼈대입니다. 인프라 엔지니어 입장에서는 '엄청난 병렬 연산'을 강제하는 구조로 이해하면 됩니다.

  • 셀프 어텐션(Self-Attention): 문장 내 단어 간의 관계를 계산하는 핵심 알고리즘입니다. 문장이 길어질수록 계산량이 제곱으로 늘어나며, GPU의 Tensor Core를 극한으로 소모하여 발열의 주원인이 됩니다.
  • 병렬 처리의 극대화: 과거 모델과 달리 문장 전체를 한꺼번에 GPU에 때려 넣고 처리합니다. 이 때문에 H100처럼 수만 개의 코어를 가진 하드웨어가 필수적입니다.

5. 데이터의 최소 단위: 토큰(Token)

컴퓨터는 텍스트를 직접 읽지 못해 숫자로 변환하는데, 그 단위를 토큰이라 부릅니다. 인프라 성능 지표의 기준이 됩니다.

  • TPS (Tokens Per Second): 인프라의 처리 속도를 나타내는 단위입니다. "초당 몇 문장"이 아니라 "초당 몇 토큰을 생성하는가"가 서버의 실질적인 성능 지표입니다.
  • 컨텍스트 윈도우(Context Window): 모델이 한 번에 기억하는 토큰의 양입니다. 이 값이 커질수록 GPU의 VRAM(HBM) 점유율이 기하급수적으로 올라가며, 메모리 부족(OOM, Out of Memory) 에러의 주범이 됩니다.

6. 인프라 엔지니어의 3대 핵심 관리 요소

LLM 서비스를 안정적으로 돌리기 위해 엔지니어가 컨트롤해야 하는 세 가지 자원입니다.

① 컴퓨트(Compute): 연산 정밀도 최적화

  • FP8 / FP4: 모델의 연산 정밀도를 낮춰 속도를 높이는 기술입니다. B200 같은 차세대 하드웨어는 이 낮은 정밀도 연산을 하드웨어적으로 지원하여 LLM 추론 속도를 몇 배씩 끌어올립니다.

② 메모리(Memory): 대역폭과 용량

  • Capacity (용량): 모델의 파라미터가 워낙 커서 GPU 한 장에 다 안 들어갑니다. (예: 70B 모델은 수백 GB 필요)
  • Bandwidth (대역폭): 연산 속도만큼이나 데이터를 메모리에서 GPU 코어로 퍼 올리는 속도가 중요합니다. HBM3e 같은 고대역폭 메모리가 필요한 이유입니다.

③ 커뮤니케이션(Communication): 노드 간 통신

  • 모델이 너무 커서 여러 대의 서버(노드)에 나눠 올릴 때, 서버끼리 데이터를 주고받는 속도가 병목이 됩니다. 이를 해결하기 위해 민서 님이 공부하신 NVLink인피니밴드(UFM) 설정을 최적화해야 합니다.
반응형
LIST

'🔧 Engineering > 📁 Infra & System' 카테고리의 다른 글

오픈 커널 모듈  (0) 2026.05.22
nomodeset 이란?  (0) 2026.05.21
Redfish API 정리  (0) 2026.03.20
리눅스 시스템의 핵심: fstab & GRUB 정리  (0) 2026.03.20
Linux Mount (마운트) 정리  (0) 2026.03.17