AI Platform Training 서비스 이해

이 페이지에서는 학습 작업의 수명 주기를 통한 학습 클러스터의 상태 및 AI Platform Training이 학습 오류를 처리하는 방법을 설명합니다. 이 정보를 사용하여 학습 코드를 적절히 조정할 수 있습니다.

학습 작업의 수명 주기

이 섹션에서는 AI Platform Training이 학습 작업의 수명 주기를 통해 작업자 VM을 처리하는 방법을 설명합니다.

동시에 작업자 시작

학습 작업이 시작되면 AI Platform Training은 짧은 시간에 최대한 많은 작업자를 예약합니다. 따라서 작업자가 순차적으로 시작되는 대신 병렬로 시작될 수 있습니다. 시작 지연 시간을 줄이기 위해 AI Platform Training은 각 작업자가 사용 가능해지는 즉시 각 작업자에 코드를 실행합니다. 모든 작업자를 사용할 수 있는 경우 AI Platform Training은 작업 상태를 RUNNING으로 설정합니다.

대부분의 경우 머신러닝 프레임워크는 병렬로 시작되는 작업자를 자동으로 처리합니다. 학습 코드에서 배포 전략을 사용하는 경우 병렬로 시작되는 작업자를 처리하도록 수동으로 조정해야 할 수 있습니다. TensorFlowPyTorch의 배포 전략에 대해 자세히 알아보세요.

학습 작업 중에 작업자 다시 시작

학습 작업 중에 AI Platform Training에서 호스트 이름이 동일한 마스터, 작업자 또는 매개변수 서버를 다시 시작할 수 있습니다. 이는 다음과 같은 경우에 발생할 수 있습니다.

  • VM 유지보수: 작업자를 실행하는 VM에 VM 유지보수가 적용되는 경우 AI Platform Training은 다른 VM에서 작업자를 다시 시작합니다. VM 유지보수를 위한 라이브 마이그레이션을 자세히 알아보세요.
  • 0이 아닌 종료: 0이 아닌 종료 코드로 작업자가 종료되면 AI Platform Training이 해당 작업자를 동일한 VM에서 즉시 다시 시작합니다.

    • 작업자가 일반적인 오류로 인해 실패하면 영구 오류로 취급되고 AI Platform Training은 전체 작업을 종료합니다. AI Platform Training이 전체 작업을 종료하기 전에 컨테이너가 다시 시작되면 이러한 컨테이너가 Cloud Logging에 로그를 생성할 수 있습니다.
    • 비영구적 오류(일반적인 오류에 나열되지 않은 오류)로 인해 작업자가 실패하면 AI Platform Training에서 다시 시작된 작업자가 작업자당 최대 5번까지 계속 실행됩니다. 5번을 다시 시작한 후 작업자가 다시 실패하면 AI Platform Training에서 전체 작업이 실패하기 전에 전체 작업을 3회까지 다시 시도합니다.

학습 코드에서 작업자 재시작을 처리하려면 작업자가 다시 시작될 때 체크포인트로부터 복원할 수 있도록 학습 중에 정기적으로 체크포인트를 저장합니다. 학습이 4시간 넘게 걸릴 것으로 예상되면 최소 4시간마다 한 번씩 체크포인트를 저장하는 것이 좋습니다. TensorFlowPyTorch에서 학습 체크포인트 사용 방법에 대해 알아보세요.

성공적으로 작업 완료

기본 복제본이 종료 코드 0으로 종료되면 학습 작업이 성공적으로 완료됩니다. 이 시점에 AI Platform Training은 다른 모든 실행 중인 작업자를 종료합니다.

AI Platform Training이 학습 작업 오류를 처리하는 방법

이 섹션에서는 AI Platform Training에서 일반적인 학습 작업 오류 및 내부 오류를 처리하는 방법을 설명합니다.

작업이 종료되고 약 1분 후 AI Platform Training은 종료 코드를 기준으로 학습 작업 객체에 오류 코드를 설정합니다.

일반적인 오류 처리

AI Platform Training은 다음과 같은 문제가 발생하면 모든 작업자를 종료합니다.

오류 유형 오류 메시지/로그 참고
사용자 코드 예외 복제본 REPLICA_NAME이 0이 아닌 EXIT_CODE 상태로 종료되었습니다. 종료 원인은 REASON입니다. 작업이 일시적일 수 있는 종료 코드가 발생하면 AI Platform Training은 최대 3회까지 작업을 다시 시작하려고 시도합니다. AI Platform Training에게 작업을 다시 시도하라고 알리는 일시적인 오류 코드에는 다음이 포함됩니다.
  • SIGABRT
    • ExitCode 6
    • ExitCode 134(커스텀 컨테이너)
  • SIGSEGV
    • ExitCode 11
    • ExitCode 139(커스텀 컨테이너)
메모리 부족 복제본 REPLICA_NAME의 메모리가 부족하여 0이 아닌 EXIT_CODE 상태로 종료되었습니다. GKE는 AI Platform Training 노드에 메모리를 예약합니다. 최소 머신 유형(예: n1-standard-4)에서 AI Platform Training 시스템 에이전트는 총 메모리의 최대 40%를 사용할 수 있습니다. 더 큰 VM의 경우 오버헤드가 비교적 작습니다. n1-standard 머신 유형에 할당 가능한 메모리를 비교합니다.
리전의 용량 부족(Compute Engine 재고 부족) REGION_NAME 리전의 리소스가 부족합니다. 다른 리전을 사용하거나 다른 가속기를 사용해 보세요. 재고 부족은 리전의 선택한 CPU 또는 GPU에 대해 Compute Engine 용량이 부족한 경우 발생합니다. 프로젝트 할당량과는 관련이 없습니다. 이 경우 AI Platform Training은 최대 3회까지 작업을 다시 시작하려고 시도합니다.

내부 오류 처리

AI Platform Training에 내부 오류가 있으면 AI Platform은 작업을 2회 다시 시작하려고 시도합니다(총 3회). 재시작도 실패하면 AI Platform Training은 Internal error occurred for the current attempt 메시지와 함께 내부 오류를 반환합니다.