다음을 통해 공유


Azure Container Apps에서 서버리스 GPU 사용

Azure Container Apps를 사용하면 기본 인프라를 관리할 필요 없이 필요에 따라 GPU에 액세스할 수 있습니다. 서버리스 기능이므로 사용 중인 GPU에 대해서만 비용을 지불합니다. 이 기능을 사용하도록 설정하면 앱에 사용되는 GPU 수가 애플리케이션의 부하 수요에 맞게 늘어나거나 줄어듭니다. 서버리스 GPU를 사용하면 자동 스케일 다운, 최적화된 콜드 부팅, 사용하지 않을 때는 0으로 스케일 다운되는 초당 청구, 운영 오버헤드 감소 등을 통해 워크로드를 원활하게 실행할 수 있습니다.

서버리스 GPU는 사용량 워크로드 프로필에서만 지원됩니다. 이 기능은 소비 전용 환경에서 지원되지 않습니다.

참고

GPU 할당량을 요청한 후에만 GPU에 액세스할 수 있습니다. 고객 지원 사례를 통해 GPU 할당량 요청을 제출할 수 있습니다.

이점

서버리스 GPU를 사용하면 인프라 관리에 덜 신경 쓰고 핵심 AI 코드에 집중할 수 있어 AI 개발 속도가 빨라집니다. 이 기능은 Azure AI 모델 카탈로그의 서버리스 API와 관리 컴퓨팅의 호스팅 모델 사이의 중간 계층 옵션을 제공합니다.

Container Apps의 서버리스 GPU 지원은 데이터가 컨테이너의 경계를 벗어나지 않으면서도 애플리케이션을 빌드할 수 있는 관리 서버리스 플랫폼을 제공함으로써 완벽한 데이터 거버넌스를 제공합니다.

Container Apps에서 서버리스 GPU를 사용하면 앱에 다음과 같은 이점이 있습니다.

  • GPU0으로 확장: NVIDIA A100 및 NVIDIA T4 GPU의 자동 서버리스 크기 조정을 지원합니다.

  • 초당 청구: 사용하는 GPU 컴퓨팅에 대해서만 지불합니다.

  • 기본 제공 데이터 거버넌스: 데이터는 컨테이너 경계를 벗어나지 않습니다.

  • 유연한 컴퓨팅 옵션: NVIDIA A100 또는 T4 GPU 유형 중에서 선택할 수 있습니다.

  • AI 개발을위한 중간 계층: 관리형 서버리스 컴퓨팅 플랫폼에서 사용자 고유의 모델을 가져옵니다.

일반적인 시나리오

다음 시나리오는 포괄적이지는 않지만 서버리스 GPU의 일반적인 사용 사례를 설명합니다.

  • 실시간 및 일괄 처리 추론: 빠른 시작 시간, 자동 크기 조정 및 초당 청구 모델에서 사용자 지정 오픈 소스 모델을 사용합니다. 서버리스 GPU는 동적 애플리케이션에 이상적입니다. 사용한 컴퓨팅량에 대해서만 비용을 지불하고, 앱은 수요에 맞춰 자동으로 스케일 인 및 스케일 아웃됩니다.

  • 기계 학습 시나리오: 미세 조정된 사용자 지정 생성형 AI 모델, 딥 러닝, 신경망 또는 대규모 데이터 분석을 구현하는 애플리케이션의 속도를 크게 향상합니다.

  • HPC(고성능 컴퓨팅): 과학 컴퓨팅, 재무 모델링 또는 일기 예보와 같은 복잡한 계산 및 시뮬레이션이 필요한 애플리케이션은 높은 계산 요구를 위한 리소스로 GPU를 사용합니다.

  • 렌더링 및 시각화: 3D 렌더링, 이미지 처리 또는 비디오 코드 변환이 포함된 애플리케이션은 종종 GPU를 사용하여 렌더링 프로세스를 가속화하고 실시간 시각화를 사용하도록 설정합니다.

  • 빅 데이터 분석: GPU는 대규모 데이터 세트 간의 데이터 처리 및 분석을 가속화할 수 있습니다.

고려 사항

서버리스 GPU를 사용할 때 다음 사항을 염두에 둡니다.

  • CUDA 버전: 서버리스 GPU는 최신 CUDA 버전을 지원합니다.

  • 지원 제한 사항:

    • 한 번에 앱 내의 컨테이너 하나만 GPU를 사용할 수 있습니다. 앱에 여러 개의 컨테이너가 있는 경우 첫 번째 컨테이너가 GPU에 액세스할 수 있습니다.
    • 여러 앱이 동일한 GPU 워크로드 프로필을 공유할 수 있지만 각각에는 자체 복제본이 필요합니다.
    • 다중 및 분할 GPU 복제본은 지원되지 않습니다.
    • 애플리케이션의 첫 번째 컨테이너가 GPU에 액세스합니다.
  • IP 주소: 사용자 고유의가상 네트워크와의 통합을 설정할 때 소비 GPU는 복제본당 하나의 IP 주소를 사용합니다.

지원되는 지역

서버리스 GPU는 다음 지역에서 사용할 수 있습니다.

지역 A100 T4
미국 서부 3
미국 서부 아니오
오스트레일리아 동부
스웨덴 중부
서유럽1 아니오

1 서유럽에서 T4 서버리스 GPU 워크로드 프로필을 추가하려면 해당 지역에 새 워크로드 프로필 환경을 만들어야 합니다.

서버리스 GPU 사용

Azure Portal을 통해 컨테이너 앱을 만들면 컨테이너가 GPU 리소스를 사용하도록 설정할 수 있습니다.

만들기 프로세스의 컨테이너 탭에서 다음 설정을 지정합니다.

  1. 컨테이너 리소스 할당 섹션에서 GPU 확인란을 선택합니다.

  2. GPU 형식의 경우 NVIDIA A100 또는 NVIDIA T4 옵션을 선택합니다.

서버리스 GPU 워크로드 프로필 관리

서버리스 GPU는 사용량형 GPU 워크로드 프로필에서 실행됩니다. 다른 워크로드 프로필과 동일한 방식으로 사용량 GPU 워크로드 프로필을 관리합니다. CLI 또는 Azure Portal을 사용하여 워크로드 프로필을 관리할 수 있습니다.

서버리스 GPU 할당량 요청

참고

기업계약 및 종량제 고객이 있는 고객은 기본적으로 A100 및 T4 할당량을 사용하도록 설정되어 있습니다.

이 기능은 서버리스 GPU 할당량이 있는 경우에만 사용할 수 있습니다. 고객 지원 사례를 통해 GPU 할당량 요청을 제출할 수 있습니다. GPU 할당량 요청에 대한 지원 사례를 열 때 다음을 선택하세요.

  1. Azure Portal에서 새 지원 요청 양식을 엽니다.

  2. 양식에 다음 값을 입력합니다.

    재산 가치
    문제 유형 서비스 및 구독 한도(할당량)를 선택합니다.
    Subscription 구독을 선택합니다.
    할당량 유형 Container Apps를 선택합니다.
  3. 다음을 선택합니다.

  4. 추가 세부 정보 창에서 세부 정보 입력을 선택하여 요청 세부 정보 창을 엽니다.

    Azure 할당량 관리 시스템 세부 정보 창의 스크린샷.

  5. 할당량 유형관리되는 환경 사용량 NCA100 Gpus 또는 관리되는 환경 사용량 T4 Gpus를 선택합니다. 추가 값을 입력합니다.

  6. 저장하고 계속을 선택합니다.

  7. 추가 세부 정보 창에서 관련 세부 정보를 포함한 나머지 세부 정보를 입력합니다.

  8. 다음을 선택합니다.

  9. 선택하고생성합니다.

GPU 콜드 부팅 ​​개선

아티팩트 스트리밍을 활성화하고 대용량 언어 모델과 같은 큰 파일을 스토리지 마운트에 위치시킴으로써 콜드 스타트 시간을 크게 개선할 수 있습니다.

  • 아티팩트 스트리밍: Azure Container Registry는 이미지 시작 시간을 크게 단축할 수 있는 이미지 스트리밍을 제공합니다. 아티팩트 스트리밍을 사용하려면 컨테이너 이미지를 프리미엄 Azure Container Registry에서 호스트해야 합니다.

  • 스토리지 탑재: 컨테이너 앱과 연결된 Azure Storage 계정에 큰 파일을 저장하여 네트워크 대기 시간의 영향을 줄입니다.

서버리스 GPU에 Foundry 모델 배포(미리 보기)

Azure Container Apps 서버리스 GPU는 이제 공개 미리 보기에서 Azure AI Foundry 모델을 지원합니다. Azure AI Foundry 모델에는 다음 두 가지 배포 옵션이 있습니다.

Azure Container Apps 서버리스 GPU는 Foundry 모델을 배포할 수 있도록 서버리스 API와 관리 컴퓨팅 간에 분산된 배포 옵션을 제공합니다. 이 옵션은 필요에 따라 서버리스 확장이 가능하여 사용하지 않을 때 자동으로 0으로 조정되며, 데이터 상주 요구 사항을 충족시킵니다. 서버리스 GPU를 사용하여 Foundry 모델을 활용하면 자동 크기 조정, 초당 요금 부과, 전체 데이터 거버넌스를 제공하며, 즉시 사용 가능한 엔터프라이즈급 네트워킹 및 보안 지원으로 지원되는 모든 모델을 유연하게 실행할 수 있습니다.

형식 MLFLOW 의 언어 모델이 지원됩니다. 모델 목록을 MLFLOW 보려면 azureml 레지스트리에서 사용할 수 있는 모델 목록으로 이동합니다. 모델을 찾으려면 다음 단계를 사용하여 모델에 대한 MLFLOW 필터를 추가합니다.

  1. 필터를 선택합니다.

  2. 필터 추가를 선택합니다.

  3. 필터 규칙에 대해 Type = MLFLOW를 입력합니다.

Azure Container Apps 리포지토리에 나열된 모델의 경우 다음 CLI 명령을 사용하여 사용자 고유의 이미지를 빌드할 필요 없이 서버리스 GPU에 직접 배포할 수 있습니다.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --location <LOCATION> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --model-registry <MODEL_REGISTRY_NAME> \
  --model-name <MODEL_NAME> \
  --model-version <MODEL_VERSION>

이 목록에 없는 모델의 경우 다음을 수행해야 합니다.

  1. Azure Container Apps 리포지토리에서 모델 이미지에 대한 github 템플릿을 다운로드합니다.

  2. 모델 형식과 일치하도록 score.py 파일을 수정합니다. 점수 매기기 스크립트( score.py)는 모델과 상호 작용하는 방법을 정의합니다. 다음 예제에서는 사용자 지정 score.py 파일을 사용하는 방법을 보여줍니다.

  3. 이미지를 빌드하고 컨테이너 레지스트리에 배포합니다.

  4. 이전 CLI 명령을 사용하여 서버리스 GPU에 모델을 배포하되 --image를 지정하십시오. --model-registry, --model-name, --model-version 매개 변수를 사용하여 앱의 콜드 시작을 최적화하기 위해 주요 환경 변수가 설정됩니다.

사용자 의견 보내기

Azure Container Apps GitHub repo에 문제를 제출합니다.

다음 단계