제퍼넷 로고

코드가없는 머신 러닝 : AutoGluon, Amazon SageMaker 및 AWS Lambda가 포함 된 AutoML

시간

AWS의 목표 중 하나는 모든 개발자에게 기계 학습 (ML)을 제공하는 것입니다. 오픈 소스 AutoML 라이브러리 사용 오토글루온, 배포 아마존 세이지 메이커AWS 람다, 우리는 한 단계 더 나아가 데이터를 기반으로 예측을 수행하려는 모든 사람에게 ML을 제공 할 수 있습니다. 사전 프로그래밍이나 데이터 과학 전문 지식이 필요하지 않습니다.

AutoGluon은 이미지, 텍스트 및 표 형식 데이터 세트와 관련된 실제 애플리케이션을 위해 ML을 자동화합니다. AutoGluon은 여러 ML 모델을 훈련시켜 특정 기능 값 ( 목표치) 주어진 관찰에 대한 다른 특징의 값을 기반으로합니다. 훈련 중에 모델은 예측을 개선하기 위해 적절한 알고리즘을 사용하여 예측 된 목표 값을 훈련 데이터에서 사용할 수있는 실제 목표 값과 비교하여 학습합니다. 훈련이 완료되면 결과 모델은 실제 목표 값을 모르더라도 이전에 본 적이없는 관찰에 대한 목표 특성 값을 예측할 수 있습니다.

AutoGluon은 다양한 기술을 자동으로 적용하여 단일 상위 수준 API 호출로 데이터에 대한 모델을 학습시킵니다. 모델을 수동으로 구축 할 필요가 없습니다. 사용자가 구성 할 수있는 평가 지표를 기반으로 AutoGluon은 자동으로 최고 성능 조합을 선택합니다. 앙상블, 모델. AutoGluon의 작동 방식에 대한 자세한 내용은 오픈 소스 AutoML 라이브러리 인 AutoGluon을 사용한 머신 러닝.

AutoGluon을 시작하려면 AutoGluon GitHub 리포지토리. 애플리케이션에서 정교한 AutoML 솔루션을 사용해 보는 방법에 대한 자세한 내용은 AutoGluon 웹 사이트. Amazon SageMaker는 모든 개발자 및 데이터 과학자에게 ML 모델을 효율적으로 구축, 교육 및 배포 할 수있는 기능을 제공하는 완전 관리 형 서비스입니다. AWS Lambda를 사용하면 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있으며 다음과 같은 다른 AWS 서비스에 의해 자동으로 트리거 될 수 있습니다. 아마존 단순 스토리지 서비스 (Amazon S3)를 사용하여 다양한 실시간 데이터 처리 시스템을 구축 할 수 있습니다.

AutoGluon을 사용하면 다음을 수행 할 수 있습니다. 최첨단 예측 성능 3 줄의 Python 코드로 새로운 관찰에 대해 이 게시물에서는 AWS 서비스를 사용하여 ML 모델을 교육하고 AutoGluon을 사용하여 테이블 형식 데이터에 대한 예측을 수행하는 파이프 라인을 배포함으로써 개발자가 아닌 사람도 AutoML에 액세스 할 수 있도록 코드없이 동일한 결과를 달성했습니다. AWS 계정에 파이프 라인을 배포 한 후 데이터에 대한 최신 예측을 얻으려면 제공된 AutoGluon 패키지를 사용하여 SXNUMX 버킷에 업로드하기 만하면됩니다.

코드없는 ML 파이프 라인

파이프 라인은 AutoGluon이 모델을 빌드하는 데 사용하는 학습 데이터, 예측하려는 테스트 데이터, AutoGluon을 설정하는 스크립트가 포함 된 사전 제작 된 패키지를 업로드하는 S3 버킷으로 시작합니다. Amazon S3에 데이터를 업로드하면 Lambda 함수가 훈련 데이터에 대해 미리 만들어진 AutoGluon 스크립트를 실행하는 Amazon SageMaker 모델 훈련 작업을 시작합니다. 훈련 작업이 완료되면 AutoGluon의 최고 성능 모델이 테스트 데이터에 대한 예측을 수행하고 이러한 예측은 동일한 S3 버킷에 다시 저장됩니다. 다음 다이어그램은이 아키텍처를 보여줍니다.

AWS CloudFormation을 사용하여 파이프 라인 배포

이 파이프 라인은 미리 만들어진 AWS 계정을 사용하여 자동으로 배포 할 수 있습니다. AWS 클라우드 포메이션 주형. 시작하려면 다음 단계를 완료하십시오.

  1. 템플릿을 배포 할 AWS 리전을 선택합니다. 다른 지역에 배포하려면 GitHub에서 템플릿 다운로드 CloudFormation에 직접 업로드하십시오.
    북부 버지니아
    오레곤
    아일랜드
    시드니
  2. 에 로그인 AWS 관리 콘솔.
  3. 럭셔리 스택 이름에서 스택 이름을 입력합니다 (예 : code-free-automl-stack).
  4. 럭셔리 버킷 이름, S3 버킷의 고유 한 이름을 입력합니다 (예 : code-free-automl-yournamehere).
  5. 럭셔리 교육 인스턴스 유형, 컴퓨팅 인스턴스를 입력하십시오.

이 파라미터는 Amazon SageMaker 모델 교육 작업이 데이터에서 AutoGluon을 실행하는 데 사용하는 인스턴스 유형을 제어합니다. AutoGluon은 m5 인스턴스 유형에 최적화되어 있으며, m50.xlarge 인스턴스 유형을 사용한 5 시간의 Amazon SageMaker 교육 시간이 AWS 프리 티어. 여기에서 시작하여 초기 작업에 걸리는 시간과 결과가 필요한 속도에 따라 인스턴스 유형을 위 또는 아래로 조정하는 것이 좋습니다.

  1. IAM 생성 승인 확인란을 선택하고 스택 생성.
  2. 다음에 도착할 때까지 AWS CloudFormation 마법사를 계속합니다. 스택 페이지.

AWS CloudFormation이 모든 파이프 라인의 리소스를 생성하는 데 잠시 시간이 걸립니다. 당신이 볼 때 CREATE_COMPLETE 상태 (페이지를 새로 고쳐야 할 수 있음), 파이프 라인을 사용할 준비가되었습니다.

  1. 아키텍처에 표시된 모든 구성 요소를 보려면 자료 탭.
  2. S3 버킷으로 이동하려면 해당 링크를 선택하십시오.

파이프 라인을 사용하기 전에 미리 만들어진 AutoGluon 패키지를 새 S3 버킷에 업로드해야합니다.

  1. 라는 폴더를 만듭니다. source 그 양동이에.
  2. 업로드 sourcedir.tar.gz 거기에 패키지; 기본 개체 설정을 유지합니다.

이제 파이프 라인을 사용할 준비가되었습니다!

훈련 데이터 준비

훈련 데이터를 준비하려면 버킷의 루트 (소스 폴더가있는 곳)로 돌아가서라는 새 디렉토리를 만듭니다. data; 여기에서 데이터를 업로드합니다.

모델이 학습 할 데이터 (학습 데이터)를 수집합니다. 파이프 라인은 실제 애플리케이션에서 가장 일반적인 데이터 형식 인 테이블 형식 데이터에 대한 예측을 수행하도록 설계되었습니다. 스프레드 시트처럼 생각하십시오. 각 열은 일부 변수 (기능 가치), 각 행은 개별 데이터 포인트 (관찰).

각 관찰에 대해 학습 데이터 세트에는 설명 기능에 대한 열과 모델에서 예측할 특성 값이 포함 된 대상 열이 포함되어야합니다.

훈련 데이터를 CSV 파일에 저장하십시오. <Name>_train.csv어디로 무엇이든 대체 할 수 있습니다.

원하는 대상 열의 헤더 이름 (열의 첫 번째 행 값)이 다음으로 설정되어 있는지 확인하십시오. target AutoGluon이 인식합니다. 예시 데이터 세트의 다음 스크린 샷을 참조하세요.

테스트 데이터 준비

또한 예측하려는 테스트 데이터를 제공해야합니다. 이 데이터 세트에 이미 대상 열의 값이 포함되어있는 경우 이러한 실제 값을 모델의 예측과 비교하여 모델의 품질을 평가할 수 있습니다.

테스트 데이터 세트를라는 다른 CSV 파일에 저장합니다. <Name>_test.csv, 대체 해당 훈련 데이터에 대해 선택한 동일한 문자열로.

열 이름이 다음과 일치하는지 확인하십시오. <Name>_train.csv, 대상 열 이름 지정 포함 target (있는 경우).

업로드 <Name>_train.csv<Name>_test.csv 이전에 S3 버킷에서 만든 데이터 폴더에 파일을 추가합니다.

업로드가 완료되면 코드없는 ML 파이프 라인이 자동으로 시작됩니다.

모델 훈련

훈련 및 테스트 데이터 세트 파일이 Amazon S3에 업로드되면 AWS는 이벤트 발생을 기록하고 Lambda 함수를 자동으로 트리거합니다. 이 함수는 AutoGluon을 사용하여 ML 모델 앙상블을 교육하는 Amazon SageMaker 교육 작업을 시작합니다. Amazon SageMaker 콘솔의 작업 상태를 볼 수 있습니다. 훈련 직업 섹션 (다음 스크린 샷 참조).

추론 수행

학습 작업이 완료되면 테스트 데이터 세트에서 각 관측치의 목표 특성 값에 대한 예측을 계산하는 데 가장 성능이 좋은 모델 또는 모델의 가중치 조합 (AutoGluon에 의해 결정됨)이 사용됩니다. 이러한 예측은 자동으로 results 파일 이름이있는 S3 버킷의 디렉터리 <Name>_test_predictions.csv.

AutoGluon은 다음과 같은 다른 유용한 출력 파일을 생성합니다. <Name>_leaderboard.csv (AutoGluon에서 학습 한 각 개별 모델의 순위 및 예측 성능) 및 <Name>_model_performance.txt (최고 성능 모델에 해당하는 확장 된 메트릭 목록). 이러한 모든 파일은 Amazon S3 콘솔에서 로컬 시스템으로 다운로드 할 수 있습니다 (다음 스크린 샷 참조).

확장

AutoGluon의 최고 성능 모델에서 훈련 된 모델 아티팩트도 출력 폴더에 저장됩니다 (다음 스크린 샷 참조).

학습 된 모델을 Amazon SageMaker 추론 엔드 포인트로 배포하여 실시간으로 새 데이터를 예측하거나 Amazon SageMaker 일괄 변환 작업을 실행하여 추가 테스트 데이터 파일에 대한 예측을 수행하여이 솔루션을 확장 할 수 있습니다. 자세한 내용은 기존 모델 데이터 및 훈련 작업으로 작업.

AutoGluon을 대체하여이 자동화 된 파이프 라인을 사용자 지정 모델 코드로 재사용 할 수도 있습니다. sourcedir.tar.gz 우리가 당신을 위해 준비한 패키지 source 폴더. 패키지의 압축을 풀고 내부의 Python 스크립트를 보면 데이터에서 AutoGluon이 실행된다는 것을 알 수 있습니다. 여기에서 정의 된 일부 매개 변수를 조정하여 사용 사례에 더 잘 맞출 수 있습니다. 해당 스크립트와이 파이프 라인을 설정하는 데 사용되는 다른 모든 리소스는 이 GitHub 저장소.

청소

파이프 라인은 온 디맨드로 완전 관리 형 컴퓨팅 리소스 만 사용하기 때문에 계정에 남겨 두는 데 더 이상 비용이 들지 않습니다. 그러나 정리하려면 S3 버킷의 모든 파일을 삭제하고 시작된 CloudFormation 스택을 삭제하면됩니다. 먼저 파일을 삭제하십시오. AWS CloudFormation은 내부 파일이있는 S3 버킷을 자동으로 삭제하지 않습니다.

S3 버킷에서 파일을 삭제하려면 Amazon S3 콘솔에서 파일을 선택하고 . 인사말 행위 드롭 다운 메뉴.

CloudFormation 스택을 삭제하려면 AWS CloudFormation 콘솔에서 스택을 선택하고 ..

확인 창에서 스택 삭제.

결론

이 게시물에서는 AutoGluon, Amazon SageMaker 및 AWS Lambda 덕분에 한 줄의 코드도 작성하지 않고 ML 모델을 교육하고 예측을 수행하는 방법을 시연했습니다. 이 코드없는 파이프 라인을 사용하여 사전 프로그래밍 또는 데이터 과학 전문 지식 없이도 ML의 힘을 활용할 수 있습니다.

조직의 제품 및 프로세스에서 ML을 가장 잘 사용할 수있는 방법에 대한 더 많은 지침을 얻으려면 Amazon ML 솔루션 랩. Amazon ML Solutions Lab은 팀과 Amazon ML 전문가를 연결하여 데이터를 준비하고, 모델을 구축 및 교육하고, 모델을 프로덕션에 적용합니다. 실습 교육 워크숍과 브레인 스토밍 세션 및 자문 전문 서비스를 결합하여 비즈니스 과제에서 뒤로 작업하고 ML 기반 솔루션 개발 프로세스를 단계별로 진행할 수 있습니다. 프로그램이 끝나면 프로세스를 통해 배운 내용을 조직의 다른 곳에서 사용하여 비즈니스 기회에 ML을 적용 할 수 있습니다.


저자에 관하여

Abhi Sharma는 Amazon ML Solutions Lab 팀의 딥 러닝 설계자로서 다양한 산업의 AWS 고객이 기계 학습을 활용하여 비즈니스 문제를 해결할 수 있도록 지원합니다. 그는 열렬한 독자, 자주 여행하는 사람, 운전 애호가입니다.

Ryan Brand는 Amazon Machine Learning Solutions Lab의 데이터 과학자입니다. 그는 기계 학습을 의료 및 생명 과학 문제에 적용한 경험이 있으며 여가 시간에는 역사와 공상 과학 소설을 읽는 것을 즐깁니다.

Tatsuya Arai Ph.D. Amazon Machine Learning Solutions Lab 팀에서 딥 러닝 데이터 과학자로 변신 한 생물 의학 엔지니어입니다. 그는 AI의 진정한 민주화를 믿으며 AI의 힘이 컴퓨터 과학 자나 수학자에게만 국한되어서는 안된다고 믿습니다.

출처 : https://aws.amazon.com/blogs/machine-learning/code-free-machine-learning-automl-with-autogluon-amazon-sagemaker-and-aws-lambda/

spot_img

최신 인텔리전스

spot_img