아마존 세이지 메이커 완전 관리형 기계 학습(ML) 서비스입니다. SageMaker를 사용하면 데이터 과학자와 개발자가 ML 모델을 빠르고 쉽게 구축 및 교육한 다음 프로덕션 준비가 된 호스팅 환경에 직접 배포할 수 있습니다. Sagemaker는 탐색 및 분석을 위해 데이터 소스에 쉽게 액세스할 수 있도록 통합 Jupyter 저작 노트북 인스턴스를 제공하므로 서버를 관리할 필요가 없습니다. 또한 분산 환경에서 매우 큰 데이터에 대해 효율적으로 실행되도록 최적화된 공통 ML 알고리즘을 제공합니다.
SageMaker에서는 ML 모델에 대한 교육 데이터가 다음 위치에 있어야 합니다. Amazon Simple Storage Service(Amazon S3), Amazon Elastic File System(Amazon EFS) 또는 Amazon FSx for Lustre(자세한 내용은 교육 데이터 액세스 참조). 지원되는 세 가지 스토리지 서비스 외부에 저장된 데이터를 사용하여 모델을 교육하려면 먼저 데이터를 이러한 서비스 중 하나(일반적으로 Amazon S3)로 수집해야 합니다. 이를 위해서는 데이터 파이프라인 구축이 필요합니다(예: Amazon SageMaker 데이터 랭글러) 데이터를 Amazon S3로 이동합니다. 그러나 이 접근 방식은 교육 작업 기간 동안 교육 데이터를 스테이징하기 위한 목적으로 이 데이터 저장 매체의 수명 주기 관리, 액세스 제어 제작, 데이터 감사 등의 측면에서 데이터 관리 문제를 일으킬 수 있습니다. 이러한 상황에서는 Amazon S3에 데이터를 중간에 저장하지 않고 임시 교육 인스턴스에 연결된 임시 스토리지 미디어에서 SageMaker가 데이터에 액세스할 수 있도록 하는 것이 바람직할 수 있습니다.
이 게시물은 다음을 사용하여 이를 수행하는 방법을 보여줍니다. 눈송이 Snowflake에서 SageMaker Training 작업 인스턴스로 직접 데이터를 다운로드하여 데이터 소스로 사용합니다.
솔루션 개요
우리는을 사용하여 캘리포니아 주택 데이터 세트 이 게시물에 대한 교육 데이터 세트로 사용하고 ML 모델을 교육하여 각 구역의 주택 중앙값을 예측합니다. 이 데이터를 Snowflake에 새 테이블로 추가합니다. 먼저 데이터를 S3 버킷으로 다운로드하는 대신 Snowflake 테이블에서 교육 인스턴스로 직접 데이터를 다운로드하는 사용자 지정 교육 컨테이너를 생성합니다. 데이터가 교육 인스턴스에 다운로드된 후 사용자 지정 교육 스크립트는 데이터 준비 작업을 수행한 다음 다음을 사용하여 ML 모델을 교육합니다. XGBoost 추정기. 이 게시물의 모든 코드는 GitHub 레포.
다음 그림은 SageMaker로 ML 모델을 교육하기 위해 Snowflake를 데이터 소스로 사용하도록 제안된 솔루션의 상위 수준 아키텍처를 나타냅니다.
워크플로 단계는 다음과 같습니다.
- SageMaker 노트북 및 AWS 자격 증명 및 액세스 관리 SageMaker가 액세스할 수 있도록 적절한 권한이 있는 (IAM) 역할 Amazon Elastic Container Registry (Amazon ECR), Secrets Manager 및 AWS 계정 내의 기타 서비스.
- Snowflake 계정 자격 증명을 AWS Secrets Manager에 저장합니다.
- Snowflake 계정의 테이블에서 데이터를 수집합니다.
- ML 모델 교육을 위한 사용자 지정 컨테이너 이미지를 생성하고 Amazon ECR에 푸시합니다.
- ML 모델 교육을 위해 SageMaker 교육 작업을 시작합니다. 교육 인스턴스는 Secrets Manager에서 Snowflake 자격 증명을 검색한 다음 이 자격 증명을 사용하여 Snowflake에서 직접 데이터 세트를 다운로드합니다. 이것은 데이터를 먼저 S3 버킷으로 다운로드할 필요가 없는 단계입니다.
- 훈련된 ML 모델은 S3 버킷에 저장됩니다.
사전 조건
이 게시물에서 제공하는 솔루션을 구현하려면 다음이 있어야 합니다. AWS 계정은 눈송이 계정 SageMaker에 익숙합니다.
SageMaker 노트북 및 IAM 역할 설정
AWS CloudFormation을 사용하여 SageMaker 노트북을 생성합니다. aws-aiml-blogpost-sagemaker-snowflake-example
라는 IAM 역할 SageMakerSnowFlakeExample
. 선택 발사 스택 리소스를 배포하려는 지역에 대해.
Secrets Manager에 Snowflake 자격 증명 저장
Snowflake 자격 증명을 Secrets Manager에 비밀로 저장합니다. 비밀을 만드는 방법에 대한 지침은 다음을 참조하십시오. Create an AWS Secrets Manager secret
.
- 비밀 이름 지정
snowflake_credentials
. 이것은 코드가 필요하기 때문에 필요합니다.snowflake-load-dataset.ipynb
비밀이 그렇게 불리기를 기대합니다. - 두 개의 키가 있는 키-값 쌍으로 비밀을 만듭니다.
- 사용자 이름 – Snowflake 사용자 이름.
- 암호 – Snowflake 사용자 이름과 연결된 암호.
Snowflake 계정의 테이블에서 데이터 수집
데이터를 수집하려면 다음 단계를 완료하세요.
- SageMaker 콘솔에서 노트북 탐색 창에서
- 노트북 aws-aiml-blogpost-sagemaker-snowflake-example을 선택하고 다음을 선택합니다. JupyterLab 열기.
- 왼쪽 메뉴에서
snowflake-load-dataset.ipynb
JupyterLab에서 엽니다. 이 노트북은 캘리포니아 주택 데이터 세트 눈송이 테이블에. - 노트북에서 다음 셀의 내용을 편집하여 자리 표시자 값을 눈송이 계정과 일치하는 값으로 바꿉니다.
- 실행 메뉴에서 다음을 선택합니다. 모든 셀 실행 이 노트북에서 코드를 실행합니다. 그러면 데이터 세트가 노트북에 로컬로 다운로드된 다음 Snowflake 테이블에 수집됩니다.
노트북의 다음 코드 스니펫은 데이터 세트를 Snowflake로 수집합니다. 참조 snowflake-load-dataset.ipynb
전체 코드에 대한 노트북.
- 모든 셀이 오류 없이 실행되면 노트북을 닫습니다. 이제 Snowflake에서 데이터를 사용할 수 있습니다. 다음 스크린샷은
california_housing
Snowflake에서 만든 테이블.
실행 sagemaker-snowflake-example.ipynb
수첩
이 노트북은 Snowflake 연결로 사용자 지정 교육 컨테이너를 생성하고, Amazon S3에서 준비하지 않고 Snowflake에서 교육 인스턴스의 임시 스토리지로 데이터를 추출하고, 데이터에 대해 분산 데이터 병렬(DDP) XGBoost 모델 교육을 수행합니다. 이러한 작은 데이터 세트에 대한 모델 교육에는 DDP 교육이 필요하지 않습니다. 최근에 출시된 또 다른 SageMaker 기능을 설명하기 위해 여기에 포함되었습니다.
학습을 위한 커스텀 컨테이너 만들기
이제 ML 모델 훈련 작업을 위한 커스텀 컨테이너를 생성합니다. Docker 컨테이너를 생성하려면 루트 액세스 권한이 필요합니다. 이 SageMaker 노트북은 루트 액세스가 활성화된 상태로 배포되었습니다. 기업 조직 정책이 클라우드 리소스에 대한 루트 액세스를 허용하지 않는 경우 다음 Docker 파일 및 셸 스크립트를 사용하여 다른 위치(예: 노트북)에 Docker 컨테이너를 구축한 다음 Amazon ECR로 푸시할 수 있습니다. SageMaker XGBoost 컨테이너 이미지를 기반으로 컨테이너를 사용합니다. 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.5-1
다음 추가 사항:
- XNUMXD덴탈의 Python용 Snowflake 커넥터 Snowflake 테이블에서 교육 인스턴스로 데이터를 다운로드합니다.
- Snowflake 자격 증명을 검색하기 위해 Secrets Manager에 연결하는 Python 스크립트.
Snowflake 커넥터와 Python 스크립트를 사용하면 ML 모델 교육에 이 컨테이너 이미지를 사용하는 사용자가 교육 스크립트의 일부로 이 코드를 작성할 필요가 없으며 이미 사용 가능한 이 기능을 사용할 수 있습니다.
다음은 학습 컨테이너용 Dockerfile입니다.
컨테이너 이미지가 빌드되어 Amazon ECR로 푸시됩니다. 이 이미지는 ML 모델 학습에 사용됩니다.
SageMaker 교육 작업을 사용하여 ML 모델 교육
컨테이너 이미지를 성공적으로 생성하고 Amazon ECR에 푸시한 후 모델 교육에 사용할 수 있습니다.
- 다음을 사용하여 Snowflake에서 데이터를 다운로드하는 Python 스크립트 세트를 생성합니다. Python용 Snowflake 커넥터, 데이터를 준비한 다음
XGBoost Regressor
ML 모델을 학습합니다. 훈련 데이터를 위한 중간 저장소로 Amazon S3를 사용하지 않아도 되는 훈련 인스턴스로 데이터를 직접 다운로드하는 단계입니다. - 각 교육 인스턴스가 Snowflake에서 동일한 양의 데이터를 다운로드하도록 교육 코드가 데이터의 임의 하위 집합을 다운로드하도록 하여 분산 데이터 병렬 교육을 용이하게 합니다. 예를 들어 두 개의 학습 노드가 있는 경우 각 노드는 Snowflake 테이블에 있는 행의 50%에 대한 임의 샘플을 다운로드합니다. 다음 코드를 참조하십시오.
- 그런 다음 SageMaker SDK에 교육 스크립트를 제공합니다.
Estimator
훈련 작업이 다음을 사용하여 실행될 때 우리가 생성하는 모든 스크립트를 훈련 컨테이너에 제공할 수 있도록Estimator.fit
방법:자세한 내용은 Scikit-Learn 교육 스크립트 준비.
- 모델 학습이 완료되면 학습된 모델을
model.tar.gz
리전에 대한 기본 SageMaker 버킷의 파일:
이제 새 데이터에 대한 추론을 얻기 위해 훈련된 모델을 배포할 수 있습니다! 지침은 다음을 참조하십시오. 엔드포인트를 생성하고 모델을 배포합니다.
정리
향후 비용이 발생하지 않도록 하려면 리소스를 삭제하십시오. IAM 역할 및 SageMaker 노트북을 생성하는 데 사용된 CloudFormation 템플릿을 삭제하면 됩니다.
Snowflake 콘솔에서 Snowflake 리소스를 수동으로 삭제해야 합니다.
결론
이 게시물에서는 Snowflake 테이블에 저장된 데이터를 SageMaker 교육 작업 인스턴스로 다운로드하고 사용자 지정 교육 컨테이너를 사용하여 XGBoost 모델을 교육하는 방법을 보여주었습니다. 이 접근 방식을 통해 데이터를 Amazon S3에 준비하지 않고도 Snowflake를 데이터 소스로 SageMaker 노트북과 직접 통합할 수 있습니다.
다음을 탐색하여 더 많은 정보를 얻으시기 바랍니다. Amazon SageMaker Python SDK 이 게시물에 제공된 샘플 구현과 귀하의 비즈니스와 관련된 데이터 세트를 사용하여 솔루션을 구축합니다. 질문이나 제안 사항이 있으면 의견을 남겨주세요.
저자 소개
아미트 아로라 Amazon Web Services의 AI 및 ML 전문 설계자로서 기업 고객이 클라우드 기반 기계 학습 서비스를 사용하여 혁신을 빠르게 확장할 수 있도록 지원합니다. 그는 또한 워싱턴 DC의 Georgetown University에서 MS 데이터 과학 및 분석 프로그램의 겸임 강사이기도 합니다.
디비야 무랄리다란 Amazon Web Services의 솔루션 아키텍트입니다. 그녀는 기업 고객이 기술로 비즈니스 문제를 해결하도록 돕는 데 열정적입니다. 그녀는 Rochester Institute of Technology에서 컴퓨터 과학 석사 학위를 받았습니다. 사무실 밖에서 그녀는 요리하고, 노래하고, 식물을 기르며 시간을 보냅니다.
세르게이 에르몰린 AWS의 수석 AIML 솔루션 아키텍트입니다. 이전에는 Intel에서 딥 러닝, 분석 및 빅 데이터 기술을 위한 소프트웨어 솔루션 아키텍트였습니다. 기계 학습 및 인공 지능에 대한 열정을 가진 실리콘 밸리의 베테랑인 Sergey는 GPU가 등장하기 이전부터 신경망에 관심을 가져 왔으며, Hewlett-Packard에서 석영 크리스탈 및 세슘 원자 시계의 노화 동작을 예측하는 데 신경망을 사용했습니다. Sergey는 Stanford에서 MSEE 및 CS 자격증을, Sacramento에 있는 California State University에서 물리 및 기계 공학 학사 학위를 받았습니다. 업무 외에 Sergey는 와인 만들기, 스키, 자전거 타기, 항해, 스쿠버 다이빙을 즐깁니다. Sergey는 또한 천사 비행.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/use-snowflake-as-a-data-source-to-train-ml-models-with-amazon-sagemaker/
- :이다
- $UP
- 1
- 10
- 7
- 8
- a
- 소개
- ACCESS
- 얻기 쉬운
- 계정
- 추가
- 후
- 반대
- 노화
- AI
- AIML
- 알고리즘
- All
- 수
- 이미
- 아마존
- 아마존 FSx
- 아마존 세이지 메이커
- Amazon Web Services
- 양
- 분석
- 분석
- 및
- 다른
- 접근
- 적당한
- 아키텍처
- 있군요
- 인조의
- 인공 지능
- AS
- 관련
- At
- 감사
- 저작
- 가능
- AWS
- AWS 클라우드 포메이션
- 기지
- 기반으로
- BE
- 때문에
- 큰
- 빅 데이터
- 빌드
- 건물
- 내장
- 사업
- by
- 캘리포니아
- 라는
- CAN
- 셀
- 증명서
- 도전
- 요금
- 왼쪽 메뉴에서
- 청소관련
- 시계
- 클라우드
- 암호
- 단
- 열
- 본문
- 공통의
- 완전한
- 컴퓨터
- 컴퓨터 과학
- 연결하기
- 연결
- 콘솔에서
- 컨테이너
- 이 포함되어 있습니다
- 내용
- 컨트롤
- 만들
- 만든
- 생성
- 만들기
- 신임장
- 관습
- 고객
- 데이터
- 데이터 관리
- 데이터 준비
- 데이터 과학
- 데이터 저장
- 날짜 시간
- 일
- DDP
- 결정
- 깊은
- 깊은 학습
- 태만
- 도
- 배포
- 배포
- 개발자
- 직접
- 분산
- 지구
- 도커
- 말라
- 다운로드
- 다운로드
- 마다
- 용이하게
- 효율적으로
- 중
- 거림
- 다른
- 사용 가능
- 격려
- 종점
- 엔지니어링
- 보장
- Enterprise
- 환경
- 오류
- 예
- 실행
- 존재
- ~을 기대하는
- 탐구
- 탐색
- 추출물
- 매우
- 용이하게하다
- 공정한
- 정통
- 특색
- 그림
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 최후의
- 먼저,
- 맞게
- 수행원
- 다음
- 럭셔리
- 에
- 가득 찬
- 충분히
- 기능
- 미래
- 얻을
- 점점
- GitHub의
- 가는
- 성장하는
- 있다
- 데
- 도움이
- 여기에서 지금 확인해 보세요.
- 고수준
- 보유
- 호스팅
- 호스트
- 집
- 주택
- 방법
- How To
- 그러나
- HTML
- HTTPS
- 통합 인증
- 영상
- 구현
- 이행
- import
- in
- 포함
- 포함
- 색인
- 정보
- 혁신
- 설치
- 예
- 학회
- 명령
- 통합
- 통합 된
- 인텔
- 인텔리전스
- 관심있는
- IT
- 일
- 키
- 휴대용 퍼스널 컴퓨터
- 넓은
- 성
- 배우다
- 배우기
- 휴가
- wifecycwe
- ln
- 장소 상에서
- 기계
- 기계 학습
- 관리
- 관리
- 구축
- 매니저
- 관리
- 수동으로
- 어울리는
- 기계적인
- 미디어
- 매질
- 메뉴
- 방법
- ML
- 모델
- 모델
- 배우기
- 움직임
- MS
- name
- 카테고리
- 필요
- 요구
- 네트워크
- 신경망
- 신제품
- 다음 것
- 노드
- 노드
- 수첩
- 번호
- 대상
- of
- Office
- on
- ONE
- 열 수
- 최적화
- 주문
- 조직
- 기타
- 외부
- 꾸러미
- 팬더
- 빵
- 평행
- 부품
- 열정
- 열렬한
- 비밀번호
- 수행하다
- 권한
- 물리학
- 조종사
- 관로
- 자리
- 식물
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 정책
- 인구가 많은
- 게시하다
- 예측
- Prepare
- 제시
- 이전에
- 교장
- 문제
- 프로그램
- 제안 된
- 제공
- 제공
- 제공
- 목적
- 푸시
- 밀
- Python
- 문의
- 빨리
- 닥치는대로의
- 빠르게
- 차라리
- 읽기
- 최근에
- 기록
- 감소
- 지방
- 출시
- 관련된
- 교체
- 대표
- 필수
- 필요
- 제품 자료
- return
- 직위별
- 뿌리
- 열
- 달리기
- 새크라멘토
- 현자
- 항해
- 찜하기
- 규모
- 과학
- 과학자
- 사이 킷 학습
- 스크립트
- SDK
- 비밀
- 서버
- 서비스
- 서비스
- 세트
- 셰이프
- 껍질
- 영상을
- 쇼
- 상당한
- 규소
- 실리콘 밸리
- 단순, 간단, 편리
- 이후
- 상황
- 작은
- So
- 소프트웨어
- 해결책
- 솔루션
- 풀다
- 출처
- 지우면 좋을거같음 . SM
- 스페이스 버튼
- 전문가
- 각색
- 스타트
- 주 정부
- 성명서
- 단계
- 단계
- 저장
- 저장
- 서브넷
- 성공적으로
- 이러한
- SUPPORT
- 지원
- 체계
- 테이블
- 작업
- 기술
- Technology
- 이 템플릿
- 조건
- 그
- XNUMXD덴탈의
- 소스
- 그들의
- 그들
- Bowman의
- 세
- 을 통하여
- 시간
- 에
- 검색을
- 금액
- Train
- 훈련 된
- 트레이닝
- 기차
- 일반적으로
- 대학
- 업데이트
- us
- 사용
- 사용자
- 사용자
- 골짜기
- 가치
- 마케팅은:
- 퇴역 군인
- 자원 봉사
- 워싱턴
- 방법..
- 웹
- 웹 서비스
- 어느
- 누구
- 의지
- 과
- 이내
- 없이
- 작업
- 쓰다
- XGBoost
- 자신의
- 너의
- 제퍼 넷