내장 아마존 세이지 메이커 XGBoost 알고리즘은 인기 있는 실행을 위한 관리되는 컨테이너를 제공합니다. XGBoost 머신 러닝(ML) 프레임워크, 고급 교육 또는 분산 교육과 같은 추론 기능을 지원하는 추가 편의성, 대규모 데이터 세트에 대한 데이터 세트 샤딩, A/B 모델 테스트및 다중 모델 추론 끝점. 또한 이 강력한 알고리즘을 확장하여 다양한 요구 사항을 수용할 수 있습니다.
단일 컨테이너에 코드와 종속성을 패키징하는 것은 장기적인 코드 유지 관리, 재현성 및 감사 목적을 위한 편리하고 강력한 접근 방식입니다. 컨테이너 수정은 기본 컨테이너를 충실히 따르고 기본 컨테이너에서 이미 지원하는 기존 기능의 중복을 방지합니다. 이 게시물에서는 SageMaker XGBoost 알고리즘 컨테이너의 내부 작동을 검토하고 컨테이너를 직접 사용자 지정하는 실용적인 스크립트를 제공합니다.
SageMaker XGBoost 컨테이너 구조
SageMaker 내장 XGBoost 알고리즘은 독립 실행형 컨테이너로 패키징되며, GitHub에서 사용 가능, 개발자 친화적인 Apache 2.0 오픈 소스 라이선스에 따라 확장할 수 있습니다. 컨테이너는 다음을 포장합니다. 오픈 소스 XGBoost 알고리즘 다른 AWS 클라우드 서비스와 통합된 SageMaker 환경에서 알고리즘을 실행하기 위한 보조 도구. 이를 통해 다양한 XGBoost 모델을 훈련할 수 있습니다. 데이터 소스, 만들다 일괄 예측 오프라인 데이터 또는 호스트 추론 끝점 실시간으로 관로.
컨테이너는 다양한 진입점을 사용하여 학습 및 추론 작업을 지원합니다. 추론 모드의 경우 항목은 기본 기능에서 찾을 수 있습니다. serving.py 스크립트. 실시간 추론 제공을 위해 컨테이너는 다음을 실행합니다. 플라스크기반 웹 서버 때 호출, 데이터가 포함된 HTTP 인코딩 요청을 수신하고 데이터를 XGBoost의 DMatrix 체재, 모델을 로드합니다, 그리고 반환 HTTP 인코딩 응답 백. 이러한 메서드는 다음 아래에 캡슐화되어 있습니다. 스코어링 서비스 스크립트 모드를 통해 사용자 정의할 수도 있는 클래스입니다(아래 부록 참조).
훈련 모드(알고리즘 모드)의 진입점은 training.py. main 함수는 훈련 환경을 설정하고 훈련 작업 함수를 호출합니다. 분산 또는 단일 노드 교육 또는 교차 검증과 같은 유틸리티를 허용할 만큼 충분히 유연합니다. 교육 과정의 핵심은 다음에서 찾을 수 있습니다. 기차 작업 기능.
컨테이너를 패키징하는 Docker 파일은 다음에서 찾을 수 있습니다. GitHub 레포. 컨테이너는 다음 두 단계로 빌드됩니다. 기지 컨테이너가 먼저 빌드되고 다음으로 빌드됩니다. 최후의 위에 컨테이너.
솔루션 개요
소스 코드를 통해 컨테이너를 수정하고 다시 빌드할 수 있습니다. 그러나 여기에는 모든 종속성과 패키지를 처음부터 수집하고 다시 작성하는 작업이 포함됩니다. 이 게시물에서는 이미 구축되고 공개적으로 사용 가능한 SageMaker XGBoost 알고리즘 컨테이너 이미지 위에 직접 컨테이너를 수정하는 보다 직접적인 접근 방식에 대해 설명합니다.
이 접근 방식에서 우리는 당겨 공개 SageMaker XGBoost 이미지의 복사본을 만들고 스크립트를 수정하거나 패키지를 추가하고 맨 위에 컨테이너를 다시 빌드합니다. 수정된 컨테이너는 개인 저장소에 저장할 수 있습니다. 이렇게 하면 중간 종속성을 다시 빌드하지 않고 대신 공식 컨테이너에 패키징된 이미 빌드된 라이브러리 위에 직접 빌드합니다.
다음 그림은 공개 기본 이미지를 가져오고, 이미지를 수정 및 재구축하고, 비공개로 업로드하는 데 사용되는 스크립트의 개요를 보여줍니다. Amazon Elastic Container Registry (Amazon ECR) 리포지토리. 그만큼 bash 스크립트 이 게시물의 첨부 코드에서 다이어그램에 표시된 모든 워크플로 단계를 수행합니다. 동반 수첩 SageMaker XGBoost 알고리즘의 특정 버전의 URI가 먼저 검색되어 bash 스크립트, 이미지에서 두 개의 Python 스크립트를 교체하고, 이를 다시 빌드하고, 수정된 이미지를 프라이빗 Amazon ECR 리포지토리에 푸시합니다. 필요에 맞게 함께 제공되는 코드를 수정할 수 있습니다.
사전 조건
XNUMXD덴탈의 GitHub 저장소 이 게시물과 함께 제공되는 코드가 포함되어 있습니다. 당신은 실행할 수 있습니다 샘플 노트 귀하의 AWS 계정에서 또는 제공된 AWS 클라우드 포메이션 스택을 사용하여 SageMaker 노트북을 사용하여 노트북을 배포합니다. 다음 전제 조건이 필요합니다.
- AWS 계정.
- SageMaker 배치 변환 및 교육 작업을 실행하는 데 필요한 권한과 Amazon ECR 권한. CloudFormation 템플릿 생성 샘플 AWS 자격 증명 및 액세스 관리 (IAM) 역할.
솔루션 배포
AWS CloudFormation을 사용하여 솔루션 리소스를 생성하려면 다음을 선택합니다. 발사 스택:
스택은 GitHub 리포지토리를 복제하도록 사전 구성된 SageMaker 노트북을 배포합니다. 연습 수첩 에는 지정된 버전에 대한 공개 SageMaker XGBoost 이미지를 가져와 수정하고 사용자 지정 컨테이너를 비공개 Amazon ECR 리포지토리로 푸시하는 단계가 포함되어 있습니다. 노트북은 대중을 사용합니다. 전복 데이터 세트 샘플로 SageMaker XGBoost 내장 교육 모드를 사용하여 모델을 교육하고 사용자 지정 이미지에서 이 모델을 재사용하여 SHAP 값과 함께 추론을 생성하는 일괄 변환 작업을 수행합니다.
결론
SageMaker 내장 알고리즘은 다양한 기능을 제공하며 Apache 2.0 오픈 소스 라이선스에 따라 더 확장할 수 있습니다. 이 게시물에서는 SageMaker XGBoost 알고리즘의 프로덕션 내장 컨테이너를 확장하여 이전 버전 코드 및 API 호환성과 같은 프로덕션 요구 사항을 충족하는 방법을 검토했습니다.
샘플 노트북 및 도우미 스크립트 SageMaker XGBoost 컨테이너 이미지를 원하는 방식으로 사용자 정의할 수 있는 편리한 시작점을 제공합니다. 시도 해봐!
부록: 스크립트 모드
스크립트 모드 입력을 변환하고 모델을 로드하는 기능을 대체하는 인터페이스를 제공하여 많은 SageMaker 내장 알고리즘을 수정하는 방법을 제공합니다. 스크립트 모드는 컨테이너를 직접 수정하는 것만큼 유연하지는 않지만 직접 작업할 필요 없이 내장 알고리즘을 사용자 정의할 수 있는 완전한 Python 기반 경로를 제공합니다 도커.
스크립트 모드에서 user-module
데이터 디코딩, 모델 로드 및 예측을 사용자 정의하기 위해 제공됩니다. 사용자 모듈은 다음을 정의할 수 있습니다. transformer_fn
응답 준비에 대한 요청 처리의 모든 측면을 처리합니다. 또는 정의하는 대신 transformer_fn
, 사용자 정의 방법을 제공할 수 있습니다. model_fn
, input_fn
, predict_fn
및 output_fn
개별적으로 모델 로드 및 디코딩 및 예측을 위한 입력 준비를 사용자 정의합니다. 스크립트 모드에 대한 자세한 개요는 다음을 참조하십시오. SageMaker 스크립트 모드로 나만의 모델 가져오기.
저자에 관하여
페이 만 라 자기 AWS의 데이터 과학자입니다. 그는 토론토 대학교에서 정보 이론으로 박사 학위를 받았고 로스앤젤레스에 있는 서던 캘리포니아 대학교(USC)에서 박사후 연구원으로 재직했습니다. AWS에 합류하기 전에 Peyman은 Qualcomm의 직원 시스템 엔지니어로 여러 주목할만한 국제 통신 표준에 기여했습니다. 그는 통계 및 시스템 엔지니어링 분야에서 동료 심사를 거친 여러 과학 연구 기사를 저술했으며 직장 밖에서 육아와 로드 사이클링을 즐깁니다.
- "
- 100
- ACCESS
- 수용하다
- 계정
- 많은
- 연산
- 알고리즘
- All
- 이미
- 아마존
- API를
- 접근
- 지역
- 기사
- AWS
- 빌드
- 내장
- 캘리포니아
- 왼쪽 메뉴에서
- 수업
- 클라우드
- 클라우드 서비스
- 암호
- 수집
- 완전히
- 컨테이너
- 이 포함되어 있습니다
- 편의
- 편리한
- 생성
- 관습
- 데이터
- 데이터 과학자
- 배포
- 배치하다
- 다른
- 직접
- 토론
- 분산
- 도커
- 기사
- 환경
- 예
- 확장
- 특징
- 그림
- 먼저,
- 융통성있는
- 수행원
- 체재
- 발견
- 뼈대
- 기능
- 추가
- GitHub의
- 큰
- 보유
- 방법
- How To
- HTTPS
- 통합 인증
- 영상
- 정보
- 입력
- 통합 된
- 인터페이스
- 국제 노동자 동맹
- IT
- 일
- 작업
- 배우기
- 특허
- 장기
- 로스엔젤레스
- 기계
- 기계 학습
- 제작
- 유튜브 영상을 만드는 것은
- 관리
- ML
- 모델
- 모델
- 배우기
- 수첩
- 번호
- 공무원
- 오프라인
- 행정부
- 기타
- 자신의
- 포인트 적립
- 인기 문서
- 강한
- 예측
- 예측
- 사설
- 방법
- 생산
- 생산
- 제공
- 제공
- 제공
- 공개
- 목적
- 실시간
- 저장소
- 의뢰
- 요구조건 니즈
- 연구
- 제품 자료
- 응답
- 책임
- 반품
- 리뷰
- 길
- 달리기
- 과학자
- 서비스
- 피복재
- 샤딩
- 소프트웨어
- 해결책
- 소스 코드
- 남쪽의
- 스택
- 기준
- 통계
- 지원
- 지원
- 지원
- 시스템은
- 소스
- 을 통하여
- 함께
- 검색을
- 상단
- 토론토
- 트레이닝
- 기차
- 변환
- 변화
- 대학
- 사용
- 종류
- 위키 백과
- 작업
- 겠지