Google Cloud의 TPU 정보

Tensor Processing Unit (TPU)은 Google에서 맞춤 개발한 ASIC (Application-Specific Integrated Circuit)로, 머신러닝 (ML) 및 인공지능 (AI) 워크로드를 빠르게 처리하도록 설계되었습니다. 몇 주 동안 복잡한 기본 모델을 학습하든 대규모 추론을 실행하든 TPU는 JAX 및 PyTorch와 같은 프레임워크에 최적화된 확장 가능한 특수 컴퓨팅 리소스를 제공합니다.

Cloud TPU는 가장 까다로운 AI 워크로드를 처리하도록 설계되었습니다. 주요 혜택은 다음과 같습니다.

  • 행렬 연산에 최적화됨: TPU는 행렬 곱셈 단위 (MXU)를 사용하여 ML 알고리즘에 필수적인 대규모 행렬 연산을 매우 효율적으로 실행하도록 특별히 설계되었습니다.

  • 고대역폭 메모리 (HBM): 온칩 고대역폭 메모리를 사용하면 더 큰 모델을 학습시키고 제공할 수 있으며 더 큰 배치 크기를 효과적으로 활용할 수 있습니다.

  • 슬라이스를 통한 대규모 확장성: TPU 칩은 슬라이스라는 그룹으로 연결할 수 있습니다. 슬라이스를 사용하면 대규모 학습 작업을 위해 워크로드를 최대 수천 개의 TPU 칩으로 확장할 수 있습니다.

TPU 사용 시기

TPU는 다음과 같은 특정 워크로드에 최적화되어 있습니다.

  • 행렬 연산이 주를 이루는 모델
  • 기본 학습 루프 내에 커스텀 PyTorch/JAX 작업이 없는 모델
  • 몇 주 또는 몇 달간 학습시키는 모델
  • 유효 배치 크기가 큰 대형 모델
  • 고급 순위 지정 및 추천 워크로드에 일반적으로 사용되는 초대형 임베딩이 있는 모델

TPU는 다음 워크로드에 적합하지 않습니다.

  • 브랜치 생성이 자주 필요하거나 많은 요소별 대수 연산이 포함된 선형 대수 프로그램
  • 고정밀 연산이 필요한 워크로드
  • 기본 학습 루프에 커스텀 작업이 포함된 신경망 워크로드

Google Cloud의 프로비저닝 옵션

운영 요구사항에 따라 다음 Google Cloud 제품을 사용하여 TPU에 액세스하고 프로비저닝할 수 있습니다.

Compute Engine

Compute Engine을 사용하면 개별 TPU VM 또는 슬라이스를 만들고 관리하여 TPU VM의 전체 수명 주기를 관리할 수 있습니다. Google에서는 기존 Cloud TPU API 대신 Compute Engine을 사용하여 TPU 리소스를 프로비저닝할 것을 권장합니다.

자세한 내용은 Compute Engine의 Cloud TPU 리소스를 참고하세요.

Google Kubernetes Engine

Google Kubernetes Engine (GKE)은 대규모 AI 워크로드를 조정하기 위한 완전 관리형 멀티 테넌트 Kubernetes 환경을 제공합니다. GKE는 TPU VM 생성, 구성, 삭제를 포함해 TPU 노드 및 노드 풀의 수명 주기 관리를 지원합니다.

자세한 내용은 GKE의 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 머신을 참고하세요.

다음 단계