[12주차] 데이터제작의 중요성

Soonyoung Hwang·2022년 12월 15일
0

네이버 부스트캠프

목록 보기
13/14

Software 1.0 vs Software 2.0

1. Software 1.0

Software 1.0은 기존 소프트웨어 개발방식으로써, 다음과 같은 개발 과정을 따른다.

  1. 문제 정의
  2. 큰 문제를 작은 문제들의 집합으로 분해
  3. 개별 문제 해결
  4. 솔루션을들 합쳐서 기존 문제 해결

⇒ 사람이 어떤 연산을 할지 고민하여 (함수)를 정한다. 즉, 해를 찾는 함수를 사람이 직접 방정식을 작성하는 방식이라고 생각하면 된다.

성능 = 코드

2. Software 2.0

Software 2.0은 기계가 학습하도록 소프트웨어를 설계하는 방식이다.

  1. 검색범위 설정(뉴럴넷 구조 작성)
  2. 데이터 준비
  3. 최적화된 (모델+데이터 사용) 함수

⇒ 사람이 문제해결 범위 내의 네트워크를 설정해놓고 (모델링) , 데이터가 그 범위내에서 해법을 찾아가도록 하는 것 (학습)

성능 = 코드 + 데이터

“데이터의 질이 곧 성능이다”

특징

  • Software 2.0 방식이 Software 1.0 보다 성능이 월등히 뛰어나다.
  • 기존 레거시프로그램은 software 1.0 방식으로 이루어져있다.
  • 기존 프로그램의 부분들이 점차 software 2.0 방식으로 교체되고 있다.

AI Project의 LifeCycle

AI Research vs AI Proejct

보통 리서치는 정해진 데이터셋/평가방식에서 더 좋은 모델을 찾는 일을 한다.

실제 서비스개발시에는 데이터셋은 준비되지 않고, 요구사항만 존재한다.

현업에서는 데이터에 대한 중요성이 매우 크게 작용한다.

서비스향 AI모델 개발과정

  1. Data-centric vs Model-centric

    Data-centric (모델은 고정시킨 채로) 데이터 수정을 통한 모델 성능 향상

    Model-centric (데이터 고정) 모델 수정을 통한 성능 향상

  2. 모델 성능을 결정짓는 요소

    개발단계 : Data-centric 50% + Model-centric 50%

    유지보수단계 : Data-centric 80% + Model-centric 20%

    → 서비스를 한번 Deploy 하면, 모델을 바꾸는건 쉽지 않다. → 데이터를 주로 바꾼다.

  3. 데이터 관련 업무가 힘든 이유

    • ML 엔지니어 실제 통계조사를 해보면 모델링보다 데이터 수집, 추출 및 구성이 더 어렵다.
    • 이유를 조사해보면 ‘배운적이 없어서’
    • 실제 발표논문의 비중을 보면 data vs modeling 이 1%:99% 비율로 발표 된다.
    • 성능개선을 위해 데이터에 관한 이해가 필요하다.
    • 모델을 위한 IDE는 충분히 있다. 하지만 데이터를 위한 IDE는 아직 기준이 없다.
  4. Software 2.0 IDE 에서 필요한 기능

    • 시각화 기능
    • 데이터 라벨링 기능
    • 데이터셋 정제 기능
    • 데이터셋 선별 기능
profile
https://github.com/soonyoung-hwang

0개의 댓글