Home [MLOps Specialization / Step2] Collectiong Data
Post
Cancel

[MLOps Specialization / Step2] Collectiong Data

Collecting Data

이 포스트는 Coursera의 MLOps Specialization 강의 내용을 기반으로 작성되었습니다.


Importance of Data

The importance of data

  • ML에서 데이터는 일급객체 (first class citizen)
    • Software 1.0에서는 우리가 모든 코드를 직접 컨트롤하며 컴퓨터에 명시적으로 지시
    • Software 2.0에서는 모든 코드를 우리가 고려하지 않음
      • 최적화 기술을 사용해 해결책을 찾음
      • 좋은 데이터는 성공적인 성능의 키 포인트
      • ML의 데이터는 SW의 코드와 같은 존재

  • 모델은 마법처럼 모든걸 해결해주지 않음
  • 유의미한 데이터가 더 중요
    • predictive content의 최대화 = 실질적 정보가 있는 데이터
    • non-informative data 제거
    • feature space coverage

Data pipeline

  • 데이터 파이프라인에 필요한 요소는 다음과 같음
    • 데이터 수집
    • Data ingestion
    • 데이터 표현 (Data formatting)
    • feature engineering
    • feature 추출

Data monitoring

  • 배포 후 모니터링 요소
    • 시스템 동작 불가능 시간 (downtime)
    • 에러
    • 분포의 변화
    • Data failure
    • Service failure

본격적으로 이 강의가 만들어진 이유들이 나왔습니다. 최근 많은 머신러닝 모델이 연구되고 각 모델의 발전은 하이퍼파라미터 탐색과 같은 아주 일부분의 것들에 사람들의 인력이 낭비되었습니다.
그래서 데이터의 중요성이 많이 대두되며 데이터를 바라보는 관점에 대한 소개를 했습니다.
Robert Crowe는 데이터에서 유저를 이해하는데 도움을 받을 수 있다고 합니다. 또한 좋은 데이터는 data coverage와 높은 예측력을 보장해주기도 합니다. 이를 위해 좋은 품질의 데이터를 source, store monitor 해야한다고 합니다.


Example Application: Suggesting Runs

  • Robert Crowe는 이해를 돕기 위해 달리기 관련 앱에 대한 예시를 들었음
  • 핵심적으로 고려할 사항을 크게 2가지 정도로 분류
    • Data availability and collection
      • 어떤 종류/얼마나 많은 데이터가 유용한가?
      • 얼마나 자주 신규 데이터가 들어오는가?
      • 라벨링이 되어 있는가? 아니라면 라벨을 얻기 어려운가…?
    • Translate user need into data needs
      • Data needed
      • Features needed
      • Labels needed
      • 먼저 사용자의 니즈를 알아야 너무 과도하게 많은 데이터를 수집하는걸 방지함

달리기 관련 앱을 예시로 들며 데이터를 바라보는 포인트를 설명했습니다. 데이터 수집/전처리 방법, 데이터셋의 formatting, data효율성 측정 등 여러가지 관점을 이야기 했으며 이를 통해 사용자의 니즈를 파악할 필요가 있다고 했습니다.
반대로 사용자의 니즈를 정확히 알아야 너무 과도한 양의 데이터를 수집하는 것을 막을 수 있다고 했습니다.


Responsible Data: Security, Privacy & Fairness

Avoiding biases in datasets

  • 공개 이미지 데이터셋으로 결혼식에 대한 학습을 진행할 경우 편향적 학습이 발생하여 일반적인 유형의 결혼식이 아닌 경우 제대로 분류하지 못함
  • 이처럼 데이터를 어떻게 수집했는가는 매우 중요한 요소

Data security and privacy

  • 데이터 보안과 개인정보에 대한 것도 중요한 요소
    • 유저에게 어떤 데이터를 수집할 지 컨트롤하게 했는가?
    • 실수로 데이터를 공개할 위험이 있는가?
  • 개인정보는 철저하게 안전이 보장되어야 함
    • Aggregation : 특정인물을 구분가능한 unique value는 summary value로 대체
    • Redaction : 일부로 덜 완전한 형태를 만들고자 일부 데이터를 제거

Faireness

  • 데이터 자체에 형평성이 존재해야함
  • 문제점들
    • Representational harm - eg) 고정관념
    • Opportunity denial은 system이 부정적인 결과를 예측하게 하는 것
    • Disproportinate product failure은 모형이 치우쳐진 효과 등 왜곡된 표현이 있는 것
  • 데이터 수집시 고려할 것들
    • 모델이 형평성있게 만들기
    • 인간이 레이블링 하거나 데이터를 수집할 때 선입견을 주의
    • ML model은 편향을 증폭시킬 수 있음
  • bias를 줄이는 방법 : 형평성있는 labeling 시스템
    • Automation
    • Human raters
      • 일반인
      • 분야 전문가
      • 유저 피드백
This post is licensed under CC BY 4.0 by the author.

[MLOps Specialization / Step2] Introduction to ML Engineering in Production

[MLOps Specialization / Step2] Labeling Data

Comments powered by Disqus.