본문 바로가기

부스트캠프 AI Tech 3기/이론 : U-stage

[Day17] AI 서비스 개발 2. 머신러닝 프로젝트 라이프 사이클

머신러닝 프로젝트 Flow

현상을 파악하고 문제를 정의를 하는데,

문제를 잘 풀기 위해서는 정의를 구체적이고 명확하게 해야한다.

 

  • 문제를 해결하면 무엇이 좋을까? 왜 해결해야 하나
  • 어떻게 해결하면 좋을까?
  • '어떻게' 보다는 '왜'에 집중해서 

1. 현상 파악

  • 현재 어떤 일이 발생하고 있는지 현상을 파악
  • 해결하면 좋은 것은 무엇인지
  • 가설을 만들고 그 가설을 풀기 위해서 어떤 데이터가 필요할지

 

2. 구체적인 문제 정의

  • 앞에서 파악했던 현상을 더 구체적이고 명확한 용어로 정리
  • 무엇을 해결하고 싶은가? = 무슨 문제를 해결하고 싶은가
  • 데이터 확인, 없다면 인터뷰를 해서 문제를 파악한다.
  • 문제를 쪼개서 파악한다.
  • 문제를 일으키는 원인해결방안 고민
  • 해결 방안이 데이터로 할 수 있는 일이 아닐 수 있다.
  • rule base를 일단 만들고 baseline처럼 사용, ai를 병렬적으로 사용

3. 프로젝트 설계

문제정의를 잘하고 프로젝트 설계를 최대한 구체적으로 해야 문제가 생겨도 해결할 대비가 되어 있을 수 있다.

  • 머신러닝 문제 타당성 확인
    • 제품, 회사의 비즈니스에서 어떤 가치를 줄 수 있는지 고려해야 한다.
    • sota, 논문에 기존에 우리가 해결하려던 문제에 대한 모델이 있는지 검색
    • 어떤 종류의 데이터가 필요한지 살펴보기, 데이터가 존재하는지, 수집할 수 있는지
    • 학습할 수 있는 패턴이 있는지 확인, 그 패턴이 복잡한지
    • 목적 함수 정의
  • 목표, 지표 결정
    • Goal : 목표, 일반적인 목표
    • Ojectives : 세부적인 목표

    • 목표를 설정하며 데이터를 확인해야 한다.
      수집 방법, label
    • 최적화하고 싶은 objective가 여러가지가 있어서 충돌할 수 있다.
      두 loss를 하나로 결합하거나 두 모델을 합치는 방법 등으로 해결할 수 있다
  • 제약 조건
    • 일정, 예산, 프로젝트로 영향을 받는 사람은 누구인지, 환경
    • 개인정보 보호, 윤리적 이슈
    • 해석 가능 여부
    • baseline : rule base, 사람이 진행하던 시간, random 선택 보다 성능이 낮은 모델은 사용하지 않는 편이 낫다
    • proto type
      • voila, streamlit, gradio 등 활용
      • 디자인 보다 모델의 동작에 집중
  • Metric Evaluation
    objective의 성능 목표 달성도 중요하지만, 비즈니스 목표도 달성했는지 확인해야함
    •  AB test
    • 지표를 잘 정해야 성과를 냈는지 아닌지 파악할 수 있다
    • 어떻게 레이블을 반응에서 추론할 수 있을까
  • Action
    모델 개발, 배포, 모니터링하는 과정
    • 잘못 예측하고 있는 부분이 어디인지 무엇이 문제일지
    • 지표가 왜 달라지고 있는지

비즈니스 모델

회사에서 중요한 것은 비즈니스이기 때문에 비즈니스에 대해 이해를 잘 할수록 문제 정의도 잘 할 수 있다

  • 비즈니스 모델에서 어떤 데이터가 존재하고 만들 수 있는지
    이런 차이가 다른 면모를 보여줄 수 있는 차이점이 될 수 있다
  • 모델 예측의 결과가 어떻게 활용될 수 있을까
  • 비즈니스모델을 파악해서 필요한 기술이 뭔지, 해당 산업에서 사용하는 기술이 뭔지, 무엇을 하고 있는지 파악하고 면접을 가면 기업에 대한 관심을 표현할 수 있다.
  • 데이터를 활용할 수 있는 부분은 어디인가?
  • 다양한 팀에 있는 분들과 인터뷰
  • 수동으로 해야하는 업무 자동화