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 슬라이스는 각각 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
콘솔
Google Cloud 콘솔에서 TPU 페이지로 이동합니다.
TPU 만들기를 클릭합니다.
이름 필드에 TPU의 이름을 입력합니다.
영역 상자에서 TPU를 만들 영역을 선택합니다.
TPU 유형 상자에서
v6e-32
를 선택합니다.TPU 소프트웨어 버전 상자에서
v2-alpha-tpuv6e
를 선택합니다. Cloud TPU VM을 만들 때 TPU 소프트웨어 버전은 설치할 TPU 런타임 버전을 지정합니다. 자세한 내용은 TPU VM 이미지를 참고하세요.대기열 사용 설정 전환 버튼을 클릭합니다.
대기열에 추가된 리소스 이름 필드에 대기열에 추가된 리소스 요청의 이름을 입력합니다.
만들기를 클릭합니다.
AcceleratorConfig
사용
AcceleratorConfig
를 사용하여 사용할 TensorCore 수를 지정할 수도 있습니다. 그러나 TPU v6e에 대한 커스텀 2D 토폴로지 변형이 없으므로 AcceleratorConfig
및 AcceleratorType
을 사용하는 데 차이가 없습니다.
AcceleratorConfig
를 사용하여 TPU v6e를 구성하려면 --version
및 --topology
플래그를 사용합니다. --version
을 사용할 TPU 버전으로 설정하고 --topology
를 Pod 슬라이스에 있는 TPU 칩의 물리적 배열로 설정합니다. AcceleratorConfig
에 지정하는 값은 AxB
형식의 문자열이며, 여기서 A
와 B
는 각 방향의 칩 수입니다.
다음 예는 4x8 토폴로지로 정렬된 AcceleratorType
를 사용하여 TPU v6e 슬라이스 32개 TensorCore를 만드는 방법을 보여줍니다.
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=zone \ --type=v6e \ --topology=4x8 \ --version=v2-alpha-tpuv6e