MLOps란?
- 머신러닝의 개발 및 운영을 효과적으로 관리하고 협업 기반의 머신러닝 솔루션을 제공하기 위한 사람, 기술 및 프로세스의 조합
- 단순한 기술 솔루션이 아닌 사람과 프로세스를 고려한 모델 구축, 학습, 배포, 모니터링, 관리 및 거버넌스를 자동화하고 표준화하기 위한 운영 방식
- 엔드투엔드 머신러닝 수명주기를 간소화하고 데이터과학자 및 MLOps팀의 생산성을 높이는 동시에 높은 모델정확도를 유지하고 보안 및 규정준수를 강화하는데 도움
- 머신러닝 모델을 운영환경에 효과적이고 일관되게 배포하고 비즈니스 가치를 끌어올릴 수 있음


사례 1: SKT
- 에이닷
- 온프레미스 데이터센터에서 시작, 데이터사이언티스트는 데이터센터에서 학습한 모델을 아마존 S3에 업로드, 업로드된 모델은 AWS Step Function을 통해 아마존 Sagemaker pipeline을 통과, 모델은 Sagemaker Pipeline을 통과하며 AWS inferencia에서 사용될 수 있도록 AWS Neuron SDK를 통해 컴파일, 이후 컴파일된 모델은 Sagemaker Model Registry에 등록, 머신러닝 모델의 버전관리와 배포된 모델의 성능 추적에 Sagemaker Model Registry가 활용, 마지막으로 데이터센터에 위치한 사용자는 모델 레지스트리에 등록되어 있는 모델 리스트를 활용/관리, 이를 통해 데이터과학자는 언제든지 모델의 상태를 확인하고 필요한 조치를 취할 수 있으며 사용자는 REST API를 통해 실시간 추론을 수행할 수 있는 완전관리형 서비스인 Sagemaker Endpoint에서 Inferencia 기반의 인스턴스를 통해 실시간 추론을 실행할 수 있음, Sagemaker Endpoint는 빌트인 추론 컨테이너로 고가용성, 다중모델로딩, A/B테스트를 위한 인프라 환경이 사전에 구축되어 있으므로 모델을 몇 줄의 코드만으로 프로덕션해 빠르게 배포 가능

사례 2. 롯데ON
- 개인화 서비스 추천 시스템에 대한 적용 사례
- 추천모델 서빙을 세개의 디커플링된 컴포넌트로 구성된 MLOps환경으로 구성
- 코드준비 및 데이터전처리 단계에서 데이터과학자가 모델과 학습파이프라인이 포함된 배포 코드를 GitLab에서 퍼블리시하면 Jenkins가 이 코드를 S3에 업로드
- AirFlow로 아마존 EMR에서 전처리 배치를 시행
- 전처리된 데이터는 S3와 피쳐스토어로 사용되는 MongoDB에 적재
- 학습 파이프라인 실행 및 모델 배포 단계에서는 S3에 학습데이터가 업로드되면 Amazon EventBridge가 AWS CodeBuild를 통해 SageMaker Pipeline을 실행
- SageMaker Pipeline은 프로비저닝을 포함한 전처리 모델학습, 모델 등록 등의 과정 등을 순차적으로 실행하고 AWS Lambda를 통해 학습 후 배포된 모델을 SageMaker Endpoint에 업로드
- 실시간 추천 추론 서비스 단계에서는 클라이언트 애플리케이션의 추론 요청을 Amazon API Gateway가 받고, API Gateway는 Lambda를 통해서 Sagemaker Endpoint에 등록된 모델에게 추천 리스트를 요청하는 추론 요청을 보내게 됨
- 추천 리스트는 다시 역순으로 Lambda, API Gateway를 통해서 클라이언트 애플리케이션에 제공되게 됨

고전 ML과 Foundation 모델의 차이
- 기존 머신러닝은 각각의 작업을 수행하기 위해 개별 머신러닝 모델에 필요한 레이블이 지정된 데이터를 수집하고 이를 기반으로 모델들에 대해 학습과 배포를 독립적으로 진행
- 반면에 Foundation모델은 레이블이 지정된 데이터를 수집하고 여러 모델을 훈련하는 대신 여러 개의 작업에 대해 사전학습된 Foundation모델을 개별 작업들을 위해 조정하여 사용
- Foundation모델은 모델의 사전학습에 활용한 데이터와 컴퓨팅의 극히 일부만 사용하여 비즈니스를 차별화하는 도메인별 기능을 사용하도록 사용자 정의를 할 수도 있음
- 기존의 ML모델과 Foundation모델은 접근방식에 상당한 차이를 보이고 있기 때문에 기존의 MLOps 방법을 적용함과 동시에 파운데이션 모델의 특성을 고려하여 운영영역의 확장을 할 필요가 있음

- FMOps는 21년 스탠포드 연구진들이 만든 용어로, '데이터를 관리하고 AI시스템의 일부로 파운데이션 모델을 조정, 배포, 최적화 및 모니터링하는데 필요한 운영 기능을 의미한다'고 정의되어 있음
- FMOps가 적용되는 파운데이션 모델은 그 크기와 범용적 특성으로 인해 기존 머신러닝 모델과 달리 파운데이션 모델을 기반으로 생성형 AI 솔루션을 만드는데 활용되며, FMOps또한 기업이 선별된 비즈니스 목표를 위해 생성형 AI기술을 활용할 수 있도록 플랫폼, 도구 및 모범사례를 제공
- FMOps는 표준화되고 반복가능하며 관찰가능한 방식으로 데이터, API, 파운데이션 모델과 상호작용할 수 있는 수평적 도구를 개발자에게 제공하는 동시에
- 비즈니스 사용자가 통찰력을 얻고 비즈니스 성과를 향상시킬 수 있도록 함

- LLMOps는 LLM에 기반한 기존 FMOps의 하위집합으로 기존 파운데이션 모델을 미세조정하여 프로덕션 환경에서 대규모 언어 모델을 배포하고 유지관리하며 규모와 성능에 대한 기대치를 충족하는데 중점
- LLMOps의 거버넌스에는 모델의 지속성, 설명가능성 및 검증가능성이 포함
- 이는 모델 개발, 구형 프레임워크, 데이터 파이프라인 및 배포 전반에 걸쳐 기술 및 추적문제를 반영하도록 함
- LLMOps는 거버넌스 및 전략적 요구 사항을 지원하는 동시에 운영 모델이 비즈니스 및 목표, 직원과 최종 고객을 지원하는 것을 목적으로 하고 있음

MLOps와 FMOps 에코시스템의 주요영역 비교
MLOps의 주요 영역
- 플랫폼 관리를 통해 AWS 계정을 생성하여 사용자와 데이터의 연결을 관리, 서비스 인프라스트럭쳐 운영을 담당
- 데이터 영역에서는 데이터를 준비/가공/시각화 실행
- 실험 영역에서는 데이터 과학자가 샌드박스/실험환경에서 새로운 라이브러리와 머신러닝 기술을 통해 비즈니스 문제를 해결할 수 있는 솔루션 구축
- 모델 구축, 테스트 및 배포 영역은 데이터 과학자와 머신러닝 엔지니어가 협업하여 연구를 자동화하고 프로덕션으로 전환하는 MLOps 계층
- 머신러닝 관리정책 영역에서는 모든 모델 및 코드 아티팩트를 저장/검토/감시함

FMOps의 에코시스템
- FMOps는 MLOps에코시스템이 커버하는 영역을 모두 차용함과 동시에 파운데이션 모델의 특성에 맞게 확장된 에코시스템의 영역과 추가 페르소나들을 가지게 됨
- 애플리케이션영역이 추가됨
- 기존 머신러닝 모델은 주어진 문제를 해결하기 위한 알고리즘 형태로 애플리케이션에 내장되어 사용됨
- 그러나 생성형 AI는 애플리케이션형태로 사용자와 상호작용하여 이용되고 있음, 이에 따라 사용자를 위한 애플리케이션의 제공과 상호작용의 관리가 FMOps 에코시스템 영역에 포함됨
- 페르소나 측면에서 파인 튜너는 파운데이션 모델을 생성형 AI 솔루션에 적합하도록 조정하는 역할을 담당
- 데이터 레이블러/에디터는 파운데이션 모델과 파인 튜닝을 위한 데이터를 관리
- 엔드유저는 애플리케이션을 통해 생성형 AI와 상호작용을 하며 원하는 작업을 수행


생성형 AI운영 마스터하기
- Generative AI 페르소나별 운영 과정

- 소비자(Consumer)
- 텍스트 프롬프트나 시각적 인터페이스를 통해 프로바이더/파인튜너가 제공하는 생성형 AI서비스와 상호작용하여 원하는 작업을 수행하는 사용자
- 머신러닝 전문지식은 필요하지 않지만, 서비스의 기능을 이해하는 대부분의 애플리케이션 개발자나 최종사용자가 속함
- 더 나은 결과를 얻으려면 프롬프트 엔지니어링이 필요함

- 주로 사용해야 하는 상황에 맞는 파운데이션 모델을 선택하고 평가하여 입력에 대한 출력을 생성하고 그 결과를 평가하는 프로세스, 이 과정은 순환적이고 반복적
- 최근 많은 기업이 컨슈머에 해당, 엔드 유저와 가장 근접한 유저타입

1. 파운데이션 모델에 대한 핵심 지표 이해

- 독점 또는 오픈소스 FM 여부: 독점모델은 제공업체에 비용을 지불하지만 일반적으로 품질이 더 좋으며, 모든 파운데이션 모델을 상업적으로 사용할 수 없기 때문에 어떤 라이센스인지 확인이 필요함
- 파인튜닝 가능여부: 해당 파운데이션 모델을 파인튜닝하여 사용할 수 있는지 여부 등








- 생산자(Provider)
- 파운데이션 모델을 처음부터 구축하여 파인튜너 및 소비자에게 제품으로 제공하는 사용자
- 포괄적인 머신러닝 및 자연어처리에 대한 전문지식, 데이터과학기술, 대규모 데이터 레이블러 및 편집자 팀 보유
- 운영 과정
- 컨슈머와 파인튜너에 비해 상대적으로 많은 수의 엔지니어와 방대한 데이터를 통해 파운데이션 모델을 개발함
- 이를 수행할 수 있는 기업의 수 역시 상대적으로 적음

- 파인튜너
- Provider의 파운데이션 모델을 사용자 지정 요구사항에 맞게 파인튜닝하는 사용자
- 소비자가 사용할 수 있도록 모델을 서비스로 배포하는 과정을 관리
- 강력한 엔드투엔드 머신러닝 및 데이터 과학 전문지식, 모델 배포 및 추론에 관한 지식 필요
- 신속한 엔지니어링을 포함한 튜닝에 대한 탄탄한 도메인 지식
파인튜너의 운영과정

- 파인튜너는 프로바이더와 컨슈머의 중간 역할을 수행하여 파인튜닝을 통해 특정 도메인에 대한 사용자 정의를 수행, 배포, 프롬프트 엔지니어링을 통해 최종적으로 컨슈머가 이용할 수 있도록 파운데이션 모델을 배포
- 파인 튜닝은 매개변수의 규모를 기준으로 2가지 유형으로 나눌 수 있음
- 일반적인 파인 튜닝은 학습과 동일한 프로세스를 따르지만 더 작은 데이터 세트 적용
- 파인튜닝된 모델은 일반 모델보다 정확도가 높지만 학습 과정은 여전히 무거움
- PEFT는 대부분의 경우 딥러닝 모델의 1/10의 데이터와 레이어를 추가하여야 하므로 작은 재학습이 필요하지만 정확도는 낮아짐
- FMOps/LLMOps의 차별화 요소




- MLOps & FMOps의 주요 페르소나 및 역할
- Generative AI 페르소나
- MLOps 기반 사람 & 프로세스
'AWS > AWS builders' 카테고리의 다른 글
| Track3) QnA 시스템 개발 실제 적용사례(작성중) (1) | 2024.02.24 |
|---|---|
| (AWS기초) Amazon EC2로 첫 워크로드 시작하기 (2) | 2024.01.18 |
| (AWS기초) 서버는 맡겨두세요! 스타트업을 위한 AWS로 쉽고 빠르게 웹 애플리케이션 구축하기 (0) | 2024.01.18 |
| (AWS기초) Amazon VPC와 On-premise 연결하기 (0) | 2024.01.18 |
| (AWS기초)초보자를 위한 컨테이너 시작하기 (0) | 2024.01.18 |