Tensor Processing Unit(TPU)은 Google에서 맞춤 개발한 ASIC(Application-Specific Integrated Circuit)로, 머신러닝(ML) 및 인공지능(AI) 워크로드를 빠르게 처리하도록 설계되었습니다. 복잡한 파운데이션 모델을 몇 주 동안 학습시키든 대규모 추론을 실행하든 TPU는 JAX 및 PyTorch와 같은 프레임워크에 최적화된 확장 가능한 특수 컴퓨팅 리소스를 제공합니다.
Cloud TPU는 가장 까다로운 AI 워크로드를 처리하도록 설계되었습니다. 주요 이점은 다음과 같습니다.
행렬 연산에 최적화: TPU는 ML 알고리즘의 기본이 되는 대규모 행렬 연산을 뛰어난 효율성으로 실행하도록 MXU(행렬 곱셈 단위)를 사용하여 특별히 설계되었습니다.
고대역폭 메모리(HBM): 온칩 고대역폭 메모리를 사용하면 더 큰 모델을 학습시키고 제공하며 더 큰 배치 크기를 효과적으로 활용할 수 있습니다.
슬라이스를 통한 대규모 확장성: TPU 칩은 슬라이스라는 그룹으로 연결할 수 있습니다. 슬라이스를 사용하면 워크로드가 대규모 학습 작업을 위해 최대 수천 개의 TPU 칩으로 확장할 수 있습니다.
TPU 사용 시기
TPU는 다음과 같은 특정 워크로드에 최적화되어 있습니다.
- 행렬 연산이 주를 이루는 모델
- 기본 학습 루프 내에 커스텀 PyTorch/JAX 작업이 없는 모델
- 몇 주 또는 몇 달간 학습시키는 모델
- 유효 배치 크기가 큰 대형 모델
- 고급 순위 지정 및 추천 워크로드에 일반적으로 사용되는 초대형 임베딩이 있는 모델
TPU는 다음 워크로드에 적합하지 않습니다.
- 브랜치 생성이 자주 필요하거나 많은 요소별 대수 연산이 포함된 선형 대수 프로그램
- 고정밀 연산이 필요한 워크로드
- 기본 학습 루프에 커스텀 작업이 포함된 신경망 워크로드
Google Cloud의 프로비저닝 옵션
운영 요구사항에 따라 다음 Google Cloud 제품을 사용하여 TPU에 액세스하고 프로비저닝할 수 있습니다.
Compute Engine
Compute Engine을 사용하면 개별 TPU VM 또는 슬라이스를 만들고 관리할 수 있으므로 TPU VM의 전체 수명 주기를 관리할 수 있습니다. TPU 리소스를 프로비저닝하려면 기존 Cloud TPU API 대신 Compute Engine을 사용하는 것이 좋습니다.
자세한 내용은 Compute Engine의 Cloud TPU 리소스를 참조하세요.
Google Kubernetes Engine
Google Kubernetes Engine(GKE)은 대규모 AI 워크로드를 조정하기 위한 완전 관리형 멀티 테넌트 Kubernetes 환경을 제공합니다. GKE는 TPU VM 생성, 구성, 삭제를 포함해 TPU 노드 및 노드 풀의 전체 수명 주기 관리를 지원합니다.
자세한 내용은 GKE의 TPU 정보를 참조하세요.
일괄
Batch는 Compute Engine TPU VM에서 실행되는 컨테이너화된 워크로드 또는 스크립트 기반 워크로드를 예약, 큐에 추가, 실행할 수 있는 완전 관리형 서비스입니다.
자세히 알아보려면 TPU를 사용하는 일괄 작업 만들기 및 실행을 참조하세요.
Cloud TPU
Google Cloud CLI 및 Cloud TPU용 Cloud 클라이언트 라이브러리를 포함한 Cloud TPU API는 더 이상 개발되지 않습니다. TPU 리소스를 프로비저닝하고 관리하려면 조정 및 워크로드 요구사항에 따라 Compute Engine 또는 GKE를 사용하는 것이 좋습니다.
자세한 내용은 Cloud TPU API에서 마이그레이션을 참조하세요.
Compute Engine에서 지원되는 TPU 버전
Compute Engine은 다음 TPU 버전을 지원합니다.
- TPU7x(Ironwood)
- TPU v6e (Trillium)
- TPU v5p
각 TPU 버전에 대한 자세한 내용은 TPU 머신을 참조하세요.
다음 단계
- Compute Engine의 Cloud TPU 리소스 알아보기
- TPU 하드웨어 알아보기