티스토리 뷰

<참조> https://azuredevopslabs.com/labs/vstsextend/aml/

 

 

 

 

 

개요

머신 러닝은 컴퓨터가 기존 데이터를 사용하여 미래의 행동, 결과 및 추세를 예측할 수 있도록 하는 데이터 과학 기술이다. 머신 러닝을 사용하면 컴퓨터가 명시적으로 프로그래밍되지 않고 학습한다.

Azure Machine Learning 서비스는 머신 러닝 모델을 개발, 교육, 테스트, 배포, 관리 및 추적하는 데 사용할 수 있는 클라우드 기반 환경을 제공한다.

 

 

 

이 랩에서 다루는 것

이 실습을 마치면 다음을 수행 할 수 있게 될 것이다.

  • Azure Pipelines를 사용하여 머신 러닝 프로젝트를 위한 지속적 통합 및 지속적 배포 파이프라인을 빌드하는 방법

ML/AI 모델 관리 및 운영을 위한 Azure ML 서비스와 함께 빌드 및 릴리즈 파이프라인에 Azure DevOps 프로젝트를 사용할 것이다.

이 템플릿에는 엔드 투 엔드 ML/AI 프로젝트를 자동화하는 방법을 시연하는 머신 러닝 프로젝트의 코드 및 파이프라인 정의가 포함되어 있다. 빌드 파이프라인은 데이터 건전성 테스트를 위한 DevOps 작업, 서로 다른 컴퓨팅 대상에 대한 모델 교육, 모델 버전 관리, 모델 평가/모델 선택, 실시간 웹 서비스로서의 모델 구축, QA/prod로의 단계적 구축, 통합 테스트 및 기능 테스트 등을 포함한다.

 

 

 

 

시작하기 전에

1. 실습을 시작하기 전에 시작하기 페이지를 참조한다.

2. Azure DevOps 데모 생성기를 사용하여 Azure DevOps 조직에 프로젝트를 프로비저닝한다. 이 URL은 데모 생성기에서 자동으로 Azure Machine Learning 템플릿을 선택한다. 이 템플릿에는 엔드 투 엔드 ML/AI 프로젝트를 자동화하는 방법을 시연하는 머신 러닝 프로젝트의 코드 및 파이프라인 정의가 포함되어 있다.

 

실습 1: ML/AI 프로젝트 용 CI 파이프라인 구성

이 실습에서는 ML/AI 프로젝트에 대한 CI 파이프라인을 구성한다. 이 빌드 파이프라인에는 데이터 온전성(sanity) 테스트를 위한 DevOps 태스크, 다양한 컴퓨팅 대상에 대한 모델 교육, 모델 버전 관리, 모델 평가/모델 선택 등이 포함된다.

1. Pipeline > Pipelines로 이동한다. DevOps-for-AI-CI 파이프라인의 Edit을 선택한다.

 

 

2. 빌드 파이프라인은 다음과 같다.

 

이 파이프라인에서 Use Python 3.6 태스크 및 Install requirements 태스크는 후속 빌드 태스크에 사용할 Python 환경을 설정하고 준비하는 데 사용한다.

 

 

3. Create or Get Workspace 태스크를 선택한다. 드롭 다운 목록에서 Azure 구독을 선택하고 Authorize를 클릭하여 Azure 서비스 연결을 구성한다. 이 태스크는 Azure Machine Learning 서비스에 대한 작업 영역을 만드는 데 사용되었다.

 

 

4. 파이프라인의 다른 모든 태스크를 클릭하고 동일한 구독을 선택한다. 태스크가 구독으로 업데이트되면 변경 사항을 Save한다.

 

 

5. Triggers를 선택하고 CI가 활성화되어 있는지 확인한다.

 

 

6. CI 파이프라인에서 수행되는 단계는 다음과 같다.

  • Python 환경 준비
  • AML 서비스에 대한 작업 영역 가져 오기 또는 만들기
  • 원격 DSVM / 로컬 Python Env에서 트레이닝 잡 제출
  • 다른 모델의 성능을 비교하고 최상의 선택
  • 작업 공간에 모델 등록
  • 스코어링 웹 서비스를 위한 Docker 이미지 생성
  • 릴리즈 파이프라인에 아티팩트 복사 및 게시

 

 

실습 2: ML/AI 프로젝트 용 CD 파이프라인 구성

이 실습에서는 빌드 파이프라인에서 생성 된 이미지를 Azure Container Instance 및 Azure Kubernetes Services에 배포하는 릴리즈 파이프라인을 구성한다. 

1. Pipeline » Releases로 이동한다. Deploy Web service를 선택하고 파이프라인의 Edit 을 클릭한다.

다.

 

 

2. 두 개의 스테이지 QA  Prod가 포함된 릴리즈 파이프라인이 표시된다. QA 스테이지를 선택하고 view stage tasks를 선택하여 QA 스테이지의 태스크를 본다.

 

 

3. QA 스테이지에서 Use Python 3.6 태스크 및 Install requirements 태스크는 후속 태스크에 사용할 Python 환경을 설정하고 준비하는 데 사용된다.

 

 

4. Deploy Web service on ACI 태스크를 선택한다. Azure 구독 세부 정보를 선택한다. 이 태스크는 ACI (Azure Container Instance)를 만들고 파이프라인 빌드에서 만든 웹 서비스 이미지를 ACI에 배포한다.

 

 

5. Test ACI Web service 태스크를 선택한다. Azure 구독 세부 정보를 업데이트한다. 이 태스크는 배포된 스코어링 이미지를 테스트하는 것이다.

 

 

6. 상단의 Tasks를 클릭하여 Prod 스테이지로 전환하고, prod 스테이지의 두 태스크에 대한 구독 세부 정보를 업데이트하고, 저장을 클릭하여 변경 사항을 Save 한다.

 

(원문에는 다음이 누락 되었다. 두 개의 스테이지 모두에서 Run on agent를 선택하여 Agent pool과 Agent Specification을 다음과 같이 선택하고 Save를 클릭한다.)

 

 

실습 3:  CI 및 CD를 트리거하도록 소스 코드의 구성 파일 업데이트

1. Repos로 이동한다. aml_config/ 폴더에서 config.json 파일을 연다.

 

 

2. 자신의 Azure 구독 ID를 업데이트한다. 필요한 경우 리소스 그룹 이름, AML 작업 영역 이름 및 Azure ML 서비스 작업 영역을 배포 할 위치를 변경한다. 커밋을 클릭하여 변경 사항을 커밋한다.

 

여기에서 코드 및 스크립트에 대한 세부 정보를 찾을 수 있다.

 

 

 

3. CI trigger를 활성화했으므로 빌드는 자동으로 대기열에 넣는다. Pipelines –> Pipelines으로 이동하면 빌드가 대기열에 있는 것을 볼 수 있다. 빌드를 열어 진행 상황을 확인한다. 빌드가 성공하면 릴리즈가 자동으로 대기열에 배치된다. Pipelines –> Releases로 이동하여 릴리즈가 진행 중인지 확인한다.

 


첫 CD 파이프라인 실행 중에 다음과 같이 동일 서비스 명이 존재한다며 에러가 발생하였다.

50-deployOnAci.py 파일 내 aci_servicename을 다음과 같이 고유한 이름으로 수정 및 Commit 후 정상 처리되었다.

 

 

4. 이제 Azure Portal로 이동하여 CI-CD 파이프라인에서 프로비저닝 및 배포 된 리소스를 확인한다. AzureML_Demo_ws1를 선택한다.

 

다음과 같이 필요한 정보를 선택하고 스튜디오를 시작한다.

 

실행으로 이동하여 devops-ai-demo를 선택하고 결과를 확인한다.

 

 

참조

Azure Machine Learning 서비스에 대한 더 많은 정보가 필요한가? 그러하다면 아래에 몇 가지 참조가 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함