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