서비스와 함께 GPU 사용

이 페이지에서는 Cloud Run for Anthos on Google Cloud 컨테이너 인스턴스에서 컴퓨팅 성능을 위한 NVIDIA 그래픽 처리 장치(GPU) 하드웨어 액셀러레이터와 함께 노드 풀을 사용하여 영상 인식 및 자연어 처리와 같은 딥 러닝 작업은 물론 컴퓨팅 집약적인 작업을 수행하는 방법을 설명합니다.

GPU가 포함된 노드 풀을 GKE 클러스터에 추가

관리자에게 GPU가 포함된 노드 풀을 만들도록 합니다.

  1. GKE 클러스터에 GPU 지원 노드 풀을 추가합니다.

  2. NVIDIA의 기기 드라이버를 노드에 설치합니다.

GPU를 사용하도록 서비스 설정

서비스를 배포하고 기존 서비스를 업데이트하거나 버전을 배포할 때 Cloud Console, gcloud 명령줄 도구 또는 YAML 파일을 사용하여 서비스에 GPU를 사용하기 위한 리소스 제한을 지정할 수 있습니다.

콘솔

  1. Cloud Run for Anthos on Google Cloud로 이동
  2. 서비스 만들기를 클릭하여 서비스 만들기 양식을 표시합니다.

    이미지

  3. 서비스 설정 섹션에서 다음을 수행합니다.

    • 개발 플랫폼으로 Cloud Run for Anthos on Google Cloud를 선택합니다.
    • GPU 지원 노드 풀이 포함된 GKE 클러스터를 선택합니다.
    • 서비스에 부여할 이름을 지정합니다.
    • 서비스를 호출하는 데 사용할 연결을 선택합니다.
    • 서비스 만들기 양식의 다음 페이지로 이동하려면 다음을 클릭합니다.
  4. 서비스의 첫 번째 버전 구성 섹션에서 다음을 수행합니다.

    이미지

    • 컨테이너 이미지 URL을 추가합니다.
    • 고급 설정 표시를 클릭하고 할당된 GPU 드롭다운 메뉴에서 서비스에 할당할 GPU 수를 선택합니다. 이미지
  5. 만들기를 클릭하여 Cloud Run for Anthos에 이미지를 배포하고 배포가 완료될 때까지 기다립니다.

명령줄

  • 기존 서비스의 경우 --gpu 매개변수로 gcloud kuberun core services update 명령어를 실행하여 GPU 한도 설정을 업데이트합니다.

    gcloud kuberun core services update SERVICE --gpu GPU
    

    다음과 같이 바꿉니다.

    • SERVICE을 서비스 이름으로 바꿉니다.
    • GPU을 서비스에 할당할 GPU 수로 바꿉니다.
  • 새 서비스의 경우 --gpu 매개변수로 gcloud kuberun core services create 명령어를 실행하여 GPU 한도를 설정합니다.

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --gpu GPU
    

    다음과 같이 바꿉니다.

    • SERVICE을 서비스 이름으로 바꿉니다.
    • IMAGE_URL을 컨테이너 이미지에 대한 참조(예: gcr.io/myproject/my-image:latest)로 바꿉니다.
    • GPU을 서비스에 할당할 GPU 수로 바꿉니다.

YAML

YAML 파일을 사용하여 기존 서비스의 구성을 수정하려면 현재 구성의 복사본을 가져오고 변경사항을 수정하여 로컬 파일에 저장한 다음 해당 변경사항을 서비스에 배포합니다.

  1. YAML로 표시한 다음 서비스 구성을 로컬 파일(예: service.yaml)에 복사합니다.

    gcloud kuberun core services describe SERVICE --format yaml

    SERVICE를 Cloud Run for Anthos 서비스 이름으로 바꿉니다.

  2. 로컬 파일에서 nvidia.com/gpu 속성을 업데이트합니다.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
       – image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: GPU_UNITS
    

    GPU_UNITS를 Kubernetes GPU 단위의 원하는 GPU 값으로 바꿉니다. 예를 들어 GPU 1개에는 1를 지정합니다.

  3. 다음 명령어를 실행하여 YAML 파일을 배포하고 서비스를 새 구성으로 바꿉니다.

    gcloud beta run services replace service.yaml

GPU 성능 및 비용에 대한 자세한 내용은 GPU를 참조하세요.