생성 데이터 인텔리전스

Amazon SageMaker Studio 로컬 모드 및 Docker 지원으로 ML 워크플로 가속화 | 아마존 웹 서비스

시간

우리는 두 가지 새로운 기능을 발표하게 되어 기쁘게 생각합니다. 아마존 세이지 메이커 스튜디오 기계 학습(ML) 실무자를 위한 반복 개발을 가속화할 로컬 모드 및 Docker 지원. ML 모델 개발에는 개발자가 코딩, 교육, 배포 간을 전환할 때 느린 반복 주기가 포함되는 경우가 많습니다. 각 단계에서는 원격 컴퓨팅 리소스가 시작될 때까지 기다려야 하므로 구현 검증 및 변경 사항에 대한 피드백 수신이 지연됩니다.

로컬 모드를 사용하면 개발자는 이제 원격 컴퓨팅 리소스를 가동할 필요 없이 SageMaker Studio 노트북 인스턴스에서 직접 모델을 교육 및 테스트하고, 코드를 디버깅하고, 엔드투엔드 파이프라인을 검증할 수 있습니다. 이를 통해 반복 주기가 몇 분에서 몇 초로 단축되어 개발자 생산성이 향상됩니다. SageMaker Studio 노트북의 Docker 지원을 통해 개발자는 쉽게 Docker 컨테이너를 구축하고 사전 구축된 컨테이너에 액세스할 수 있으므로 팀 전체에 일관된 개발 환경을 제공하고 시간이 많이 소요되는 설정 및 종속성 관리를 피할 수 있습니다.

로컬 모드 및 Docker 지원은 SageMaker Studio 노트북에서 실행되는 로컬 컨테이너를 사용하여 코드 변경 사항을 검증하고 모델을 프로토타입화하기 위한 간소화된 워크플로를 제공합니다.

사례. 이 게시물에서는 SageMaker Studio에서 로컬 모드를 설정하고, 샘플 훈련 작업을 실행하고, 모델을 배포하는 과정을 안내합니다. 아마존 세이지 메이커 SageMaker Studio 노트북의 엔드포인트.

SageMaker Studio 로컬 모드

SageMaker Studio에는 로컬 모드가 도입되어 원격 컴퓨팅 리소스 없이 JupyterLab, Code Editor 또는 SageMaker Studio Classic 노트북 인스턴스에서 직접 SageMaker 훈련, 추론, 배치 변환 및 처리 작업을 실행할 수 있습니다. 로컬 모드 사용의 이점은 다음과 같습니다.

  • 통합 개발 환경(IDE) 내에서 바로 워크플로의 즉각적인 검증 및 테스트
  • 소규모 작업에 대한 로컬 실행을 통해 더 빠른 반복을 통해 출력을 검사하고 문제를 조기에 식별합니다.
  • 원격 교육 작업에 대한 대기 시간을 제거하여 개발 및 디버깅 효율성 향상
  • 클라우드에서 전체 작업을 실행하기 전에 코드 변경에 대한 즉각적인 피드백

다음 그림은 SageMaker에서 로컬 모드를 사용하는 워크플로를 보여줍니다.

SageMaker에서 로컬 모드를 사용하는 워크플로

로컬 모드를 사용하려면 다음을 설정하세요. instance_type='local' 훈련 및 추론과 같은 SageMaker Python SDK 작업을 실행할 때. 이렇게 하면 클라우드 리소스를 프로비저닝하는 대신 SageMaker Studio IDE에서 사용하는 인스턴스에서 실행됩니다.

분산 교육과 같은 특정 기능은 클라우드에서만 사용할 수 있지만 로컬 모드에서는 빠른 반복을 위해 컨텍스트를 전환할 필요가 없습니다. SageMaker의 모든 기능과 규모를 활용할 준비가 되면 클라우드에서 워크플로를 원활하게 실행할 수 있습니다.

SageMaker Studio의 Docker 지원

SageMaker Studio는 이제 SageMaker Studio 노트북 인스턴스에서 로컬로 Docker 컨테이너를 구축하고 실행할 수도 있습니다. 이 새로운 기능을 사용하면 SageMaker 교육 및 추론에 사용하기 전에 SageMaker Studio에서 Docker 이미지를 구축하고 검증할 수 있습니다.

다음 다이어그램은 SageMaker Studio 내의 상위 수준 Docker 오케스트레이션 아키텍처를 보여줍니다.

SageMaker Studio 내의 상위 수준 Docker 오케스트레이션 아키텍처

SageMaker Studio의 Docker 지원을 통해 다음을 수행할 수 있습니다.

  • SageMaker Studio 내에서 직접 통합 모델 및 종속성을 갖춘 Docker 컨테이너 구축
  • 이미지 생성을 단순화하기 위해 외부 Docker 빌드 프로세스가 필요하지 않습니다.
  • 모델을 프로덕션에 배포하기 전에 로컬에서 컨테이너를 실행하여 기능을 검증하세요.
  • 교육 및 호스팅을 위해 SageMaker에 배포할 때 로컬 컨테이너 재사용

이 글을 쓰는 시점에서는 다중 컨테이너 및 사용자 지정 네트워크와 같은 일부 고급 Docker 기능이 지원되지 않지만 핵심 빌드 및 실행 기능을 사용하여 BYOC(Bring Your Own Container) 워크플로를 위한 컨테이너 개발을 가속화할 수 있습니다.

사전 조건

SageMaker Studio 애플리케이션에서 로컬 모드를 사용하려면 다음 전제 조건을 완료해야 합니다.

  • 이미지를 가져오려면 Amazon Elastic Container Registry (Amazon ECR) ECR 이미지를 호스팅하는 계정은 사용자에게 액세스 권한을 제공해야 합니다. ID 및 액세스 관리 (IAM) 역할. 도메인의 역할은 Amazon ECR 액세스도 허용해야 합니다.
  • 로컬 모드 및 Docker 기능을 활성화하려면 다음을 설정해야 합니다. EnableDockerAccess 도메인의 매개변수를 true로 설정 DockerSettings 를 사용하여 AWS 명령 줄 인터페이스 (AWS CLI). 이를 통해 도메인의 사용자는 로컬 모드 및 Docker 기능을 사용할 수 있습니다. 기본적으로 SageMaker Studio에서는 로컬 모드와 Docker가 비활성화되어 있습니다. Docker 서비스 업데이트를 적용하려면 기존 SageMaker Studio 앱을 다시 시작해야 합니다. 다음은 SageMaker Studio 도메인을 업데이트하기 위한 AWS CLI 명령의 예입니다.
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

  • 다음을 수행하려면 SageMaker IAM 역할을 업데이트해야 합니다. Docker 이미지 푸시 Amazon ECR로:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행

SageMaker Studio JupyterLab 및 코드 편집기(기반) Code-OSS, Visual Studio Code – 오픈 소스)는 널리 사용되는 경량 IDE를 사용하여 분석 및 ML 코드를 작성, 테스트, 디버그 및 실행할 수 있도록 SageMaker Studio를 확장합니다. SageMaker Studio IDE를 시작하는 방법에 대한 자세한 내용은 다음을 참조하십시오. Amazon SageMaker Studio에서 생산성 향상: JupyterLab Spaces 및 생성 AI 도구 소개새로운 소식 – 이제 Amazon SageMaker Studio에서 Code-OSS VS 코드 오픈 소스를 기반으로 하는 코드 편집기를 사용할 수 있습니다.. 다음 단계를 완료하십시오.

로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행

  • 새 터미널을 만듭니다.  로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행
  • 다음 지침에 따라 Docker CLI 및 Docker Compose 플러그인을 설치합니다. GitHub 레포. 연결된 명령이 실패하면 한 번에 하나씩 명령을 실행하십시오.

로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 SageMaker SDK를 최신 버전으로 업데이트해야 합니다.

  • 달리기 pip install sagemaker -Uq 터미널에.

코드 편집기의 경우에만 현재 터미널에서 실행되도록 Python 환경을 설정해야 합니다.

  • 코드 편집기에서 파일 메뉴¸ 선택 환경 설정설정.

로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행

  • 검색 및 선택 터미널: 파일 디렉터리에서 실행.

로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행

  • 코드 편집기 또는 JupyterLab에서 다음을 엽니다. scikit_learn_script_mode_local_training_and_serving 폴더를 만들고 실행 scikit_learn_script_mode_local_training_and_serving.py 파일.

다음을 선택하여 스크립트를 실행할 수 있습니다. 달리기 코드 편집기에서 또는 JupyterLab 터미널에서 CLI를 사용합니다. 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 모델이 로컬에서 어떻게 훈련되는지 확인할 수 있습니다. 그런 다음 모델을 SageMaker 엔드포인트에 로컬로 배포하고 평균 제곱근 오차(RMSE). 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행 로컬 모드를 사용하여 SageMaker Studio 공간에서 Python 파일 실행

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

SageMaker Studio Classic에서 노트북을 사용하여 소규모 교육 작업을 실행할 수도 있습니다. CIFAR10 로컬 모드를 사용하여 모델을 로컬로 배포하고 추론을 수행합니다.

노트북 설정

노트북을 설정하려면 다음 단계를 완료하세요.

  • SageMaker Studio Classic을 열고 다음을 복제합니다. GitHub 레포.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 열기 pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 럭셔리 영상선택한다. PyTorch 2.1.0 Python 3.10 CPU Optimized.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션 노트북에 올바른 인스턴스와 커널 선택이 표시되는지 확인하세요. 로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 다음을 선택하여 터미널을 엽니다. 터미널 실행 현재 SageMaker 이미지에서.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 다음 지침에 따라 Docker CLI 및 Docker Compose 플러그인을 설치합니다. GitHub 레포.

SageMaker Studio Classic의 Docker를 사용하고 있으므로 터미널이 이미 수퍼유저로 실행되므로 명령을 실행할 때 sudo를 제거하십시오. SageMaker Studio Classic의 경우 설치 명령은 SageMaker Studio 앱 이미지 OS에 따라 다릅니다. 예를 들어 DLC 기반 프레임워크 이미지는 Ubuntu 기반이며 다음 지침이 작동합니다. 그러나 DataScience Images와 같은 Debian 기반 이미지의 경우 다음 지침을 따라야 합니다. GitHub 레포. 연결된 명령이 실패하면 한 번에 하나씩 명령을 실행하십시오. Docker 버전이 표시되어야 합니다. 로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 터미널 창을 열어두고 노트북으로 돌아가서 셀별로 실행을 시작합니다.

다음을 사용하여 셀을 실행하세요. pip install -U sagemaker 최신 버전의 SageMaker Python SDK를 사용하고 있습니다.

현지 교육

로컬 SageMaker 훈련 작업 실행을 시작하면 다음 로그 줄이 표시됩니다.

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

이는 훈련이 Docker를 사용하여 로컬에서 실행되고 있음을 나타냅니다.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

그동안 인내심을 갖고 pytorch-training:2.1-cpu-py310 Docker 이미지를 가져옵니다. 대용량(5.2GB)으로 인해 몇 분 정도 걸릴 수 있습니다.

Docker 이미지는 최종 사용자가 액세스할 수 없는 SageMaker Studio 앱 인스턴스의 루트 볼륨에 저장됩니다. Docker 이미지에 액세스하고 상호 작용하는 유일한 방법은 노출된 Docker API 작업을 통하는 것입니다.

사용자 기밀 유지 관점에서 볼 때 SageMaker Studio 플랫폼은 사용자별 이미지에 액세스하거나 저장하지 않습니다.

학습이 완료되면 다음 성공 로그 줄을 볼 수 있습니다.

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

국소 추론

다음 단계를 완료하십시오.

  • SageMaker 로컬 모드를 사용하여 SageMaker 엔드포인트를 배포합니다.

그동안 인내심을 갖고 pytorch-inference:2.1-cpu-py310 Docker 이미지를 가져옵니다. 대용량(4.32GB)으로 인해 몇 분 정도 걸릴 수 있습니다.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 테스트 이미지를 사용하여 로컬로 배포된 SageMaker 엔드포인트를 호출합니다.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

개구리, 배, 자동차, 비행기 등 예측 클래스를 볼 수 있습니다.

Predicted:  frog ship  car plane

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • SageMaker Local 엔드포인트가 여전히 실행 중이므로 열려 있는 터미널 창으로 다시 이동하여 실행 중인 컨테이너를 나열합니다.

docker ps

달리는 모습을 보실 수 있습니다 pytorch-inference:2.1-cpu-py310 SageMaker 엔드포인트를 지원하는 컨테이너입니다.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • 한 번에 하나의 로컬 엔드포인트만 실행할 수 있으므로 SageMaker 로컬 엔드포인트를 종료하고 실행 중인 컨테이너를 중지하려면 정리 코드를 실행하십시오.

로컬 모드를 사용하여 SageMaker Studio Classic에서 훈련 및 추론 시뮬레이션

  • Docker 컨테이너가 다운되었는지 확인하려면 열린 터미널 창으로 이동하여 docker ps를 실행하고 실행 중인 컨테이너가 없는지 확인하면 됩니다.
  • 실행 중인 컨테이너가 보이면 다음을 실행하세요. docker stop <CONTAINER_ID> 그것을 막을 수 있습니다.

SageMaker 로컬 모드 사용 팁

SageMaker를 처음 사용하는 경우 다음을 참조하세요. 기계 학습 모델 훈련. SageMaker를 사용한 추론용 모델 배포에 대한 자세한 내용은 다음을 참조하십시오. 추론을 위한 모델 배포.

다음 권장 사항을 염두에 두십시오.

  • 데이터 세트와 모델 로딩을 이해하기 위해 입력 및 출력 파일과 폴더를 인쇄합니다.
  • 빠른 테스트를 위해 1~2개의 에포크와 소규모 데이터세트를 사용하세요.
  • 환경 설정을 최적화하기 위해 Dockerfile에 종속성을 사전 설치합니다.
  • 디버깅을 위해 엔드포인트에서 직렬화 코드를 격리합니다.

Docker 설치를 수명 주기 구성으로 구성

Docker 설치 프로세스를 LCC(수명 주기 구성) 스크립트로 정의하여 새로운 SageMaker Studio 공간이 시작될 때마다 설정을 단순화할 수 있습니다. LCC는 공간 생성과 같은 이벤트 중에 SageMaker가 실행하는 스크립트입니다. 다음을 참조하세요. 주피터랩, 코드 편집기SageMaker Studio 클래식 LCC 설정(사용 도커 설치 CLI 참고로) 자세히 알아보세요.

Docker 설치를 수명 주기 구성으로 구성

Docker 설치를 수명 주기 구성으로 구성

SageMaker Studio 공간에서 사용자 지정 Docker 이미지 구축 및 테스트

이 단계에서는 JupyterLab(또는 Code Editor) 앱 공간 내에 Docker를 설치하고 Docker를 사용하여 SageMaker Studio 공간으로 사용자 지정 Docker 이미지를 빌드, 테스트 및 게시합니다. 공간은 일부 SageMaker Studio 애플리케이션의 스토리지 및 리소스 요구 사항을 관리하는 데 사용됩니다. 각 공간은 애플리케이션의 인스턴스와 1:1 관계를 맺고 있습니다. 생성된 모든 지원되는 응용 프로그램은 자체 공간을 갖습니다. SageMaker 공간에 대해 자세히 알아보려면 다음을 참조하십시오. Amazon SageMaker Studio에서 생산성 향상: JupyterLab Spaces 및 생성 AI 도구 소개. Docker 이미지 및 아티팩트에 충분한 스토리지를 허용하려면 최소 30GB의 스토리지가 있는 새 공간을 프로비저닝해야 합니다.

공간 내부에 Docker 설치

JupyterLab 공간 내에 Docker CLI 및 Docker Compose 플러그인을 설치하려면 다음 명령을 실행하세요. GitHub 레포. 세이지메이커 스튜디오 Docker 버전 20.10.X만 지원합니다..

Docker 이미지 빌드

Docker가 JupyterLab 공간 내에 설치되어 작동하는지 확인하려면 다음 코드를 실행하세요.

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

JupyterLab(또는 코드 편집기) 공간 내에 사용자 지정 Docker 이미지를 빌드하려면 다음 단계를 완료하세요.

  • 빈 Dockerfile을 만듭니다.

touch Dockerfile

  • 다음 명령을 사용하여 Dockerfile을 편집합니다. 그러면 호스팅되는 기본 python:3.10.13-bullseye 이미지에서 간단한 플라스크 웹 서버 이미지가 생성됩니다. 도커 허브:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

다음 코드는 플라스크 애플리케이션 파일 예시의 내용을 보여줍니다. app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

또한 선택한 패키지와 아티팩트를 포함하도록 참조 Dockerfile 명령을 업데이트할 수 있습니다.

  • 참조 Dockerfile을 사용하여 Docker 이미지를 빌드합니다.

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

포함 --network docker build 명령에 sagemaker를 추가하지 않으면 빌드가 실패합니다. Docker 기본 브리지 또는 사용자 지정 Docker 네트워크에서는 컨테이너를 실행할 수 없습니다. 컨테이너는 SageMaker Studio 애플리케이션 컨테이너와 동일한 네트워크에서 실행됩니다. 사용자는 네트워크 이름으로 Sagemaker만 사용할 수 있습니다.

  • 빌드가 완료되면 이미지가 존재하는지 확인합니다. 빌드에 ECR 이미지로 태그를 다시 지정하고 푸시합니다. 권한 문제가 발생하면 aws ecr get-login-password... 명령을 실행하고 Docker 푸시/풀을 다시 실행해 보십시오.
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

Docker 이미지 테스트

JupyterLab(또는 Code Editor) SageMaker Studio 공간 내에 Docker를 설치하면 사전 구축된 Docker 이미지나 사용자 지정 Docker 이미지를 컨테이너(또는 컨테이너화된 애플리케이션)로 테스트할 수 있습니다. 이 섹션에서는 docker run 명령을 사용하여 SageMaker Studio 공간 내에 Docker 컨테이너를 프로비저닝하여 REST 웹 서비스 및 Python 스크립트와 같은 컨테이너화된 워크로드를 테스트합니다. 다음 단계를 완료하세요.

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • 테스트 이미지가 없으면 docker pull을 실행하여 이미지를 로컬 머신으로 가져옵니다.

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • 인증 문제가 발생하면 다음 명령을 실행하십시오.

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • 워크로드를 테스트할 컨테이너를 만듭니다.

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

그러면 새 컨테이너 인스턴스가 실행되고 Docker의 ENTRYPOINT를 사용하여 정의된 애플리케이션이 실행됩니다.

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • 웹 엔드포인트가 활성화되어 있는지 테스트하려면 URL로 이동하세요. https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

다음 스크린샷과 비슷한 JSON 응답이 표시됩니다.

Docker 설치를 수명 주기 구성으로 구성

정리

불필요한 요금이 발생하지 않도록 하려면 이 게시물의 예시를 실행하는 동안 생성한 리소스를 삭제하세요.

  1. SageMaker Studio 도메인에서 다음을 선택합니다. 스튜디오 클래식 탐색 창에서 다음을 선택합니다. 중지.
  2. SageMaker Studio 도메인에서 다음을 선택합니다. 주피터랩 or 코드 편집기 탐색 창에서 앱을 선택한 다음 중지.

결론

SageMaker Studio 로컬 모드 및 Docker 지원을 통해 개발자는 작업 공간을 떠나지 않고도 ML 구현을 더 빠르게 구축, 테스트 및 반복할 수 있습니다. 테스트 환경 및 결과에 대한 즉각적인 액세스를 제공함으로써 이러한 기능은 작업 흐름을 최적화하고 생산성을 향상시킵니다. 다음을 사용하여 SageMaker Studio 로컬 모델 및 Docker 지원을 사용해 보십시오. 빠른 온보드 기능, 이를 통해 몇 분 안에 단일 사용자를 위한 새 도메인을 가동할 수 있습니다. 댓글 섹션에서 여러분의 생각을 공유해 주세요!


저자에 관하여

쉐타 싱쉐타 싱 그는 AWS의 Amazon SageMaker 기계 학습(ML) 플랫폼 팀에서 선임 제품 관리자로 SageMaker Python SDK를 이끌고 있습니다. 그녀는 5년 넘게 Amazon에서 여러 제품 역할을 담당했습니다. 그녀는 뉴욕 대학교에서 컴퓨터 공학 학사 학위와 금융 공학 석사 학위를 취득했습니다.

에이 탄 셀라에이 탄 셀라 AWS의 생성적 AI 및 기계 학습 전문가 솔루션 아키텍트입니다. 그는 AWS 고객과 협력하여 지침과 기술 지원을 제공하고 AWS에서 생성적 AI 및 기계 학습 솔루션을 구축하고 운영하도록 돕습니다. 여가 시간에 Eitan은 조깅을 즐기고 최신 기계 학습 기사를 읽는 것을 즐깁니다.

프라나브 머티프라나브 머티 AWS의 AI/ML 전문가 솔루션 아키텍트입니다. 그는 고객이 기계 학습(ML) 워크로드를 구축, 교육, 배포하고 SageMaker로 마이그레이션하도록 돕는 데 중점을 두고 있습니다. 그는 이전에 최첨단 ML 기술을 사용하여 반도체 프로세스를 개선하기 위해 대규모 컴퓨터 비전(CV) 및 자연어 처리(NLP) 모델을 개발하는 반도체 업계에서 일했습니다. 여가 시간에는 체스를 두거나 여행을 즐깁니다. Pranav는 다음에서 찾을 수 있습니다. 링크드인.

무파달 로하왈라무파달 로하왈라 AWS의 소프트웨어 엔지니어입니다. 그는 Amazon SageMaker용 SageMaker Python SDK 라이브러리 작업을 하고 있습니다. 여가 시간에는 여행과 야외 활동을 즐기며 축구 팬이기도 합니다.

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?