주제
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) : 연속적인 값을 예측함
- 분류 지도 학습 (Classification) :
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차 산업혁명을 바라봐야겠다는 생각을 했다.
'Data Science > TIL (Today I Learned)' 카테고리의 다른 글
| 프로그래머스 데이터분석 데브코스 1기 - 6일차 (0) | 2023.11.27 |
|---|---|
| 프로그래머스 데이터분석 데브코스 1기 - 5일차 (0) | 2023.11.24 |
| 프로그래머스 데이터분석 데브코스 1기 - 4일차 (0) | 2023.11.23 |
| 프로그래머스 데이터분석 데브코스 1기 - 2일차 (1) | 2023.11.21 |
| 프로그래머스 데이터분석 데브코스 1기 - 1일차 (1) | 2023.11.20 |