t Cloud TPU에서 TensorFlow 실행

이 문서에서는 Cloud TPU에서 TensorFlow 모델 실행에 관한 세부정보에 대해 설명합니다. Cloud TPU에서 TensorFlow 모델을 학습시키는 방법은 사용 중인 Cloud TPU 아키텍처에 따라 달라집니다. 자세한 내용은 시스템 아키텍처를 참조하세요.

개요

애플리케이션을 실행할 때 TensorFlow는 연산 그래프를 생성하여 gRPC를 통해 TPU 노드로 전송합니다. TPU 노드는 연산 그래프를 적시(JIT) 컴파일하여 실행을 위해 하나 이상의 TPU 기기로 프로그램 바이너리를 전송합니다. 모델에 대한 입력은 Cloud Storage에 저장되는 경우가 많습니다. TPU 노드는 학습을 위해 입력 데이터를 하나 이상의 TPU 기기로 스트리밍합니다.

아래의 블록 다이어그램은 신경망 모델, TensorFlow 클라이언트, TensorFlow 서버, XLA 컴파일러로 구성된 Cloud TPU 소프트웨어 아키텍처를 나타냅니다.

이미지

Cloud TPU TensorFlow API

Keras는 Python으로 작성된 고급 딥 러닝 API이며, 머신 러닝 플랫폼 TensorFlow에서 실행됩니다. Cloud TPU를 사용하는 신경망 모델을 작성할 때는 Keras를 사용하는 것이 좋습니다.

TPU 에스티메이터(기존)

TPU 에스티메이터는 Cloud TPU에 대한 모델 빌드를 단순화하고 최대 TPU 성능을 추출하는 에스티메이터를 기반으로 빌드되는 높은 수준의 기존 API 집합입니다. TPU 에스티메이터는 Tensorflow 1.x에서 계속 지원되지만 대신 Keras를 사용하는 것이 좋습니다.

TensorFlow 서버

TensorFlow 서버는 Cloud TPU 서버에서 실행됩니다. 서버가 TensorFlow 클라이언트에서 연산 그래프를 수신하면 다음 작업을 수행합니다.

  1. Cloud Storage에서 입력을 로드합니다.
  2. Cloud TPU에서 실행할 수 있는 부분과 CPU에서 실행해야 하는 부분으로 그래프를 분할합니다.
  3. Cloud TPU에서 실행할 하위 그래프에 해당되는 XLA 작업을 생성합니다.
  4. XLA 컴파일러를 호출합니다.

TPU 노드에서 TensorFlow 모델 학습에 대한 자세한 내용은 Cloud TPU 빠른 시작을 참조하세요.

Cloud TPU VM

Cloud TPU VM에서는 사용자 VM이 없고 모델 및 코드가 TPU 호스트 머신의 VM에서 실행됩니다. TPU 호스트에 직접 SSH로 연결할 수 있습니다. 동일한 VM 또는 다른 VM에서 TensorFlow 클라이언트 및 서비스를 만들 수 있습니다. 사전 처리 등을 위해 TPU 호스트에서 임의의 코드를 실행할 수 있습니다.

이미지

TPU VM에서 TensorFlow 모델 학습에 대한 자세한 내용은 Cloud TPU VM Tensorflow 빠른 시작을 참조하세요.