AI Platform Training에서 런타임 버전 2.1 이상을 사용하여 TensorFlow 2로 머신 러닝 모델을 학습합니다. TensorFlow 2에서는 TensorFlow 1의 여러 API가 간소화되었습니다. TensorFlow 문서에는TensorFlow 1 코드를 TensorFlow 2로 마이그레이션 가이드가 제공됩니다.
AI Platform Training에서 TensorFlow 2로 학습 작업 실행은 다른 커스텀 코드 학습 작업 실행화 동일한 프로세스를 따릅니다. 하지만 일부 AI Platform Training 기능은 TensorFlow 2에서 TensorFlow 1과 다르게 작동합니다. 이 문서에서는 이러한 차이를 요약해서 보여줍니다.
Python 버전 지원
런타임 버전 2.1 이상은 Python 3.7로 학습만 지원합니다. 따라서 Python 3.7을 사용하여 TensorFlow 2로 학습해야 합니다.
Python Software Foundation에서는 2020년 1월 1일을 기준으로 Python 2.7 지원이 종료되었습니다. 2020년 1월 1일 이후에 출시되는 AI Platform 런타임 버전에서는 Python 2.7이 지원되지 않습니다.
분산형 학습
TensorFlow 2는 배포 학습을 위해 업데이트된 API를 제공합니다. 또한 AI Platform Training은 런타임 버전 2.1 이상에서 TF_CONFIG
환경 변수를 다르게 설정합니다. 이 섹션에서는 두 변경사항을 모두 설정합니다.
배포 전략
TensorFlow 2에서 여러 가상 머신(VM)의 배포 학습을 수행하려면 tf.distribute.Strategy
API를 사용합니다.
특히 Keras API를 MultiWorkerMirroredStrategy
또는 ParameterServerStrategy
(작업에 매개변수 서버를 지정하는 경우)와 함께 사용하는 것이 좋습니다.
그러나 TensorFlow는 현재 이러한 전략에 대해 실험적 지원만 제공합니다.
TF_CONFIG
TensorFlow는 학습에 사용되는 각 VM에 TF_CONFIG
환경 변수를 설정해야 합니다. AI Platform Training은 학습 작업에 사용되는 각 VM에서 이 환경 변수를 자동으로 설정합니다. 이렇게 하면 각 VM이 해당 유형에 따라 다르게 작동할 수 있으며, VM이 서로 통신하는 데 도움이 됩니다.
런타임 버전 2.1 이상에서 AI Platform Training은 더 이상 어떤 TF_CONFIG
환경 변수에서도 master
태스크를 사용하지 않습니다. 대신 학습 작업의 마스터 작업자가 TF_CONFIG
환경 변수에서 chief
유형으로 라벨 지정됩니다. AI Platform Training의 TF_CONFIG
환경 변수 설정 방법에 대해 자세히 알아보세요.
학습 가속화 요소
AI Platform Training에서는 GPU 및 TPU를 사용하여 학습 작업을 가속화할 수 있습니다.
GPU
학습에 GPU를 사용하는 방법은 AI Platform Training의 GPU 구성 가이드 및 TensorFlow의 GPU 사용 가이드를 참조하세요.
여러 GPU로 단일 VM을 학습할 때 권장사항은 TensorFlow의 MirroredStrategy
를 사용하는 것입니다.
GPU가 있는 여러 VM을 사용하여 학습하려면 TensorFlow의 MultiWorkerMirroredStrategy
를 사용하는 것이 좋습니다.
TPU
학습에 TPU를 사용하는 방법은 TPU를 사용한 학습 가이드를 참조하세요.
초매개변수 조정
TensorFlow 2로 초매개변수 조정 작업을 실행하는 경우, 학습 코드가 초매개변수 조정 측정항목을 AI Platform Training 서비스에 보고하는 방법을 조정해야 할 수 있습니다.
에스티메이터로 학습하는 경우 TensorFlow 1과 동일한 방식으로 요약에 측정항목을 쓸 수 있습니다. Keras로 학습하는 경우에는 tf.summary.scalar
를 사용하여 요약을 쓰는 것이 좋습니다.
초매개변수 측정항목 보고에 대해 자세히 알아보고 TensorFlow 2에서 이를 수행하는 방법 예시를 참조하세요.
다음 단계
- 학습 작업에 대한 런타임 버전 및 Python 버전 구성 자세히 알아보기
- 배포 학습 구성 자세히 알아보기
- 초매개변수 조정 자세히 알아보기