반응형 MLOps7 머신러닝 시스템 설계 - Chapter 7. 모델 배포와 예측 서비스 배포 (deploy)는 일반적으로 모델을 실행하고 액세스 가능하게 함을 의미하는 포괄적인 용어 모델은 보통 개발 환경에서 실행되지만 모델을 배포하려면 개발 환경에서 벗어나야 함 모델을 테스트하기 위해 스테이징 환경에 배포하거나 최종 사용자가 사용할 프로덕션 환경에 배포 프로덕션은 다양한 스펙트럼에서 정의될 수 있음 어떤 팀에게 프로덕션이란 비즈니스 팀에 보여줄 플롯을 생성하는 일이지만 어떤 팀에게는 하루 수백만 명 사용자를 위해 모델을 계속 가동하는 것을 의미 상황에 따라 프로덕션 환경도 매우 다양하지만 일반적으로 두 번째 팀에 가까운 상황일 때 '배포'가 중요 '어려운 부분을 모두 무시하면 배포가 쉽다'라는 말처럼 단순한 배포는 매우 쉬움 특히 최근 들어 간단한 배포를 위한 도구와 코드들이 많이 제공되.. 2023. 12. 10. 머신러닝 시스템 설계 - Chapter 6. 모델 개발과 오프라인 평가 ML 모델 개발을 하기 위해선 먼저 적절한 ML 알고리즘을 선정해야함이번 장에서는 ML 알고리즘을 선택하기 위한 팁들과 디버깅, 실험 추적, 버전 관리 등 모델 개발의 다양한 측면에 대해 기술함 모델 개발은 반복 프로세스이므로 반복이 끝날 때마다 모델 성능 비교 필요모델 배포 전 다양한 테스트를 통해 프로덕션 환경에서 좋은 결과를 내는 모델을 선정해야함 ML 모델 선정은 기본적으로 ML에 대한 백그라운드가 많이 필요한 영역책의 저자인 칩 후옌은 깃허브를 통해 ‘Basic ML Review’ 제공함개인적인 생각으로 ML에 대한 기본 개념은 자주 잊어버리기 때문에 이런 페이지들을 늘 찾아보는 습관이 중요 6.1 모델 개발과 훈련 ML모델 개발과 훈련에는 모델 평가 방법, 앙상블 생성, 실험 추적, 버전 관리.. 2023. 10. 12. 머신러닝 시스템 설계 - Chapter 5. 피처 엔지니어링 2014년 논문 Practical lessons from predicting clicks on Ads at Facebook 에서는 올바른 피처를 보유하는 것이 ML모델을 개발하는 데 가장 중요하다고 말함실제로 모델 개발에 있어 하이퍼파라미터 조정 같은 알고리즘 기법보다 피처 설계가 성능에 더 결정적인 영향을 줌 5.1 학습된 피처 vs. 엔지니어링된 피처 딥러닝이 발전하면서 피처 엔지니어링에 대한 의존도가 많이 줄어듦딥러닝은 피처를 수작업으로 만들 필요없이 알고리즘에 의해 자동으로 학습되고 추출됨하지만 모든 피처가 자동으로 학습되는 것도 아니고 ML 프로덕션 환경에서 쓰이는 모델 대부분은 딥러닝 모델이 아님 예를 들어 딥러닝 이전에 자연어 분석을 위해서는 원본 텍스트에서 불용어 제거, 표제어 추출, 줄임.. 2023. 10. 10. 머신러닝 시스템 설계 - Chapter 4. 훈련 데이터 3장은 시스템 관점에서 데이터를 처리하는 방법다뤘다면 이번 챕터는 Data science 관점에서 데이터를 처리하는 방법을 다룸 ML 모델을 개발하는데 훈련 데이터는 매우 중요하지만 대부분의 커리큘럼은 전체 업무 프로세스에서 일부분일 뿐인 ‘모델링’에 치중됨 (물론 나도 그렇게 배웠다)ML 모델을 시스템으로 만들고 프로덕션에 배포하기 위해서는 데이터를 올바르게 처리하는 일도 매우 중요 이 책에서는 ‘훈련 데이터셋’이 아닌 ‘훈련 데이터’라는 용어를 사용‘데이터셋’은 유한하고 고정적인 집합을 의미하지만 프로덕션 환경에서 데이터는 유한하지도 고정적이지도 않음ML 시스템 개발 과정에서 훈련 데이터 생성 역시 반복 프로세스모델이 수명 주기를 한 사이클 돌고 나면 훈련 데이터 역시 개선될 가능성이 높음 (높은 확.. 2023. 10. 6. 머신러닝 시스템 설계 - Chapter 3. 데이터 엔지니어링 기초 3.1 데이터 소스 ML 시스템은 다양한 소스에서 온 데이터로 작동소스 별 데이터마다 특성, 목적, 처리 방법 등이 다르므로 소스를 파악하면 데이터를 효율적으로 사용하는데 도움이 됨 사용자 입력 데이터 (user input data)사용자가 명시적으로 입력하는 데이터텍스트, 이미지, 비디오, 업로드된 파일 등이 해당사용자가 원격으로 데이터를 입력하기 때문에 잘못된 포맷이 될 가능성이 매우 높으므로 철저한 검사와 처리가 필요 (수치가 필요한 곳에 문자 입력, 깨진 파일 등등)사용자는 즉각적인 반응을 원하므로 빠른 처리가 필요한 경향이 있음 시스템 생성 데이터 (system-generated data)시스템의 여러 구성 요소에서 생성된 데이터 (로그, 모델 예측 같은 시스템 출력 등)로그는 시스템의 상태와 .. 2023. 8. 15. 머신러닝 시스템 설계 - Chapter 2. 머신러닝 시스템 설계 소개 ML 시스템 설계 시 주요 고려 사항으로 목적, 요구사항, 프로세스, 문제 구조화 등이 있음목적은 시스템이 필요한 이유비즈니스용이라면 비즈니스 목적에 맞게 ML 모델의 목적 설정 필요 요구사항은 시스템 개발의 이정표신뢰성, 확장성, 유지보수성, 적응성 등 다양한 항목을 고려한 요구사항 정의 필요또 이를 만족하는 시스템을 설계하기 위한 반복 프로세스가 정의되어야 함 ML 알고리즘으로 문제를 풀기 위해서는 해당 문제를 ML 문제로 구조화하는 작업 필요 2.1 비즈니스와 머신러닝의 목적 데이터 과학자는 ML 프로젝트를 진행하면서 모델 지표 (MAE, F1-score 등) 를 끌어올리는데 주력종종 모델의 정확도를 높이기 위해 방대한 자원을 투입하기도 함 하지만 비즈니스 환경에서 이런 ML 지표 자체에는 크게 관.. 2023. 8. 6. 머신러닝 시스템 설계 - Chapter 1. 머신러닝 시스템 개요 ‘머신러닝 시스템’ 이라고 하면 다들 알고리즘만 떠올리지만 프로덕션 환경에서 알고리즘은 ML 시스템의 일부 시스템은 프로젝트의 출발점이 된 비즈니스 요구사항, 사용자와 개발자가 시스템과 상호작용하는 인터페이스, 데이터 스택, 모델을 개발 및 모니터링하고 업데이트하기 위한 로직과 이 로직을 전달할 수 있는 인프라까지 포함 1.1 머신러닝을 사용해야 하는 경우 ML 프로젝트를 수행하기 전에 반드시 필요한가? (필요조건인가?) 비용 효율적인가? 를 꼭 따져봐야함일반적으로 ML 솔루션은 아래와 같은 작업을 수행함💡ML은 기존 데이터로부터 복잡한 패턴을 학습하고 이러한 패턴을 사용해 본 적 없는 데이터에 대해 예측을 수행하는 접근법 ML 을 도입하기 전 확인해야할 사항들 학습 : 시스템에 학습 능력이 존재ML 은.. 2023. 7. 30. 이전 1 다음 반응형