PyTorch
Meta AI (now governed by the PyTorch Foundation, Linux Foundation) · 코딩
PyTorch는 Python을 위한 무료 오픈소스 머신러닝 라이브러리로, 개발자가 GPU 가속으로 딥러닝 모델을 구축하고 훈련하고 배포하도록 돕는다.

PyTorch 소개
PyTorch란 무엇인가
PyTorch는 Python을 위해 만들어진 오픈소스 머신러닝 라이브러리이며, 신경망을 처음부터 훈련해야 할 때 거의 모든 연구자와 데이터 과학자가 가장 먼저 손을 뻗는 도구다. GPU에서 실행되는 다차원 배열인 텐서와 자동 미분을 제공한다. 이 자동 미분이야말로 그레이디언트 계산을 손으로 쓰지 않고도 딥러닝 모델을 훈련할 수 있게 하는 엔진이다.
이 라이브러리는 2017년 Meta AI에서 나왔고, 지금은 Linux Foundation 산하 PyTorch Foundation이 관리한다. 프로젝트의 수명을 중요하게 여긴다면 이 점이 의미가 크다. 어느 한 기업이 로드맵을 쥐고 있지 않고, 대학과 스타트업, 대형 기술 기업에서 기여자가 계속 모인다. 패키지를 내려받아 pip이나 conda로 설치하면 코드는 내 것이 된다.
그럼 실제로 누가 시도해 볼 만한가. 마법사를 클릭하는 대신 모델을 훈련하고 싶은, Python에 익숙한 사람이라면 누구나 해당한다.
가장 큰 장벽은 학습 곡선이다. PyTorch는 Python과 기초 수학에 능숙하다고 전제하며, 텐서를 한 번도 다뤄보지 않았다면 첫 몇 시간은 힘들다. 클릭만으로 끝나는 도구도 아니어서, 코드를 쓰지 않고 모델을 훈련하려는 사람은 다른 방법을 찾아야 한다.
시작하기
- 컴퓨터에 Python 3.9 이상을 설치하고 가상 환경을 만든다.
- 공식 Get Started 페이지에서 연산 플랫폼을 고른다(NVIDIA GPU는 CUDA, AMD는 ROCm, CPU 전용도 가능).
- 페이지가 생성한 pip 또는 conda 설치 명령을 실행해 PyTorch를 환경에 추가한다.
- Python 스크립트에서 라이브러리를 임포트하고 텐서를 만든 뒤, 간단한 장치 확인으로 GPU에 올라갔는지 본다.
- 공식 튜토리얼을 따라 첫 신경망을 만들고, 이후에는 데이터를 자신의 것으로 바꾼다.
제품 정보
PyTorch의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.
추천 대상
이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.
사용자
- 머신러닝 연구자
- 딥러닝으로 넘어가는 데이터 과학자
- 학생과 독학자
작업
- 신경망 훈련
- 연구용 프로토타이핑
- 모델을 프로덕션으로
- 사전 학습 모델 미세 조정
활용 상황
- 대학원생이 새벽 2시에 논문을 재현한다
- 작은 팀이 추천 모델을 만든다
- 엔지니어가 클라우드 GPU를 빌리기 전에 노트북에서 아이디어를 시험한다
주요 기능
GPU 가속을 동반한 텐서 연산
텐서는 PyTorch의 핵심 데이터 구조다. NumPy 배열과 비슷하지만 GPU에서 실행된다. 메서드를 한 번 호출하면 텐서를 CUDA 장치로 옮길 수 있고, 노트북에서 숫자를 계산하던 코드가 다시 쓰지 않고 여러 GPU 서버로 확장된다. 이 차이가 대형 모델 훈련을 이론이 아니라 실용으로 만든다. GPU가 없어도 CPU 경로는 돌아간다. 확장도 된다. 작은 표본에서 결과를 확인하든 전체 훈련을 돌리든, 장치에 독립적인 같은 코드가 끝까지 함께한다. 팀이 첫 모델을 출시한 뒤에도 남는 큰 이유가 여기에 있다.
실행하면서 만들어지는 계산 그래프
PyTorch는 코드가 실행되는 동안 그래프를 만든다. 그래서 모델 안에서 평범한 Python 제어 흐름을 쓸 수 있다. 루프와 조건문, print문이 순전파 도중에도 동작한다. 디버깅은 순수 Python을 다루는 느낌에 가깝다. 모델 형태를 바꾸고 싶다면 코드를 고치면 된다. 그래프를 처음부터 다시 쓸 필요가 없다.
자동 미분
autograd 엔진은 텐서의 모든 연산을 추적하고 그레이디언트를 대신 계산한다. 순전파를 정의하고 역전파를 호출한다. 미적분은 라이브러리가 스스로 처리한다. 이 기능 하나가 신경망을 손으로 구현할 때 가장 실수가 잦은 부분을 없애주며, 초보자가 오후 한나절에 동작하는 모델을 훈련할 수 있는 큰 이유다.
두터운 동반 라이브러리
PyTorch에는 이미지용 torchvision, 소리용 torchaudio, 언어 데이터용 torchtext가 함께 온다. 공식 세트 밖에서도 Hugging Face Transformers와 PyTorch Lightning 같은 프로젝트가 그 위에 바로 구축된다. 그래서 처음부터 시작하는 경우는 드물다. 사전 학습 모델 라이브러리만으로도 팀의 훈련 시간을 몇 주 아낀다.
TorchScript와 프로덕션 배포
TorchScript를 쓰면 Python 인터프리터 없이 실행되는 형태로 모델을 변환할 수 있다. 왜 굳이 그럴까. 예측 가능한 성능 때문이다. 서빙용 TorchServe와 결합하면 프레임워크를 떠나지 않고 연구 노트에서 라이브 엔드포인트까지 이어지는 경로가 생긴다.
분산 훈련
여러 GPU나 여러 머신에서의 훈련은 torch.distributed와 DistributedDataParallel 같은 유틸리티를 통해 내장되어 있다. 약간의 코드 변경으로 모델이나 데이터셋을 장치들에 나눌 수 있다. 전용 클러스터가 없는 팀도 대규모 훈련을 감당할 수 있게 해준다.
크로스 플랫폼 내보내기
훈련된 모델을 ONNX로 내보내거나 ExecuTorch로 모바일과 임베디드 기기를 겨냥한다. 즉 Linux 워크스테이션에서 훈련한 모델이 휴대폰이나 마이크로컨트롤러에서 돌아갈 수 있다. 제품이 실제 최종 사용자에게 전달된다면 중요한 점이다.
장단점
장점
- 허용적인 라이선스 아래 무료 오픈소스다. 유료 등급도 사용량 제한도 없다.
- Python 우선 설계라 코드가 평범한 Python처럼 읽혀 디버깅 주기가 짧아진다.
- PyTorch Foundation과 매우 큰 커뮤니티가 뒷받침해, 자정에 고집 센 오류에 막혀도 튜토리얼과 답을 찾기 쉽다.
- GPU 가속과 다중 장치 구성의 분산 훈련 지원이 탄탄하다.
- 연구 세계와 깊이 통합되어 대부분의 새 모델에 참조 구현이 있다.
단점
- Python이나 선형대수가 처음이라면 학습 곡선이 가파르다. 끌어다 놓는 인터페이스는 없다.
- GPU 훈련에는 호환 하드웨어가 필요하고, 쓸만한 NVIDIA 카드는 실제로 돈이 든다.
- 버전 업데이트가 때때로 API를 바꿔서 오래된 튜토리얼 코드가 깨지고 직접 고쳐야 한다.
- 동반 라이브러리의 수가 많아, 명확한 출발점 하나만 원하는 초보자는 부담을 느낀다.
자주 묻는 질문
무료다. PyTorch는 오픈소스이자 무료이며 허용적인 라이선스로 공개된다. 유료 요금제나 사용 한도는 없다. 비용은 그것을 실행할 하드웨어나 클라우드 연산에만 든다.
관련 콘텐츠
PyTorch와 관련된 도구, 스킬, 아티클을 살펴보세요.
PyTorch 대안
Base Code
Base44 (Wix) · 코딩 · 생산성Base Code는 Base44가 만든 공유 클라우드 개발 환경이다. 팀은 기존 GitHub 저장소에 대한 변경을 채팅으로 설명하고, 미리보기로 확인한 뒤 풀 리퀘스트로 돌려보낸다.
Google EmbeddingGemma 2
Google DeepMind · 글쓰기 · 이미지 · 코딩Google EmbeddingGemma 2는 7억 4000만 파라미터의 오픈 모델로, 텍스트와 코드, 이미지, 오디오, 영상 프레임을 하나의 768차원 공간에 벡터로 바꿔 스마트폰과 노트북에서 실행한다.
GitGlow
GitGlow · 코딩 · 생산성GitGlow는 내 코드와 AI 에이전트의 변경을 한 리뷰에 모으는 데스크톱 Git 클라이언트다. 배포 전에 내 기계에서 무엇이 나가는지 확인할 수 있다.
