상세 컨텐츠

본문 제목

[패스트 캠퍼스] 10개 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 (1)

데이터 과학

by Taeyoon.Kim.DS 2023. 11. 25. 00:11

본문

1.Part 1 머신러닝, 제대로 알고 가자

강사 및 강의 소개

10개의 현업 프로젝트를 통해서 실제 실습할 수 있도록 한다.

MLOps에 대해서 간략하게 설명한다면, 머신러닝을 운영하는 기술이다. 기계 학습 모델을 관리하고 서비스화 하기 위한 배포를 한다. 그리고 유지보수 하기 위한 방법과 프로세스를 가르킨다. 

 

1. 머신러닝 상품화: AI 모델을 실제 제품 또는 서비스에 통합하여 상업적으로 활용 가능한 형태로 전환하는 과정

2. DevOps : 소프트웨어 개발과 IT상품화 간의 협력,통합 및 자동화를 강조하는 배포 프로세스 문화?

3. 자동화 : 개발과 시스템 운영에서 반복적으로 사람 노동력이 필요한 일을, 소프트웨어적으로 자동화 하는 것. 인프라를 코드로 관리. Terraform같은 것이라 생각하면 될 듯.

4. CI & CD : CI는 변경된 코드를 빠르게 통합하고, 품질 검증을 자동화. BitBucket이 전체 코드가 돌아가는지 확인해주기.

CD는 소프트웨어의 버전 업데이트를 빠르게 제공하기 위한 자동화.

5. 스케일링 : 서버 수를 늘리는 것. EC2 auto scaling같은.

 

실생활 속 ML은 어떻게 쓰이는가?

1) 머신러닝이란? 

○ 일반적인 소프트웨어에서는 입력에 대한 출력이 나오지만, 머신러닝은 학습과정을 거쳐서 모델이 생성됨. 알고리즘과 데이터가 인풋으로 들어간 후에 패턴을 인식한 후, 입력에 대한 출력이 리턴됨.

데이터를 기반으로 패턴을 학습하고 예측을 수행하는 컴퓨터 과학 분야. 기계학습은 인공지능의 하위 분야로서 AI 시스템을 개발하는데 사용된다. AI는 인간 수준의 학습과 추론 능력을 컴퓨터에 부여하는 것.
ML은 1) 데이터의 증가와 컴퓨터 발전, 2) 일반 프로그래밍으로는 해결 어려운 복잡한 문제를 해결, 3) 예측과 자동화가 중요해짐.

 

2) 일상 생활 속 깊이 파고든 ML
Fraud Detection, Photo Editing, Recommendation, AI assistant, Face unlocking, Self driving cars, Machine Translation, Smart Security Cameras.
* 우리가 사용하는 ML (스마트폰 및 음성 비서, 온라인 검색 및 광고 추천, 자율 주행 자동차), 비즈니스 속 활용 (마케팅 및 고객 세분화, 품질 향상과 고장 예측, 고객 서비스와 대화형 AI), 엔터테인먼트에서의 활용 (영상 및 오디오 AI 생성), 공공 서비스 및 사회적 활용 (도시 교통 최적화, 범죄 예측과 예방, 환경 모니터링 및 보전)

기업에서는 1초의 레이턴스가 나더라도, 참고 자료로 판단하고 의사 결정을 돕는 역할을 한다. 

 

3) 개인 정보 보호 및 윤리적 고려

* 데이터 민감성과 개인정보 보호 - 개인 정보 노출의 위험성, GDPR과 같은 규제의 중요성, 데이터 보안 및 암호화
* 인간과의 협력 및 윤리적 고려사항 - 로봇 공동 작업, 의료 로봇, 고객 서비스 로봇 및 인간과 AI 협력 진행,
* 윤리적 고려 사항 : 인공지능의 편견과 인간 편견의 연계성 강조
* AI 교육 및 의식화 - AI 윤리 및 윤리 교육의 중요성/ AI 개발자 및 사용자를 윤리적 고려사항 교육

 

ML은 성능만 좋다고 서비스 할 수 없다

연구하는 ML이 정말 활용될까?
Research ML vs Production ML
Research ML은 모델 성능에 치중한다 (SOTA), Production ML은 관계자 별로 상이하다. 

Research ML   Production ML
모델 성능 (SOTA) ML Development Goal 관계자 별로 다양함
Fast Training Computation Fast Inference
High Throughput Latency vs throughput Low Latency
Static Data Dynamic
Not considered much yet Fairness Important
Not considered much yet Explainability Important

 

Research에서는 모델의 성능을 검증해야 하기 때문에, 특정한 데이터셋이 반복적으로 사용되게 된다. (CIFAR 10, ImageNet 등). Production에서는 공정성과 해석 가능성이 떨어지면 배포하기가 어렵다. 

실무 ML에서의 이해관계자와 목표

- ML 프로젝트의 성공은 다양한 역할을 가진 이해관계자들의 협력에 의존한다. 본인의 역할에 따라 ML에 대한 다양한 목표 (Objective)를 추구한다.

Data Scientist & ML Engineer 모델 개발 및 훈련 담당
목표: 모델 성능 최대화, 최신 기술과 알고리즘 적용
Sales AI 제품의 광고 및 비즈니스 모델에 관여
목표: 소비자에게 어필할 수 있는 부분을 관심.
Product Owner 사용자 경험과 제품 기능 관리
목표: 사용자의 만족도 향상, 빠른 추론 및 훌륭한 사용자 경험
Infra Engineer & Backend Engineer 모델 운영과 인프라 관리 담당
목표 : 안정적 모델 운영. 확장 가능한 시스템 구축 성능 유지
Manager 프로젝트 조율과 리소스 할당 관리
목표: 프로젝트 매니징. 

 

* Activity : Accommodation Apps - recommendation system?
DS & ML: 정확도가 높은 추천 시스템 개발.
정답: 사용자가 숙박할 확률 높은 곳 추천
Sales: 소비자가 좋아할만한, 그러나 이윤이 많이 나는 제품을 더 추천하는 것을 선호

정답: 광고비를 많이 내는 숙박 업소 추천

Product Onwer: 딜리버리가 일정한 모델
정답: 모델 추론 지연 속도를 200ms 이내로 할 수 있는 모델
Infra Engineer & Backend Engineer: 서버가 뻑나지 않는 모델 선호

정답: 안정성, 모델 업데이트 보류 희망

관리자: Project가 시일내에 완료될 만큼 빠르지만 성능 좋은 모델 선호.

 

모델 A와 모델 B가 서로 다른 특징을 가지고 있다면 사람마다 원하는 모델이 다르다.

Computation 우선순위

최적화의 함정: 모델의 성능 최적화를 위해 앙상블 모델을 구성하거나, 반복적인 모델 훈련을 하거나, 너무 복잡한 모델을 개발하게 된다.

대기시간 vs 처리량 : 사용자의 특정 작업을 요청한 후, 실제 결과를 반환받기까지 걸리는 시간 vs 한번에 처리할 수 있는 input. 예를 들어, 100ms의 지연이 conversion rate가 7% 감소할 수 있음. Google은 페이지 로드에 3초 이상이 걸리면, 모바일 사용자 중 절반 이상이 페이지를 이탈한다고 함.

Data 특성

Research ML Data는 깔끔한 편. Production ML Data는 노이즈가 많고 구조가 복잡하며, 데이터가 지속적으로 변한다. 잘못된 데이터가 상당히 많고 정답 label이 없는 경우가 많다. Data Engineering과 Feature Engineering이 많이 필요하다.

 공정성

해석 가능성 (Explainability)

 

머신러닝 개발은 기존 소프트웨어 개발과는 다른 여정이다

Software System Input에 따라 Output이 나옴    
DevOps Development & QA & Operations가 포함됨.     
ML System 데이터를 기반으로 스스로 학습하여 결정 큰 용량의 데이터 활용 학습 --> 예측 --> 일반
  지도/비지도/강화 데이터 수집과 저장 -> 전처리 -> 모델 선택 -> 학습 -> 모델 평가 -> 예측  

ML 모델의 생애주기 전반을 관리하고 최적화 하기 위한 접근 방식

 

DevOps   ML System
Important Automation Important
SW development, improve operation process Target Learn pattern from data
SW release preiod shorten, service ops Objective SW + DA and prediction for descision making and automation
CICD + Programming Process CICD + DataPrep/Engineering/Training/Evaluation/Inference
Quality Check Validation QA + Prediction result explaination
  Explainability Important
CICD tools (Bitbucket/Gitbase etc) Tools ML frameworks + data Viz
SW development + Ops Communication DS, Engineers, Business, Sales. Users
Small Data Storage Cloud based big data

 

우리는 무엇을 공부해야 하나?

모델의 성능만 높이기보다는 다양한 직군을 아우를 수 있는 시스템을 만들어야 한다. 

 

Summary:

Research ML과 Production ML간의 차이를 쉽게 설명함. 실제로 학습하는 부분은 없다고 보면 됨. 그래도 말이 어색하거나 지루하지는 않음. 1.5배 또는 2배로 올리긴 함. 이걸 들으면 전문가가 된다는 말이 많아서 헛소리라고 생각되긴 하지만 그냥 넘어가기로함.

 

 

 

 

 

 

 

 

관련글 더보기