주제

1. 데이터 기반 제품 개선

2. ML이란?

3. MLOps에 대해서

 

데이터 기반 제품 개선 (Product Science)

데이터 과학자의 역할

  • 머신러닝 형태를 이용하여 사용자들의 경험 개선
    • 문제 - 가설 - 데이터 수집 - 예측 모델 빌딩 - 테스트
    • 장시간이 필요하지만 짧은 사이클로 시작하여 단순화하는 것이 베스트
    • A/B 테스트 수행

 

모델 개발 전체 과정

  • 문제 정의 -> 훈련용 데이터 수집 -> 모델 빌딩과 테스트 -> 모델 배포 -> A/B 테스트 -> 전체 론치
  • A/B 테스트 -> 테스트 결과 분석 -> 훈련용 데이터 수집으로 돌아가는 사이클

 

머신 러닝(Machine Learning)의 정의

"배움이 가능한 기계의 개발"

  • 데이터의 패턴을 보고 흉내내는 방식(imitation)
  • 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야
  • 딥러닝은 이 중의 일부
  • AI는 머신 러닝을 포괄하는 개념

 

머신 러닝 모델이란?

  • 머신 러닝을 통해서 최종적으로 만들어내는 결과물
    • 특정 방식의 예측을 해주는 블랙박스
      • 선택한 머신 러닝 알고리즘에 따라 내부가 달라짐
      • 디버깅이 쉽지 않음
    • 입력 데이터를 제공하면 그를 기반으로 예측
  • 모델 트레이닝 / 빌딩 : 머신 러닝 모델을 만드는 것을 지칭함

 

머신 러닝의 종류

1. 지도 기계 학습(Supervised Machine Learning)

  • 명시적 예제(트레이닝셋)을 통해 학습 : 정답이 존재함
    • 분류 지도 학습 (Classification) :
      • 이진 분류(Binary Classification) : 타깃(예측값)이 어떤 기준에 대하여 참 또는 거짓의 값을 가짐
      • 다중 분류(Multiclass Classification) : 타깃이 가질 수 있는 값이 3개 이상
    • 회귀 지도 학습 (Regression) : 연속적인 값을 예측함

2. 비지도 기계 학습(Unsupervised Machine Learning)

  • 정답이 존재하지 않음
  • 클러스터링 혹은 뉴스 그룹핑처럼 주어진 데이터를 몇 개의 그룹으로 분리
  • GPT 같은 언어 모델의 훈련이 속함

3. 강화 학습(Reinforcement Learning)

  • 알파고 혹은 자율주행

 

지도 기계 학습

지도 기계 학습의 과정

  • 모델이 예측해야하는 필드를 레이블 / 타겟이라고 부름
  • 기존 필드로부터 새로운 필드를 뽑아내는 것이 일반적 : Feature Engineering

 

비지도 기계 학습 예 - Language Model

  • 문장의 일부를 보고 비어있는 단어를 확률적으로 맞추는 모델
  • context window : 중심 단어를 예측하기 위해 앞, 뒤 몇 개의 단어를 볼지 정한 뒤의 범위(window)
    • ex. 앞의 3단어를 보고 뒤의 한 단어를 맞추기

 

ML 모델 개발 시 고려할 점

  • 마찰이 생기는 지점 - 개발된 모델의 이양 관련
  • R로 개발된 모델은 바로 프로덕션 론치가 불가능
  • 하지만 대부분의 데이터 과학자가 R로 모델을 개발
    • 개발 / 검증된 모델의 프로덕션 환경 론치 시 시간이 소요되고 오류 가능성 존재

 

모델 개발 시 꼭 기억할 포인트

  • 개발된 모델을 바로 론치 가능하게 하는 프로세스 / 프레임워크가 필요함
  • 툴을 하나로 통일하면 제반 개발과 론치 프레임워크의 개발이 쉬워짐
  • 우버, 넷플릭스 등도 자체 머신 러닝 개발과 배포를 위한 프레임워크를 개발함
  • 모델의 첫 론치는 시작일 뿐, 운영을 하면서 점진적인 개선이 이루어져야 함
  • 피드백 루프의 중요성!

 

머신 러닝 사용 시 고려할 점

데이터 윤리

  • 데이터로부터 패턴을 찾아 학습을 하는 과정이므로 데이터의 품질과 크기가 중요함
  • 데이터로 인한 왜곡(bias) 발생 가능성을 염두에 둬야 함 (AI 윤리)
  • 내부동작 설명 가능 여부도 중요(ML Explainability)
  • 데이터 권리도 중요한 문제
  • 잘못된 개인정보 보존으로 인한 패널티 존재

데이터 기반 AI는 완벽한가?

  • 트레이닝셋의 품질
    • 데이터의 양도 중요하지만 품질이 더 중요함 : Garbage In Garbage Out
  • AI 도입 시 발생할 문제들을 어떻게 해결할 것인가
    • 결과를 설명할 수 있는지
    • 알고리즘에 인종이나 특정 편향성이 있지는 않은지
  • EU 관련 법규 : Trustworthy AI
    • 감독(human agency and oversight)
    • 견고성과 안전성(robustness and safety)
    • 개인 정보 보호 및 데이터 거버넌스(privacy and data governance)
    • 투명성(transparency)
    • 다양성과 비차별성과 공정성(diversity, nondiscrimination and fairness)
    • 사회/환경친화적(societal and environmental well-being)
    • 문제 발생 시 책임 소재(accountability)

 

MLOps란?

머신 러닝 모델 빌드, 배포, 모니터링의 전체 프로세스를 자동화하는 직군

 

MLOps vs. DevOps

MLOps DevOps
DevOps와 동일, 하지만 대상이 개발자의 코드가 아니라 ML 모델 개발자가 만든 코드를 시스템에 반영하는 프로세스 담당(CI / CD)
모델을 계속적으로 빌딩하고 배포하고 성능을 모니터링 시스템이 제대로 동작하는지 모니터링, 이슈 감지시 escalation 프로세스 수행 (on-call 프로세스)
모델 서빙 환경과 모델의 성능 저하를 모니터링하고 필요 시 escalation 프로세스 실행
 - Latency(실행시간)의 중요성
 - Data drift 측정
 

 

 

Data Drift

  • 시간이 지나면서 입력 데이터의 분포가 변화하는 현상 = 모델의 성능 저하 현상
  • 모델 개발 후 지속적으로 관리하지 않으면 벌어지는 현상으로 이를 방지하기 위해 새롭게 생긴 직군이 MLOps
  • ML 모델에서 가장 중요한 것은 훈련 데이터
    • 시간이 지나면 훈련 데이터와 실제 환경의 데이터가 다르게 변함 (모니터링 해줘야 함) 
    • 주기적으로 모델을 다시 빌딩해주는 과정이 필요

 

 

CI & CD

  • CI(Continuous Integration) 
    • 개발자들은 수시로 새로운 코드를 머지하고 수정함
    • 그것을 중앙 레포로 빌딩하고 테스트하는 것
  • CD(Continuous Delivery or Deployment)
    • 테스트가 완료된 빌드를 프로덕션 환경으로 배포하는 것

 

 


느낀점

최근 머신 러닝에 대한 관심이 뜨겁지만 정확이 어떤 것인지는 알지 못했는데 오늘 강의를 통해서 자세히 알 수 있었다. 그리고 신규 직업이라고 말할 수 있는 MLOps에 대해서도 알게 되었는데 머신 러닝 모델의 전체 프로세스를 알아야 한다는 점에서 굉장히 경험이 많은 사람만 할 수 있는 직업이라고 생각이 들었다.. 강사님 말씀처럼 AI가 사람의 직업을 빼앗는다는 관점보다는 오히려 이로 인해 새로운 직업(MLOps)이 생길 수 있다는 관점으로 4차 산업혁명을 바라봐야겠다는 생각을 했다.

+ Recent posts