PyTorch 팀, 텐서부터 트랜스포머까지 직접 구현하는 'TinyTorch' 공개
최근 30일 조회수 — 좋아요 —핵심 요약
PyTorch 팀이 순수 파이썬으로 프레임워크 내부를 처음부터 구현하며 배우는 무료 오픈소스 교육 과정 TinyTorch를 공개했다.
PyTorch 팀이 텐서부터 트랜스포머까지 직접 구현하며 배우는 교육용 프레임워크 ‘TinyTorch’를 공개했다. PyTorch 블로그에 따르면 이 커리큘럼은 무료 오픈소스로, 순수 파이썬으로 PyTorch와 동일한 API를 사용해 작동하는 ML 프레임워크를 처음부터 만들어보게 한다. 총 20개 모듈로 구성되며 GPU 없이 램 4GB 노트북에서도 실행된다. 주소는 tinytorch.ai다.
PyTorch 팀은 이 프로젝트의 배경을 시스템 소프트웨어 분야의 오래된 관행에서 찾는다. 유닉스가 한 사람이 통째로 이해하기엔 너무 커지자 앤드루 타넨바움이 학생도 끝까지 완성할 수 있는 규모로 MINIX를 만들었고, 이는 이후 리눅스 탄생에 영향을 줬다. 컴파일러 분야도 마찬가지다. LLVM과 GCC는 완성도는 높지만 첫 교재로 삼기엔 사실상 읽기 어려운 코드베이스라, 강의에서는 대신 Tiger 컴파일러를 가르친다. MIT가 xv6를 x86에서 RISC-V로 다시 쓴 것도, Nachos·Pintos·SICP가 나온 것도 같은 이유였다. 이들 프로젝트는 실제 프로덕션 시스템을 대체하려 한 것이 아니라, 프로덕션 시스템이 감춰야만 하는 부분을 드러내려 했다는 공통점이 있다. PyTorch 팀은 지금 PyTorch가 바로 그 지점에 와 있다고 본다.
이 문제는 교육 영역에만 머물지 않는다. 어떤 프레임워크든 내부 구조를 제대로 이해하는 인력은 소수에 그치고, 그 수는 저절로 늘지 않는다. 텐서 캐싱의 메모리 누수를 짚어내거나, 느린 학습 과정을 보고 프로파일러를 열기도 전에 병목 지점을 짚어내는 능력은 대개 우연히 생긴다. 실무에서는 버그가 터진 순간부터 그 코드베이스를 배우기 시작하는 경우가 많고, 그 결과 구멍 난 채로 능숙해지는 일이 흔하다. PyTorch 팀은 autograd의 backward()를 직접 구현해보고 Adam 옵티마이저의 모멘텀·분산 버퍼를 손수 할당해 메모리 사용량이 세 배로 뛰는 걸 본 사람은, 이후 PyTorch의 실제 autograd 코드를 이미 아는 개념의 더 정교한 버전으로 읽게 된다고 설명한다.
의외의 반응은 기업 쪽에서 나왔다. 일부 팀은 TinyTorch를 신입 온보딩용 2~3주 집중 과정으로, 또는 한 분기에 걸친 내부 교육으로 활용하고 있으며, autograd를 다루는 6번 모듈이나 어텐션을 다루는 12번 모듈만 따로 떼어 특정 디버깅 워크숍에 쓰는 경우도 있다고 한다.
구성은 4개 티어에 걸친 20개 모듈로, tito라는 전용 CLI로 진행하며 자료는 핵심 부분을 비워둔 주피터 노트북 형태로 제공된다. 필요한 사전 지식은 파이썬과 넘파이(NumPy) 사용 경험이며, GPU는 요구하지 않는다.
읽기 목록은 이 브라우저에 저장됩니다.
출처
- TinyTorch: Don’t Just Import PyTorch. Build It. — PyTorch Blog
이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.