본문 바로가기

분류 전체보기

(6)
4장 초기 데이터셋 준비하기 4.1 반복적인 데이터셋 데이터셋 자체가 모델 성공의 핵심 요소입니다. 따라서 모델링과 마찬가지로 데이터 수집, 준비, 레이블링이 반복적인 과정이어야 합니다. 당장 모를 수 있는 간단한 데이터셋으로 시작하고 여기서 배운것을 바탕으로 데이터셋을 향상해봅니다. 더보기 ⇢ 전체 머신러닝 프로젝트를 End to End 프로세스라고 보고 반복하는것도 중요하지만, ⇢ 머신러닝 프로젝트의 각 부분을 또 다른 End to End 프로세스라고 바라볼 수도 있다. ⇢ 다만 전체 그림을 안 뒤, 각 부분에 집중하는것이 좋을것이라 생각한다. 이 분야를 새로 접한 사람이라면 데이터를 반복, 수정, 향상할 수 있는 제품의 일부로 다루는 것이 큰 패러다임의 전환입니다. 하지만 익숙해지면 데이터는 새로운 모델을 개발하는 데 가장 좋..
1장 소프트웨어 엔지니어링이란 (스케일링)? 본문 Everything your organization relies upon to produce and maintain code should be scalable in terms of overall cost and resource consumption. In particular, everything your organization must do repeatedly should be scalable in terms of human effort. When your project doubles in scope and you need to perform that task again, will it be twice as labor intensive?Will you even have the human resour..
3장 엔드투엔드 파이프라인 만들기 본문 첫 번째 시스템은 일부러 대충 만듭니다. 이 시스템은 파이프라인의 모든 구성 요소를 준비하고 다음에 개선할 우선순위를 설정하는 것입니다. 파이프라인 전체를 갖추어야 성능 병목을 쉽게 찾아낼 수 있습니다. 더보기 ⇢ 모든 문제(머신러닝에 국한된 것이 아님)는 대충 만드는 것부터 시작해야한다. ⇢ 가능하다면 시작부터 끝까지(종단, End to End) 전체 파이프라인을 대충이라도 만들어야 한다. ⇢ 물론 이미 전체 파이프라인을 만들어 봤다면, 경험적 법칙으로 습득한 기법을 어느정도 그대로 사용할 수도 있다. ⇢ 이 단계에서는 크게 신경쓰지 말고, 말 그대로 대충 만든다. ⇢ 모듈화, 기준 모델의 성능 모두 신경쓰지 말자. 오히려 지나치게 신경썼다가 나중에 다 갈아엎는 데 시간이 더 걸리는 기괴한 현상을..
1장 소프트웨어 엔지니어링이란 (시간/변화)? 본문 We see three critical differences between programming and software engineering: time, scale, and the trade-offs at play. 시간과 변화(Time and Change) Within Google, we sometimes say, "Software engineering is programming integrated over time". ... software engineering tasks(development, modification, maintenance). The addition of time adds an important new dimension to programming. ... This distinc..
2장 계획 수립하기 이 네모박스에 적힌 글은 책의 내용 중 제가 중요하다고 생각된 부분을 그대로 옮긴 것입니다. "더 보기"로 나타나는 내용은 제 생각이 담겨 있습니다. 본문 모든 머신러닝 제품의 유용성에 큰 영향을 미치는 네 가지 성능에는 비즈니스 성능, 모델 성능, 최신성, 속도가 있습니다. 이 지표를 명확히 정의해야 작업을 반복할 때마다 성능을 정확하게 측정할 수 있습니다. 비즈니스 성능 목표가 명확하다면 측정 대상을 정의하여 목표가 달성되었는지 판단해야 합니다. 이 지표는 모델의 성능 지표와는 다르며, 오직 제품의 성공만을 반영해야 합니다. 더보기 ✔️ 모델을 학습시킬 때 손실, 메트릭(비즈니스 성능)을 바라보며 모델의 성능을 측정한다. ✔️ 손실이 최소화된 지점이 반드시 메트릭이 최대화 된 지점을 의미하는것은 아니..
1장 제품의 목표를 머신러닝 문제로 표현하기 이 네모박스에 적힌 글은 책의 내용 중 제가 중요하다고 생각된 부분을 그대로 옮긴 것입니다. ✼ 머신러닝 기반 해결책이 만들어지는 데 까지는 여러 시행/착오가 동반됩니다. ✼ 머신러닝, 인공지능, 딥러닝을 일종의 Magic 키워드라고 생각하지 않고 문제를 들여다보는게 좋겠네요. ✼ 경험적으로 알게된(규칙)으로 풀 수 없는 문제를 풀어내는 능력 때문에, "와 이제까지 해결안되던걸?" 같은 느낌때문에 Magic 이라고들 많이 생각합니다. 하지만 Magic 을 만들어내는 데는 상당한 노력이 필요합니다. 결과물이 Magic일 뿐이지, 결과물을 만드는 과정이 Magic은 아닙니다. 경험적으로 해결책을 정의할 수 "없는" 문제에 적합한 시스템을 만들 때 특히 머신러닝이 유용합니다. 하지만, 머신러닝으로 어떤 작업을..