🌏 AI 학습에 GPU를 사용하는 이유
GPU(Graphics Processing Unit, 그래픽카드)는 원래 그래픽 렌더링을 빠르게 처리하기 위해 만들어진 장치로, 화면의 수많은 픽셀을 동시에 계산하는 병렬 연산에 특화되어 있습니다. CPU는 복잡한 제어와 논리를 수행하지만, 대량의 단순 연산에는 비효율적입니다.
딥러닝은 대규모 행렬 곱셈으로 구성되어 있고, GPU는 수천 개의 코어로 이런 병렬 연산을 한 번에 처리할 수 있어 학습 속도가 크게 향상됩니다. 2000년대 중반 NVIDIA가 GPU를 일반 연산에도 사용할 수 있게 하는 CUDA 기술을 공개하면서, GPU는 그래픽 전용이 아닌 범용 병렬 연산 장치로 진화했습니다. 그 결과 오늘날 대부분의 AI 모델 학습과 추론은 GPU 위에서 수행됩니다.
🌏 용어 정리
✅ 정밀도(Precision): FP32, FP16, BF16, FP8
- FP32 (32-bit) 는
높은 정밀도를 갖지만 연산이 느리고 메모리를 많이 사용한다. - FP16 (16-bit) 은 정밀도를 낮추는 대신 속도와 효율이 크게 향상된다.
- BF16 (BFloat16) 은 FP16과 같은 16비트지만 FP32의 지수 범위를 유지해 안정적이다.
- FP8 (8-bit) 은 초저정밀 연산 포맷으로, FP16보다 메모리 사용량이 절반이며 연산 속도는 2배 이상
빠르다
딥러닝 학습에서는 완벽한 실수 계산보다 효율이 중요하다. (실제로 양자화를 통해서 큰 성능에 손실 없이 모델의 크기를 줄이는 기법도 있으니껭) FP32에서 FP16, FP8로의 전환은 단순한 경량화가 아니라 대규모 모델 학습을 가능하게 한 하드웨어 진화의 핵심이다.
H100부터는 FP8을 Transformer Engine이 자동 전환하며 사용해 안정성과 효율을 모두 확보한다.
| 포맷 | 비트 수 | 장점 | 단점 | 사용 위치 |
|---|---|---|---|---|
| FP32 | 32bit | 높은 정밀도 | 느리고 메모리 많이 씀 | 모델 초기화, 파라미터 저장 |
| FP16 | 16bit | 빠르고 효율적 | 작은 값 손실 가능 | 대부분의 학습 연산 |
| BF16 | 16bit | FP32 수준의 안정성 | 약간 느림 | 대규모 학습 시 안정성용 |
| FP8 | 8bit | 매우 빠름, 메모리 절약 | 정밀도 낮음 | H100 이후 LLM 학습/추론 |
✅ Mixed Precision Training
- 서로 다른 정밀도(FP32, FP16, BF16)를 혼합해 사용하는 학습 기법
- 중요한 연산(LayerNorm, Gradient 계산)은 FP32로 나머지는 FP16으로 수행해 메모리 절약과 속도 향상을 동시에 얻는다.
- 대부분의 대형 모델 학습 프레임워크(PyTorch, DeepSpeed, Megatron)는 이미 기본적으로 이 방식을 적용한다. (사용하고 있는 기술들도 알고보면 소프트웨어적으로 Mixed Precision을 자동 적용해 내가 따로 설정하지 않아도 대부분 알아서 처리되고 있을 수도)
✅ Tensor Core
- GPU 내부에 존재하는 행렬 연산 전용 연산 유닛
- 기존 CUDA Core가 한 번에 하나의 곱셈을 처리했다면, Tensor Core는 4×4 행렬 곱을 한 사이클에 연산한다.
- GPU가 단순히 코어 수로만 빠른 것이 아니라, 딥러닝 전용 회로 수준의 가속 구조를 갖고 있기 때문에 AI에 강하다.
✅ CUDA (Compute Unified Device Architecture)
- NVIDIA가 개발한 GPU 병렬 프로그래밍 프레임워크
- GPU를 그래픽 렌더링용이 아닌 일반 수학 연산 장치로 사용할 수 있게 만든 기술
- CUDA의 등장을 통해서 GPU가 딥러닝 엔진으로 유명해지기 시작했고, 현재 거의 모든 딥러닝 프레임워크(PyTorch, TensorFlow)가 CUDA 위에서 동작
✅ HBM (High Bandwidth Memory)
- GPU에 탑재되는 초고속 메모리
- CPU의 DDR 메모리보다 대역폭이 수십 배 빠르다.
- 예. H100의 HBM3는 초당 3.3TB의 데이터를 전송할 수 있다.
- LLM 학습의 병목은 연산량보다 데이터 전송 속도인데, HBM은 이 병목을 제거해 대규모 모델의 실시간 학습을 가능하게 한다.
✅ VRAM (Video RAM)
- GPU의 연산용 메모리로, 딥러닝에서는 모델 파라미터와 텐서를 저장하는 공간이다.
- VRAM보다 모델이 크면 학습이 불가능하므로, 연구자들은 Gradient Checkpointing, ZeRO 등으로 VRAM 사용을 최소화한다.
✅ NVLink / NVSwitch
- 엔비디아에서 만든 기술로, 여러개의 그래픽카드(GPU)를 하나의 거대한 GPU로 동작하게 하기 위해서 사용한다
- NVLink는 여러 GPU를 고속으로 연결하는 링크
- NVSwitch는 여러 NVLink를 중앙에서 스위칭하는 장치
- GPT, Claude, Gemini 등 초대형 모델은 이 구조 위에서 학습된다.
✅ MIG (Multi-Instance GPU)
- 하나의 GPU를 여러 개의 논리 GPU로 분할하는 기능 (A100부터 지원)
- GPU 자원을 효율적으로 나누어 사용하기 위한 구조
- 연구소나 클라우드 환경에서 여러 사용자가 동시에 A100 한 장을 공유할 때 유용하다.
✅ Data Parallel / Model Parallel / Pipeline Parallel
- Data Parallel: 각 GPU가 서로 다른 데이터를 학습
- Model Parallel: 모델을 여러 GPU에 나누어 학습
- Pipeline Parallel: 모델의 레이어 단위를 여러 GPU에 순차적으로 배치
- LLM 학습은 단일 GPU로 불가능하고, 이 세 가지 병렬화 전략이 결합된 Hybrid Parallel 구조가 실제 대규모 분산 학습에 사용된당
✅ Transformer Engine
- H100 GPU에 탑재된 FP8/FP16 자동 전환 연산 엔진
- Transformer 구조의 연산 패턴에 맞게 실시간으로 정밀도를 조정
- FP8의 속도 + FP16의 안정성 사이에 트레이드오프를 알아서 고려해 최적의 성능을 낸다.
✅ FlashAttention
- Transformer의 Self-Attention을 GPU 친화적으로 재구현한 알고리즘
- 메모리 사용량을 줄이고 속도를 크게 향상시켜, 대부분의 최신 LLM이 채택하고 있다.
✅ ZeRO (Zero Redundancy Optimizer)
- 대규모 모델 학습 시 중복 메모리를 제거하는 분산 최적화 기술
🌏 GPU 종류
현재 시장에서 GPU는 크게 세 가지 계열로 나뉩니다
✅ 1. GeForce 계열 – 소비자용 그래픽카드
- 일반 게이머와 크리에이터를 위한 소비자용 GPU 라인업
- 예. RTX 3080, 4080, 4090, 5090 등 (3080을 2장 붙여서 사용하는 경우가 많다고 한다)
- VRAM은 보통 12~24GB 수준으로, 개인 개발자나 연구자들이 소규모 모델 학습에 많이 사용
- 그래픽용으로 설계되었지만 CUDA나 PyTorch를 이용하면 딥러닝 학습/추론도 가능
- 가격대는 약 100만~500만 원
- 개인용으로는 현실적인 선택지 (이 뒤로는 조금 천상계 가격이기 땜시)
✅ 2. RTX / Quadro / RTX A 시리즈 – 전문가용 워크스테이션 GPU
- 디자인, 렌더링, AI 연구를 위한 전문용 GPU 라인
- 예. RTX A5000, A6000 등
- ECC 메모리, 드라이버 안정성, 정밀도(FP32/FP64) 가 보장되어 장시간 연산에도 안정적
- VRAM은 24~48GB 수준으로, 중형 모델 학습이나 연구용 서버에서 많이 쓰임
- 가격대는 천만 원 안팎, 학술 연구나 기업용 워크스테이션에 적합
✅ 3. Tesla / A100 / H100 계열 – 데이터센터·AI 전용 GPU
- 대규모 모델 학습용으로 설계된 서버급 GPU
- 예. V100, A100, H100
- 수십 GB의 VRAM(40~94GB) 과 NVLink 인터커넥트로 여러 GPU를 묶어 거대한 학습 클러스터를 구성할 수 있음
- NVLink / NVSwitch: 여러 GPU를 하나의 클러스터처럼 묶는 고속 통신 기술
- GPT, Claude, Gemini 같은 초대형 LLM 학습 인프라의 중심에 있는 장비
- 가격은 GPU 한 장당 2천만~6천만 원 이상으로, 개인이 구매하기는 현실적으로 어렵다.
하나의 GPU VRAM 용량이 제한되어 있기 때문에, 대규모 모델은 여러 GPU를 묶어서 학습합니다. NVIDIA는 NVLink/NVSwitch 기술을 제공하고, GPU 간 통신 속도를 높여 여러개를 묶어서도 마치 하나의 거대한 GPU처럼 작동하게 합니다.

나도 가지진 못했지만 학부시절 과제할 때 학교 대여를 통해 원격이었지만 A100을 잠시 스쳐지나간(?) 적이 있다.

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!
'AI > 딥러닝' 카테고리의 다른 글
| [AI/DL] PyTorch로 딥러닝의 흐름 이해하기 (0) | 2025.10.24 |
|---|---|
| [AI/DL] 딥러닝의 발전(2): RNN에서 Transformer까지 — 순차 데이터와 Self-Attention 이해하기 (0) | 2025.10.20 |
| [AI/DL] 딥러닝의 발전(1): AlexNet, ResNet, YOLO (2012~2016) (0) | 2025.10.17 |
| [AI/DL] 딥러닝 기본기 총정리: 퍼셉트론·손실함수·옵티마이저 (0) | 2025.10.17 |
| [AI/DL] GAN(Generative Adversarial Networks): Generator vs Discriminator 의 경쟁적인 가짜 찾아내기 (0) | 2024.12.06 |