실전에서 쓰는 PyTorch 기본 요소 4개
- 텐서 — 장치에 올라가는 n차원 배열이야. dtype과 형태를 가지며, 선택적으로 기울기도 추적해. PyTorch의 최소 단위야.
- Module — 매개변수를 보관하고 순전파를 정의하는 상태 있는 신경망 구성 요소야. 속성으로 조립하며(
self.conv = nn.Conv2d(...)),state_dict()와parameters()가 구성 요소를 자동으로 찾아내. - 옵티마이저 — 매개변수 목록을 알고 있으며, 주어진 기울기에 따라 해당 매개변수를 갱신해.
- Autograd 엔진 — 순전파 중에 연산 그래프를 만들고, 기울기를 계산할 때 그래프를 역방향으로 따라가.
어떤 PyTorch 프로그램을 읽어도 핵심 흐름은 같아. Module을 정의하고, Module에 텐서를 통과시키고, 스칼라 손실을 계산한 다음 .backward()와 opt.step()을 호출해. 이 반복 구조를 몸에 익히면 나머지는 라이브러리 사용법에 가까워.
팁: PyTorch는 numpy와 자동 미분 위에 얹힌 얇은 관례 계층이야. 프레임워크 자체는 작지만 생태계(torchvision, transformers, lightning)는 거대해. 핵심은 깊이 배우고, 생태계의 구성 요소는 필요할 때 골라 써.
Module은 Lego처럼 조립된다
Module은 다른 Module을 포함할 수 있어. state_dict()는 모든 매개변수를 재귀적으로 찾아 평탄화하고, to(device)는 구성 요소 전체를 재귀적으로 옮겨. 이 계층 구조 자체가 API다. 속성에 할당하기만 하면 매개변수를 직접 등록할 필요가 없어.
2026년 torch.compile 세부 사항
어떤 Module이든 torch.compile(model)로 감싸면 PyTorch가 순전파를 추적해 현대 가속기에서 훨씬 빠르게 실행되는 융합 그래프로 만들어. 첫 호출은 컴파일 때문에 느리지만, 이후 호출은 1.3-3x 빨라져. CUDA에서는 확실한 이점이 있고, CPU/MPS에서는 이점이 작아.
원칙: PyTorch는 2026년 딥러닝 분야의 공용어야. PyTorch를 능숙하게 읽고 쓰는 능력이 이 퀘스트에서 가장 큰 효과를 내는 단 하나의 기술이야.