HyperPod Slurm에서 훈련 작업 실행 - Amazon SageMaker AI

HyperPod Slurm에서 훈련 작업 실행

SageMaker HyperPod 레시피는 GPU/Trainium Slurm 클러스터에 훈련 작업을 제출하는 것을 지원합니다. 훈련 작업을 제출하기 전에 클러스터 구성을 업데이트합니다. 다음 방법 중 하나를 사용하여 클러스터 구성을 업데이트합니다.

  • slurm.yaml 수정

  • 명령줄을 통해 재정의

클러스터 구성을 업데이트한 후 환경을 설치합니다.

클러스터 구성

Slurm 클러스터에 훈련 작업을 제출하려면 Slurm에 특화된 구성을 지정합니다. slurm.yaml을 수정하여 Slurm 클러스터를 구성합니다. 다음은 Slurm 클러스터 구성의 예시입니다. 자체 훈련 요구 사항에 맞게 이 파일을 수정할 수 있습니다.

job_name_prefix: 'sagemaker-' slurm_create_submission_file_only: False stderr_to_stdout: True srun_args: # - "--no-container-mount-home" slurm_docker_cfg: docker_args: # - "--runtime=nvidia" post_launch_commands: container_mounts: - "/fsx:/fsx"
  1. job_name_prefix: Slurm 클러스터에 대한 제출을 쉽게 식별할 수 있도록 작업 이름 접두사를 지정합니다.

  2. slurm_create_submission_file_only: 디버깅에 도움이 되도록 모의 실행의 경우 이 구성을 True로 설정합니다.

  3. stderr_to_stdout: 표준 오류(stderr)를 표준 출력(stdout)으로 리디렉션할지를 지정합니다.

  4. srun_args: 특정 컴퓨팅 노드 제외와 같은 추가 srun 구성을 사용자 지정합니다. 자세한 내용은 srun 설명서를 참조하세요.

  5. slurm_docker_cfg: SageMaker HyperPod 레시피 런처가 Docker 컨테이너를 시작하여 훈련 작업을 실행합니다. 이 파라미터 내에서 추가 Docker 인수를 지정할 수 있습니다.

  6. container_mounts: 레시피 런처의 컨테이너에 탑재할 볼륨을 지정하여 훈련 작업이 해당 볼륨의 파일에 액세스할 수 있도록 합니다.