Little Big Data

2019-08-03

(컨퍼런스에 참석하면 세션에서 들었던 내용을 잘 정리해두려고 하는 편인데, 오늘은 어쩐지 집중이 잘 되지 않아서 대충 정리했다.)

세션 1: TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직 만드는 여정 - 변성윤님

  • 늦게 도착해서 앞부분 놓침 ㅠ 나중에 발표자료 링크해놔야지.

세션 2: Data는 Sports를 어떻게 바꿨는가? - 김인범님

1. 머니볼로 시작된 변화의 바람

미국 프로 스포츠 시장

  • MLB야구 관련 수입 11조
  • 매년 성장하는 시장
  • 구단들의 선수영입 경쟁이 치열함

2. 머니볼: 최소한의 비용으로 극대화된 가치를 얻기 위한 시도

누가 더 훌륭한 선수인가? - 새로운 관점 선수평가 지표로 classic stat 이 사용되었지만, 더 면밀한 평가지표를 도입하게됨.

ex. WAR

  • 선수가 팀 승리에 얼마나 크게 기여했는가를 보여주는 지표
  • WAR 1점 당 500만불의 가치

3. 데이터에 기반한 전술의 변화

경기 수집 방식이 달라짐

  • 수기 기록 -> 영상 데이터 수집 -> 스탯캐스트
  • 기본적인 기록을 넘어 순간순간 발생하는 다양한 상황의 데이터까지 수집이 가능함.

전술변화

  • 수비 시프트 (당겨치기할 확률 80%인 타자라면 수비수들이 시프트함)
  • 투구 회전 수를 통한 투수 평가 (정상급 투수들의 투구 회전수 2500. 타 선수들의 평균 회전수는 2000)
  • 발사각도 이론 (홈런을 칠 확률이 높은 발사각도 수정 - 후보선수였던 저스틴 터너 선수가 발사각도를 수정하여 올스타 플레이어가됨)

4. GM(단장)과 Agent의 역할 강화

GM

  • 빌리 빈, 테오 단장의 사례

Agent

선수가 최선의 계약을 맺을 수 있도록 도와주는 역할

  • 스캇 보라스 사례

새롭게 시도하고 있는 분야

  • 선수들의 부상과 회복
  • 선수들의 심리 상태
  • Team Chemistry

야구데이터 > 공격과 수비가 철저하게 나뉘어 있어, 데이터 분석이 다른 미식축구나, 농구에 비해 용이함.

세션 4: ML엔지니어가 기획자, 개발자와 협업하는 법 - 백영민님

대화

일상 대화

  • 일상에서 하는 모든 대화
  • 정답이 여러개
  • 팟 캐스트 들어봤어?

기능 대화

  • 팟캐스트 틀어줘

대화 시스템의 구성

Query -> Model(Dialogue Manager) -> Reply

모델 Retrieval Method

  • 사전에 정해진 답변 중 가장 좋은 것을 찾자

Generation Model

  • 새로운 답변을 생성

대화 데이터의 특징

일상 대화 데이터의 수집 > 연애의 과학

특징:

  • 대화의 도메인이 일상 생활 전 범위로 매우 넒음
  • 사람마다 조금씩 다른 패턴 (말투, 자주사용하는 단어 등)
  • 줄임말 및 잦은 오타 (그냥 -> 걍)
  • 신조어의 사용 (갑분싸)
  • 독자적인 자음의 사용 (ㅋㅋㅋ)

데이터의 선택 & 전처리가 특히 중요함

유저필터링 세션 필터링: 공통된 주제가 유지되는 시간 Normalize: 의미 없는 토큰의 치환 및 삭제

Multi-turn Reaction Model

개발 과정에서의 협업
문제정의 - 목표설정 - 데이터 구축 - 모델 테스트 - 피드백 - 실제 검증

문제정의

비전을 추구하면서 모두가 공감할 수 있는 주제 -> 살아있는 대화를 할 수 있는 인공지능을 만들자!

기존모델: Single-turn Reaction Model 유저의 이전 발화를 보고 사전에 정의된 class st에서 리턴

  • 유저의 이전턴 하나의 발화 만으로 대답 구성
  • 이전에 했던 말을 번복하는 경우 발생

목표설정

목표: Multi-turn Reaction 모델을 만들자

데이터 구축

관점

기획자)

  • 어떤 답변 셋을 이요하면 더 사람같은 답변을 제공할 수 있을까?
  • 어떤 답변 모델의 목적에 맞는 좋은 답변일까?
  • 모델의 목표를 평가하기 위한 테스트 셋을 어떻게 구성할까?

엔지니어)

  • 어떻게 하면 쉽게 학습 데이터를 구축할 수 있을까?
  • 레이블링을 쉽게 할 수 있는 방법은 무엇이 있을까?
  • 어떤 데이터로 학습을 하면 수렴을 잘 할 수 있을까?

정성적 평가 셋

  • 사람이 볼 수 있는 정도 쿼리 쌍을 레이블링함

모델 테스트

  • Baseline과 BERT 사용

피드백

  • 정량적 평가 셋으로 정량적 평가를 먼저 함
  • 정성적 평가 with 기획자

모든 진행상황은 기록으로 남기자. ML을 모르는 사람이 이해할 수 있도록

데모 페이지 작성 및 테스트

성능을 테스트 해볼 수 있도록

4. 최적화 및 제품화 (제품에 들어가기 위한 최적화) - 개발자와 협업

학습 코드를 정리/최적화 + 서비스 코드 작성

  • 코드의 최적화
  • 프로파일링

결과 모델의 제품화

  • 보기 좋은 UI 및 사용자를 고려한 UX