TPU 유형 및 영역

개요

머신러닝 워크로드를 처리할 TPU 노드를 만들 때는 TPU 유형을 선택해야 합니다. TPU 유형에 따라 머신러닝 워크로드에 사용할 수 있는 TPU 버전, TPU 코어 수, TPU 메모리 양이 결정됩니다.

예를 들어 v2-8 TPU 유형은 TPU v2 코어 8개와 전체 TPU 메모리가 64GiB인 TPU 노드를 의미합니다. v3-2048 TPU 유형은 TPU v3 코어 2048개와 전체 TPU 메모리가 32TiB인 TPU 노드를 의미합니다.

TPU 버전과 구성 간의 하드웨어 차이점을 알아보려면 시스템 아키텍처 문서를 참조하세요.

리전별로 각 TPU 유형의 가격을 확인하려면 가격 책정 페이지를 참조하세요.

TPU의 한 유형에서 실행되는 모델을 다른 TPU 유형에 대한 TensorFlow 코드를 변경하지 않고 실행할 수 있습니다. 예를 들어 v3-8에서 변경하지 않고 v2-8 코드를 실행할 수 있습니다. 하지만 v2-8 또는 v3-8에서 v2-32 또는 v3-128과 같은 더 큰 TPU 유형으로 확장하려면 상당한 조정과 최적화가 필요합니다.

TPU 유형 및 영역

각 TPU 유형의 주요 차이점은 가격, 성능, 메모리 용량, 영역 가용성입니다.

Google Cloud Platform은 여러 영역으로 하위 분할된 리전을 사용하여 실제 컴퓨팅 리소스의 지리적 위치를 정의합니다. 예를 들어 us-central1 리전은 다음과 같이 us-central1-a, us-central1-b, us-central1-c, us-central1-f 영역이 있는 미국 중부와 지리적으로 가까운 리전을 나타냅니다. TPU 노드를 만들 때 만들 영역을 지정합니다. 리전 및 영역 리소스에 대한 자세한 내용은 Compute Engine 전역, 리전 및 영역 리소스 문서를 참조하세요.

TPU 노드는 다음 TPU 유형으로 구성할 수 있습니다.

미국

TPU 유형(v2) TPU v2 코어 총 TPU 메모리 리전/영역
v2-8 8 64GiB us-central1-b
us-central1-c
us-central1-f
v2-32 32 256GiB us-central1-a
v2-128 128 1TiB us-central1-a
v2-256 256 2TiB us-central1-a
v2-512 512 4TiB us-central1-a
TPU 유형(v3) TPU v3 코어 총 TPU 메모리 사용 가능한 영역
v3-8 8 128GiB us-central1-a
us-central1-b
us-central1-f

유럽

TPU 유형(v2) TPU v2 코어 총 TPU 메모리 리전/영역
v2-8 8 64GiB europe-west4-a
v2-32 32 256GiB europe-west4-a
v2-128 128 1TiB europe-west4-a
v2-256 256 2TiB europe-west4-a
v2-512 512 4TiB europe-west4-a
TPU 유형(v3) TPU v3 코어 총 TPU 메모리 사용 가능한 영역
v3-8 8 128GiB europe-west4-a
v3-32 32 512GiB europe-west4-a
v3-64 64 1TiB europe-west4-a
v3-128 128 2TiB europe-west4-a
v3-256 256 4TiB europe-west4-a
v3-512 512 8TiB europe-west4-a
v3-1024 1024 16TiB europe-west4-a
v3-2048 2048 32TiB europe-west4-a

아시아 태평양

TPU 유형(v2) TPU v2 코어 총 TPU 메모리 리전/영역
v2-8 8 64GiB asia-east1-c

코어 수가 더 많은 TPU 유형은 제한된 수량으로만 제공됩니다. TPU 유형의 코어 수가 더 낮을수록 제공될 가능성이 더 높습니다.

가격 및 성능 절충점 계산

사용할 TPU 유형을 결정하려면 사용 중인 애플리케이션과 유사한 모델을 학습시키기 위해 Cloud TPU 가이드로 시험해볼 수 있습니다.

v2-8v3-8 TPU 유형에서 전체 학습을 실행하는 데 사용할 단계 중 5~10%에 해당하는 가이드를 실행합니다. 각 TPU 유형에서 해당 모델의 단계 수를 실행하는 데 걸리는 시간이 결과로 나타납니다.

TPU 유형의 성능은 선형적으로 증가하므로 v2-8v3-8 TPU 유형에서 작업을 실행하는 데 걸리는 시간을 알고 있으면 코어 수가 더 많은 더 큰 TPU 유형에서 모델을 실행했을 때 단축되는 작업 시간을 예상할 수 있습니다.

예를 들어 v2-8 TPU 유형에서 10,000단계를 실행하는 데 60분이 걸린다면, v2-32 노드는 같은 작업을 수행하는 데 약 15분이 걸릴 것입니다.

리전 내에서 제공되는 Cloud TPU 및 관련 Compute Engine VM의 TPU 유형별 비용 차이를 확인하려면 TPU 가격 책정 페이지를 참조하세요. 몇 가지 서로 다른 TPU 유형에서 모델을 학습시키는 데 걸리는 시간을 대략 알고 있는 경우 학습 시간 대비 VM/TPU 비용을 활용하면 최고의 가격과 성능 절충점을 결정하는 데 도움이 됩니다.

TPU 유형 지정

TPU 노드를 생성할 때 TPU 유형을 지정합니다. 예를 들어 다음 방법 중 하나를 사용하여 TPU 유형을 선택합니다.

gcloud 명령어

  • gcloud compute tpus execution-groups 명령어를 사용합니다.
$ gcloud compute tpus execution-groups create \
 --name=tpu_name \
 --zone=zone \
 --tf-version=tensorflow_version \
 --machine-type=n1-standard-8 \
 --accelerator-type=v3-8

명령어 플래그 설명

name
생성할 Cloud TPU의 이름입니다.
zone
Cloud TPU를 생성하려는 영역입니다.
tf-version
gcloud로 VM에 설치되는 Tensorflow 버전입니다.
machine-type
생성할 Compute Engine VM의 머신 유형입니다.
accelerator-type
생성할 Cloud TPU의 유형입니다.

Cloud Console

  1. 왼쪽 탐색 메뉴에서 Compute Engine > TPU를 선택합니다.
  2. TPU 화면에서 TPU 노드 만들기를 클릭합니다. 그러면 TPU의 구성 페이지가 나타납니다.
  3. TPU 유형에서 지원되는 TPU 버전 중 하나를 선택합니다.
  4. 만들기 버튼을 클릭합니다.

다음 단계