Azure의 AI 워크로드에 대한 MLOps 및 GenAIOps
AI 워크로드 작업은 데이터 큐레이션 및 해당 데이터 소비를 중심으로 합니다. 운영은 워크로드에 우선 순위를 지정하는 품질, 안정성, 보안, 윤리 및 기타 표준을 달성하고 유지하는 데 효율성을 보장합니다.
워크로드 작업은 애플리케이션 개발, 데이터 처리 및 AI 모델 관리의 세 가지 주요 영역으로 분류할 수 있습니다. 각 범주는 DevOps, DataOps, MLOps 및 GenAIOps와 같은 업계에서 입증된 운영 방법론을 채택해야 합니다.
DevOps 활동은 자동화된 CI/CD(연속 통합 및 지속적인 배포) 파이프라인 및 모니터링을 통해 전체 애플리케이션 개발 수명 주기 관리를 다룹니다. 그러나 AI 워크로드의 경우 데이터 파이프라인은 핵심 구성 요소 중 하나입니다. DevOps의 전문화인 DataOps는 데이터 추출, 변환 및 로드(ETL/ELT)와 같은 프로세스를 간소화하여 데이터 수명 주기를 관리하는 데 중점을 둡니다. DataOps 실무자는 일반적으로 데이터 흐름 성능 및 데이터 정리의 효능을 측정하고 파이프라인에서 변칙을 모니터링합니다.
AI 워크로드는 본질적으로 비결정적입니다. 많은 AI 모델은 유추 중에 동일한 문의에 대해 서로 다른 답변을 생성하는 경향이 있습니다. 이러한 워크로드에는 AI 출력의 예측 불가능성을 관리하고 적응할 수 있는 프로세스가 필요합니다. DataOps는 모델 학습 및 테스트를 위해 기계 학습 워크플로를 운영하는 MLOps 로 확장됩니다 . MLOps의 특수 하위 집합인 GenAIOps는 생성 AI 솔루션을 대상으로 합니다. 여기에는 모델 검색과 같은 작업과 보강된 데이터를 사용하여 미리 학습된 모델을 구체화하는 작업이 포함됩니다.
운영 활동은 종종 겹치며 다양한 방법론이 다양한 각도에 적용됩니다. 예를 들어 차별적 AI에서 DataOps는 중요한 역할을 하지만 DevOps 활동은 눈에 띄지 않습니다. 반대로, 생성 AI에서 운영 우수성은 DataOps보다 DevOps에 더 많이 의존합니다.
그럼에도 불구하고 전반적인 목표는 개발 수명 주기 전반에 걸쳐 효율적인 작업을 통해 기능 전달입니다. 예상 결과는 다음과 같습니다.
- 일관된 결과가 있는 반복 가능한 프로세스입니다.
- 시간이 지남에 따라 모델의 지속적인 정확도입니다.
- 위험을 최소화하는 효과적인 거버넌스.
- 모델 드리프트에 적응하기 위한 관리 프로세스를 변경합니다.
자동화 및 모니터링은 이러한 목표를 달성하기 위한 주요 운영 전략 입니다.
또한 AI 구성 요소, 일상적인 계획되지 않은 작업 및 긴급 작업에 대한 표준화된 프로세스를 설정하고 적절한 추적 메커니즘을 마련해야 합니다. 이러한 프로세스가 없으면 다음과 같은 위험이 발생합니다.
- 반복된 오류 및 데이터 처리, 모델 호스팅, 접지 데이터 관리 및 기타 작업의 비생산성입니다.
- 모델 학습 및 구체화에 사용되는 낮은 품질 또는 부실 데이터입니다.
- 최악의 경우 법적, 규정 준수 또는 보안 문제로 이어지는 시스템에 대한 최종 사용자 신뢰도에 영향을 줍니다.
올바른 도구 집합을 사용하여 설정된 프로세스를 구현해야 합니다. 특수 도구는 환경 전반에서 AI/기계 학습 워크플로를 관리하는 데 사용할 수 있습니다.
이 문서에서는 작업에 대한 디자인 전략에 중점을 두고 도구 권장 사항을 제공합니다.
권장 사항
다음은 이 문서에 제공된 권장 사항의 요약입니다.
추천 | 설명 |
---|---|
효율적인 워크로드 작업 수명 주기를 디자인합니다. | AI 워크로드의 구성 요소에 따라 다양한 운영 단계가 수명 주기에 적용됩니다. 시나리오와 관련된 모범 사례와 이를 구현하는 데 사용할 수 있는 도구를 이해하는 것이 중요합니다. 시간을 내어 워크로드의 모든 구성 요소에 대한 주요 권장 사항을 알아보고 구현합니다. ▪ DataOps ▪ MLOps ▪ GenAIOps ▪ 모니터링 |
모든 것을 자동화합니다. | 자동화는 워크로드의 수명 주기에서 반복성과 효율성을 보장합니다. DevOps 프로세스가 주요 기여자이지만 모델을 효율적으로 빌드, 테스트, 유효성 검사 및 배포하기 위해 수행해야 하는 추가 단계가 있습니다. ▪ 자동화 |
가능한 경우 배포 파이프라인을 활용합니다. | 배포 파이프라인은 반복 가능한 인프라 배포를 제공하거나 코드를 지속적으로 통합하는 데 도움이 될 수 있습니다. 또한 프로덕션으로 승격하기 전에 모델을 만들고/또는 유효성을 검사하는 데 유용한 도구이기도 합니다. 배포 파이프라인을 구현하면 워크로드의 전반적인 사용자 환경뿐만 아니라 안정성을 향상시킬 수 있습니다. ▪ 배포 파이프라인 |
모델의 드리프트 및 감쇠를 방지합니다. | 또한 제어된 방식으로 새 모델 변경을 수락하는 데 도움이 되는 구조화된 프로세스가 있는 동안 모델 붕괴 및 드리프트를 방지해야 합니다. 모델 유지 관리에 대한 권장 사항을 따르면 규정을 준수하고 예기치 않은 사용자 환경을 방지하며 최신 서비스를 제공하는 데 도움이 됩니다. ▪ 모델 유지 관리 |
워크로드 작업 수명 주기
이 이미지는 데이터 수집, 불일치 또는 오류를 제거하기 위한 데이터 정리, 분석 가능한 형식으로 데이터 변환 등 AI 모델의 운영 단계를 보여 줍니다. 이러한 단계는 차별적 모델을 학습시키고 생성 모델에서 데이터를 접지하는 데 관련이 있습니다. 그러나 학습 생성 모델의 특정 사용 사례는 이 이미지에 표시되지 않습니다. 이 사용 사례는 이 문서의 범위를 벗어납니다.
MLOps 및 GenAIOps의 단계는 비슷합니다. 주요 차이점은 GenAIOps의 경우 학습에서 올바른 모델 선택, 프롬프트 엔지니어링 및 RAG(검색 증강 세대) 구현을 통해 도메인별 지식을 통합하는 데 초점을 맞춥니다.
배포 및 모니터링 단계도 매우 유사합니다.
다음 섹션에서는 일반적인 운영 사례를 설명합니다. 사전 제작에서 생산에 이르기까지 수명 주기의 모든 단계를 다룹니다.
DataOps
데이터는 다양한 프로덕션 데이터 원본에서 집계된 다음 전처리되어 오류 및 불일치를 제거하고 누락된 값을 처리합니다. 마지막으로 학습 또는 보강에 적합한 형식으로 변환되고 정규화됩니다. 디자인의 측면은 학습 데이터 및 접지 데이터 문서에 설명되어 있습니다.
여러 원본 및 복잡한 데이터 파이프라인에서 대량의 데이터를 처리하는 것이 어려울 수 있으므로 이 단계 동안의 데이터 작업 프로세스는 효율적이어야 합니다. 이 단계에서 높은 품질의 데이터를 생성하도록 하는 데 필요한 접근 방식입니다. 이 단계를 모니터링하여 허용 가능한 품질 표시줄에 대한 진행률을 추적합니다.
또한 데이터가 프로덕션 환경에서 제공된 경우 데이터가 안전한지 확인해야 합니다. 개발/테스트와 같은 하위 환경이 보안 문제를 방지하는 데 도움이 되는 프로덕션 환경만큼 안전한지 확인합니다.
참고 항목
초기 단계에서 광범위한 데이터 정리에 투자하여 품질이 낮은 데이터를 해결합니다. medallion, 데이터 메시 및 기능 저장소와 같은 잘 알려진 분석 패턴을 활용하여 업스트림 처리 작업을 수행합니다. 업스트림 단계가 비효율적인 경우 다운스트림 단계에서 품질을 개선해야 하며, 이로 인해 각 단계에서 데이터 준비가 수행되기 때문에 워크로드 비용이 증가합니다.
데이터 처리 작업에 대한 자세한 내용은 다음 문서를 참조하세요.
도구
워크로드의 데이터 오케스트레이션 도구를 표준화하는 것이 좋습니다. 도구는 활동을 그룹화할 수 있고 기본 제공 자동화가 있는 데이터 파이프라인을 제공할 수 있어야 합니다.
Azure Data Factory 파이프라인은 초기 선택일 수 있습니다. 많은 데이터 원본을 효율적으로 연결하고 처리할 수 있습니다. 빅 데이터와 데이터 웨어하우징을 결합하고 데이터 레이크, Apache Spark 및 Azure Synapse SQL을 지원하는 Azure Synapse Analytics를 고려할 수도 있습니다. 또한 ETL용 Data Factory와 통합됩니다.
학습 데이터를 준비하기 위해 Azure Machine Learning 파이프라인은 데이터 수집 및 처리와 같은 작업을 자동화할 수 있는 특수 기능을 제공합니다.
Pandas(데이터 준비용) 및 Scrapy와 같은 오픈 소스 기술은 인기 있는 선택입니다.
MLOps
모델 학습은 적절한 알고리즘을 선택하고 전처리된 기록 데이터 및 관찰을 제공하여 모델이 패턴을 학습하고 예측을 수행할 수 있도록 하는 프로세스입니다.
모델(기능 엔지니어링) 및 하이퍼 매개 변수 튜닝을 학습하는 것은 반복적인 프로세스이며 비용이 많이 듭니다. 각 반복 중에 데이터 과학자는 데이터, 코드 및 매개 변수의 조합으로 결과를 추적합니다. 반복 가능한 파이프라인을 사용하여 올바른 수준의 정확도가 달성될 때까지 최소한의 수동 작업으로 실험을 추적합니다.
또 다른 운영 과제는 실험이 수행되는 특수 컴퓨팅 리소스를 프로비전하고 확장하는 것입니다. 또한 모델을 효율적으로 패키지하고 게시해야 합니다.
Teams는 UI 기반 개발을 시작하여 문제를 줄일 수 있으며, 자신감이 높아짐에 따라 코드 기반 접근 방식으로 전환할 수 있습니다.
도구
코드 버전, 환경, 매개 변수, 실행 및 결과와 같은 세부 정보를 캡처하여 기계 학습 실험을 추적할 수 있는 도구를 사용하는 것이 좋습니다. MLflow는 이러한 오픈 소스 프레임워크 중 하나입니다. MLflow와 호환되는 Azure Machine Learning 작업 영역을 사용하고 데이터 과학자가 프로젝트에서 생산성 및 재현 가능성을 관리할 수 있도록 하는 간소화된 워크플로를 제공하는 것이 좋습니다. 소스 제어 추적을 사용하여 코드 개발을 관리하려면 GitHub와 같은 소스 제어와 기계 학습 파이프라인을 통합하거나 파일 공유를 사용합니다.
호스팅 컴퓨팅은 워크플로 오케스트레이터 선택에 영향을 줄 수도 있습니다. 애플리케이션이 AKS(Azure Kubernetes Service)에서 호스트되는 경우 Kubeflow를 사용하는 것이 좋습니다.
Azure Machine Learning을 고려하는 경우 Machine Learning에 대한 Azure 잘 설계된 프레임워크 관점으로 시작하여 제품이 워크로드의 잘 설계된 프레임워크 품질 문제를 해결하는 데 어떻게 도움이 되는지 이해하는 것이 좋습니다.
이 프로세스의 이점 중 하나는 개인 시간을 최적화하는 것입니다. 데이터 과학자는 일반적으로 워크스테이션에서 EDA(예비 데이터 분석) 및 실험을 효과적으로 수행하기 위해 특정 도구와 SDK가 필요합니다. Azure Machine Learning의 미리 빌드된 옵션이 적합한지 평가합니다. 그렇지 않은 경우 워크스테이션 구성을 저장하거나 이 작업에 대해 승인된 VM 이미지를 유지 관리합니다. 시작점으로 사용할 수 있는 이미지의 한 가지 예는 데이터 과학 DSVM(Virtual Machine)입니다.
경우에 따라 VM의 사용이 정책에 의해 허용되지 않을 수 있습니다. Microsoft Dev Box 및 Azure Virtual Desktop 추가와 같은 대안을 찾습니다. Docker를 사용하여 미리 빌드된 이미지를 포함하는 컴퓨터를 부트스트랩하는 것도 고려할 수 있습니다.
그러나 이 단계가 완성되고 확장된 실험이 필요하므로 관리형 컴퓨팅 인스턴스로 이동하고 워크플로의 일부로 통합된 옵션을 선호합니다. 개발 및 테스트 목적으로 학습 및 추론에 Azure Machine Learning 컴퓨팅 인스턴스를 사용할 수 있는지 여부를 평가합니다. 컴퓨팅 클러스터는 큰 데이터 세트 및 복잡한 모델을 처리할 수 있습니다.
Azure Machine Learning은 SDK를 통해 코드 기반 솔루션과 자동화된 기계 학습 및 비주얼 디자이너와 같은 하위 코드 옵션을 모두 제공합니다. Python SDK는 각각 고유한 기능을 사용하여 모델을 학습하는 여러 가지 방법을 제공합니다. Machine Learning은 또한 ONNX 런타임 학습의 ORTModule, DeepSpeed 및 LoRA와 같은 고급 최적화 및 분산 컴퓨팅 기술을 지원하여 학습 프로세스를 가속화합니다.
GenAIOps
이 단계의 주요 활동은 기존 모델을 검색하고 평가하여 특정 사용 사례에 대해 미리 학습된 모델을 식별하는 것으로 시작합니다. 이는 반복적인 프로세스입니다. 적합한 모델을 찾은 후에는 반복 단계를 포함하고 특정 수준의 오케스트레이션이 필요한 도메인별 접지용으로 구체화하는 것이 도움이 될 수 있습니다.
모델을 통합하고 배포하려면 모델, 벡터 인덱스, 프롬프트 및 코드 블록 오케스트레이션을 포함하여 기존의 MLOps 기능을 넘어서는 특수한 도구와 사례가 필요합니다.
도구
검색 작업을 해결하려면 다양한 공급자의 모델을 포함하는 모델 카탈로그를 활용합니다. Azure AI Foundry 포털
Azure Machine Learning 프롬프트 흐름 은 오케스트레이션 코드를 개발하여 프로토타입 생성, 실험, 반복 및 프롬프트 엔지니어링을 가능하게 하는 데 도움이 될 수 있습니다. 이러한 흐름은 Azure Machine Learning 관리형 엔드포인트에 배포할 수 있습니다. 기존 CI/CD 파이프라인 기술을 사용하여 흐름을 실행하고 배포할 수 있는지 여부를 평가합니다.
배포
이 단계에서 모델은 호스팅 및 추론 플랫폼 또는 AI 워크로드의 서비스 계층에 배포됩니다. API는 확장 가능한 컨테이너로 패키지되어야 합니다. 컨테이너 플랫폼은 관리형 컴퓨팅 또는 사용자 지정 호스팅 플랫폼일 수 있습니다. 운영 사례는 안전한 배포를 보장하고 롤백을 사용하도록 설정해야 합니다.
채택 및 관리를 간소화하기 위해 PaaS(Platform as a Service) 및 Azure OpenAI Service와 같은 서버리스 솔루션으로 시작합니다. 엔드포인트 액세스를 집계하기 위해 Azure Machine Learning 서버리스 API를 사용하는 것이 좋습니다. 관리형 컴퓨팅 클러스터는 고급 요구 사항을 위한 실행 가능한 옵션입니다. AKS에서의 자체 호스팅은 또 다른 옵션입니다. 컴퓨팅 크기를 적절하게 조정하고 다른 워크로드에서 적절한 격리를 유지 관리해야 합니다. IaaS(Infrastructure as a Service)로 모델을 완전히 호스팅하는 것과 같은 옵션을 고려할 수도 있습니다. IaaS는 유연성을 제공하지만 운영 부담을 더할 수 있습니다. 이러한 옵션은 애플리케이션 플랫폼에서 설명합니다.
이 단계에서는 모델을 프로덕션으로 이동하기 전에 문제를 catch할 수 있는 마지막 기회를 제공합니다. 테스트 프로세스에는 모델이 예상대로 예측을 제공하도록 구성되었는지 확인하는 유효성 검사 단계가 포함되어야 합니다.
점진적 노출 프로세스를 따르고 병렬 배포를 사용하여 모델을 기존 프로덕션 환경에 통합해야 합니다. 카나리아 모델은 새 모델을 롤아웃하는 일반적인 방법입니다. 이 메서드를 사용하면 사용자 기반이 점진적으로 증가합니다. 파란색-녹색 배포는 또 다른 방법입니다.
도구
Azure Machine Learning 파이프라인 또는 Azure Pipelines를 사용하여 유추를 위해 모델을 배포할 수 있습니다. Machine Learning은 노드 프로비저닝, OS 업데이트, 자동 크기 조정, 모니터링 및 격리된 가상 네트워크를 포함하여 간소화된 작업을 위한 몇 가지 기능을 제공합니다.
Machine Learning은 단일 엔드포인트에 여러 배포를 포함할 수 있는 청록색 배포도 지원합니다.
Azure Container Apps 또는 Azure 앱 Service와 같은 다른 호스팅 플랫폼을 사용하는 경우 프로비전 및 크기 조정을 비롯한 작업을 담당합니다. 이러한 경우 Azure DevOps, GitHub 파이프라인 또는 선택한 CI/CD 기술을 사용합니다.
모니터링
모니터링은 핵심 전략이며 모든 단계에서 적용됩니다. 지속적인 프로세스이며 개발 수명 주기 내내 일관성과 안정성을 유지하기 위해 AI 워크로드를 엄격하게 테스트할 수 있도록 품질 게이트에 대한 입력 역할을 합니다. 모델은 운영 및 데이터 과학 관점에서 모니터링해야 합니다.
수용 품질 표시줄에 근접성을 측정하고 변칙을 확인하는 DataOps 내부 루프 모니터링 프로세스가 있는 것이 좋습니다.
미리 학습된 모델의 경우 관련성에 중점을 두고 데이터 드리프트 및 성능을 모니터링하는 것도 중요합니다. 입력(프롬프트) 및 출력(완료)을 평가하여 관련성이 있고 정확한지 확인합니다. 또한 악의적인 프롬프트를 통해 모델의 동작을 조작하려는 시도와 같은 보안 위험을 알고 있어야 합니다. 양방향으로 데이터를 검사하고 부적절한 콘텐츠를 필터링하는 철저한 con텐트 모드ration이 있는지 확인합니다. 이러한 고려 사항은 ResponsibleAI 디자인 영역에 설명되어 있습니다.
배포 후에는 모델 붕괴와 같은 문제를 해결하기 위해 모니터링 작업이 필요합니다. 데이터가 변경되거나 모델이 관련 없는 결과를 생성할 수 있는 외부 변경으로 인해 모델이 부실해질 수 있습니다. 자동 모니터링을 위해 자동 프로세스를 사용하고 평가 및 재학습을 수행하여 정확도와 관련성을 유지합니다. 또한 최적의 성능과 안정성을 보장하기 위해 다른 워크로드와 마찬가지로 인프라 및 워크로드 메트릭을 모니터링해야 합니다. 자세한 내용은 모델 감쇠 테스트를 참조 하세요.
도구
Azure Machine Learning 데이터 수집기 같은 유추 엔드포인트에서 메트릭을 더 쉽게 수집할 수 있는 도구에 투자합니다.
또한 생성 AI의 모델 성능, 데이터 드리프트, 안전성 및 품질을 관찰해야 합니다.
자세한 내용은 다음 문서를 참조하십시오.
Automation
AI 워크로드는 전체 수명 주기에 많은 역할, 빈번한 변경 및 상호 관련된 단계가 포함되기 때문에 복잡합니다. 수동 프로세스는 오류 및 불일치가 발생할 수 있습니다. 데이터 처리 모델 호스팅의 자동화는 반복성 및 효율성을 보장하는 데 도움이 됩니다. 자동화가 항상 필요한 것은 아니지만 이러한 복잡성을 관리하는 효과적인 방법입니다. 다음은 자동화가 위험을 완화할 수 있는 몇 가지 사용 사례입니다.
기존 코드 배포와 달리 AI/기계 학습의 비결정적 모델 및 솔루션에는 반복적인 실험과 학습이 필요합니다. 여러 팀이 협업하는 경우 표준화된 프로세스를 적용하는 방법으로 자동화를 통해 데이터 과학자, 엔지니어 및 운영 팀 간의 일관성, 재현성 및 효과적인 협업을 유지할 수 있습니다.
모델 수명 주기에는 다음 두 가지 주요 유형의 학습이 포함됩니다.
온라인 교육은 최신 정보를 기반으로 결정을 내릴 수 있도록 최근 데이터를 자주, 때로는 매일 모델에 통합합니다. 이 학습은 워크로드에 통합되므로 모델이 일반 프로세스의 일부로 지속적으로 업데이트됩니다.
오프라인 학습은 모델을 덜 자주 학습하므로 업데이트 간의 간격이 길어질 수 있습니다. 학습 프로세스는 주 워크로드와 별개이며 비동기적으로 수행됩니다. 새 모델이 준비되면 시스템에 통합됩니다.
업데이트가 자주 실행되지 않는 경우 안정성이 손상될 수 있습니다. 업데이트를 놓친 경우 주요 문제 없이 연기할 수 있습니다. 이 개념은 접지 데이터에도 적용됩니다. 예를 들어 RAG를 사용하는 경우 최근 데이터를 사용해야 하는지 아니면 약간 오래된 데이터가 충분한지 결정해야 합니다. 두 시나리오 모두 업데이트 빈도의 실용성과 최신 정보의 필요성의 균형을 맞추는 것입니다. 필요한 빈도 및 안정성 때문에 자동화를 통해 온라인 교육을 수행해야 합니다. 오프라인 학습의 경우 필요한 빈도 때문에 비용 혜택 분석을 수행하여 자동화를 정당화해야 합니다. 또한 오프라인 하드웨어와 같은 저렴한 리소스를 사용하여 오프라인 학습을 수행할 수 있습니다.
기존 DevOps 프로세스는 일반적으로 구조적 변경의 영향을 받습니다. 그러나 AI 및 기계 학습에서 모델은 프로덕션 데이터에 대해 학습됩니다. 모델 감쇠는 상당한 위험을 초래하며 모니터링되지 않는 경우 시간이 지남에 따라 성능이 저하될 수 있습니다. 모델 효율성을 유지하려면 성능 메트릭, 경고 및 모델 재학습의 자동화된 수집 및 분석이 필요합니다. 데이터 및 모델 종속성의 변경 내용을 감지하여 지정된 시간에 현재 상태를 명확하게 이해하는 데 도움이 되는 방식으로 자동화를 사용합니다.
모델은 두 가지 방법으로 학습할 수 있습니다.
- 모델은 전체 프로덕션 데이터를 사용하여 개발 환경에서 학습되고 아티팩트만 환경을 통해 승격됩니다. 이 방법은 계산 비용을 낮출 수 있지만 낮은 환경에서 프로덕션 데이터를 처리하기 위해 더 엄격한 보안이 필요하며 모든 조직에서 가능하지 않을 수 있습니다.
- 모델은 각 환경에서 학습됩니다. 코드 승격은 낮은 환경에서 학습 코드를 검토하고 테스트하지만 컴퓨팅 비용이 증가하므로 안정성에 도움이 될 수 있습니다.
두 방법에는 장단점이 있습니다. 올바른 방법을 선택하는 것은 조직의 우선 순위와 워크로드의 SDLC(소프트웨어 개발 수명 주기) 사례에 따라 달라집니다. 방법에 관계없이 프로덕션 배포 전에 모델의 철저한 테스트 및 평가가 필요합니다.
자동화 코드는 데이터 처리 단계에 대한 명확한 레코드를 제공하여 감사 가능성을 지원하기 위해 데이터 계보를 통합해야 합니다. 이 레코드는 기대치를 관리하는 데 도움이 되며 결과에 대한 우려를 해결할 수 있도록 의사 결정 방법을 보여 줄 수 있습니다.
배포 파이프라인
AI/기계 학습 워크로드에서 모델 개발에는 모델을 만들고, 유효성을 검사하고, 모델을 모델링 호스팅 플랫폼으로 승격하는 작업이 포함됩니다. 데이터 처리, 기능 엔지니어링, 모델 학습 또는 보강 및 프로덕션에 배포와 관련된 복잡한 워크플로를 간소화하는 배포 파이프라인이 있어야 합니다. 프로세스를 불투명하게 만드는 AI의 비결정적 특성을 감안할 때 릴리스 파이프라인 및 모니터링 시스템에 정성적 테스트를 통합해야 합니다.
MLOps 및 GenAIOps에는 고유한 AI 활동이 필요할 수 있으며 핵심 기술이 다를 수 있지만 기본 개념은 DevOps의 개념과 유사합니다. 기존 DevOps 프로세스에서 모범 사례를 적용하는 것이 좋습니다. 워크로드의 기존 파이프라인에 AI 활동을 통합합니다.
일반적으로 AI 워크로드에는 기존 코드 배포가 포함됩니다. 코드와 함께 또는 자체 수명 주기에서 별도로 모델 배포를 처리하도록 선택할 수 있습니다. 이전 접근 방식이 좋습니다. 데이터 준비, 학습/미세 조정, 접지 데이터 관리 및 모니터링에 주로 초점을 맞춘 AI 작업을 유지하기 위해 워크로드 배포를 통해 모델 및 유추 엔드포인트를 패키지할 준비를 합니다.
사전 제작에서 프로덕션에 이르기까지 전체 MLOps 및 GenAIOps 수명 주기를 포함하도록 다음 자산을 조정하는 방법을 다시 평가합니다.
- IaC(Infrastructure-as-code) 도구
- CI/CD 파이프라인
- 문제를 추적하고 식별하기 위한 관찰성 스택
도구
CI/CD에 일반적으로 사용되는 Azure Pipelines 및 GitHub Actions 워크플로를 기계 학습 모델로 확장할 수 있습니다. 기계 학습 인프라, 사용자 지정 워크로드 구성 요소, 오케스트레이션 코드 및 모델을 배포하는 데 도움이 됩니다. Azure Machine Learning 파이프라인을 Azure DevOps 또는 GitHub 파이프라인과 결합합니다. 자세한 내용은 Azure Machine Learning에서 Azure Pipelines 사용을 참조 하세요.
두 가지 주요 요소는 적절한 도구 조합인 사용 사례 및 기능 선택에 영향을 줍니다. 예를 들어 Azure Machine Learning 파이프라인은 데이터 과학자가 수행하는 오케스트레이션에 적합합니다. 재사용, 캐싱 등을 지원하는 다양한 기능 집합이 있습니다. 도구 선택은 어떤 Azure 파이프라인 기술을 사용해야 하나요?를 참조하세요.
모델 유지 관리
AI/ML 환경은 지속적인 혁신과 경쟁합니다. 새 모델이 자주 등장하고, 새로운 사용 사례가 검색되고, 새 데이터 원본을 사용할 수 있게 됩니다. 따라서 모델 감쇠는 일반적인 과제입니다.
시간이 지남에 따라 모델 성능 저하 또는 드리프트를 방지하려면 지속적인 모니터링, 평가 및 재학습을 위한 자동화된 프로세스를 구현해야 합니다. 예시:
모델 카탈로그를 유지 관리합니다. 새 모델을 검색하고 카탈로그를 업데이트하는 프로세스를 자동화합니다.
새로운 사용 사례에 맞게 조정합니다. 워크로드 요구 사항에 새로운 사용 사례가 추가되면 쿼리를 예상하고 그에 따라 데이터 처리 논리를 조정합니다.
새 데이터 원본을 통합합니다. 새 데이터 원본이 잠재적으로 모델의 예측 능력 또는 관련성을 향상시킬 수 있는 경우 데이터 수집 파이프라인을 업데이트하여 해당 원본에 연결하고 해당 원본에서 데이터를 가져옵니다.
규정 요구 사항 준수를 평가합니다. 새 기능에 적응하는 경우 조직 또는 외부 규정 준수 표준의 제약 조건 내에서 변경 내용이 유효한지 확인합니다.
지속적인 개선을 추적하기 위한 공식적인 프로세스를 구현하고 자체 개선을 해당 주기 내의 하위 프로세스로 통합합니다.
지속적인 진화
정기적으로 운영을 검토하고 개선하고 혁신을 장려합니다.
MLOps 완성 모델은 수동 프로세스에서 전체 자동화로 진행됩니다. 수동 빌드 및 모니터링부터 시작하여 자동화된 애플리케이션 빌드, 학습 환경 및 배포를 포괄적인 메트릭에 의해 정당화되는 단계로 통합합니다. 자세한 내용은 MLOps 완성 모델을 참조하세요.
GenAIOps 완성도 수준은 자동화된 최적화 기술을 사용하여 기본 모델에서 구조화된 배포로 점진적으로 이동합니다. 자세한 내용은 GenAIOps에 대한 완성도를 높이세요.