본문 바로가기

MLOps/기초

부스트코스 '인공지능 전문가 특강' 과정 정리

부스트 코스 '인공지능 전문가 특강' 과정 정리

 

인공지능 전문가 특강

부스트코스 무료 강의

www.boostcourse.org

 

특강 후기

  • 1단원부터 8단원까지 교육이 준비가 되어있지만 당장 내가 궁금한 1~4단원까지만 수강함
  • 인공지능 관련 일을 하고 싶은데 뭘 해야 하나 할 때 바로 들어보는 것을 조심스럽게 추천함
  • 서비스 AI 모델 개발을 하는 전체적인 파이프라인을 알 수 있음. 서비스 요구 사항부터 팀 조직 구성 까지. AI 서비스가 나오기 현업의 고민 알 수 있는 게 좋음 (강의명 : 1. 서비스 향 AI 모델 개발)
  • AI를 다루는 팀의 구성과 구성원에 따른 업무를 알 수 있음. 아직 까진 정확한 직군 이름이 모호하지만 본인이 하고 싶은 직무를 알 수 있음(강의명 : 2. AI 시대의 커리어 빌딩)
  • 캐글 경진대회에 참여할떄 도움이 될 거 같음(강의명 : 3. 캐글 경진대회 노하우)
  • 풀 스택 ML엔지니어가 가져야 할 스택들을 알려주고 강사님이 추천하는 ML Engineer 로드맵을 알 수 있음

포스팅에 사용된 이미지는 강의에 사용된 이미지를 아주 쬐에에금 수정한 것
이미지 출처 :부스트 코스 '인공지능 전문가 특강'

 

1. 서비스 향 AI 모델 개발

 

1.1 학습 데이터셋 준비 : 종류/수량/정답(feat.서비스 요구 사항)

  • 회사 서비스 개발 시에는 학습 데이터와 방법도 없음
  • 서비스 개발 시에는 서비스 요구 사항만이 있음
  • 따라서 서비스 요구사항으로부터 학습 데이터셋의 종류/수량/정답을 정해야 함

  • 질의응답을 통해 데이터셋의 종류/수량/정답 관련 요구사항을 계속 구체화해야 함
  • 손글씨, 그림자, 형광팬, 화이트 같은 '종류'에 대해서도 정의해야 하며 어디까지 '종류'로 정의해서 각각 몇 장을 수집할 것인지 정함

1.2 학습 데이터셋 준비 : 기술 모듈 설계

위 이야기를 종합하면, 수식 이미지를 받아서 이미지를 Latex로 변환해서 출력하는 모듈을 개발해야 함

  • 하지만 데이터 수집 시 생각하지 못한 경우도 발생
  • ex) 한 페이지에 2개 이상의 수식이 있는 경우
  • 이럴 경우 전체 이미지에서 수식 영역 검출을 또 해야 함

  • 학습 데이터셋 준비에 많은 과정이 필요함
  • 모델 파이프 라인 설계에 또 필요 하기 때문에 매우 중요한 과정
  • 학습 데이터셋 준비 담당자가 할 일

  • 테스트 데이터셋과 테스트 방법을 준비해야 함
  •   Offine
    (서비스 적용 전 성능 평가)
    Online
    (서비스 적용 시 성능 평가)
    정량 평가 완벽 X -> AI 모델 후보 선택 목적으로 활용 해당 AI 모델을 서비스 시나리오에서 자동 정량 평가
    정성 평가 각 후보 AI 모델 면밀 분석 후 서비스 출시 버전 선택 AI 모델 개선 포인트 파악

1.3 모델 요구사항 도출

  • 처리 시간 : 하나의 입력이 처리되어 출력이 나올 때 까지의 시간
    • 예) 수식 영역 검출의 경우
    • 오프라인 테스트 : 이미지 입력 후 수식 영역 정보가 출력될 떄 가지의 시간
    • 온라인 테스트 : 이미지 촬영 후 이미지에서 수식 영역 정보가 화면 상에 표현되기까지 시간
  • 목표 정확도 : 해당 기술 모듈의 정량적인 정확도 
    • 예) 신용카드 인식의 경우
    • 오프라인 테스트 : 입력된 이미지 내 카트 번호/유효기간에 대한 EDIT DISTANCE
    • 온라인 테스트 : 사용자가 AI 모델의 결괏값을 수정할 확률
  • 목표 QPS(Queries Per Second)
    • 초당 처리 가능한 요청수
    • 향상 방법으로는 장비 늘리기, 처리 시간 줄이기, 모델 크기 줄이기
  • Serving 방식
    • 기술 모듈이 Mobile, Local CPU/GPU 등 어디서 동작하기 원하는지
  • 장비 사양
    • 가끔 Serving 장비조차 없어서 장비 구축까지 요구하는 경우도 있음

 

1.4 AI 모델 개발 기술 팀의 조직 구성

1.5 AI 입문자들에게 

  • AI 기술 트렌드에 민감할 것
  • 당연하게 받아들이고, 변화에 적응할 것

2. 커리어 빌딩

  • AI/ML 모델링은 팀 전체 업무의 일부
  • 다양한 업무가 있는 만큼 팀 내에는 다양한 역할이 있음

Hidden Technical Debt in Machine Learning Systems 논문 사진 인용

  • 다양한 직무는 위에서 설명했으니 생략
  • AI Modeling에 대한 수요는 점차 줄어들 가능성도 있음
  • AI Modeling뿐만 아니라, AI + Backend, AI + Frontend처럼 포지션 확장할 것

3. 캐글 알아보기

  • 생략

4. 풀 스택 머신러닝 엔지니어

  • ML Engineer : ML/DL 기술을 이해하고, 연구하고, Produce를 만드는 Engineer
  • Deep learning의 급부상으로 Produce에 Deep learning을 적용하고자 하는 수요 발생
  • 폭발적인 발전 속도로 인해 Research영역과 Engineering 영역의 경계가 모호함
  • 풀 스택 머신러닝 엔지니어 : 딥러닝을 이해하며 관련 서비스로 만들 수 있는 엔지니어

ML Product 만드는 과정

1. 요구 사항 전달

  • 고객사 미팅(B2B) or 서비스 기획(B2C)
  • 요구사항 + 제약사항 정리
  • ML Problem으로 회귀

2. 데이터 수집

  • Raw 데이터 수집
  • Annotation Tool 기획 및 개발
  • Annotation Guide 작성 및 운용

3. ML 모델 개발

  • 기존 연구 Research 및 내재화 ( 논문을 찾아보고 이해, 적절한 연구 재현하여 내재화)
  • 실 데이터 적용 실험 + 평가 및 피드백 (수집된 데이터 적용 or 평가 및 모델 수정)
  • 모델 차원 경량화 작업 (모델 단계 경량화, Distillation, Network surgery)

4. 실서버 배포

  • 엔지니어링 경량화 작업 (TensorRT 등 프레임워크 적용)
  • 연구용 코드 수정 작업 (연구용 코드 정리, 배포용 코드와 interface 맞추는 작업)
  • 모델 버전 관리 및 배포 자동화 (모델 버전 관리 시스템, 모델 배포 주기 결정, 업데이트 배포 자동화 작업)

JOB 1.

  • 고객/서비스 요구사항은 실 생활 문제
  • ML 모델이 해결 가능한 형태로 문제를 쪼개며 가능한지 판단
  • 기존 연구에 대한 폭넓은 이해 및 최신 연구의 수준 파악

JOB 2.

  • 웹에서 학습 데이터 모아야 하는 경우도 있음
  • 크롤러 개발해서 데이터 수집(저작권 주의)

JOB 3.

  • 수집/제공받은 데이터의 정답을 입력하는 작업을 수행하는 web application 개발
  • 작업 속도와 정확성을 고려한 UI 디자인 필요
  • 다수의 작업꾼들이 서버로 접속 후 작업
  • 새로운 작업에 대한 Annotation tool 기획 시 모델에 대한 이해가 필요할 수 있음

JOB 4.

  • 쌓인 데이터 버전 관리
  • Database에 있는 데이터를 Model로 Load 하기 위한 Loader package개발

JOB 5.

  • 기존 연구 조사 및 재헌
  • 수집된 서비스 데이터 적용
  • 모델 개선 작업 + 아이디어 적용 -> 논문 작성

알면 좋은 점

  1. 처음부터 잘 만들려 하지 말고, 최대한 빨리 완성
  2. 풀 스택으로 개발하다 보면 가장 중요한 "완성"이라는 가치에 도달해볼 것
  3. 완성하고 리팩터링 해볼것