Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼

7,794 views

Published on

nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼

  1. 1. nsml: 상상하는 모든것이 이루어지는 클라우드 머신러닝 플랫폼 성낙호 Leader, Clova AI Research (CLAIR), Naver
  2. 2. CLAIR 의 선행 연구 조직 다양한 문제를 해결하기 위한 새로운 모델의 연구, 개발 nsml CLAIR의 효과적인 연구를 위해 시작된 머신러닝 플랫폼 프로젝트 (현재 개발 중!)
  3. 3. 1. 빠르게 변화하는 딥러닝
  4. 4. 딥러닝 트렌드 몰려드는 사람들, 폭발적인 연구 https://medium.com/@karpathy/a-peek-at-trends-in-machine-learning-ab8a1085a106
  5. 5. 딥러닝 트렌드 몰려드는 사람들, 폭발적인 연구 2017 NIPS 티켓 판매 추이 https://twitter.com/soumithchintala/status/909057642731130880
  6. 6. 경쟁력“효율”
  7. 7. https://xkcd.com/303/
  8. 8. https://www.youtube.com/watch?v=lxZyxxHOw3Y
  9. 9. Boost your lab w/ nsml
  10. 10. 2. 연구 최적화: 기계와 사람
  11. 11. https://www.youtube.com/watch?v=cTvXbMSmIcI
  12. 12. self-motivated http://insights.nationalseminarstraining.com/500/self-motivation-is-not-a-personality-trait/
  13. 13. Drive!
  14. 14. 자기 결정 이론 (SDT) Autonomy 상황을 통제하고 싶은 needs Competence 능력을 향상시키고 싶은 needs Relatedness 주변 사람들과 연결, 교류, 보살핌 등의 needs
  15. 15. ‘사용자’를 포함한 시스템 최적화
  16. 16. ‘사용자’를 포함한 시스템 최적화 쉽고 익숙하게 - 로컬 PC 사용 경험 같은, - 기존의 작업 환경과 유사한, - 빠른 응답 속도의,
  17. 17. ‘사용자’를 포함한 시스템 최적화 쉽고 익숙하게 - 로컬 PC 사용 경험 같은, - 기존의 작업 환경과 유사한, - 빠른 응답 속도의, 해커처럼 - 동시에 여러 아이디어 병행 실험 - 작동 중인 실험의 실행 시간 변형 - 효과적인 분석
  18. 18. ‘사용자’를 포함한 시스템 최적화 함께. 같이. - 다른 사람의 실험을 쉽게 재현해 볼 수 있는, - 다른 사람의 모델과 나의 모델을 쉽게 비교해 볼 수 있는, 쉽고 익숙하게 - 로컬 PC 사용 경험 같은, - 기존의 작업 환경과 유사한, - 빠른 응답 속도의, 해커처럼 - 동시에 여러 아이디어 병행 실험 - 작동 중인 실험의 실행 시간 변형 - 효과적인 분석
  19. 19. 3. 여러 사람 + 다수의 기계
  20. 20. GPU 공유하기 수동 분배 각 서버마다 GPU를 특정 사용자에게 수동 분배 (게시판?) http://www.remodeling.hw.net/business/leadership/charted-territory-a-low-tech-way-to-effectively-schedule-multiple-jobs 문제 어려운 재분배, 긴 유휴 시간, 환경 충돌 Dirty Hack “당분간 우리 실험실은 텐서플로 버전 0.12만 쓴다!”
  21. 21. 환경 충돌 해결 Containerization Docker, Singularity
  22. 22. 정적 배분 = 놀고 있는 GPU
  23. 23. 재분배, 유휴 시간 문제 해결 Overbooking GPU 리소스 가상화 — 문제 복잡도, 비결정적 시스템 응답 최대한 짧은 사용 시간 정확히 리소스를 사용할 시간만큼만 자원 배정 Save & resume 할당 받은 새로운 서버, 새로운 gpu를 이용해 작동하고 있던 실험을 쉽게 이주
  24. 24. Session, Model Session: GPU를 할당 받아 한시적으로 작동하는 ‘프로그램’ GPU를 필요한 시간 동안만 점유하도록 함 Model: Session의 부산물(checkpoint) 자동 정량화: Validation을 거쳐 별도의 storage에 보관 실험 재개/이주 실험 설정 변경 [Game save 파일?]
  25. 25. 필요할 때 더 많은 GPU
  26. 26. 자유로운 GPU 할당 더 많은 GPU로 더 빠른 실험 Accurate, Large Minibatch SGD: Facebook
  27. 27. Scheduler Bin packing: GPU 활용되지 못하고 방치되는 GPU 최소화 Soft constraint: Cache Locality 문제: naïve한 중요도, 의미 없는 우선 순위?
  28. 28. Scheduler (w/ dynamic priority) 상황에 따른 우선 순위 배정 진행 경과에 따라 변화하는 우선 순위에 따른 자원 배정 Dynamic Priority Queue 실험이 ‘best model’을 갱신할 가능성을 기준으로 우선순위로 계산 단순한 grid search만으로도 쓸만한 AutoML
  29. 29. 3. 쉽고 익숙한 nsml
  30. 30. cluster web frontend cli storage redis Virtualized cluster on your PC
  31. 31. One-liner cli (Your PC) 데이터셋 등록 학습 서빙
  32. 32. 6. 더 효율적인 당신
  33. 33. 당신의 Idle time 줄이기 병렬화의 한계 Amdahl’s law
  34. 34. 당신의 Idle time 줄이기 동시에 여러 실험을 수행 분산된 응답 Exp. #1 Exp #2. vari. 1 Exp #2. vari. 2 Exp #3
  35. 35. 당신의 인지 능력 향상 Balance your brain Visualization: 수고 없이 정보를 이해할 수 있는 방법 https://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed/data-visualization-for-human-perception
  36. 36. 실험 경과 파악 기존 솔루션을 더 편리하게 Tensorboard, Visdom 등 이미 공개되어 있는 서버 활용 귀찮음 — 서버를 미리 띄워 놓고 데이터를 전송해야 함 느림 — 미리 코드에 리포트 관련 코드를 넣어 둬야 함 Your code @2 Visualization toolnsml Your code @3 Your code @1
  37. 37. Event replay Your program.py …:/logs/events.log PUB SUB push
  38. 38. 가상 터미널 환경 (REPL) 작동 중인 실험에 명령 수행 변수 내용 확인 하이퍼 파라미터 변경 plot 내용 변경 임의의 함수 실행
  39. 39. 가상 터미널 환경 Cli 다른 고급 nsml 기능의 기초 - 모델 save / load / infer
  40. 40. 가상 터미널 환경 cli session command command resultresult eval hack
  41. 41. 5. 더 가벼운 실험
  42. 42. Async IO 응답 시간
  43. 43. 유동적인 리소스 사용의 side effect Slow boot-up 작업 시작 후, 첫 iteration 보고까지의 시간 Optimize! 자주 변경되지 않지만 용량이 큰 것: Environment, Dataset 자주 변경되지만 용량이 작은 것: Code
  44. 44. Dataset + Code model code dataset user container data volume container 문제: 느린 docker file copy
  45. 45. Dataset + Code model code user container data volume container cp build 자주 변경되는 코드를 이미지로 다루는 게 맞지 않음 micro commit
  46. 46. https://pagethink.com/v/blog-detail/Collaborate-to-Design-Build-a-Lab-Three-Essential-Tactics/4l/
  47. 47. 가장 쉬운 환경 설정 방법 기존 환경 설정 방법을 사용 새로 배울 게 없다!
  48. 48. 가장 쉬운 환경 설정 방법 Base docker image 다양한 docker image 사용 가능
  49. 49. 가장 쉬운 환경 설정 방법 문제: 전보다 “훨씬” 느린 실험 부팅 시간 setup.py, requirements.txt를 실행하는데 반복적으로 소요되는 시간 tensorflow/tensorflow (base docker image) setup.py requirements.txt + nsml-23ab42ac(sha1) (user docker image) 해결책: User docker image
  50. 50. Demo
  51. 51. Demo nsml.DATASET_PATH
  52. 52. GPU server 10.0.0.1 Demo python your_model.py stdout
  53. 53. 6. 실용적인 연구
  54. 54. 7. 같이. 함께.
  55. 55. 협업 Leaderboard CI-ML
  56. 56. 협업하는 연구 환경 다른 연구자의 결과를 쉽게 재현 및 확장
  57. 57. Kaggle 같은 leaderboard
  58. 58. 학습된 모델은 자동적으로 순위 집계 응집력 있는 경쟁적 연구 환경 데이터셋을 대상으로 학습된 모델의 zoo 표준화, 정량화된 평가 잘 만들어진 경쟁 환경의 연구 가속화 AutoML의 environment
  59. 59. Continuously Integrated ML sota server Bob’s model 12 98.2% Bob’s model 13 94.2% Alice’s model 4 92.1% Alice’s model 5 98.3% REST API https://service.nsml.navercorp.com/ASR
  60. 60. Stay tuned RL MPI open-source
  61. 61. 감사합니다 https://research.clova.ai/nsml-alpha

×