Google이 TPU에서 PyTorch를 실행하는 TorchTPU를 오픈소스로 공개했습니다. TPU는 머신러닝 연산용 가속기입니다. 발표는 익숙한 PyTorch API와 도구를 유지하면서 TPU를 학습·추론의 선택지로 넓히는 데 초점을 맞춥니다. Google Cloud 공식 발표
Google은 eager 실행과 torch.compile, 주요 추론·학습 도구와의 통합을 소개했습니다. 하지만 프레임워크를 지원한다는 설명이 모든 CUDA 전용 코드의 자동 전환을 보장하지는 않습니다. 사용자 정의 커널과 특정 GPU 라이브러리에 의존하는 부분을 먼저 분리해야 합니다.
이 글의 목차
PyTorch 코드와 가속기 코드는 다른 층에 있습니다
PyTorch는 텐서 연산과 신경망 학습을 표현하는 프레임워크입니다. 텐서는 여러 차원의 숫자 배열이고, 실제 계산은 CPU나 GPU, TPU 같은 장치가 수행합니다. Python 코드에서 같은 연산을 호출하더라도 장치에 맞는 실행 경로가 필요해요. TorchTPU는 이 연결을 넓히는 소식이지, GPU 하드웨어 자체를 TPU로 바꾸는 기능은 아닙니다.
모델 코드가 표준 PyTorch 연산으로 구성되어 있다면 이식 검토를 시작하기 쉽습니다. 반면 특정 CUDA 확장이나 직접 작성한 GPU 커널을 호출하면 해당 부분을 별도로 확인해야 합니다. 전처리와 후처리에 쓰는 라이브러리도 포함해 의존성을 나눠 보면, 변경이 필요한 구간과 그대로 평가할 수 있는 구간을 구분할 수 있습니다.
컴파일 시간과 실행 시간을 나눠 측정해야 합니다
eager 실행은 연산을 호출할 때마다 수행하는 방식이라 중간 결과를 살펴보기에 편합니다. 컴파일 방식은 여러 연산의 실행 계획을 최적화하지만 준비 시간이 들 수 있어요. 서비스가 짧게 실행됐다 종료되는지, 같은 모델로 오랫동안 요청을 처리하는지에 따라 이 준비 비용의 의미가 달라집니다. 첫 실행과 준비가 끝난 뒤의 실행을 섞어 평균을 내면 비교가 흐려집니다.
정밀도와 배치 크기도 같은 조건으로 맞춥니다. 정밀도는 숫자를 표현하는 방식이며 메모리 사용량과 결과에 영향을 줄 수 있습니다. 배치를 키워 처리량이 늘었더라도 사용자 한 명이 기다리는 시간이 길어질 수 있어요. 초당 처리량, 개별 요청 지연, 허용 가능한 출력 오차를 따로 기록해야 장치 변경의 효과를 판단할 수 있습니다.
작은 모델 하나를 고를 때도 실제 경로를 포함합니다
가상의 이전 실험이라면 서비스에서 자주 호출하는 모델 하나와 대표 입력을 먼저 고릅니다. 토큰 길이나 이미지 크기가 짧은 입력만 사용하지 말고 평소 자주 들어오는 범위와 큰 입력을 함께 준비합니다. 가속기 메모리 부족, 지원되지 않는 연산, 컴파일이 반복되는 상황을 구분해 기록하면 다음 실험에서 무엇을 줄여야 할지 보입니다.
비용은 장치의 시간당 가격만 비교하지 않습니다. 모델을 올리고 준비하는 시간, 처리에 필요한 장치 수, 데이터 이동과 실패한 재실행까지 포함해 성공한 작업당 비용을 계산합니다. 여기서 제시한 항목은 평가 설계이며 실제 TorchTPU 성능을 측정한 결과는 아닙니다. 자신의 모델에서 얻은 기록으로 운영 후보를 좁히는 데 사용합니다.
작은 이전 실험의 범위
- CUDA 전용 확장과 사용자 정의 연산 목록을 만듭니다.
- 사용할 모델·정밀도·PyTorch 버전에 맞는 지원 범위를 확인합니다.
- 같은 입력으로 출력 품질과 전체 처리 비용을 비교합니다.
TPU 도입 여부는 공급자의 성능 예시보다 자신의 모델과 운영 조건으로 결정합니다. 공개된 스택은 검증을 시작할 수 있는 기반으로 보는 편이 정확합니다.
발표문 기준일: 2026-10-21 · 확인일: 2026-10-24



