Azure Machine Learning을 사용하여 사용자 지정 AI 모델 만들기
정교한 AI 모델을 사용할 수 있다면 조직이 데이터 과학 프로젝트에 필요한 리소스의 양을 크게 줄이는 데 도움이 될 수 있습니다. 조직에서 Azure Machine Learning을 사용하여 기계 학습 과제를 해결하고 작업을 수행하는 방법을 살펴보겠습니다.
기계 학습 과제 및 기계 학습 작업의 필요성
AI 솔루션을 유지 관리하려면 일반적으로 데이터, 코드, 모델 환경 및 기계 학습 모델 자체를 문서화하고 관리하기 위한 기계 학습 수명 주기 관리가 필요합니다. 모델을 개발, 패키징 및 배포하는 프로세스를 설정하고 나아가 성능을 모니터링하고 간혹 재학습하는 작업 또한 필요합니다. 대부분의 조직에서는 생산 단계에서 여러 모델을 동시에 관리하기 때문에 더욱 복잡해집니다.
이러한 복잡성에 효과적으로 대처하려면 몇 가지 모범 사례가 필요합니다. 팀 간 협업, 프로세스 자동화 및 표준화, 모델을 쉽게 감사, 설명 및 재사용할 수 있도록 하는 데 중점을 줍니다. 이를 위해 데이터 과학 팀은 기계 학습 운영 접근 방식을 사용합니다. 이 방법론은 개발자와 데이터 과학자의 어려움이 유사하기 때문에 애플리케이션 개발 주기에 대한 운영을 관리하기 위한 업계 표준인 DevOps(개발 및 운영)에서 영감을 얻었습니다.
Azure Machine Learning
데이터 과학자는 Microsoft의 플랫폼인 Azure Machine Learning에서 기계 학습 DevOps를 관리하고 실행하여 기계 학습 수명 주기 관리 및 운영 관행을 더 쉽게 만들 수 있습니다. 이러한 도구는 자동화를 통해 많은 프로세스를 최적화할 수 있는 공유되고 감사 가능하며 안전한 환경에서 팀이 공동 작업하는 데 도움이 됩니다.
기계 학습 수명 주기 관리
Azure Machine Learning은 미리 학습된 모델 및 사용자 지정 모델의 엔드투엔드 기계 학습 수명 주기 관리를 지원합니다. 일반적인 수명 주기에는 데이터 준비, 모델 학습, 모델 패키징, 모델 유효성 검사, 모델 배포, 모델 모니터링 및 재학습 단계가 포함됩니다.
이 기존의 접근 방식은 데이터 과학 프로젝트의 모든 일반적인 단계를 다룹니다.
- 데이터 세트를 준비합니다. AI는 데이터에서 시작됩니다. 우선 데이터 과학자는 모델을 학습시킬 데이터를 준비해야 합니다. 데이터 준비는 대부분의 경우 수명 주기에서 가장 많은 시간을 차지합니다. 이 작업에는 사용자 고유의 데이터 세트를 찾거나 빌드하고 머신이 쉽게 읽을 수 있도록 정리하는 작업이 포함됩니다. 데이터가 대표적인 샘플인지, 변수가 목표와 관련이 있는지 등을 확인하려고 합니다.
- 학습 및 테스트. 그런 다음 데이터 과학자는 데이터에 알고리즘을 적용하여 기계 학습 모델을 학습시킵니다. 그리고 새 데이터를 이용해 모델을 테스트하여 예측 정확도를 확인합니다.
- 패키지. 모델을 앱에 직접 배치할 수 없습니다. 기반 도구 및 프레임워크와 함께 실행될 수 있도록 컨테이너화해야 합니다.
- 유효성 검사 이 시점에서 팀은 비즈니스 목표 대비 모델 성능을 평가합니다. 테스트에서는 충분히 양호한 메트릭이 반환되었을 수 있지만, 실제 비즈니스 시나리오에서 사용할 때는 모델이 예상대로 작동하지 않을 수 있습니다.
- 1~4단계를 반복합니다. 만족스러운 모델을 찾으려면 수백 시간 학습해야 할 수도 있습니다. 개발팀은 학습 데이터를 조정하거나, 알고리즘 하이퍼 매개 변수를 수정하거나, 다른 알고리즘을 시도하여 여러 버전의 모델을 학습시킬 수 있습니다. 이상적으로는 조정이 끝날 때마다 모델이 개선되어야 합니다. 개발팀의 궁극적인 역할은 비즈니스 사용 사례에 가장 적합한 모델 버전을 결정하는 것입니다.
- Deploy. 마지막으로 모델을 배포합니다. 배포 옵션에는 클라우드, 온-프레미스 서버, 그리고 카메라, IoT 게이트웨이 또는 기계와 같은 디바이스가 포함됩니다.
- 모니터링 및 재학습합니다. 모델이 처음에 잘 작동하더라도 관련성과 정확성을 유지하려면 지속적인 모니터링과 재학습은 필수적입니다.
참고 항목
미리 학습된 모델을 통합하고 비즈니스 요구 사항에 맞게 조정하려면 사용자 지정 모델을 통합하는 다른 워크플로가 필요합니다. Azure Machine Learning을 통해 미리 학습된 모델을 사용하거나 자체 모델을 빌드할 수 있습니다. 둘 중 어떤 방법을 사용하는 것이 좋은지는 시나리오에 따라 다릅니다. 미리 학습된 모델을 사용하면 리소스가 적게 필요하고 결과가 더 빠르게 도출된다는 이점이 있습니다. 그러나, 미리 빌드된 모델은 광범위한 사용 사례를 해결하기 위해 학습되므로 매우 구체적인 요구 사항을 충족하는 데 어려움을 겪을 수 있습니다. 이러한 경우 완전 사용자 지정 모델이 더 나은 아이디어일 수 있습니다. 두 방법의 유연한 혼합은 종종 바람직하고 크기를 조정하는 데 도움이됩니다. AI 팀은 매우 쉬운 사용 사례의 경우 미리 학습된 모델을 사용하여 리소스를 절약하고, 이렇게 절약한 리소스를 매우 어려운 시나리오를 위한 사용자 지정 AI 모델을 빌드하는 데 투자할 수 있습니다. 추가 반복은 미리 빌드된 모델을 다시 학습시켜 개선할 수 있습니다.
기계 학습 작업
MLOps(기계 학습 운영)는 DevOps(개발 및 운영)의 방법론을 적용하여 기계 학습 수명 주기를 보다 효율적으로 관리합니다. 이를 통해 모든 이해 관계자 간에 AI 팀에서 보다 민첩하고 생산적인 공동 작업을 수행할 수 있습니다. 이러한 협업에는 데이터 과학자, AI 엔지니어, 앱 개발자 및 기타 IT 팀이 포함됩니다.
MLOps 프로세스 및 도구를 이용하면 여러 팀이 협업하고, 감사 가능한 공유 문서를 통해 가시성을 제공할 수 있습니다. MLOps 기술은 사용자가 데이터, 코드, 모델 및 기타 도구와 같은 모든 리소스에 대한 변경 내용을 저장하고 추적하도록 지원합니다. 이러한 기술은 자동화, 반복 가능한 워크플로, 재사용 가능한 자산을 사용하여 효율성을 높이고 수명 주기의 속도를 높이는 역할도 합니다. 이러한 모든 사례는 AI 프로젝트는 더 민첩하고 효율적으로 만듭니다.
Azure Machine Learning은 다음 MLOps 관행을 지원합니다.
모델 재현성: 각기 다른 팀 구성원이 동일한 데이터 세트에서 모델을 실행하여 비슷한 결과를 얻을 수 있습니다. 재현성은 프로덕션 환경에서 모델 결과의 안정성을 높이는 데 중요합니다. Azure Machine Learning은 모델 재현성을 지원하며 환경, 코드, 데이터 세트, 모델 및 기계 학습 파이프라인과 같은 자산을 중앙에서 관리할 수 있습니다.
모델 유효성 검사: 모델을 배포하기 전에 성능 메트릭의 유효성을 검사하는 것이 중요합니다. ‘가장 좋은’ 모델을 나타내고자 여러 메트릭을 이용할 수도 있습니다. 비즈니스 사용 사례와 관련성이 높은 방식으로 성능 메트릭의 유효성을 검사하는 것이 중요합니다. Azure Machine Learning은 손실 함수 및 혼동 행렬과 같은 모델 메트릭을 평가하는 다양한 도구를 통해 모델 유효성 검사를 지원합니다.
모델 배포: 모델을 배포할 때는 데이터 과학자와 AI 엔지니어가 협력하여 최상의 배포 옵션을 결정하도록 하는 것이 중요합니다. 이러한 옵션에는 클라우드, 온-프레미스 및 Edge 디바이스(카메라, 드론, 기계)가 포함됩니다.
모델 재학습: 성능 문제를 해결하고 최신 학습 데이터를 활용하려면 모델을 모니터링하고 주기적으로 재학습시켜야 합니다. Azure Machine Learning은 모델의 정확도를 지속적으로 개선하고 보장하는 체계적이고 반복적인 프로세스를 지원합니다.
팁
고객 사례: 한 의료 조직은 Azure Machine Learning으로 수술 중 합병증이 발생할 가능성을 예측하는 사용자 지정 기계 학습 모델을 학습시킵니다. 모델은 연령, 민족, 흡연 기록, 체질량 지수 및 혈액 혈소판 수치와 같은 요인을 포함하여 대량의 데이터에 대해 학습됩니다. 이러한 모델을 사용하면 의료 전문가가 위험을 더 잘 평가하고 개별 환자에 대한 수술 또는 라이프 스타일 변화 권장 사항을 결정할 수 있습니다. Azure Machine Learning의 책임 있는 AI 대시보드는 예측 요인을 설명하고 인구 통계학적 요인의 바이어스를 완화하는 데 도움이 됩니다. 궁극적으로 예측 모델링 솔루션은 위험과 불확실성을 줄이고 수술 결과를 개선하는 데 도움이 됩니다. 전체 고객 사례는 https://aka.ms/azure-ml-customer-story에서 확인하세요.
팁
잠시 시간을 내어 조직에서 데이터 과학 및 기계 학습 전문 지식을 활용해 어떻게 사용자 지정 모델을 빌드할 수 있을지 생각해 보세요.
다음으로, 지식 점검으로 지금까지 배운 모든 내용을 마무리해 보겠습니다.