[ML LifeCycle] Intro

조유솔·2024년 8월 12일
0
post-thumbnail

Machine Learning Life Cycle이란?

ML 모델을 개발 -배포 - 유지보수하는 단계들을 정의하는 프로세스.

지금까지 난 1~4단계, 즉 데이터 수집부터 모델 개선까지를 다루는 플젝을 주로 진행해왔는데, 거대 시스템에 deploy하고 실제로 내 서비스의 유효성을 모니터링+보수해가는 그런 완성도높은 프로젝트를 진행하고 싶다.




1. 계획하기(Planning)

• ML 애플리케이션의 범위,성공 지표 및 실현 가능성을 평가하는 작업 포함
• 비즈니스와 머신러닝을 사용하여 현재 프로세스를 개선하는 방법의 이해
• 비용-편익 분석과 여러 단계로 솔루션을 출시할 방법의 이해
• 비즈니스, 머신 러닝 모델(정확도, F1 점수, AUC), 경제성(핵심 성과 지표)에 대한 명확하고 측정 가능한 성공 지표 정의
• 타당성 보고서 작성

→ 내가 가장 흥미로워하는 단계이고, 프로젝트 전체 성과를 좌우하는 방향키가 되는 단계이다. 특히 성공 지표를 정의하는 일, 실현 가능성을 평가하는 작업, 비용-편익 분석은 실제 비즈니스에서 그 중요성이 매우 클 것! 앞으로 진행할 프로젝트에서는 이런 현실적인 부분을 더욱 고려해야겠다.
→ 학부때 이론으로만 배운 ML프로세스와는 내용이 확실히 다르긴 하다(그 때는 실현가능성, 비용은 냅두고 성능만 따졌기에..)
'측정 가능한'⭐️⭐️ 성공 지표 정의'

ML문제정의 방법

  • 다음의 P, T, E를 제대로 정의해야한다.
    • 작업 T에 대해
    • 경험 E와 함께
    • 성능 P를 향상




2. 데이터 준비(Data Preparation)

• 데이터 수집 및 라벨링
• 데이터 정리(Cleaning)
• 데이터 처리
• 데이터 관리




3. 모델 엔지니어링(Model Engineering)

• 광범위한 조사를 통해 효과적인 모델 아키텍처 구축
• 모델 메트릭 정의
• 학습 및 검증 데이터셋으로 모델 학습,검증
• 실험, 메타데이터, 기능, 코드 변경 및 ML 파이프라인을 추적
• 모델 압축 및 앙상블 수행
• 도메인 지식 전문가를 통하여 결과 해석




4. 모델 평가(Model Evaluation)

• 테스트 데이터 셋으로 모델 테스트, 전문가를 참여시켜 예측오류 파악
• AI 솔루션 구축을 위한 산업적, 윤리적, 법적 프레임워크를 준수하는지 확인 • 무작위 및 실제 데이터에 대한 견고성(robustness) 테스트
• 결과를 계획된 성공 지표와 비교하여 모델 배포 여부 결정




5. 모델 배포 (Model Deployment)

: 클라우드 및 로컬 서버, 웹 브라우저, 소프트웨어 패키지 등에 배포
(API, 웹 앱, 플러그인 또는 대시보드를 사용하여 접근)

  1. 모니터링 및 유지, 관리 (Monitoring and Maintenance)
    • 모델 지표, 하드웨어 및 소프트웨어 성능, 고객 만족도를 모니터링



cf. 강화학습

학습의 종류에는 지도학습, 비지도학습 외에도 '강화학습'이 존재
(= 인간이 기술을 습득하는 방식과 가장 유사함)

  • 지도/비지도 = 데이터가 있다는 가정 하에 그 데이터에 대해서 학습을 진행
  • 근데 이건 결이 좀 다르다
    • 어떤 ML모델(=Agent)이 이미 있다고 가정을 하고
    • 우리가 풀려는 문제(Task)가 있는 환경에 Agent를 던져놓고 interaction을 하게 한다
    • 그리고 그 속에서 어떤 Task를 무수히 반복적으로 수행
    • Task를 제대로 수행했을 때, Reward 제공
      • 보상이 있는 상태 + 액션 -> 특정 상태에서 어떻게 행동해야 하는지 지침을 생성하게 된다. 이 지침을 'Policy'라고 한다.
    • 에이전트 스스로 원하는 기술을 습득

0개의 댓글