점점 더 많은 고객이 ML(머신 러닝) 워크로드를 생산에 투입하려고 함에 따라 조직에서는 ML 코드의 개발 수명 주기를 단축하려는 움직임이 크게 일어나고 있습니다. 많은 조직에서는 탐색적 스타일(메소드나 클래스를 사용하지 않고 코드 작성)이 아닌 Python 메서드 및 클래스의 형태로 프로덕션 준비 스타일로 ML 코드를 작성하는 것을 선호합니다.
와 아마존 세이지 메이커, @원격 데코레이터 @remote 데코레이터로 Python 코드에 주석을 달기만 하면 SageMaker 교육 작업을 실행할 수 있습니다. 그만큼 SageMaker Python SDK 기존 작업 공간 환경과 모든 관련 데이터 처리 코드 및 데이터 세트를 SageMaker 교육 플랫폼에서 실행되는 SageMaker 교육 작업으로 자동 변환합니다.
Python 함수를 로컬에서 실행하려면 로컬 Python 런타임 환경과 함께 제공되지 않을 수 있는 여러 종속성이 필요한 경우가 많습니다. 다음과 같은 패키지 및 종속성 관리 도구를 통해 설치할 수 있습니다. 삐악 삐악 울다 or 콘도.
그러나 은행, 보험 및 의료와 같은 규제 산업에서 운영되는 조직은 엄격한 데이터 개인 정보 보호 및 네트워킹 제어가 있는 환경에서 운영됩니다. 이러한 제어는 종종 어떤 환경에서도 인터넷 액세스를 사용할 수 없도록 요구합니다. 이러한 제한을 두는 이유는 송신 및 수신 트래픽을 완전히 제어하여 부도덕한 행위자가 네트워크를 통해 확인되지 않은 정보를 보내거나 받을 가능성을 줄이기 위함입니다. 또한 종종 청각 및 산업 규정 준수 규칙의 일부로 이러한 네트워크 격리를 의무화합니다. ML과 관련하여 데이터 과학자가 다음과 같은 공용 리포지토리에서 패키지를 다운로드하지 못하도록 제한합니다. PyPI, 아나콘다및 콘다 포지.
데이터 과학자가 선택한 도구에 대한 액세스를 제공하는 동시에 환경의 제한 사항을 준수하기 위해 조직은 종종 자체 환경에서 호스팅되는 자체 개인 패키지 리포지토리를 설정합니다. 여러 가지 방법으로 AWS에서 프라이빗 패키지 리포지토리를 설정할 수 있습니다.
이 게시물에서는 첫 번째 옵션인 CodeArtifact 사용에 중점을 둡니다.
솔루션 개요
다음 아키텍처 다이어그램은 솔루션 아키텍처를 보여줍니다.
솔루션을 구현하기 위한 대략적인 단계는 다음과 같습니다.
- 다음을 사용하여 인터넷 액세스 없이 Virtual Private Cloud(VPC)를 설정합니다. AWS 클라우드 포메이션 주형.
- 두 번째 CloudFormation 템플릿을 사용하여 CodeArtifact를 프라이빗 PyPI 리포지토리로 설정하고 VPC에 대한 연결을 제공하고 아마존 세이지 메이커 스튜디오 개인 PyPI 리포지토리를 사용하는 환경입니다.
- 를 기반으로 분류 모델 훈련 MNIST 오픈 소스 SageMaker Python SDK의 @remote 데코레이터를 사용하는 데이터 세트. 모든 종속성은 개인 PyPI 저장소에서 다운로드됩니다.
이 게시물에서 SageMaker Studio를 사용하는 것은 선택 사항입니다. 원하는 통합 개발 환경(IDE)에서 작업하도록 선택할 수 있습니다. 당신은 당신을 설정해야합니다 AWS 명령 줄 인터페이스 (AWS CLI) 자격 증명이 올바르게 표시됩니다. 자세한 내용은 다음을 참조하십시오. AWS CLI 구성.
사전 조건
다음과 같은 AWS 계정이 필요합니다. AWS 자격 증명 및 액세스 관리 (나는) 역할 솔루션의 일부로 생성된 리소스를 관리할 수 있는 권한이 있습니다. 자세한 내용은 다음을 참조하십시오. AWS 계정 생성.
인터넷에 연결되지 않은 VPC 설정
새 CloudFormation 스택 생성 를 사용하여 vpc.yaml 주형. 이 템플릿은 다음 리소스를 만듭니다.
- 인터넷 연결이 없는 XNUMX개의 가용 영역에 걸쳐 XNUMX개의 프라이빗 서브넷이 있는 VPC
- Amazon S3에 액세스하기 위한 게이트웨이 VPC 엔드포인트
- SageMaker, CodeArtifact 및 기타 몇 가지 서비스에 대한 인터페이스 VPC 엔드포인트를 통해 VPC의 리소스가 AWS 프라이빗링크
다음과 같은 스택 이름을 제공하십시오. No-Internet
, 스택 생성 프로세스를 완료합니다.
스택 생성 프로세스가 완료될 때까지 기다리십시오.
VPC를 사용하여 프라이빗 리포지토리 및 SageMaker Studio 설정
다음 단계는 다음을 사용하여 다른 CloudFormation 스택을 배포하는 것입니다. sagemaker_studio_codeartifact.yaml 주형. 이 템플릿은 다음 리소스를 만듭니다.
스택 이름을 제공하고 기본값을 유지하거나 CodeArtifact 도메인 이름, 개인 저장소 이름, 사용자 프로필 이름 SageMaker Studio의 경우 업스트림 공용 PyPI 저장소의 이름. 당신은 또한 우리가 제공해야 VPC 스택 이름 이전 단계에서 생성되었습니다.
스택 생성이 완료되면 SageMaker 도메인이 SageMaker 콘솔에 표시되어야 합니다.
SageMaker Studio에서 사용 가능한 인터넷 연결이 없는지 확인하려면 SageMaker Studio 시작. 선택 File
, New
및 Terminal
터미널을 시작하고 컬 모든 인터넷 자원. 다음 스크린샷과 같이 연결에 실패해야 합니다.
개인 PyPI 리포지토리와 함께 @remote 데코레이터를 사용하여 이미지 분류기 훈련
이 섹션에서는 @remote 데코레이터를 사용하여 파이 토치 MNIST 이미지 분류 모델을 생성하는 학습 작업입니다. 이를 달성하기 위해 구성 파일을 설정하고 훈련 스크립트를 개발하고 훈련 코드를 실행합니다.
구성 파일 설정
우리는 설정 config.yaml
파일을 만들고 다음을 수행하는 데 필요한 구성을 제공합니다.
- 실행 SageMaker 교육 작업 이전에 만든 인터넷이 없는 VPC에서
- 이전에 만든 비공개 PyPI 리포지토리에 연결하여 필요한 패키지를 다운로드합니다.
파일은 다음 코드와 같습니다.
XNUMXD덴탈의 Dependencies
필드는 다음 경로를 포함합니다. requirements.txt
, 필요한 모든 종속성을 포함합니다. 모든 종속성은 개인 저장소에서 다운로드됩니다. 그만큼 requirements.txt
파일에는 다음 코드가 포함되어 있습니다.
XNUMXD덴탈의 PreExecutionCommands
섹션에는 개인 PyPI 리포지토리에 연결하는 명령이 포함되어 있습니다. CodeArtifact VPC 엔드포인트 URL을 가져오려면 다음 코드를 사용합니다.
일반적으로 CodeArtifact에 대해 두 개의 VPC 엔드포인트가 있으며 연결 명령에서 이들 중 아무거나 사용할 수 있습니다. 자세한 내용은 다음을 참조하십시오. VPC에서 CodeArtifact 사용.
또한 다음과 같은 구성 execution role
, output location
및 VPC configurations
구성 파일에 제공됩니다. 이러한 구성은 SageMaker 교육 작업을 실행하는 데 필요합니다. 지원되는 모든 구성에 대한 자세한 내용은 다음을 참조하십시오. 구성 파일.
를 반드시 사용해야 하는 것은 아닙니다. config.yaml
@remote 데코레이터로 작업하기 위해 파일을 만듭니다. 이것은 @remote 데코레이터에 모든 구성을 제공하는 보다 깔끔한 방법입니다. 모든 구성은 데코레이터 인수에 직접 제공될 수도 있지만 장기적으로 변경 사항의 가독성과 유지 관리 가능성이 줄어듭니다. 또한 구성 파일은 관리자가 만들고 환경의 모든 사용자와 공유할 수 있습니다.
교육 스크립트 개발
다음으로 간단한 Python 파일로 학습 코드를 준비합니다. 코드를 세 개의 파일로 나누었습니다.
- load_data.py – MNIST 데이터 세트를 다운로드하는 코드를 포함합니다.
- 모델.py – 모델의 신경망 아키텍처에 대한 코드를 포함합니다.
- 기차.py – load_data.py 및 model.py를 사용하여 모델을 교육하는 코드를 포함합니다.
In train.py
, 우리는 다음과 같이 기본 학습 기능을 장식해야 합니다.
이제 학습 코드를 실행할 준비가 되었습니다.
@remote 데코레이터로 학습 코드 실행
터미널이나 실행 가능한 프롬프트에서 코드를 실행할 수 있습니다. 이 게시물에서는 SageMaker Studio 노트북 셀을 사용하여 다음을 시연합니다.
앞의 명령을 실행하면 학습 작업이 트리거됩니다. 로그에서 개인 PyPI 리포지토리에서 패키지를 다운로드하고 있음을 알 수 있습니다.
이것으로 인터넷 액세스가 없는 환경에서 개인 저장소로 작업하는 @remote 데코레이터의 구현을 마칩니다.
정리
리소스를 정리하려면 다음 지침을 따르십시오. 정리.md.
결론
이 게시물에서는 인터넷 액세스가 없는 제한적인 환경에서 작업하면서 @remote 데코레이터의 기능을 효과적으로 사용하는 방법을 배웠습니다. 또한 SageMaker의 구성 파일 지원을 통해 CodeArtifact 프라이빗 리포지토리 기능을 통합하는 방법도 배웠습니다. 이 솔루션은 반복 개발을 훨씬 더 간단하고 빠르게 만듭니다. 또 다른 추가 이점은 계속해서 보다 자연스럽고 객체 지향적인 방식으로 교육 코드를 작성하고 SageMaker 기능을 사용하여 코드 변경을 최소화하면서 원격 클러스터에서 교육 작업을 실행할 수 있다는 것입니다. 이 게시물의 일부로 표시된 모든 코드는 GitHub 저장소.
다음 단계로 다음을 확인하시기 바랍니다. @remote 데코레이터 기능 및 파이썬 SDK API 선택한 환경과 IDE에서 사용하십시오. 추가 예제는 다음에서 사용할 수 있습니다. amazon-sagemaker-예제 빠르게 시작할 수 있는 저장소입니다. 게시글도 확인하실 수 있습니다 최소한의 코드 변경으로 로컬 기계 학습 코드를 Amazon SageMaker 교육 작업으로 실행 자세한 내용은.
저자,
비케시 판 데이 AWS의 기계 학습 전문가 솔루션 아키텍트로서 금융 산업 고객이 생성 AI 및 ML을 기반으로 솔루션을 설계하고 구축할 수 있도록 지원합니다. Vikesh는 업무 외 시간에 다양한 요리를 시도하고 야외 스포츠를 즐깁니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 자동차 / EV, 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- BlockOffsets. 환경 오프셋 소유권 현대화. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/access-private-repos-using-the-remote-decorator-for-amazon-sagemaker-training-workloads/
- :이다
- :아니
- $UP
- 1
- 10
- 100
- 12
- 23
- 7
- 8
- a
- 소개
- ACCESS
- 액세스
- 계정
- 달성
- 가로질러
- 배우
- 추가
- 추가
- 관리자
- 이점
- AI
- All
- 수
- 또한
- 아마존
- 아마존 세이지 메이커
- Amazon Web Services
- an
- 및
- 다른
- 어떤
- API를
- 아키텍처
- 있군요
- 인수
- AS
- 관련
- At
- 자동적으로
- 유효성
- 가능
- AWS
- 은행
- 기반으로
- BE
- 때문에
- 빌드
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- CAN
- 기능
- 승산
- 변경
- 검사
- 선택
- 왼쪽 메뉴에서
- 수업
- 분류
- 클라우드
- 클러스터
- 암호
- COM
- 왔다
- 제공
- 완전한
- compliance
- 구성
- 연결하기
- 연결
- 연결
- 입/출력 라인
- 콘솔에서
- 이 포함되어 있습니다
- 계속
- 제어
- 컨트롤
- 수
- 만든
- 생성
- 창조
- 신임장
- 고객
- 데이터
- 데이터 프라이버시
- 데이터 처리
- 데이터 세트
- 태만
- 보여
- 의존
- 배포
- 디자인
- 세부설명
- 개발
- 개발
- 다른
- 직접
- 분할 된
- do
- 도메인
- 다운로드
- 효과적으로
- 격려
- 종점
- 환경
- 환경
- 신기원
- 예
- 실행
- 현존하는
- 실패
- 그릇된
- 빠른
- 를
- 들
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 금융
- 금융 산업
- 먼저,
- 흙손
- 초점
- 따라
- 수행원
- 다음
- 럭셔리
- 형태
- 에
- 가득 찬
- 기능
- 게이트웨이
- 생성적인
- 제너레이티브 AI
- 얻을
- 그룹
- 있다
- 데
- 건강 관리
- 도움
- 도움이
- 도움이
- 고수준
- 호스팅
- 방법
- How To
- HTML
- HTTP
- HTTPS
- ID
- 통합 인증
- 영상
- 이미지 분류
- 구현
- 이행
- in
- 산업
- 산업
- 정보
- 설치
- 명령
- 보험
- 통합
- 통합 된
- 인터넷
- 인터넷 액세스
- 인터넷 연결
- 으로
- 격리
- IT
- 일
- 작업
- JPG
- 다만
- 유지
- 알아
- 넓은
- 시작
- 배운
- 배우기
- wifecycwe
- 처럼
- 라인
- 지방의
- 장소 상에서
- 로그인
- 긴
- 찾고
- 봐라.
- 기계
- 기계 학습
- 본관
- 제작
- 관리
- 구축
- 관리 도구
- 위임
- 필수
- .
- XNUMX월..
- 방법
- 최소의
- ML
- 모델
- 모듈
- 배우기
- 많은
- 여러
- name
- 출신
- 자연의
- 필요
- 필요
- 네트워크
- 네트워킹
- 신경망
- 신제품
- 다음 것
- 아니
- 수첩
- of
- 자주
- on
- 오픈 소스
- 운영
- 운영
- 반대하는
- 선택권
- or
- 주문
- 조직
- 기타
- 아웃
- 외부
- 위에
- 자신의
- 꾸러미
- 패키지
- 매개 변수
- 부품
- 통로
- 권한
- 장소
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 연주
- 게시하다
- 취하다
- Prepare
- 너무 이른
- 개인 정보 보호
- 사설
- 방법
- 처리
- 생산하다
- 생산
- 프로필
- 제공
- 제공
- 공개
- 푸시
- 놓다
- Python
- 파이 토치
- 빨리
- 준비
- 이유
- 전수
- 감소
- 감소
- 규제
- 규제 산업
- 먼
- 저장소
- 필수
- 필요
- 의지
- 제품 자료
- 존중
- 제한
- 제한
- 제한적
- 직위별
- 규칙
- 달리기
- 달리는
- 실행
- 현자
- 과학자
- SDK
- 둘째
- 섹션
- 보안
- 참조
- 씨
- 전송
- 서비스
- 세트
- 몇몇의
- 공유
- 배
- 영상을
- 표시
- 쇼
- 단순, 간단, 편리
- 간단
- 간단히
- So
- 해결책
- 솔루션
- 전문가
- 스포츠
- 스택
- 시작
- 단계
- 단계
- 아직도
- 저장
- 엄격한
- 스튜디오
- 스타일
- 서브넷
- 서브넷
- 이러한
- 공급
- 공급
- SUPPORT
- 지원
- 이 템플릿
- 단말기
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그곳에.
- Bowman의
- 그들
- 이
- 세
- 을 통하여
- 에
- 검색을
- 토치비전
- 교통
- 트레이닝
- 번역
- 참된
- 시도
- 두
- 사악한
- URL
- 사용
- 익숙한
- 사용자
- 사용
- 마케팅은:
- 확인
- 를 통해
- 온라인
- 눈에 보이는
- 방법..
- 방법
- we
- 웹
- 웹 서비스
- 언제
- 어느
- 동안
- 위키 백과
- 의지
- 과
- 없이
- 작업
- 일하는
- 쓰다
- 쓰기
- 얌
- 자신의
- 너의
- 제퍼 넷
- 지역