가속기 최적화 머신 계열의 TPU 머신

이 문서에서는 텐서 처리 장치 (TPU)가 있는 가속기 최적화 머신 계열의 Compute Engine 인스턴스를 설명합니다. TPU는 Google에서 인공지능 (AI) 및 머신러닝(ML) 워크로드에 맞게 특별히 최적화하여 맞춤 개발한 ASIC (application-specific integrated circuits)입니다.

Compute Engine은 다음 TPU 버전을 지원합니다.

  • TPU7x
  • TPU v6e
  • TPU v5p

버전 내의 각 머신 유형에는 특정 토폴로지와 연결된 여러 TPU 칩이 있습니다.

TPU 아키텍처의 기본 사항

TPU 아키텍처의 기본사항을 이해하면 워크로드에 적합한 TPU 버전과 머신 유형을 선택하는 데 도움이 됩니다.

  • TPU 칩: TPU 칩은 Google에서 머신러닝을 위해 설계한 특수 가속기입니다. 각 TPU 칩에는 대규모 행렬 연산을 처리하는 하나 이상의 TensorCore가 포함되어 있습니다. 각 TensorCore는 하나 이상의 행렬 곱셈 단위 (MXU)로 구성되며, MXU는 시스톨릭 배열 아키텍처를 사용하여 지속적인 메모리 액세스 없이 주기당 수천 개의 곱셈-누산 연산을 실행합니다. 주로 고속 행렬 처리에 사용되지만 TPU 칩에는 일반 계산 및 제어 흐름 작업을 위한 벡터 및 스칼라 단위도 포함되어 있습니다.

  • TPU Pod: TPU Pod는 특수 네트워크를 통해 그룹화된 연속된 TPU 집합입니다. TPU Pod의 TPU 칩 수는 TPU 버전에 따라 다릅니다.

  • TPU 인스턴스: TPU 호스트에서 실행되고 기본 TPU 하드웨어에 직접 액세스할 수 있는 Linux 컴퓨팅 인스턴스로, 고성능 라이브러리, SSH 연결, 런타임 디버그 로그에 대한 액세스를 제공합니다.

  • TPU 슬라이스: 하나 이상의 TPU 인스턴스를 통해 액세스되는 상호 연결된 TPU 칩의 논리적 그룹입니다. 슬라이스에는 다음 범위 중 하나가 있습니다.

    • 단일 호스트 슬라이스: 하나의 호스트 머신으로 구성된 슬라이스입니다. 일반적으로 이는 하나의 TPU 인스턴스에 매핑됩니다.
    • 멀티 호스트 슬라이스: 고속 칩 간 상호 연결 (ICI)을 사용하여 상호 연결된 여러 TPU 인스턴스로 구성된 슬라이스입니다.
  • TPU 큐브: 상호 연결된 TPU 칩의 4x4x4 토폴로지입니다. 이는 3D 토폴로지에만 적용됩니다.

  • SparseCore: SparseCore는 희소 작업을 사용하는 모델을 가속화하는 데이터 흐름 프로세서입니다. 기본 사용 사례는 임베딩에 크게 의존하는 추천 모델을 가속화하는 것입니다.

  • TPU 버전: TPU 칩의 정확한 아키텍처는 사용되는 TPU 버전에 따라 다릅니다. 각 TPU 버전은 다양한 슬라이스 크기와 구성도 지원합니다.

TPU 작동 방식에 대한 자세한 내용은 Cloud TPU 문서의 TPU 아키텍처 문서를 참고하세요.

워크로드 유형별 권장 TPU 버전

적절한 TPU 모델은 워크로드의 컴퓨팅 특성, 메모리 요구사항, 확장성 요구사항에 따라 달라집니다. 다음 탭 중 하나를 선택하여 추천을 확인하세요.

AI/ML 학습

  • 대규모 모델 사전 학습: 대규모 모델을 처음부터 학습시킵니다. 이러한 워크로드는 컴퓨팅 및 통신에 바인딩됩니다.

    • 필요한 TPU 기능: 높은 최대 FLOPS, 낮은 정밀도 지원, 높은 상호 연결 대역폭
    • 권장 TPU 버전:
      • TPU7x 이 버전은 높은 FP8 성능을 제공합니다.
      • TPU v5p 이 버전은 대규모 클러스터 구성을 지원합니다.
  • 모델 미세 조정 및 증류: 파라미터 효율적인 방법을 사용하여 기존 모델을 적응시키거나 더 작은 모델 변형을 학습시킵니다.

    • 필요한 TPU 기능: 적당한 컴퓨팅 및 충분한 메모리 용량
    • 권장 TPU 버전:
      • TPU v6e 이 버전은 표준 학습 작업에 비용 효율적입니다.
      • TPU7x 이 버전은 대규모 미세 조정에 고성능을 제공합니다.

AI/ML 추론

  • 온라인 모델 제공: 짧은 지연 시간이 중요한 실시간 상호작용을 위해 모델을 배포합니다. 이러한 워크로드는 토큰의 순차적 생성 중에 메모리 대역폭에 제한됩니다.

    • 필요한 TPU 기능: 데이터 검색 지연 시간을 최소화하기 위한 높은 HBM 대역폭과 대규모 온칩 SRAM
    • 권장 TPU 버전:
      • TPU v6e 이 버전은 대규모 비용 효율적인 제공에 최적화되어 있습니다.
      • TPU7x 이 버전은 토큰 생성을 가속화하기 위해 높은 HBM 대역폭과 대규모 SRAM을 제공합니다.
  • 일괄 추론 실행: 처리량이 높은 것이 기본 목표인 오프라인에서 대규모 데이터 세트를 처리합니다. 이러한 워크로드는 프롬프트 사전 입력 단계에서 컴퓨팅에 바인딩됩니다.

    • 필요한 TPU 기능: 비용 대비 처리량을 극대화하기 위한 높은 컴퓨팅 밀도
    • 권장 TPU 버전:
      • TPU v6e 이 버전은 처리량이 많은 일괄 처리에 비용 효율적입니다.
      • TPU7x 이 버전은 대규모 배치를 빠르게 처리할 수 있는 높은 컴퓨팅 밀도를 제공합니다.

추천자 시스템

  • 대규모 임베딩 처리: 대규모 임베딩 테이블을 사용하는 추천 모델 학습 및 제공 이러한 워크로드는 용량 및 통신에 바인딩됩니다.
    • 필요한 TPU 기능: 희소 연산을 병렬로 처리하는 특수 SparseCore 하드웨어, 대규모 HBM 용량, 호스트 메모리로 오프로드 지원
    • 권장 TPU 버전:
      • TPU7x 이 버전에는 칩당 4개의 SparseCore가 포함되어 있으며 가장 큰 HBM 용량을 제공합니다.
      • TPU v6e 이 버전에는 비용 효율적인 서빙을 위해 칩당 두 개의 SparseCore가 포함되어 있습니다.
      • TPU v5p 이 버전에는 대규모 학습을 위해 칩당 4개의 SparseCore가 포함되어 있습니다.

강화 학습

  • 강화 학습 루프 실행: 샘플 생성 및 정책 가중치 업데이트의 긴밀한 루프가 필요한 하이브리드 워크로드 관리

    • 필요한 TPU 기능: 칩 간의 빠른 가중치 및 활성화 전송을 위한 짧은 지연 시간 ICI, 고대역폭 호스트 연결
    • 권장 TPU 버전:

      이러한 TPU 버전은 고속 3D 토러스 상호 연결을 사용합니다.

소비 옵션

워크로드 성능의 균형을 유지하면서 리소스 사용률과 비용을 최적화하기 위해 Compute Engine은 다음 TPU 소비 옵션을 지원합니다.

  • 주문형: 용량을 미리 준비하지 않고 TPU를 사용합니다. 리소스를 요청하기 전에 특정 유형 및 수량의 TPU 인스턴스에 대해 충분한 주문형 할당량이 있어야 합니다. 주문형은 가장 유연한 소비 옵션이지만 요청을 처리할 만큼 충분한 주문형 리소스가 제공된다고 보장할 수는 없습니다.

  • 스팟: 스팟 VM을 프로비저닝하면 상당한 할인을 받을 수 있지만 스팟 VM은 언제든지 30초 경고와 함께 선점될 수 있습니다. 자세한 내용은 스팟 VM 정보를 참고하세요.

  • Flex-start: 최대 7일 동안 {flex_start_vms_name}을 프로비저닝합니다. Compute Engine이 가용성을 기반으로 최선을 다해 하드웨어를 자동으로 할당합니다. 자세한 내용은 {flex_start_vms_name} 정보를 참고하세요.

  • 미래용 예약: 1년 이상의 미래용 예약을 요청합니다. 자세한 내용은 Cloud TPU 문서의 1년 이상의 미래용 예약 요청을 참고하세요.

  • 캘린더 모드의 미래용 예약: 지정된 기간 동안 최대 90일간 TPU 리소스를 프로비저닝합니다. 자세한 내용은 캘린더 모드의 미래용 예약 요청 정보를 참고하세요.

다른 옵션을 지정하지 않으면 주문형이 TPU의 기본 가격 모델입니다.

소비 옵션을 지원하는 기본 프로비저닝 모델에 대한 자세한 내용은 VM 프로비저닝 모델 정보를 참고하세요.

TPU 버전별 소비 옵션 사용 가능성

다음 표에는 TPU 버전별로 각 소비 옵션의 사용 가능성이 요약되어 있습니다.

TPU 버전 주문형 스팟 유연한 시작 온디맨드 예약 미래용 예약 캘린더 모드의 미래용 예약1
2 2 2

1 모든 용량 모드를 사용하는 경우 캘린더 모드에서 미래용 예약 요청을 만들 수 없습니다.

2 TPU7x의 캘린더 모드에서 스팟, flex-start, 미래용 예약은 허용 목록으로 제한됩니다. 액세스를 요청하려면 계정팀 또는 영업팀에 문의하세요.

모든 용량 모드

기본적으로 TPU 예약에는 자동 장애 복구가 포함됩니다.Google Cloud 는 예약된 용량에서 결함이 있는 TPU 머신을 정상적인 머신으로 자동 교체하여 TPU 슬라이스를 다시 시작하는 데 필요한 리소스를 사용할 수 있도록 이 프로세스를 관리합니다.

또는 TPU v6e 및 TPU7x의 경우 모든 용량 모드에서 TPU 용량을 요청할 수 있습니다. 이 모드에서는 예약된 전체 용량과 전체 토폴로지 가시성에 액세스할 수 있습니다. 이 모드에서는 정확한 토폴로지 인식 워크로드 배치를 위해 특정 블록 또는 하위 블록을 타겟팅할 수도 있습니다. 하지만 하드웨어 장애 및 유지보수는 사용자가 관리해야 합니다.

이러한 모드에 대한 자세한 내용은 Cloud TPU 문서의 TPU 용량 모드를 참고하세요.

TPU 버전 비교

다양한 TPU 버전의 특성을 비교합니다. 비교할 속성 선택 필드에서 특정 속성을 선택하여 다음 표에 있는 모든 TPU 버전의 속성을 비교할 수 있습니다.

가속기 최적화 가속기 최적화 가속기 최적화
VM VM VM
인텔 Emerald Rapids AMD EPYC Genoa 인텔 Sapphire Rapids
x86 x86 x86
224 44~180 208
대화목록 대화목록 대화목록
960 GB 176~1440GB 448GB
NUMA NUMA NUMA
— — —
— — —
— — —
— — —
— —
NVMe NVMe NVMe
—
— — —
— — —
— — —
— — —
— — —
— —
— — —
— — —
gVNIC gVNIC gVNIC
400 Gbps 50~400Gbps 200Gbps
4 8 4
— — —
할인 할인 할인
— 할인— 할인— 할인

TPU 아키텍처 사양

다음 표에는 각 TPU 버전의 주요 사양이 나와 있습니다.

사양 TPU7x TPU v6e TPU v5p
포드당 칩 수 9,216 256 8960
칩당 최고 컴퓨팅(BF16)(TFLOPS) 2,307 918 459
칩당 최고 컴퓨팅(FP8)(TFLOPS) 4,614 918 459
칩당 HBM 용량(GiB) 192 32 95
칩당 HBM 대역폭 (GBps) 7,380 1,638 2,765
vCPU 수(4칩 VM) 224 180 208
RAM (GiB) (4칩 VM) 960 720 448
칩당 TensorCore 수 2 1 2
칩당 SparseCore 수 4 2 4
칩당 양방향 칩 간 상호 연결 (ICI) 대역폭(GBps) 1200 800 1200
칩당 데이터 센터 네트워크 (DCN) 대역폭 (Gbps) 100 100 50

TPU 머신 유형

다음 섹션에서는 각 TPU 버전에서 사용할 수 있는 머신 유형을 설명합니다.

TPU7x(Ironwood)

각 TPU7x 가상 머신 (VM)에는 4개의 TPU 칩이 포함되어 있습니다. 모든 TPU7x 슬라이스는 전체 호스트, 4칩 VM을 사용합니다.

각 TPU7x 칩에는 2개의 TensorCore와 4개의 SparseCore가 포함됩니다.

Ironwood 프로그래밍 모델을 사용하면 이전 세대에서 사용된 단일 논리 코어 아키텍처 대신 TPU 기기 2개에 액세스할 수 있습니다. 자세한 내용은 Cloud TPU 문서의 듀얼 칩렛 아키텍처를 참고하세요.

머신 유형 vCPU 수 인스턴스 메모리 (GiB) 물리적 NIC 수 최대 네트워크 대역폭(Gbps) VM당 TPU 칩 수 NUMA 노드 수 총 TPU 메모리 (GiB HBM)
tpu7x-standard-4t 224 960 2 400 4 2 768

TPU7x 아키텍처에 대한 자세한 내용은 Cloud TPU 문서의 TPU7x (Ironwood)를 참고하세요.

TPU v6e (Trillium)

각 TPU v6e VM에는 TPU 칩 1개, 4개 또는 8개가 포함될 수 있습니다. 칩이 4개인 작은 슬라이스에는 동일한 비균일 메모리 액세스 (NUMA) 노드가 있습니다.

v6e 슬라이스는 각각 TPU 칩이 4개 있는 절반 호스트 VM을 통해 생성됩니다. 단, 다음은 예외입니다.

  • TPU 칩이 하나만 있는 ct6e-standard-1t는 주로 테스트용입니다.
  • ct6e-standard-8t는 추론 사용 사례에 최적화된 전체 호스트 VM으로, 단일 VM에 연결된 8개의 TPU 칩을 모두 단일 서빙 워크로드에서 사용할 수 있습니다.
머신 유형 vCPU 수 인스턴스 메모리(GB) 물리적 NIC 수 최대 네트워크 대역폭(Gbps) VM당 TPU 칩 수 NUMA 노드 수 총 TPU 메모리 (GiB HBM)
ct6e-standard-1t 44 176 1/4 50 1 1 32
ct6e-standard-4t 180 720 2 400 4 1 128
ct6e-standard-8t 360 1440 1 200 8 2 256

TPU v6e 아키텍처에 대한 자세한 내용은 Cloud TPU 문서의 TPU v6e를 참고하세요.

TPU v5p

TPU v5p 포드는 재구성이 가능한 고속 링크로 상호 연결된 8,960개의 TPU 칩으로 구성되어 있습니다. TPU v5p의 유연한 네트워킹을 사용하면 다양한 방식으로 TPU 칩을 동일한 크기의 슬라이스로 연결할 수 있습니다. 단일 슬라이스 학습은 최대 6,144개의 TPU 칩에 대해 지원됩니다.

머신 유형 vCPU 수 인스턴스 메모리(GB) 물리적 NIC 수 최대 네트워크 대역폭(Gbps) VM당 TPU 칩 수 NUMA 노드 수 총 TPU 메모리 (GiB HBM)
ct5p-hightpu-4t 208 448 1 200 4 2 380

TPU v5p 아키텍처에 대한 자세한 내용은 Cloud TPU 문서의 TPU v5p를 참고하세요.

TPU 토폴로지

토폴로지는 TPU 슬라이스 내에서 TPU의 물리적 배열을 정의합니다. TPU 버전에 따라 토폴로지는 2차원이거나 3차원입니다. 토폴로지의 각 크기의 곱을 계산하여 슬라이스의 TPU 칩 수를 식별할 수 있습니다. 예를 들면 다음과 같습니다.

  • 2x2x2 토폴로지가 있는 tpu7x-standard-4t 머신 유형은 8칩 멀티 호스트 TPU7x 슬라이스입니다.

다음 표에는 각 TPU 버전에서 사용할 수 있는 토폴로지가 나와 있습니다.

TPU 버전 머신 유형 범위 기술 사양
TPU7x(Ironwood) tpu7x-standard-4t 단일 호스트
  • 토폴로지: 2x2x1
  • 토폴로지의 TPU 칩 수: 4
  • 호스트 수: 1
  • VM 수: 1
  • 큐브 수: 1/16
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 2x2x2
  • 토폴로지의 TPU 칩 수: 8
  • 호스트 수: 2
  • VM 수: 2
  • 큐브 수: 1/8
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 2x2x4
  • 토폴로지의 TPU 칩 수: 16
  • 호스트 수: 4
  • VM 수: 4
  • 큐브 수: 1/4
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 2x4x4
  • 토폴로지의 TPU 칩 수: 32
  • 호스트 수: 8
  • VM 수: 8
  • 큐브 수: 1/2
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 4x4x4
  • 토폴로지의 TPU 칩 수: 64
  • 호스트 수: 16
  • VM 수: 16
  • 큐브 수: 1
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 4x4x8
  • 토폴로지의 TPU 칩 수: 128
  • 호스트 수: 32
  • VM 수: 32
  • 큐브 수: 2
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 4x8x8
  • 토폴로지의 TPU 칩 수: 256
  • 호스트 수: 64
  • VM 수: 64
  • 큐브 수: 4
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 8x8x8
  • 토폴로지의 TPU 칩 수: 512
  • 호스트 수: 128
  • VM 수:128
  • 큐브 수: 8
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: 8x8x16
  • 토폴로지의 TPU 칩 수: 1024
  • 호스트 수: 256
  • VM 수: 256
  • 큐브 수: 16
TPU7x(Ironwood) tpu7x-standard-4t 멀티 호스트
  • 토폴로지: {A}x{B}x{C} (여기서 A, B, C는 2의 배수)
  • 토폴로지의 TPU 칩 수: A*B*C
  • 호스트 수: (A*B*C)/4
  • VM 수: (A*B*C/4)
  • 큐브 수: (A*B*C/64)
TPU v6e (Trillium) ct6e-standard-1t 단일 호스트
  • 토폴로지: 1x1
  • 토폴로지의 TPU 칩 수: 1
  • VM 수: 1
TPU v6e (Trillium) ct6e-standard-8t 단일 호스트
  • 토폴로지: 2x4
  • 토폴로지의 TPU 칩 수: 8
  • VM 수: 1
TPU v6e (Trillium) ct6e-standard-4t 단일 호스트
  • 토폴로지: 2x2
  • 토폴로지의 TPU 칩 수: 4
  • VM 수: 1
TPU v6e (Trillium) ct6e-standard-4t 멀티 호스트
  • 토폴로지: 2x4
  • 토폴로지의 TPU 칩 수: 8
  • VM 수: 2
TPU v6e (Trillium) ct6e-standard-4t 멀티 호스트
  • 토폴로지: 4x4
  • 토폴로지의 TPU 칩 수: 16
  • VM 수: 4
TPU v6e (Trillium) ct6e-standard-4t 멀티 호스트
  • 토폴로지: 4x8
  • 토폴로지의 TPU 칩 수: 32
  • VM 수: 8
TPU v6e (Trillium) ct6e-standard-4t 멀티 호스트
  • 토폴로지: 8x8
  • 토폴로지의 TPU 칩 수: 64
  • VM 수: 16
TPU v6e (Trillium) ct6e-standard-4t 멀티 호스트
  • 토폴로지: 8x16
  • 토폴로지의 TPU 칩 수: 128
  • VM 수: 32
TPU v6e (Trillium) ct6e-standard-4t 멀티 호스트
  • 토폴로지: 16x16
  • 토폴로지의 TPU 칩 수: 256
  • VM 수: 64
TPU v5p ct5p-hightpu-4t 단일 호스트
  • 토폴로지: 2x2x1
  • 토폴로지의 TPU 칩 수: 4
  • VM 수: 1
TPU v5p ct5p-hightpu-4t 멀티 호스트
  • 토폴로지: 2x2x2
  • 토폴로지의 TPU 칩 수: 8
  • VM 수: 2
TPU v5p ct5p-hightpu-4t 멀티 호스트
  • 토폴로지: 2x2x4
  • 토폴로지의 TPU 칩 수: 16
  • VM 수: 4
TPU v5p ct5p-hightpu-4t 멀티 호스트
  • 토폴로지: 2x4x4
  • 토폴로지의 TPU 칩 수: 32
  • VM 수: 8
TPU v5p ct5p-hightpu-4t 멀티 호스트
  • 토폴로지: {A}x{B}x{C} (여기서 A, B, C는 2의 배수)
  • 토폴로지의 TPU 칩 수: A*B*C
  • VM 수: (A*B*C/4)1
  1. 토폴로지 곱을 4로 나눈 값으로 계산됩니다. ↩

다음 단계