어느 날 팀원 중 한 명이 다음과 같은 말을 했다.


choi.openai 님 Threads 포스트 (2025-12-24)
4개월 만에 상용 모델을 따라잡는 오픈소스라니, 직접 돌려보고 싶다는 생각이 바로 들었다.
그냥 API 쓰는 게 아니라, 모델이 내부적으로 어떻게 돌아가는지 직접 부딪혀보기로 했다.
시작하기 전에 GPU 관련 개념부터 제대로 정리해두기로 했다.

GPU로 AI를 돌리려면 세 가지 계층이 맞춰져 있어야 한다.
PyTorch
↑
CUDA
↑
NVIDIA 드라이버
↑
GPU 하드웨어
위로 올라갈수록 추상화가 높아진다.
아래부터 하나씩 보자.
"운영체제 ↔ GPU 하드웨어를 이어주는 필수 소프트웨어"
OS와 애플리케이션이 GPU에 명령을 보내고 결과를 받게 해주는 가장 낮은 레벨의 소프트웨어 계층이다.
OS 입장에서 이게 없으면 GPU라는 하드웨어 자체를 인식하지 못한다.
드라이버 = GPU 장치 드라이버 (Device Driver)
드라이버 위에서 돌아가는 개발용 플랫폼이다.
"GPU를 써서 연산을 짜고 돌리게 해주는 것"
CUDA = GPU 프로그래밍용 SDK + 런타임
개발자 입장에서 이게 없으면 C/Python 코드로 행렬연산이나 딥러닝 같은 걸 GPU에 던질 수 없다.
CUDA 위에서 돌아가는 고수준 프레임워크다.
CPU/GPU에서 텐서 연산, 자동 미분, 딥러닝 모델 구현과 학습을 담당한다.
GPU 가속이 필요할 때 내부적으로 CUDA를 사용한다.
개발자는 torch.cuda 모듈을 통해 CUDA를 직접 다루지 않고도 GPU를 쓸 수 있다.
| 레이어 | 역할 |
|---|---|
| NVIDIA 드라이버 | GPU 인식·초기화, 커널 모드 명령 처리 (가장 아래층) |
| CUDA 런타임 / 드라이버 API | 드라이버 위에서 커널 실행, 메모리 할당/복사 등 GPU 연산 제어 |
| PyTorch | 텐서 연산·NN 모듈·옵티마이저 제공, torch.cuda로 CUDA 추상화 |
이번에 AWS에서 아래 AMI를 선택했다.
Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.9 (Ubuntu 24.04)
이 AMI 하나로 아래가 전부 세팅된 상태로 시작한다.
직접 하나씩 설치하면 버전 충돌로 삽질할 가능성이 크다.
딥러닝 AMI를 쓰면 이 과정을 통째로 건너뛸 수 있다 !
다음 편에서는 Out Painting이 뭔지, 상용 서비스들을 직접 써보면서 비교한 과정을 정리한다.