[NIPS 2017] NSML: A Machine Learning Platform That Enables You to Focus on Your Models

NIPS 2017 및 Deview2017 발표자료를 토데로 정리

[NAVER]NSML Alpha Test_Group3 에 참가 및 테스트 참여 서약서(보안서약서)에 서명 제출하였기에

arxiv에 공유된 논문내용과 공유된 내용 위주로 우리가 개발한 TensorMSA와도 비교 분석

1. NSML이란?
– Naver Smartest Machine Learning Platform의 약자로 사용자는 모델 개발에 집중할수 있게 해주는 플랫폼
– on-premise와 PaaS기반 서비스를 제공 (참고로 TensorMSA의 경우 SaaS 형태 – Front End Cost가 컸음)

2. NSML의 주요 특징
– 다수의 서버에서 복수개의GPU를 최적의 Scheduling와 Utilization으로 관리하여 AI Infra는 신경안써도됨
– AI 연구자들은 모델개발에 있어 Hyper parameter Tuning에 많은 시간을 소모하고 반복적 학습을 수행
따라서 동시에 다른 Hyper parameter을 돌려 연구 성과를 바로 확인가능
– 동일 Data에 대해 Leaderboard 제공으로 서로간의 경쟁을 유도 일종의 gamification (협업과 경쟁)
–  AutoML : hyper optimization을 기존 학습모델의 예측 결과를 통해 제공 (Genetic Algorithm은 아닌듯)
– Visualization : Tensorboard, Visdom 을 자동으로 실험결과 파악할 수 있게함 (자동연계)
– Docker image 사용가능 (Setup.py의 설치 시간 최소화)
– Azure ML의 GUI 기반 서비스로 관리된다면 (SaaS), NSML은 Amazon의 복수개의 Segemaker를 Serverless로 제공하는 느낌

3. NSML의 기존 Solution과의 차이점
– Lock-in문제해결 (AWS나 Azure ML과 같이 Cloud에 종속되는 것을 해결) – 오픈소스화
– 모델 실험 결과에 대한 효과적인 기록 (Data별 기록 확인)
– 연구환경에 대한 지속적인 동일 환경 제공 (game save파일 같음)
– 기존 결과물에 대한 쉬운 추적과 관리(nsml logs)
–  개인의 Workspace생성 가능 (Setup.py에 정의) – No Framework Lock-in

4. CLI기반 명령 수행 (리눅스 명령어와 비슷 / 실행은 AWS lambda와 같은 Serverless환경)
– Data 등록 : nsml dataset push 등록할명 DATA경로
– Train 실행 : nsml run -d 등록한Data명
– Inference 실행 : nsml infer 모델명

5. NSML의 요약 그림

Figure 1: System Architecture of NSML

6. 기타
– Naver에서는 AI-Hackathon을 NSML기반으로 제공(Leaderboard를 통한 Ranking으로 경쟁)
– 주제는 네이버 지식인 질문유사도 분류 문제와 네이버 영화 평점 맞추기 (NLP만 낸듯)
– 네이버지식인 유사도 1위 83.468% (2Layer Bi-GRU + euclidean distance + sigmoid)
– 네이버 영화 평점 맞추기 1위 MSE: 2.57611 (256 embedding + 2Layer Bi-LSTM + Attention + dropout 0.2)

 

[출처]
https://github.com/naver/ai-hackathon-2018/blob/master/missions/tutorial.md
http://learningsys.org/nips17/assets/slides/nsml_slides.pdf
https://www.slideshare.net/deview/224nsml-80881317
https://github.com/naver/ai-hackathon-2018

 

Leave a Reply

Your email address will not be published. Required fields are marked *