차근차근 한걸음씩 개발 일기
[Review - 머신러닝 시스템 설계] Ch 1. 머신러닝 시스템 개요 본문
처음으로 선정한 책은 '머신러닝 시스템 설계'이다. 내가 머신러닝 엔지니어로 나아가기 위해 꼭 필요한 책이라 판단했고, DX Camp 행사에서도 관련 내용을 통해 강의를 진행한다면 많은 사람에게 도움이 되지 않을까 싶었다. 책 내용을 블로그에 요약 정리하며 머신러닝 시스템을 이해하고, 후에 강의 내용도 만들어볼 예정이다. 요약은 내 주관에 의해 중요한 부분을 위주로 정리하였다.
1.1 머신러닝을 사용해야 하는 경우
ML은 모든 문제를 해결하는 마법의 도구가 아니다. ML로 해결 가능한 문제라도 그 ML 솔루션이 최선이 아닐 수 있다. 그렇기에 프로젝트를 시작할 때 ML이 필요조건인지, 비용 효율적인지 스스로 질문해봐야한다.
ML이란? 기존 데이터로부터 복잡한 패턴을 학습하고 이러한 패턴을 사용해 본 적 없는 데이터에 대해 예측을 수행하는 접근법
1. 학습: 시스템에 학습 능력이 있을 때
-
2. 복잡한 패턴: 학습할 패턴이 존재하며 복잡할 때
ML이 필요없을 때
1. 주사위 결과 예측 => 패턴이 없다
2. 숙소 목록에 주별로 정렬하는 시스템 => 패턴이 너무 단순하다
ML을 사용할 때
1. 임대료 예측 => 모든 특성 값 간의 관계가 복잡하고 수동으로 패턴을 지정하기가 매우 어렵다.
2. 객체 탐지, 음성 인식 => 패턴 파악이 어려움
3. 기존 데이터: 사용 가능한 데이터가 있거나 데이터 수집이 가능할 때
- ML은 데이터로 학습하기에 학습을 위한 데이터가 있어야한다.
- 제로샷러닝의 맥락에서는 특정 작업 관련 데이터로 훈련하지 않더라도 좋은 예측을 할 수 있다. 다만 다른 연관 데이터로 훈련을 해야한다.
- 연속 학습의 맥락에서는 훈련하지 않은 ML 모델을 먼저 배포한 뒤 프로덕션 환경에 들어오는 데이터로 학습은 가능하다. 다만 성능 검증이 되지 않았기에 고객 경험이 악화되는 경우가 있다.
4.예측: 예측에 대한 문제
비용이 낮고 근삿값인 예측을 대규모로 수행해 이득을 볼 수 있을 때 가장 매력적인 모델이 될 수 있다.
5. 본 적 없는 데이터: 본 적 없는 데이터가 훈련 데이터와 동일한 패턴을 가질 때
-
6. 반복적일 때
- 인간은 퓨샷 러닝에 능숙하다. 하지만 ML은 패턴 학습에 많은 데이터를 필요로 한다.
7. 잘못된 예측으로 발생하는 비용이 낮을 때
8. 대규모 수행
9. 패턴이 지속적으로 변할 때
1.2 머신러닝 시스템 이해하기
1.2.1 연구용 머신러닝 vs 프로덕션용 머신러닝
그래프 그리기
다양한 이해관계자와 요구사항
- 관리자 입장에서 마진을 최대화하기를 원하고 그 중 한가지 방법이 ML팀을 내보내는 것이다. 충격..
또한, IBM, 우버, 에어비앤비에서 보고한 바와 같이 ML 및 데이터 과학 팀이 기업에서 대규모 정리 해고의 첫 번째 대상이 되는 일은 흔하다고 한다.
계산 우선순위
데이터
공정성
- 우리는 자신도 모르는 사이에 편향된 수학 알고리즘의 희생자가 될 수 있다고 한다. 그 예로
1. 대출 심사 관련 ML 알고리즘을 구축할 때 우편 번호를 활용한다면 개인의 사회경제적 배경에 대한 편견이 담겨 대출 신청이 거부될 수 있다.
2. 이력서 랭킹 시스템의 고용주가 이름 철자를 활용해 이력서의 순위
3. 담보 대출을 할 때에도 신용 점수를 고려할 경우 부자에게 유리하고 가난한 사람에게는 불리할 수 있다.
이 있다. 그 밖에도 예측 치안, 잠재적 고용주 관리 성격 검사, 대학 순위 등이 이에 해당한다.