서비스 향 AI 모델 개발하기
연구 관점에서 AI 개발이란?
정해진 데이터셋/평가 방식에서 더 좋은 모델을 찾는다.
서비스 관점에서 AI 개발이란?
서비스 개발 시에는 학습 데이터셋도 없고, 테스트 데이터셋과 테스트 방법도 없다. 서비스 요구사항만 있다.
우선 학습 데이터셋을 준비해야하는데 정확히는 서비스 요구사항으로부터 학습 데이터셋의 종류/수량/정답을 정해야 한다. 예를들어 이미지에서 수식을 검출한다고 한다면 결국 학습 데이터 준비를 위해서는 모델 파이프라인 설계가 되어있어야한다. 그런데 모델 파이프라인 설계를 하려면 어느 정도 데이터가 있어야한다.
테스트 데이터셋은 학습 데이터셋에서 일부 사용한다고 하고 서비스 요구사항으로부터 테스트 방법을 도출해야한다.
실 서비스 적용 전 개발 환경에서의 정량 평가와 실 서비스 적용 시에 정량 평가는 이질감이 클 수 있다. 따라서 Offline 테스트 결과가 Online 테스트 결과와 유사하게 Offline 테스트를 잘 설계해야 한다.
추가로 모델에 관련한 요구사항을 도출해야한다.
- 처리 시간 : 하나의 입력이 처리되어 출력이 나올 때까지의 시간
- 목표 정확도 : 해당 기술 모듈의 정량적인 정확도
- 목표 QPS(Queries Per Second) : 초당 처리 가능한 요청 수
- Serving 방식 : 기술 모듈이 Mobile or Local Cpu/Gpu Server or Cloud Cpu/Gpu Server에서 동작하기 원하는지 선택
- 장비 사양 : 가끔은 Serving 장비조차 업성서 장비 구축까지 같이 요구하는 경우도 있다.
AI 모델팀
AI 모델을 개발하는 인력, 데이터를 준비하고 품질을 관리하는 인력, 데이터/모델과 관련된 업무의 효율성을 위한 툴을 개발하는 인력, 전체를 총괄하여 모델의 품질을 관리하는 인력이 필요
AI 모델 서빙팀
Serving HW향으로 모델을 최적화하는 인력이 필요하고 실제 서빙하기 위한 추가 작업들이 end device에 맞춰 있다.
캐글 그랜드마스터의 경진대회 노하우 대방출
캐글이란?
- 2010년 설립된 세계에서 가장 유명한 인공지능 대회 플랫폼
- 2017년 3월 구글에 인수
- 194개국 600만명 이상의 회원 보유
- 캐들을 즐겨하는 사람을 Kaggler라 함
캐글 시작
1. 회원가입
2. 참여할 대회 선택
3. 데이터 다운로드
4. 대회를 위한 파이프라인 구축
5. 캐글로 파이프라인을 빠르게 경험
캐글 노하우
1. 파이프라인의 반복
- 좋은 장비
- 평일 하루 평균 4시간 이상, 주말 하루 평균 8시간 이상 투자
- 본인만의 기본 코드
2. 점수 개선 아이디어
- Notebooks 탭 참고
- Discussion 탭 참고
3. 검증 전략
- 좋은 모델은 "Generalization 성능이 높은 모델"로 Training set에서 얻은 점수가 Test set에서도 비슷하게 나오는 모델이라고도 할 수 있다.
- 점수 갭을 줄이기 위해 Stratified k-fold를 사용할 수 있음
- 아무리 검증 전략을 잘 세워도 오비피팅의 위험은 존재
4. 기타
- 앙상블 : 여러 모델의 예측 결과를 섞어서 예측 성능을 향상
- Stratified k-fold 앙상블
- 높은 점수의 싱글 모델이 필요
- 코드 관리 : 여러 버전으로 데이터, 모델 파일을 저장
- 주피터에서 터미널 열기 : 크롬 창을 닫아도 살아있으므로 원격 학습 가능
AI+ML과 Quant Trading
트레이딩이란?
트레이딩은 단기적인 가격 변화에서 이득을 본다.
퀀트 트레이딩이란?
- Quantitative (계량적) 트레이딩
- 모델 기반 혹은 데이터 기반 접근
- Automated/system/algorithmic trading이라고도 부름
퀀트 트레이딩의 스펙트럼
- 포지션을 얼마나 오래 유지하는가
- 어떤 상품군을 거래하는가
- 100% 자동화되었는가, 혹은 트레이더의 주관이 들어가는가
- 주문 집행(trade execution) vs 자체 수익
- 어디에서 엣지가 오는가?
퀀트 트레이딩의 예
1. arbitrage
- 하나의 상품이 여러 곳에서 거래될 때 싼곳에서 사서 비싼 곳에 판다.
- arbitrage는 같은 상품의 가격을 맞춰주는 역할을 한다.
- 개념적으로 간단하기 때문에 속도 경쟁이 치열
2. market making
- 매수(구입) 주문과 매도(판매)주문을 동시에 냄
- 유동성을 공급
3. statistical arbitrage
- 미래 가격의 변화를 예측해서 거래
- 데이터 기반 접근이 필수
내가 만든 AI 모델은 합법일까, 불법일까
저작권법을 알아야하는 이유
- 내가 풀고 싶은 문제를 푸는 모델을 만들기 위해서는 적절한 데이터가 있어야 한다
- 대부분의 경우 풀고 싶은 문제에 적합한 데이터가 없다
- 새롭게 데이터를 제작할 때, 저작권을 고려하지 않으면 합법적으로 사용할 수 없게 된다
- 합법적이지 않은 데이터로 학습한 모델 또한 완전한 합법의 영역에 있다고 보기 어렵다
- 저작권법 제1조 (목적) : 이 법은 저작자의 권리와 이에 인접하는 권리를 보호하고 저작물의 공정한 이용을 도모함으로써 문화 및 관련 산업의 향상발전에 이바지함을 목적으로 한다
- 현재의 저작권법은 아직 AI산업을 고려하지 않고 있다
용어 정의
- 저작권 : 사람의 생각이나 감정을 표현한 결과물(저작물)에 대하여 창작자에게 주는 권리로 “창작성”이 있다면 별도의 등록절차없이 자연히 발생한다
- 저작물 : 사람의 생각이나 감정을 표현한 결과물
- 저작권법에 의해 보호받지 못하는 저작물
- 헌법ㆍ법률ㆍ조약ㆍ명령ㆍ조례 및 규칙
- 국가 또는 지방자치단체의 고시ㆍ공고ㆍ훈령 그 밖에 이와 유사한 것
- 법원의 판결ㆍ결정ㆍ명령 및 심판이나 행정심판절차 그 밖에 이와 유사한 절차에 의한 의결ㆍ결정 등
- 국가 또는 지방자치단체가 작성한 것으로서 제1호 내지 제3호에 규정된 것의 편집물 또는 번역물
- 사실의 전달에 불과한 시사보도
합법적으로 데이터 사용
1. 저작자와 협의한다
- 저작권자를 아는 경우, 그 사람과 교섭해서 이용 방식에 대해 협의
- 크게 저작물 이용의 허락을 받는 것, 저작재산권을 양수받는 것 등의 방법이 있다
2. 저작재산권 독점적/비독점적 이용허락
- 독점적 이용허락의 경우, 저작자는 계약을 체결한 이용자에게 데이터 이용에 대한 “독점적” 인 권리를 행사하는 것을 허락하는 것이다
- 비독점적 이용허락의 경우, 저작자는 계약을 체결한 이용자 외에도 데이터 이용 계약을 맺을 수 있다
3. 저작재산권 전부/일부에 대한 양도
- 저작재산권은 양도할 수 있는 권리
- 따라서 저작물을 이용하려는 사람은 타인의 저작재산권을 양수받아서 이용 가능
- 양수받을 경우에는 모든 저작재산권 혹은 일부의 저작재산권을 양수받을 수 있으며, 일정한 기간을 정하여 양수받을 수도 있다
4. 라이센스
- 저작자에게 이용 허가 요청을 하지 않아도 저작자가 제안한 특정 조건을 만족하면 이용이 가능하도록 만든 저작물에 대한 이용허락 규약
- 라이센스를 발행하는 단체는 다양할 수 있다
Creative Commons License (CCL)
1. 종류
- CC-BY
- CC-BY-ND
- CC-BY-SA
- CC-BY-NC
- CC-BY-NC-ND
- CC-BY-NC-SA
2. BY: Attribution
- 저작자 표시 : 적절한 출처와, 해당 라이센스 링크를 표시하고, 변경이 있는 경우 공지
3. ND: NoDerivatives
- 변경 금지 : 이 저작물을 리믹스, 변형하거나 2차적 저작물을 작성하였을 경우 그 결과물을 공유할 수 없음
4. NC: NonCommercial
- 비영리 : 이 저작물은 영리 목적으로 이용할 수 없음
5. SA: ShareAlike
- 동일조건 변경허락 : 이 저작물을 리믹스, 변형하거나 2차적 저작물을 작성하고 그 결과물을 공유할 경우에는 원 저작물
과 동일한 조건의 CCL을 적용
6. CC-BY-NC-SA
- BY + NC + SA : {BY: 저작자 표시, NC: 비영리, SA: 동일조건 변경허락}
7. CC-BY-ND
- BY + ND : {BY: 저작자 표시, ND: 변경 금지}
학습회고
1. 서비스 관점에서 상당히 많은 과정과 다양한 인력이 필요하다는 것을 알았고 내용을 이해하기 어려웠다.
2. 캐글 관련 팁과 과정을 보면서 하고 싶다는 마음이 많이 들었고 약간의 시간을 내서라도 참여해봐야겠다.
3. 트레이딩관련 강의를 보면서 NLP로 주식을 하고 싶다는 생각이 들었다.
4. 저작권이 중요하지만 구체적으로 알려면 많은 시간과 경험으로 판단해야할 것 같다. 아직 저작권에 신경쓸 시기는 아닌 것 같다...
'Boostcamp AI Tech' 카테고리의 다른 글
[Boostcamp 8주차] 피어세션 (0) | 2021.09.24 |
---|---|
[Boostcamp Day-36] 특강 - Part 2 (0) | 2021.09.24 |
[Boostcamp 7주차] 피어세션과 학습 회고 (0) | 2021.09.17 |
[Boostcamp Day-34] Computer Vision - 3D Understanding (0) | 2021.09.17 |
[Boostcamp Day-33] Computer Vision - Image Captioning (0) | 2021.09.17 |