1 Mon
TIL
[AI 스쿨 1기] 9주차 DAY 1
Big Data : 데이터의 역할
데이터 팀의 미션
신뢰할 수 있는 데이터를 바탕으로 부가가치 생성
데이터 팀의 목표
고품질의 데이터를 제공하여 정책 결정에 사용
결정과학이라고 부르기도 함
이런 일을 하는 사람을 data analyst 라고 함
데이터 참고 결정을 가능하게함
데이터를 참고해서 어느 길로 나아갈 지 결정하겠다
vs 데이터 기반 결정 : 데이터에 의존해서 어느 길로 나아갈 지 결정하겠다
전자가 더 안전하다. 후자는 과거에 없던 데이터가 발생할 경우의 안정성을 보장하지 못함
고품질 데이터를 필요할 때 제공하여 사용자의 서비스 경험 개선
머신러닝과 같은 데이터 기반 알고리즘을 통해 개선
개인화를 바탕으로 한 추천과 검색 기능 제공
하지만 사람의 개입이 반드시 필요
ex) 넷플릭스의 추천, 구글의 검색엔진
이러한 것들이 가능하려면 데이터 인프라(또는 데이터 스트럭처)가 필요
데이터 팀의 역할
데이터 웨어하우스를 짓고 여기에 회사가 필요한 데이터를 저장. 이 때 데이터 파이프라인을 작성한다 라고 한다. 데이터 파이프라인은 데이터 웨어하우스에 데이터를 적재하는 과정. ETL이라고 부르기도 한다. 결국, 다양한 데이터 파이프라인을 만들어서 웨어하우스에 데이터를 적재한다.
비지니스 인사이트 : 적재되어있는 데이터를 다양한 포맷을 통해 변형 및 시각화 하여 대시보드에 추가한다. 이를 통해 회사 내의 여러 정보들을 제작해서 요구 및 제안한다
Site Services : 웨어하우스에 있는 데이터를 이용해 가설을 설정하고 훈련 데이터로 정의한다. 개인화 등을 통한 제품 서비스를 개선한다.
데이터 팀의 발전
데이터 인프라 구축
데이터 웨어하우스와 ETL (Extract, Transform, Load)를 의미
데이터 웨어하우스 : 회사에 필요한 모든 데이터들을 저장하는 중앙 데이터베이스
데이터의 크기에 맞게 어떤 데이터베이스를 사용할지 선택
크기가 커지면 Redshift(AWS), BigQuery(google cloud) 등
ETL : 소스에 존재하는 데이터들을 데이터 웨어하우스로 복사해오는 코드를 지칭. 보통 파이썬으로 작성
E : 외부 데이터 소스에서 데이터를 추출
T : 데이터의 포맷을 원하는 형태로 변환
L : 변환된 데이터를 최종적으로 데이터 웨어하우스로 적재(주로 테이블 형태)
Airflow라는 프레임워크를 많이 사용하며 파이썬 3기반의 코딩이 필요
데이터 인프라의 구축은 데이터 엔지니어가 수행
데이터 분석 수행
데이터 분석
회사의 팀별 중요 지표를 정의하고 대시보드 형태로 시각화
이외에도 데이터와 관련한 다양한 분석/리포팅 업무 수행
이는 데이터 분석가가 맡는 일임
시각화 대시보드
보통 중요한 지표를 시간의 흐름과 함께 보여주는 것이 일반적
지표의 경우 3A(Accessible, Actionable, Auditable)가 중요
Accessible : 지표의 트렌드가 한눈에 알기 쉬워야 함
Actionable : 지표의 트렌드를 보고 얻을 수 있는 피드백이 명확해야 함
Auditable : 해당 지표가 맞게 도출된건지 검사할 수 있어야 함
가장 널리 사용되는 대시보드
구글 클라우드의 룩커
세일즈포스의 태블로
마이크로소프트의 파워 BI
오픈소스 아파치 수퍼셋
머신러닝/인공지능 적용
Big Data : 데이터 팀의 구성원
데이터 팀의 구성원
데이터 엔지니어
데이터 인프라 구축
기본적으로는 소프트웨어 엔지니어
파이썬이 대세. 자바나 스칼라와 같은 언어도 알면 좋음
데이터 웨어하우스를 만들고 이를 관리하는데 클라우드로 가는 것이 추세이다
데이터 분석가와 과학자들과의 협업을 통해 필요한 툴이나 데이터를 제공해주는 것이 데이터 엔지니어의 중요한 역할 중 하나
데이터 분석가
데이터 웨어하우스의 데이터를 기반으로 지표를 만들고 시각화
내부 직원들의 데이터 관련 질문 응답
필요한 스킬셋
SQL, 통계 지식
비지니스 도메인 지식
보통 코딩을 하지는 않음
딜레마
보통 많은 수의 긴급한 데이터 관련 질문들에 시달림
많은 경우 현업팀에 소속 EX) 마케팅 소속 데이터 분석가 => 소속감이 불분명
데이터 과학자
문제에 맞춰 가설을 세우고 데이터를 수집한 후에 예측 모델을 만들고 이를 테스트
테스는 가능하면 A/B 테스트를 수행하는 것이 더 좋음
과거 데이터를 기반으로 미래를 예측하는 머신러닝 모델을 만들어 고객들의 서비스 경험을 개선
개인화 혹은 자동화 혹은 최적화
스킬셋
머신러닝과 인공지능에 대한 깊은 지식과 경험
코딩 능력 (파이썬과 SQL)
통계 지식, 수학 지식
끈기와 열정. 박사 학위가 도움이 되는 이유 중의 하나
훌륭한 데이터 과학자
열정과 끈기?
다양한 경험?
코딩 능력?
현실적인 접근 방법?
과학적인 접근 방법?
지표기반 접근
제일 중요한 것은 모델링을 위한 데이터의 존재 여부
작은 회사에서는 한 사람이 몇개의 역할을 동시에 수행
머신러닝 모델링 사이클
가설 => 반복 ( 데이터 수집 => 분석 => 모델 개발 => 모델 론치 => 테스트 시작 ) => 비즈니스 개선
폭포수 개발방법론 vs 애자일 개발방법론
폭포수 : 요구사항 - 디자인 - 구현 - 증명 - 유지
애자일 : 계획 - 디자인 - 개발 - 테스트 - 출시 - 피드백
폭포수는 한 단계 개발할 때 마다 몇개월씩 걸리는데 애자일은 이를 짧게 짧게 하는 것을 의미

A/B 테스트
온라인 서비스에서 새 기능의 임팩트를 객관적으로 측정하는 방법
100%의 사용자에게 론치하는 것이 아닌 작게 시작하고 관찰 후 결정
먼저 5%의 사용자에게만 론치하고 나머지 95%의 사용자 그리고 매출액과 같은 중요 지표를 가지고 비교
5% 대상으로 별 문제 없으면 10%, 20%와 같이 점진적으로 키워 최종적으로 100%으로 론치
위험부담을 줄일 수 있는 장점이 있음
control vs test
control : 한 그룹은 기존 기능에 그대로 노출
test : 다른 그룹은 새로운 기능에 노출
보통 사용자들을 2개의 그룹으로 나누고 시간을 두고 관련 지표를 비교
가설과 영향받는 지표를 미리 정하고 시작하는 것이 일반적
데이터 팀의 조직구조
중앙 집중 구조
모든 데이터 팀원들이 하나의 팀으로 존재
일의 우선 순위는 중앙 데이터팀이 최종 결정
데이터 팀원들간의 지식과 경험의 공유가 쉬워지고 커리어 경로가 더 잘보임
하지만 현업부서들의 만족도는 상대적으로 떨어짐

분산 구조
데이터 팀이 현업 부서별로 존재
일의 우선 순위는 각 팀별로 결정
데이터 일을 하는 사람들간의 지식/경험의 공유가 힘들고 데이터 인프라나 데이터의 공유가 힘들어짐
현업 부서들의 만족도는 처음에는 좋지만 많은 수의 데이터 팀원들이 회사를 그만두게 됨

하이브리드 모델
가장 이상적인 조직 구조
데이터 팀원들은 일부는 중아에서 인프라적인 일을 수행하고 일부는 현업팀으로 파견식으로 일하되 주기적으로 일을 변경
데이터팀 안에서 커리어 경로가 만들어짐

모델 개발시 고려할 점
모델 개발시 데이터 과학자들의 일반적인 생각
데이터 과학자 : 아주 좋은 머신러닝 모델을 만들고 말겠어. 시간이 오래걸리더라도 아주 성능이 좋은 모델을 만들테야. 실제 론칭은 엔지니어가 알아서 하겠지
엔지니어 : 머신러닝 모델을 어떻게 론치할까? 데이터 과학자가 알아서 잘 했겠지
마찰이 생기는 지점
많은 수의 데이터 과학자들은 R을 비롯한 다양한 툴로 모델 개발
하지만 실제 프로덕션 환경은 다양한 모델들을 지원하지 못함
개발/검증된 모델을 생산 환경으로 론치할 때 많은 시간이 걸리고 오류가 많음
결국, 버그 수정에 많은 시간을 쓰고 심한 경우 재개발을 함
모델 개발 시 꼭 기억할 포인트
누군가 모델 개발부터 최종 론치까지 책임져야 한다.
해당 프로젝트 참여자들이 모두 크레딧을 받아야 협업이 더 쉬워진다.
최종 론치하는 엔지니어들과의 소통이 중요
모델 개발 초기부터 개발/론치 과정을 구체화 하고 소통
개발된 모델이 바로 프로덕션에 론치가능한 프로세스/프레임웍이 필요
R로 개발된 모델은 프로덕션 론치를 바로 할 수 없음
첫 모델 론치는 시작일 뿐 (Agile 방법론)
운영을 통해 점진적인 개선을 이뤄내는 것이 중요
데이터 과학자의 경우 모델의 개발이 끝이 아니다
결국 피드백 루프가 필요
운영에서 생기는 데이터를 로깅하고 개선점 찾기
주기적으로 모델을 재빌딩
온라인 러닝 => 리얼타임 머신러닝
데이터 관련 교훈
데이터를 통해 매출이 생겨야 한다.
데이터를 통해 직/간접적으로 회사 수익에 긍정적인 영향을 끼칠 것
데이터의 인프라 구성은 반드시 필요
데이터와 매출과의 상관관계를 항상 증명하고 설득할 것
데이터 인프라가 첫번째 스텝
데이터의 품질이 아주 중요
모델링에 드는 시간이 100이면 70은 데이터 클린업에 들어감
데이터의 품질 유지에 노력이 필요
항상 지표부터 생각
무슨 일을 하건 가설을 항상 생각
그렇지 않으면 결과를 보고 생각을 맞추게 된다
지표의 계산에 있어서 객관성이 중요하다 => 신뢰성이 없으면 의미없는 지표
가능하면 간단한 솔루션으로 시작
딥러닝으로 무조건 해결하지 말 것
간단한 논리로 해결할 수 있는지 고민
반복 기반의 점진적인 개발방식 VS 한 큐에 모델 만들기
커리어 이야기
가장 많이 들을 질문들
요즘 뜨는 것?
미래를 대비하기 위해 준비해야 할 것?
커리어가 고착된 것 같다. 무엇을 해야될까?
불안감을 느끼고 선행 학습을 통해 전문성을 갖춰야 한다는 부담, 고민을 가진다
불안감을 느낀 선행 학습은 크게 좋지 않다.
또, 큰 회사에 가더라도 전문성을 쌓을 수는 없다.
Last updated
Was this helpful?