TPU v6e

이 문서에서는 Cloud TPU v6e (Trillium)의 아키텍처와 지원되는 구성을 설명합니다.

Trillium은 Cloud TPU의 최신 세대 AI 가속기입니다. API 및 로그와 같은 모든 기술적 노출 영역과 이 문서 전체에서 Trillium은 v6e로 지칭됩니다.

포드당 칩 공간이 256개로 더 작은 v6e는 v5e와 많은 유사점을 공유합니다. 이 시스템은 변환기, 텍스트-이미지, 컨볼루셔널 신경망 (CNN) 학습, 미세 조정, 서빙에 높은 효용성을 제공하는 제품이 되도록 최적화되어 있습니다.

시스템 아키텍처

각 v6e 칩에는 TensorCore 하나가 포함됩니다. 각 TensorCore에는 4개의 행렬 곱셈 단위 (MXU), 벡터 단위, 스칼라 단위가 있습니다. 다음 표는 TPU v5e와 비교한 TPU v6e의 주요 사양과 값을 보여줍니다.

사양 v5e v6e
성능/총소유비용 (TCO) (예상) 0.65배 1
칩당 최고 컴퓨팅(bf16) 197TFLOPs 918 TFLOPs
칩당 최고 컴퓨팅(Int8) 393 TOPs 1836TOPS
칩당 HBM 용량 16GB 32GB
칩당 HBM 대역폭 819 GBps 1640 GBps
칩 간 상호 연결 (ICI) 대역폭 1600Gbps 3,584Gbps
칩당 ICI 포트 4 4
호스트당 DRAM 512GiB 1,536GiB
호스트당 칩 8 8
TPU Pod 크기 칩 256개 칩 256개
상호 연결 토폴로지 2D 토러스 2D 토러스
포드당 BF16 최대 컴퓨팅 50.63 PFLOPs 234.9 PFLOPs
포드당 올리듀스 대역폭 51.2TB/초 102.4TB/초
포드당 바이섹션 대역폭 1.6TB/초 3.2TB/초
호스트별 NIC 구성 100Gbps NIC 2개 4 x 200 Gbps NIC
포드당 데이터 센터 네트워크 대역폭 6.4Tbps 25.6 Tbps
특징 - SparseCore

지원되는 구성

TPU v6e는 최대 256개의 v6e 칩 학습과 최대 8개의 칩 단일 호스트 추론을 지원합니다.

다음 표에는 v6e에서 지원되는 2D 슬라이스 도형이 나와 있습니다.

토폴로지 TPU 칩 호스트 VM 가속기 유형 (TPU API) 머신 유형(GKE API) 범위 추론을 지원하나요?
1x1 1 1/8 1 v6e-1 ct6e-standard-1t 하위 호스트
2x2 4 1/2 1 v6e-4 ct6e-standard-4t 하위 호스트
2x4 8 1 1 v6e-8 ct6e-standard-8t 단일 호스트
2x4 8 1 2 - ct6e-standard-4t 단일 호스트 아니요
4x4 16 2 4 v6e-16 ct6e-standard-4t 멀티 호스트 아니요
4x8 32 4 8 v6e-32 ct6e-standard-4t 멀티 호스트 아니요
8x8 64 8 16 v6e-64 ct6e-standard-4t 멀티 호스트 아니요
8x16 128 16 32 v6e-128 ct6e-standard-4t 멀티 호스트 아니요
16x16 256 32 64 v6e-256 ct6e-standard-4t 멀티 호스트 아니요

단일 VM에 연결된 칩 8개 (v6e-8)가 있는 슬라이스는 추론에 최적화되어 있어 8개 칩을 모두 단일 서빙 워크로드에서 사용할 수 있습니다.

각 토폴로지의 VM 수에 관한 자세한 내용은 VM 유형을 참고하세요.

VM 유형

각 TPU v6e VM은 1개, 4개 또는 8개의 칩을 포함할 수 있습니다. 칩이 4개 이하인 슬라이스는 동일한 비균일 메모리 액세스 (NUMA) 노드를 갖습니다. NUMA 노드에 관한 자세한 내용은 위키백과에서 비균일 메모리 액세스를 참고하세요.

v6e 호스트 다이어그램

v6e 슬라이스는 각각 TPU 칩 4개가 있는 하프 호스트 VM을 사용하여 생성됩니다. 이 규칙에는 두 가지 예외가 있습니다.

  • v6e-1: 칩이 하나만 있는 VM으로 주로 테스트용입니다.
  • v6e-8: 모든 8개의 칩이 단일 VM에 연결된 추론 사용 사례에 최적화된 전체 호스트 VM입니다.

다음 표에는 TPU v6e VM 유형을 비교한 내용이 나와 있습니다.

VM 유형 VM당 vCPU 수 VM당 RAM (GB) VM당 NUMA 노드 수
1칩 VM 44 176 1
4칩 VM 180 720 1
8칩 VM 180 1440 2

v6e 구성 지정

TPU API를 사용하여 TPU v6e 슬라이스를 할당할 때는 AcceleratorType 또는 AcceleratorConfig 매개변수를 사용하여 크기와 도형을 지정합니다.

GKE를 사용하는 경우 --machine-type 플래그를 사용하여 사용하려는 TPU를 지원하는 머신 유형을 지정합니다. 자세한 내용은 GKE 문서의 GKE Standard에서 TPU 워크로드 배포를 참고하세요.

AcceleratorType 사용

TPU 리소스를 할당할 때 AcceleratorType을 사용하여 슬라이스의 TensorCore 수를 지정합니다. AcceleratorType에 지정하는 값은 v$VERSION-$TENSORCORE_COUNT 형식의 문자열입니다. 예를 들어 v6e-8은 TensorCore 8개가 있는 v6e TPU 슬라이스를 지정합니다.

다음 예는 AcceleratorType를 사용하여 TensorCore 32개가 있는 TPU v6e 슬라이스를 만드는 방법을 보여줍니다.

gcloud

    $ gcloud compute tpus tpu-vm create tpu-name \
        --zone=zone \
        --accelerator-type=v6e-32 \
        --version=v2-alpha-tpuv6e

콘솔

  1. Google Cloud 콘솔에서 TPU 페이지로 이동합니다.

    TPU로 이동

  2. TPU 만들기를 클릭합니다.

  3. 이름 필드에 TPU의 이름을 입력합니다.

  4. 영역 상자에서 TPU를 만들 영역을 선택합니다.

  5. TPU 유형 상자에서 v6e-32를 선택합니다.

  6. TPU 소프트웨어 버전 상자에서 v2-alpha-tpuv6e를 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.

  7. 대기열 사용 설정 전환 버튼을 클릭합니다.

  8. 대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.

  9. 만들기를 클릭합니다.

AcceleratorConfig 사용

AcceleratorConfig를 사용하여 사용할 TensorCore 수를 지정할 수도 있습니다. 그러나 TPU v6e에 대한 커스텀 2D 토폴로지 변형이 없으므로 AcceleratorConfigAcceleratorType을 사용하는 데 차이가 없습니다.

AcceleratorConfig를 사용하여 TPU v6e를 구성하려면 --version--topology 플래그를 사용합니다. --version을 사용할 TPU 버전으로 설정하고 --topology를 Pod 슬라이스에 있는 TPU 칩의 물리적 배열로 설정합니다. AcceleratorConfig에 지정하는 값은 AxB 형식의 문자열이며, 여기서 AB는 각 방향의 칩 수입니다.

다음 예는 4x8 토폴로지로 정렬된 AcceleratorType를 사용하여 TPU v6e 슬라이스 32개 TensorCore를 만드는 방법을 보여줍니다.

    $ gcloud compute tpus tpu-vm create tpu-name \
        --zone=zone \
        --type=v6e \
        --topology=4x8 \
        --version=v2-alpha-tpuv6e