vLLM·SGLang TPU 사용법|TorchTPU 설치 조건·GPU 비용 비교
vLLM과 SGLang을 TPU에서 PyTorch 기반으로 운영하려면 각각의 TorchTPU 백엔드를 확인해야 합니다. Google은 2026년 10월 20일 새 네이티브 PyTorch 백엔드를 발표했습니다. 기존에도 JAX 기반 TPU 지원이 있었으므로, 이번 변경은 ‘TPU 최초 지원’이 아니라 PyTorch에서 추론 환경을 수정하고 디버깅할 수 있는 경로의 확대입니다.
설치 전 핵심 요약
확인 기준: 2026년 10월 21일
vLLM: vllm-torchtpu 플러그인과 공식 호환 조건 확인
SGLang: sglang-torchtpu의 TPU 전용 이미지·배포 조합 확인
비교 기준: 같은 모델·정밀도·입출력 길이·동시 요청 조건
운영 판단: GPU보다 항상 빠르거나 저렴하다고 단정할 수 없음
목차
vLLM·SGLang·TorchTPU는 무엇인가요?
AI 모델을 ‘답변을 만드는 두뇌’라고 생각하면, vLLM과 SGLang은 여러 사용자의 질문을 받아 모델이 답하도록 운영하는 추론 엔진입니다. TPU는 계산을 담당하는 Google의 AI 가속기이며, TorchTPU는 PyTorch 코드를 TPU에서 실행하도록 연결하는 소프트웨어 계층입니다.
Google 발표에 따르면 새 백엔드는 각 엔진의 스케줄러·KV 캐시 관리·API 서버 구조를 활용하면서 아래쪽에 TPU 구현을 연결합니다. 따라서 새로운 모델 API를 구매하는 서비스와는 다릅니다. 직접 모델을 운영할 클라우드 환경이 필요합니다.
근거: Google의 vLLM·SGLang TPU 발표
TPU 설치 조건과 호환성
엔진 이름만 같다고 GPU용 설치법을 그대로 적용하지 마세요. 확인일 현재 각 공식 저장소가 안내하는 조건은 다음과 같습니다.
| 항목 | vLLM TorchTPU | SGLang TorchTPU |
|---|---|---|
| 주요 하드웨어 | TPU v7x 권장·지속 검증 | TPU7x 중심 개발·시험 |
| 다른 TPU 세대 | v6e·v5e·v5p는 실험적, CI 검증 대상 아님 | 해당 세대의 별도 지원 근거 확인 필요 |
| Python·환경 | Cloud TPU VM, Python 3.12 | wheel 경로는 Linux x86_64, Python 3.11~3.14 안내 |
| 설치 경로 | 전용 패키지 또는 컨테이너 | TPU 이미지 또는 엔진·플러그인 wheel 조합 |
출처: vLLM TorchTPU 공식 저장소, SGLang TorchTPU 공식 저장소
모델 이름이 지원 목록에 있어도 정밀도·양자화·병렬 구성·시험 범위를 함께 확인하세요. 특히 SGLang 저장소는 모델마다 레시피와 테스트 범위가 다르고 실험적 통합도 포함한다고 설명합니다.
공식 설치 예제로 시작하기
1. 실행할 TPU와 소프트웨어 조합부터 확정합니다
프로젝트의 TPU 할당량·사용 가능 위치·접근 권한을 확인한 뒤, 선택한 엔진 문서의 설치 조합을 사용하세요. 운영 기록에는 TPU 종류, Python·PyTorch·TorchTPU·엔진 버전과 이미지 태그를 함께 남기는 것을 권합니다.
2. vLLM은 전용 플러그인 설치 경로를 사용합니다
아래는 공식 README의 설치 예제입니다. 앞서 확인한 Cloud TPU VM·Python 조건을 갖춘 환경에서 사용합니다.
pip install \
--extra-index-url https://download.pytorch.org/whl/cpu \
vllm-torchtpu
모델 실행은 공식 Quickstart의 지원 모델과 옵션을 따릅니다. 저장소는 첫 시작 때 TPU 그래프 컴파일로 수분이 걸릴 수 있다고 설명하므로, 최초 시작 시간과 준비 완료 후 응답 시간을 분리해 기록하세요.
3. SGLang은 TPU 전용 배포물을 확인합니다
공식 README에는 다음 TPU 이미지가 안내되어 있습니다. 이 명령은 이미지를 받는 단계이며 서버 실행까지 완료하는 명령은 아닙니다.
docker pull lmsysorg/sglang:v0.1.0-tpu
이어 공식 README의 TPU 접근 설정과 모델 레시피를 적용합니다. wheel 설치를 선택한다면 해당 저장소가 배포한 엔진과 플러그인을 함께 사용해야 합니다. 일반 PyPI의 sglang 패키지로 임의 교체하지 마세요.
설치·실행 근거: vLLM 공식 시작 안내, SGLang 공식 시작 안내
배포 과정에서 모델 저장소나 외부 서비스의 키를 사용한다면 유출 경고 대응도 준비해 두세요.
GPU와 성능·비용을 비교하는 방법
‘TPU가 몇 배 빠르다’보다 내 서비스의 응답 기준을 만족하는지 먼저 확인하세요. 아래는 직접 비교를 위한 시험 설계안입니다. 이 글에서는 GPU·TPU 실측을 수행하지 않았습니다.
- 모델·리비전·토크나이저·정밀도를 맞춥니다.
- 입력·출력 토큰 길이, 동시 요청 수, 생성 설정을 고정합니다.
- 첫 실행·컴파일 구간과 워밍업 이후 구간을 분리합니다.
- 캐시를 끈 조건과 실제 재사용 조건을 나눠 측정합니다.
- 동일한 응답 품질·오류율·지연 기준을 충족한 결과끼리 비용을 비교합니다.
| 측정 항목 | 의미 | GPU | TPU |
|---|---|---|---|
| TTFT p95 | 첫 토큰까지 기다린 시간의 95백분위 | 측정 필요 | 측정 필요 |
| 전체 응답 지연 p95 | 응답 완료까지의 95백분위 | 측정 필요 | 측정 필요 |
| 출력 처리량 | 같은 집계 방식의 출력 토큰/초 | 측정 필요 | 측정 필요 |
| 비용·오류율 | 청구 비용과 성공·실패 요청 비율 | 측정 필요 | 측정 필요 |
출력 100만 토큰당 비용 = 시험 구간 총비용 ÷ 성공 응답의 출력 토큰 합계 × 1,000,000
이는 자체 비교용 계산식입니다. 입력 길이를 고정하고, 컴파일·유휴 시간·호스트·저장소·네트워크 비용을 어디까지 포함했는지 기록하세요. 서로 다른 비용 범위나 할인 조건의 결과를 바로 비교하면 판단이 달라질 수 있습니다.
실행이 안 되거나 느릴 때
다음은 원인을 좁히기 위한 운영 점검 제안입니다.
- 패키지 설치 실패: 선택한 엔진의 Python·운영체제·배포 버전 조합을 다시 확인합니다.
- 장치를 찾지 못함: 컨테이너·작업 환경에서 TPU에 접근할 수 있는지 확인합니다.
- 모델 로딩 실패: 가중치 접근 권한, 지원 모델·정밀도, 메모리와 병렬 구성을 대조합니다.
- 첫 시작만 느림: 컴파일 구간인지 확인하고 준비 완료 이후 성능을 따로 측정합니다.
- 일부 입력만 실패: 긴 입력, 도구 호출, 구조화 출력 등 실패 조건을 분리합니다.
TorchTPU 설치가 끝난 환경에서는 Google Cloud 공식 FAQ의 다음 예제로 활성 가속기를 확인할 수 있습니다. 장치 확인은 모델 정확도나 서빙 성능 검증을 대신하지 않습니다.
import torch
assert torch.accelerator.current_accelerator().type == "tpu"
자주 묻는 질문
일반 노트북에 설치하면 TPU를 쓸 수 있나요?
패키지 설치만으로 TPU가 생기지는 않습니다. 안내된 Cloud TPU 실행 환경과 자원 접근 조건을 갖춰야 합니다.
JAX 기반 TPU 설정과 섞어도 되나요?
기존 JAX 경로와 새 TorchTPU 경로를 구분하세요. vLLM 저장소는 JAX 모델용 경로와 PyTorch 모델용 플러그인을 별도로 안내합니다.
vLLM과 SGLang 중 무엇을 먼저 선택하나요?
이미 운영하는 엔진과 목표 모델의 검증된 레시피를 먼저 확인하는 것이 실용적입니다. 이후 같은 요청으로 응답 품질·지연·비용을 비교해 결정하세요.
오픈소스면 클라우드 비용도 무료인가요?
소프트웨어 라이선스와 클라우드 자원 이용료는 별개입니다. TPU 자원을 만들기 전에 계정에 적용되는 요금과 할당 조건을 확인하세요.
함께 보면 좋은 글
모델 평가 결과, 외부 검색 API 연동, 배포 키 관리까지 다음 개발 과제로 이어갈 때 참고할 글입니다.
