Architecting for Scale(확장을 위한 설계)
문제를 이해하고 정의하는 동안 수집된 요구사하은 구조를 설계하는데 도움이 된다.
문제 예시: 사용자들과 관련된 광고들을 표시해주는 머신러닝 시스템 설계
- 문제를 설정하는 동안 사용자들과 광고들이 매우 크고 증가하고 있다는 것을 질문하고 이해해야한다.
- 데이터가 증가하더라도 모든 사용자들에게 관련있는 광고들을 빠르게 찾을 수 있는 시스템이 필요하다.
- 이 시스템은 증가하는 요소들을 다루기 위해서 확장가능해야한다.
이러한 이유들 때문에 복잡한 머신러닝 모델을 설계하면 안된다.
그리고 시스템의 모든 광고들을 위해 모델을 사용해야한다.
만일, 복잡한 모델을 설계할 경우 많은 시간과 자원이 필수불가결할 것이다.
해결 방안: Funnel Approach(깔때기 접근)
Funnel Approach 는 각 단계가 적은 광고를 가지고 데이터를 처리할 것이다. 이 방법은 이후의 각 단계들에서 복잡한 모델들을 안전하게 사용할 수 있도록 도와준다.
- 깔때기에 시스템에서 보여줄 광고들을 넣는다고 생각하자.
- 많은 사용자들을 만족시키기 위해 많은 광고들을 수집했을 것이다.
- Stage는 각 단계별로 존재한다고 가정하자.
- 광고의 갯수들을 단계 별로 줄여나가면, 하위 단계에서는 복잡한 모델들을 사용할 수 있다.
'컴퓨터공학 > Machine Learning Study' 카테고리의 다른 글
[머신러닝 시스템 디자인 스터디 Part5] Performance and Capacity Considerations (0) | 2022.08.18 |
---|---|
[머신러닝 시스템 디자인 스터디 Part5]Offline model building and evaluation (0) | 2022.08.14 |
[머신러닝 시스템 디자인 스터디 Part3]Defining metrics (0) | 2022.08.11 |
[머신러닝 시스템 디자인 스터디 Part2]Setting up a Machine Learning System (0) | 2022.08.10 |
[머신러닝 시스템 디자인 스터디 Part1] How Does This Course Help in ML Interviews? (0) | 2022.08.09 |