이 글은 7장 Training Systems을 참고하여 작성했습니다. Chapter 7. Training Systems (3) - Common Training Reliability Problems ML(머신러닝) 학습 시스템은 복잡한 데이터 처리 파이프라인으로 구성되어 있어 다양한 문제에 직면할 수 있습니다. 특히 데이터 민감성, 재현성 부족, 용량 부족은 학습 시스템에서 자주 발생하는 신뢰성 문제입니다. 이번 글에서는 앞선 세 가지 문제와 더불어 팀 또는 사회적 구조에서 발생할 수 있는 문제들을 살펴보겠습니다. 1. 데이터 민감성ML 모델은 입력 데이터의 작은 변화에도 매우 민감하게 반응할 수 있습니다. 예를 들어, 데이터 분포의 변화나 특정 데이터 서브셋의 부족은 모델 성능에 큰 영향을 미칠 수 있..
이 글은 7장 Fairness, Privacy, and Ethical ML Systems을 참고하여 작성했습니다. Chapter 7. Training Systems (2) - General Reliability Principles머신러닝(ML) 시스템은 복잡한 데이터 처리 파이프라인으로 구성되며, 시스템의 신뢰성을 확보하는 것은 매우 중요합니다. 이 글에서는 ML 시스템의 신뢰성을 높이기 위한 몇 가지 핵심 원칙을 다뤄보겠습니다. 1. 대부분의 실패는 ML 실패가 아니다ML 시스템에서 발생하는 많은 문제는 ML 모델 자체가 아닌, 분산 시스템의 일반적인 소프트웨어 및 시스템 오류에서 비롯됩니다. 예를 들어, 데이터 접근 권한이 상실되어 모델이 잘못된 데이터를 학습하거나, 잘못된 모델 버전이 배포되는 문..
이 글은 7장 Training Systems을 참고하여 작성했습니다. Chapter 7. Training Systems (1) - Overview이번 글에서는 ML 학습 시스템의 주요 구성 요소와 아키텍처를 살펴보겠습니다.ML 학습 시스템의 핵심 구성 요소 ML 학습 시스템은 데이터를 읽고 처리하는 것부터 최종 모델 배포까지의 전체 소프트웨어 환경을 의미하며, 학습 시스템의 주요 구성 요소는 다음과 같습니다:학습 데이터Feature와 Label를 포함한 학습에 필요한 모든 데이터를 의미하며, 이 데이터는 이미 전처리 및 표준화가 완료되어 있어야 합니다. 또한, 학습 과정에서 효율적으로 접근할 수 있도록 최적화된 형식으로 저장되며, 보안이 적용된 환경에서 관리되어야 합니다.모델 구성 시스템모델의 구성 정..
이 글은 5장 Evaluating Model Validity and Quality을 참고하여 작성했습니다. Chapter 5. Evaluating Model Validity and Quality (2) - Evaluating Model Quality 모델의 Quality 테스트를 구성할 때 크게 두 가지를 구성해야 합니다. 1. 테스트 데이터를 어떻게 구성할 것인가2. 어떤 지표로 평가할 것인가 각각에 대해서 알아보겠습니다. 테스트 데이터 구성 방법1. Held-out test data전체 데이터에서 무작위로 선택하여 테스트 데이터를 만드는 방법입니다. 이 방식은 학습 데이터와 테스트 데이터의 분포가 유사할 때 유용합니다. 그러나 날짜별 주가 데이터와 같이 시간적 순서가 중요한 문제에서는 무작위 선택을 ..
이 글은 5장 Evaluating Model Validity and Quality을 참고하여 작성했습니다. Chapter 5. Evaluating Model Validity and Quality (1) - Evaluating Model Validity모델 개발자들이 새 모델이 프로덕션 환경에 배포할 준비가 되었다고 판단하더라도, 실제로 배포하기 전에 모델의 유효성과 품질을 확인하는 과정이 필요합니다. 유효성 테스트는 새 모델이 시스템의 계산 능력, 메모리, 지연 시간 등의 요구 조건을 충족하는지를 확인하여, 새로운 모델이 시스템에 문제를 일으키지 않을 것이라는 점을 보장하는 데 목적이 있습니다. 품질 테스트는 새 모델이 이전 모델보다 성능이 개선되었는지를 확인하는 것이 목표입니다. 이번 장에서는 유효성..
이 글은 4장 Feature and Training Data을 참고하여 작성했습니다.Chapter 4. Feature and Training Data (1) - Feature이번 챕터는 학습 데이터를 생성하기 위해서 필요한 세 가지 시스템, feature 시스템, annotation(혹은 label) 시스템, 그리고 metadata 시스템에 대한 내용을 다루고 있습니다. 그중에서도 feature 시스템에 대해서 먼저 알아보겠습니다.Feature란모델 학습/예측에 사용되는 변수로, 데이터 특징을 나타내는 값입니다. 이미지의 픽셀값, 사용자가 입력한 텍스트 내 단어들이 Feature로 사용될 수 있습니다. 모델이 발전할수록 사용하는 Feature의 크기는 기하급수적으로 늘어날 수 있음을 알고 있어야 합니다..
이 글은 4장 Feature and Training Data을 참고하여 작성했습니다.Chapter 4. Feature and Training Data (2) - Label학습 데이터에서 Feature 말고도 중요한 데이터, Label에 대해서 알아보겠습니다. Label은 모델이 어떤 답을 내야하는 지, 그 답을 알려주는 데 사용되는 데이터입니다. 이는 로그를 기반으로 생성될 수도 있고, 사람이 직접 레이블링해 생성할 수도 있습니다. 후자의 경우, 많은 양의 데이터를 만들기 위해 상당한 비용이 듭니다. 인건비를 아끼기 위해서는 "Data Augmentation"을 사용하는 것도 좋은 방법입니다. 이미지 자르기, 이미지 노이즈 추가, 색 균형 변경과 같은 augmentation 기법을 이용해 학습 데이터 양..
이 글은 4장 Feature and Training Data을 참고하여 작성했습니다. Chapter 4. Feature and Training Data (3) - Metadata Feature와 Label과 더불어, 우리가 관리해야 할 데이터로는 메타데이터가 있습니다. 메타데이터 체계를 잡지 않고 머신러닝 인프라를 구축했다간, 훗날 두고두고 후회할지도 모릅니다. 우리가 데이터, 모델, 시스템을 어떻게 구성했는지 추적할 수 없기 때문이죠. 이번 장에서는 메타데이터 시스템 구성 방식과 메타데이터로 관리해야 할 데이터는 무엇이 있는지 알아보겠습니다. 메타데이터 시스템 구성 방법메타 데이터 시스템을 만들 땐, 모든 소스에 대한 메타데이터를 추적하는 단일 시스템 구조를 사용하거나, 라벨 시스템, 학습 시스템, 서..