Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 61 Publicité

[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기

Télécharger pour lire hors ligne

[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기

[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à [225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기 (20)

Publicité

Plus par NAVER D2 (20)

Plus récents (20)

Publicité

[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기

  1. 1. NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기 김민규, 김진웅 NSML
  2. 2. Contents NSML: Machine Learning as a Service CHOPT: 하이퍼파라미터 튜닝 자동화하기
  3. 3. NSML: Machine Learning as a Service
  4. 4. 머신러닝 What I think I do What I actually do
  5. 5. 머신러닝 What really happens
  6. 6. Dependency Hell 협업 및 재실험이 어려움 github에서 받은 코드는 돌아가지도 않는다 힘들게 라이브러리 설치했더니, 버전이 다르다고 한다
  7. 7. MLaaS (Machine Learning as a Service) MLaaS 목표는 최고의 모델을 만들어서 서비스하기 NSML을 통해서 진입장벽을 없애고, 협업과 경쟁이 가능해짐으로써 좋은 모델 학습부터 모델 서비스까지 쉽다
  8. 8. MLaaS: 진입장벽 없애기
  9. 9. 나만의 머신러닝 모델 만들기 Mnist예제 다운받기 실행 성공!GPU 셋업파이썬 설치 텐서플로우 설치 …  가장 쉬운 머신러닝 모델 학습하는데 필요한 단계가 많음
  10. 10. 나만의 머신러닝 모델 만들기 (w/ NSML)  지저분한 환경 세팅은 nsml통해서 처리  커맨드 한 줄로 머신러닝 모델 학습 가능 Mnist예제 다운받기 실행 성공!
  11. 11. Almost-Zero Dependency Containerized ML  리눅스 컨테이너를 이용한 빠르고 정확한 환경 세팅  컨테이너 이미지를 통해 reproduce 할 수 있다
  12. 12. Engineering issue Scalability Stability Linux Container Modularization Fault-tolerance Monitoring Security Authentication / Authorization Isolation
  13. 13. MLaaS: Cluster sharing
  14. 14. 공유지의 비극 Install
  15. 15. Cluster sharing via container Container를 통해 버전에 상관없이 서버 공유가 가능하다. On demand로 관리하는 자원 할당 시스템을 통해 자원을 효율적으로 사용한다 -> 실제 연구원들에게 적용해보자
  16. 16. NSML is in service now! 사용자 별 다양한 목적 지원  data preprocessing  state-of-the-art 구현  새로운 아이디어 실험  모델 최적화  모델 서비스
  17. 17. NSML로 인한 변화  전체 자원 utilization 증가  궁극적으로, ML연구 속도가 빨라졌다
  18. 18. MLaaS: Hackathon
  19. 19. Naver AI Hackathon 2018  영화 리뷰 평점 예측 / 지식인 질문 유사도 예측의 두 문제로 진행  영화 리뷰 평점: 문장으로 된 영화 리뷰를 보고 점수 예측  지식인 질문 유사도: 두 지식인 질문이 같은 질문인지 아닌지 판별  총 250+명 참여  한 달 동안 총 3라운드로 진행 (Online 2라운드, Offline 1라운드)
  20. 20. Leaderboard  같은 데이터, 같은 태스크에 대해 서 어떤 모델이 좋은 성능을 내는 지 평가하는 UI  실시간 업데이트
  21. 21. 현장 사진
  22. 22. 시스템 안정성
  23. 23. MLaaS: Competition to service
  24. 24. 문서의 회전 각도 예측  주어진 문서의 기울어진 각도 예측  OCR엔진에서 사용하는 데이터 preprocessing에 적용 가능한 모델이 필요 45도
  25. 25. 최종 결과  99.8% 정확도를 보이는 모델 학습  내부에서 data preprocessing에 사용할 수 있는 수준의 모델 학습
  26. 26. 최종 결과
  27. 27. 키보드 오타교정  키보드 입력 시퀀스를 받아, 오타 여부 판단 및 교정하는 문제  Naver SmartBoard에 탑재할 수 있는 수준의 모델이 필요
  28. 28. 최종 결과  실제로 사용 가능한 수준의 모델 생성  Naver SmartBoard (http://keyboard.naver.com/)에 탑재
  29. 29. MLaaS: 모델 서비스하기
  30. 30. 모델 서비스 파이프라인 (AS-IS)  NSML에서 모델 학습은 끝냈는데, 다시 서버 구축을 새로 해야한다  혹시 더 좋은 모델을 나중에 발견하면? -> 2번부터 다시 해야 한다 데이터 수집 모델 학습 모델 다운로드 서비스용 서버 구축 Application 연결
  31. 31. 모델 서비스 파이프라인 (w/ NSML)  서버 구축까지 NSML에서 대신해주며, 사용자는 앱만 만들면 된다  혹시 더 좋은 모델을 나중에 발견하면? -> 단순히 NSML에 저장되어 있는 모델 이름만 변경하면 새로 구축 끝 데이터 수집 모델 학습 모델 다운로드 서비스용 서버 구축 Application 연결
  32. 32. Engineering issues Scalability Stability Scale in/out Batch Scheduler 백업 DB Monitoring
  33. 33. 모델 튜닝 자동화하기
  34. 34. 최고의 튜닝 방법? - GSD Optimization
  35. 35. 최고의 튜닝 방법? - Graduate Student Descent (GSD) Optimization
  36. 36. 최고의 튜닝 방법? - Graduate Student Descent (GSD) Optimization
  37. 37. 최고의 튜닝 방법? 최근 기법들 - Population Based Training (Deepmind, 2017) - Hyperband (CMU, UW, Google, 2016) - BOHB (University of Freiburg, 2018) - 그 외 다수 …
  38. 38. 다 좋은데... 언제 구현하고, 언제 적용하지…? 어느 최적화 기법이 제일 좋은지 어떻게 알지..? 모델, 알고리즘 연구하기에도 시간이 없는데 ...
  39. 39. CHOPT를 이용해 하이퍼파라미터 “쉽고” “빠르게” 튜닝 하기
  40. 40. “쉽게”
  41. 41. 스크립트? = 남에게 맡기는 것 최근 논문 구현? Third-party library? 가장 쉬운 방식이란?
  42. 42. CHOPT agent (Graduate Student) - 사용자를 대신해 configuration file을 토대로 하이퍼파라미터를 튜닝! (Graduate Student)
  43. 43. Configuration File - Dictionary-based file what to tune ? how to tune ?
  44. 44. Select best hyperparameters
  45. 45. Select best hyperparameters
  46. 46. Show best hyperparameters
  47. 47. “빠르게”
  48. 48. How to make it fast? 사실… 최적의 하이퍼파라미터를 찾는건 튜닝 메소드에 의존적
  49. 49. 자원 몰아주기 ! Under-utilization : CHOPT session 에게 자원 추가 할당 ! Over-utilization : nsml 세션이 자원 요구시 반납 ! GPU(%) 3.5 배 빠르게 최적화 !
  50. 50. “진짜 되나요?”
  51. 51. 네. 됩니다. - 저자들이 피땀흘려 얻은 결과를, 쉽고 빠르게 갱신 할 수 있습니다! ● Image Classification with CIFAR-100[1] ● Reasoning-QA with SQuAD 1.1[2]
  52. 52. One “More” Thing ...
  53. 53. Fine Tuning - Expanding : 하이퍼파라미터를 하나씩 추가해 나가며 최적화 하는 방식 - Shrinking : 하이퍼파라미터의 범위를 점차 좁혀나가며 최적화 하는 방식
  54. 54. Fine Tuning (Expanding) - 하이퍼파라미터를 하나씩 추가해 나가며 최적화 하는 방식
  55. 55. Fine Tuning (Expanding) - 하이퍼파라미터를 하나씩 추가해 나가며 최적화 하는 방식
  56. 56. Fine Tuning (Shrinking) - 하이퍼파라미터의 범위를 점차 좁혀나가며 최적화 하는 방식 range를 좁힌 후 rerun!
  57. 57. CHOPT demo.
  58. 58. Publication ● CHOPT : Automated Hyperparameter Optimization Framework for Cloud-Based Machine Learning Platforms ○ Cloud-based Hyperparameter OPTimization (CHOPT) ○ https://arxiv.org/abs/1810.03527
  59. 59. We are Hiring!! Domains •Speech Recognition •Speech Synthesis •Computer Vision •Natural Language •NSML / AutoML •Finance AI •App/Web Services Positions •Research Scientist •Research Engineer •SW Engineer •Android / iOS Engineer •Backend Engineer •Data Engineer •UI/UX Engineer •Internship Member •Global Residency clova-jobs@navercorp.com
  60. 60. Q & A
  61. 61. 질문은 Slido에 남겨주세요. sli.do #deview TRACK 2

×