Cloud TPU 워크플로 문제 해결
TPU에서 학습 또는 추론 워크로드를 실행했다면 다음 단계는 워크로드가 예상대로 작동하는지 확인하는 것입니다. Cloud TPU는 예상대로 작동하지 않는 TPU VM을 찾아 디버그할 수 있는 측정항목과 로그를 생성합니다. 이 문서에서는 이러한 VM을 외부 항목이라고 합니다.
일반적인 문제 해결 워크플로는 다음과 같습니다.
- Cloud TPU 측정항목을 확인하여 이상치 TPU VM 확인
- 이상치 TPU VM의 Cloud TPU 로그 보기
- 워크로드 프로파일링
Google Cloud 콘솔의 측정항목 탐색기 및 로그 탐색기에서 측정항목과 로그를 볼 수 있습니다. 모니터링 및 로깅 대시보드를 사용하여 개별 대시보드에서 모든 Cloud TPU 관련 측정항목과 로그를 수집할 수도 있습니다.
Cloud TPU VM 측정항목
Cloud Monitoring은 TPU 및 호스트 Compute Engine VM에서 측정항목을 자동으로 수집합니다. 측정항목은 CPU 사용률, 네트워크 사용량 또는 TensorCore 유휴 시간과 같이 시간 경과에 따른 숫자 수량을 추적합니다. Cloud TPU 측정항목에 관한 자세한 내용은 TPU VM 모니터링을 참고하세요.
Cloud TPU 로그
Cloud Logging은 TPU 및 호스트 Compute Engine VM에서 로그를 자동으로 수집합니다. Cloud Logging은 Cloud TPU에서 생성된 이벤트를 추적합니다. 코드를 계측하여 로그를 생성할 수도 있습니다. Cloud TPU에서 생성되는 로그는 두 가지 유형이 있습니다.
- TPU 워커 로그
- 감사를 받은 리소스 로그
TPU 워커 로그에는 특정 영역의 특정 TPU 워커에 대한 정보(예: TPU 워커에서 사용 가능한 메모리 양(system_available_memory_GiB))가 포함됩니다.
감사를 받은 리소스 로그에는 특정 Cloud TPU API가 언제 호출되었고 누가 호출했는지에 대한 정보가 포함됩니다. 예를 들면 CreateNode
, UpdateNode
, DeleteNode
입니다.
cloud-tpu-diagnostics
PyPi 패키지를 사용하여 로그에 스택 트레이스를 쓸 수도 있습니다. 자세한 내용은 TPU VM 디버깅을 참고하세요.
로그에 관한 자세한 내용은 Logging을 참고하세요.
모니터링 및 로깅 대시보드
Google Cloud 콘솔에 단일 페이지가 있으면 Cloud TPU 관련 측정항목과 로그를 더 쉽게 보고 해석할 수 있습니다. monitoring-debugging GitHub 저장소에는 Terraform을 사용하여 대시보드에 모든 Cloud TPU 관련 정보 측정항목 및 로그가 포함되는 대시보드를 자동으로 배포하는 스크립트 및 구성 파일 집합이 포함되어 있습니다. Google Cloud 프로젝트에서 이러한 대시보드를 설정하려면 모니터링 및 로깅 대시보드를 참고하세요.
TPU VM에서 워크로드 프로파일링
프로파일링을 사용하면 TPU VM에서 모델의 학습 성능을 최적화할 수 있습니다. 모델을 프로파일링하려면 TensorBoard와 TPU 텐서보드 플러그인을 사용합니다. 워크로드를 프로파일링하는 방법에 관한 자세한 내용은 TPU VM에서 모델 프로파일링을 참고하세요.
지원되는 프레임워크 중 하나에서 텐서보드를 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.