TPU 소프트웨어 버전
이 문서에서는 Cloud TPU를 만들 때 적합한 TPU 소프트웨어 버전을 선택하는 방법을 안내합니다.
TPU 리소스를 만들 때 소프트웨어 버전(런타임 버전이라고도 함)을 지정합니다. 이는 TPU VM에 사전 설치되는 소프트웨어 환경을 나타냅니다. 여기에는 Ubuntu 운영체제, Docker, TPU에서 코드를 실행하는 데 필요한 기타 소프트웨어가 포함됩니다.
Google Cloud CLI를 사용하는 경우 --version 또는 --runtime-version 파라미터를 사용하여 TPU 소프트웨어 버전을 지정합니다. Google Cloud 콘솔을 사용하는 경우 TPU 소프트웨어 버전 목록에서 TPU 소프트웨어 버전을 선택합니다.
PyTorch 및 JAX
PyTorch 및 JAX에 대해 다음과 같은 일반적인 TPU 소프트웨어 버전을 사용한 후 사용하려는 프레임워크를 설치합니다.
| TPU 버전 | TPU 소프트웨어 버전 |
|---|---|
| Trillium(v6e) | v2-alpha-tpuv6e |
| v5p | v2-alpha-tpuv5 |
| v5e | v2-alpha-tpuv5-lite |
| v4 이하 | tpu-ubuntu2204-base |
PyTorch 또는 JAX 설치 및 시작에 관한 자세한 내용은 PyTorch를 사용하여 Cloud TPU VM에서 계산 실행 및 JAX를 사용하여 Cloud TPU VM에서 계산 실행을 참조하세요.
TensorFlow
TensorFlow용 TPU 소프트웨어 버전은 고유한 명명 규칙을 따릅니다.
tpu-vm-tf-x.y.z[-{pod}][-{device_api}]
x.y.z: TensorFlow의 메이저, 마이너, 패치 버전을 나타냅니다.-pod(선택사항): 멀티 호스트 TPU 슬라이스를 사용 중임을 나타냅니다.-{device_api}(선택사항): 기기 API를 지정합니다. 예:-pjrt(PJRT API를 사용하는 경우).
TPU 소프트웨어 버전을 지정하는 방법에 관한 자세한 내용은 다음 섹션을 참조하세요.
각 TensorFlow 버전과 관련된 TPU 소프트웨어 버전이 있습니다. 다음 표에는 지원되는 TensorFlow 버전과 연결된 libtpu 버전이 나와 있습니다.
| TensorFlow 버전 | libtpu.so 버전 |
|---|---|
| 2.18.0 | 1.12.0 |
| 2.17.1 | 1.11.1 |
| 2.17.0 | 1.11.0 |
| 2.16.2 | 1.10.1 |
| 2.16.1 | 1.10.1 |
| 2.15.1 | 1.9.0 |
| 2.15.0 | 1.9.0 |
| 2.14.1 | 1.8.1 |
| 2.14.0 | 1.8.0 |
| 2.13.1 | 1.7.1 |
| 2.13.0 | 1.7.0 |
| 2.12.1 | 1.6.1 |
| 2.12.0 | 1.6.0 |
| 2.11.1 | 1.5.1 |
| 2.11.0 | 1.5.0 |
| 2.10.1 | 1.4.1 |
| 2.10.0 | 1.4.0 |
| 2.9.3 | 1.3.2 |
| 2.9.1 | 1.3.0 |
| 2.8.3 | 1.2.3 |
| 2.8.0 | 1.2.0 |
| 2.7.3 | 1.1.2 |
TensorFlow 패치 버전에 대한 자세한 내용은 지원되는 TensorFlow 패치 버전을 참조하세요.
TPU v6e, v5p, v5e
TPU v6e, v5e 및 v5p는 TensorFlow 2.15.0 이상을 지원합니다. tpu-vm-tf-x.y.z-{pod}-pjrt 형식으로 TPU 소프트웨어 버전을 지정합니다. 여기서 x는 TensorFlow 메이저 버전이고, y는 마이너 버전이고, z는 TensorFlow 패치 버전입니다. 멀티 호스트 TPU를 사용하는 경우 TensorFlow 버전 다음에 pod를 추가합니다. 예를 들어 멀티 호스트 TPU에서 TensorFlow 2.16.0을 사용하는 경우 tpu-vm-tf-2.16.0-pod-pjrt TPU 소프트웨어 버전을 사용합니다. 다른 TensorFlow 버전의 경우 2.16.0을 사용 중인 TensorFlow 메이저 버전 및 패치 버전으로 바꿉니다. 단일 호스트 TPU를 사용하는 경우 pod를 생략합니다.
TPU v4
TPU v4 및 TensorFlow 2.10.1 이상을 사용하는 경우 TPU v2 및 v3에 대한 안내를 따르세요. TensorFlow 2.10.0 이하를 사용하는 경우 v4 관련 TPU 소프트웨어 버전을 사용합니다.
| TensorFlow 버전 | TPU 소프트웨어 버전 |
|---|---|
| 2.10.0 | tpu-vm-tf-2.10.0-v4 tpu-vm-tf-2.10.0-pod-v4 |
| 2.9.3 | tpu-vm-tf-2.9.3-v4 tpu-vm-tf-2.9.3-pod-v4 |
| 2.9.2 | tpu-vm-tf-2.9.2-v4 tpu-vm-tf-2.9.2-pod-v4 |
| 2.9.1 | tpu-vm-tf-2.9.1-v4 tpu-vm-tf-2.9.1-pod-v4 |
TPU v2 및 v3
TPU v2 또는 v3를 사용 중이면 사용 중인 TensorFlow 버전과 일치하는 TPU 소프트웨어 버전을 사용합니다. 예를 들어 TensorFlow 2.14.1을 사용하는 경우 tpu-vm-tf-2.14.1 TPU 소프트웨어 버전을 사용합니다. 다른 TensorFlow 버전의 경우 2.14.1을 사용 중인 TensorFlow 버전으로 바꿉니다. 멀티 호스트 TPU를 사용 중이면 TPU 소프트웨어 버전 끝에 포드를 추가합니다. 예를 들면 tpu-vm-tf-2.14.1-pod입니다.
TensorFlow 2.15.0부터는 소프트웨어 버전 이름의 일부로 기기 API도 지정해야 합니다. 예를 들어 PJRT API와 함께 TensorFlow 2.16.1을 사용하는 경우 TPU 소프트웨어 버전 tpu-vm-tf-2.16.1-pjrt를 사용합니다. 동일한 TensorFlow 버전과 함께 스트림 실행자 API를 사용 중이면 TPU 소프트웨어 버전 tpu-vm-tf-2.16.1-se를 사용합니다. 2.15.0 이전의 TensorFlow 버전만 스트림 실행자를 지원합니다.
TensorFlow PJRT 지원
TensorFlow 2.15.0부터는 TPU에서 TensorFlow에 대한 PJRT 인터페이스를 사용할 수 있습니다. PJRT는 자동화된 기기 메모리 디스크 조각 모음을 제공하고 하드웨어와 프레임워크의 통합을 간소화합니다. PJRT에 대한 자세한 내용은 PJRT: ML 하드웨어와 프레임워크의 통합 간소화를 참조하세요.
| 가속기 | 기능 | PJRT 지원 | 스트림 실행자 지원 |
|---|---|---|---|
| TPU v2 - v4 | 고밀도 컴퓨팅(TPU 임베딩 API 없음) | 예 | 예 |
| TPU v2 - v4 | 고밀도 컴퓨팅 API + TPU 임베딩 API | 아니요 | 예 |
| TPU v2 - v4 | 소프트웨어 기기 배치가 포함된 tf.summary/tf.print | 아니요 | 예 |
| TPU v5e | 고밀도 컴퓨팅(TPU 임베딩 API 없음) | 예 | 아니요 |
| TPU v5e | TPU 임베딩 API | 해당 사항 없음 | 아니요 |
| TPU v5p | 고밀도 컴퓨팅(TPU 임베딩 API 없음) | 예 | 아니요 |
| TPU v5p | TPU 임베딩 API | 예 | 아니요 |