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.

[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐

연사: AWS 김효정 솔루션 아키텍트 & 버즈빌 위동윤 머신러닝개발 리드

https://aws.amazon.com/ko/events/start-up/

[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐

  1. 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 김효정 솔루션즈 아키텍트 2017 Nov. 2 스타트업이 인공지능을 만날때: 딥러닝 활용사례와 아키텍처
  2. 2. 스타트업이 AI에 관심을 가져야 하는 이유는 ?
  3. 3. 인간 지능을 필요로 하는 태스크를 수행하는 시스템 혹은 서비스 Artificial Intelligence
  4. 4. 신경망 알고리즘 데이타 오픈 소스 프로그래밍 모델 클라우드 및 GPU등 하드웨어 가속 딥러닝을 통한 인공 지능 기술의 도약 이미지 이해 자연어 처리 음성 인식 자율 주행
  5. 5. AI는 혁신을 약속 기존 제품/서비스에 새로운 기능 추가 및 개선 기존에 없던 새로운 고객 경험 및 가치 전달 파괴적 산업 혁신
  6. 6. 스타트업을 포함하여 전 산업에서 기업들이 AI를 AWS에서 수행
  7. 7. 스타트업의 딥러닝 적용 사례 - Pinterest Tensorflow기반의 딥러닝 통해 시각적 검색 기능을 개선하고 관련 콘텐츠를 사용자에게 추천함으로써 매월 1억 5천만영 이상의 활성 사용자를 확보 Pinterest Visual Search Pinterest Lens 앱 에서 라이브 카메라 기능으로 특정 물건을 촬영하면 내부 DL 기반 모델이 실시간 분석을 수행하여 유사 핀(pin)들을 제시 앱 에서 BOX를 특정 객체에 위치시켜면, 해당 객체와 연관된 FEATURE들을 지닌 객체를 카탈로그 검색을 통해 관련 PIN으로 제시
  8. 8. 스타트업의 딥러닝 적용 사례 - Instacart 2012년 설립된 신선식품 구매 및 배달 대행 서비스를 제공하는 ‘쇼핑 업계 우버’와 같은 스타트업. Keras 및 Tensorflow 기반 딥러닝을 통해 구매 대행자가 과거 수백만건의 고객 주문의 주문 품목 수집 순서 데이터를 학습함으로써, 가장 빠르고 효율적인 매장 내 품목 피킹 순서를 앱에 제시 Predictive Sequence : 과거 상품 피킹 순서 데이터를 기반으로 구매 대행자에게 가장 효율적인 피킹 순서를 제시
  9. 9. 스타트업의 딥러닝 적용 사례 - Zillow 미국 전역 1억 1천만 주거용 부동산에 대해, 선형 모델, 의사결정트리, 딥러닝 등 매일 학습 및 재학습되는 750만개 모델로 적정 부동산 가격, 적정 월세, 향후 가격 추이에 대한 추정 시장 가치를 제공하는 Zestimate제공으로, 부동산 정보의 민주화에 따른 부동산 시장에서의 파괴적 혁신을 제공 Zestimate : 1억 1천만 주거용 부동산에 대한 가격 추정과 향후 가격 추이 예측
  10. 10. 2015년 창업한 중국 AI 스타트업으로, 세계에서 가장 잘 동작하는 자율 주행 시스템을 MxNet 기반의 딥러닝 학습 컴퓨터 비전 기술로 제공하여 트럭 운송업을 재정의하고 있음 3차원 공간에 대한 히트맵 기반 차량의 센티미터 단위 정확한 위치를 센서, 센서퓨전, 컴퓨터 비전 기술로 제공하고자 함 베이징의 트래픽 데이터를 학습하여 도로 정체, 다른 자동차, 보행자, 도로 표지판등을 주간 그리고 보다 데이터 적은 야간에 까지 컴퓨터 비전 기술로 정확하게 식별하고자 함 스타트업의 딥러닝 적용 사례 - TuSimple
  11. 11. 스타트업의 딥러닝 적용 사례 - SCDM Financial 독일 스타트업으로, 구조화 금융 부문에 대한 분석 및 AI 솔루션을 금융기관에 제공. 금융 기관간 주고 받는 pdf 와 같은 문서로 부터 고객이 요청하는 금융 데이터를 Tensorflow기반 딥러닝으로 인식/추출(OCR)하여 분석 서비스를 제공할 수 있도록 3개월만에 구현(GPU기반 DL AMI 활용) 1단계 값 인식: pdf를 이미지로 변환 후, 첫번째 CNN기반 딥러닝을 활용하여, 한 개 문서가 수백페이지에 달하는 금융 문서에서 해당 값이 포함된 영역의 위치를 인식 2단계 값 추출: 두번째 CNN기반 DL을 활용한 OCR 워크플로우로 값을 추출하여 추이 분석등에 활용할 수 있도록 텍스트로 저장
  12. 12. 딥러닝을 위한 AWS 빌딩 블록
  13. 13. ”미래는 이미 우리 곁에 와 있다. 단지 널리 퍼져 있지 않을 뿐이다” - 윌리엄 깁슨
  14. 14. Amazon AI “AWS는 모든 규모의 조직이 이러한 진보된 기술을 활용할 수 있도록, 머신 러닝 및 AI에 대한 비용과 장벽을 낮추어 된 것을 기쁘게 생각합니다. ”
  15. 15. AWS Public datasets – 무료로 제공 AWS는 누구나 무료로 접근할 수 있는 27종의 공개 데이터 세트 제공으로, 다운로드하거나 저장할 필요없이 AWS의 유연하고 저렴한 컴퓨팅 및 분석 서비스를 통해 더 많은 혁신이 가능하도록 지원 지역 및 환경(13) 예) 랜드셋 위성에서 제공한 이미지 유전체학 및 생명 과학(5) 예) 1000 게놈 프로젝트 (인간 유전변이 카탈로그를 위한 국제 협업 프로젝트) 머신러닝을 위한 데이터 셋(6) 예) Common Crawl Corpus (50억개가 넘는 웹 페이지로 구성된 웹 크롤링 데이터 모음) http://aws.amazon.com/public-data-sets/ 규제 및 통계 데이터(3) 예) IRS 990 신고서 (2011년 이후 전자 990 양식으로 제출된 기계 판독 가능 데이터)
  16. 16. AWS Public Datasets – 예) Amazon Bin Image Dataset • Amazon Fulfillment Center의 상품 보관 선반의 이미지와 메타 데이터가 포함 • 데이터 세트의 빈(Bin) 이미지는 배송 과정 측정의 일부로 로봇을 통해 포드(선반) 이동 시 캡처 • Amazon S3에서 빈(Bin) 이미지를 무료로 제공함으로써 일반 항목 계산 및 약한 태그가있는 데이터로부터의 학습을 포함하여 다양한 분야에서 연구 장려 중 • https://aws.amazon.com/ko/public- datasets/amazon-bin-images/ • AWS re:Invent 2016: Transforming Industrial Processes with Deep Learning (MAC301) • https://www.youtube.com/watch?v=AHUaor0odh4
  17. 17. 저비용 학습 데이터 확보를 위한 Amazon Mechanical Turk Artificial AI Mechanical Turk : 18세기 가짜 체스 머신 글로벌 인력에 대한 온디맨드 API 기반 접근
  18. 18. AWS는 모든 규모의 기업 및 개발자에게 다양한 AI 도구 제공 PollyLex Rekognition 딥러닝 프레임워크머신 러닝 플랫폼Amazon AI/ML 서비스 사용성/간편성: AWS AI/ML 전문성을 활용 좀더 많은 제어권: 고객 고유 모델이러한 솔루션은 이미 증명된, 확장성 있는 AWS 제품 및 서비스에 기반합니다. AWS Greengrass AWS IoT AWS Lambda Amazon EC2 (P2 및 G2 GPUs) Amazon S3 Amazon DynamoDB Amazon Redshift Amazon EC2 (CPUs) Amazon EC2 (ENA) Amazon ML Spark & EMR Kinesis Batch ECS
  19. 19. 많은 GPU 및 CPU 적은 지연시간을 위한 확장성 에지 혹은 IoT 장비에서 수행 딥러닝을 위한 데이터, 학습, 예측에서의 확장성(SCALE) 많은 GPU 탄력적 용량 미리 준비된 이미지 페타 바이트 규모 데이터 처리 예측학습데이터 Amazon S3 Amazon DynamoDB Amazon Redshift Amazon EC2 (P2, P3 및 G3 GPUs) AWS Greengrass AWS Lambda Amazon EC2 (ENA) 딥러닝 AMI Amazon EC2 (P2 및 G2 GPUs) Amazon EC2 (ENA) Amazon EC2 (CPUs) AWS IoT
  20. 20. 그리고 AI 민주화를 위한 Amazon AI 전체 스택 서비스 플랫폼 프레임워크 인프라스트럭처 Apache MXNet Torch Cognitiv e Toolkit KerasTheano Caffe2 & Caffe TensorFlow AWS 딥러닝 AMI GPU MobileCPU IoT Amazon ML ECS Spark & EMR Kinesis Batch 비전(Vision) 음성(Speech) 언어(Language)
  21. 21. 딥러닝을 위한 AWS 빌딩 블록 - GPU 인스턴스 그리고 스팟 인스턴스를 통한 비용 절감
  22. 22. AI 인프라스트럭처 > GPU 서비스 플랫폼 프레임워크 인프라스트럭처 Apache MXNet Torch Cognitiv e Toolkit KerasTheano Caffe2 & Caffe TensorFlow AWS Deep Learning AMI GPU MobileCPU IoT Amazon ML ECS Spark & EMR Kinesis Batch 비전(Vision) 음성(Speech) 언어(Language)
  23. 23. P2 인스턴스를 이용한 클러스터를 만들어 본다면? vCPU 32 / RAM 488GiB / NVIDIA K80 x GPU 8 p2.8xlarge = $7.2 per hour (버지니아 리전 기준) x 20 vCPU 640 GPU 160 ~0.7PF p2.8xlarge x 20 = $144 per hour
  24. 24. P2 인스턴스를 이용한 클러스터를 만들어 본다면? $aws ec2-run-instances ami-bde90fc7 --instance-count 20 --instance-type p2.8xlarge --region us-east-1 $aws ec2-stop-instances i-10a64379 i-10a64280 ...
  25. 25. Spot Instances (80% ↓) = $30 per hour
  26. 26. P3 - NVIDIA Volta V100 기반 GPU 인스턴스 • 고성능 컴퓨팅 작업을 요하는 기계 학습, 딥러닝, 전산 유체 역학, 전산 금융, 지진 분석, 분자 모델링 및 유전체 분석 작업 등의 부하를 처리할 수 있게 설계 • 최대 8개의 NVIDIA Tesla V100 GPU로 구동 • 최대 2.7GHz로 실행되는 맞춤형 Intel Xeon E5-2686v4 프로세서 사용 • 각 NVIDIA GPU는 5,120개의 CUDA 코어, 640개의 Tensor 코어로 구성, 최대 125 TFLOPS의 혼합 부동 소수 정밀도, 15.7 TFLOPS의 단일 부동 소수점 정밀도 및 7.8 TFLOPS의 복수 부동 소수점 정밀도 지원 • 8xlarge 및 16xlarge : 각 GPU가 최대 300GBps의 데이터 속도로 실행되는 NVIDIA NVLink 2.0을 통해 연결(GPU는 중간 결과 및 기타 데이터를 CPU 또는 PCI-Express 패브릭을 통해 이동하지 않고 고속 교환)
  27. 27. 딥러닝을 위한 AWS 빌딩 블록 - 딥러닝 프레임워크, 딥러닝 AMI , Apache MXNet
  28. 28. AI 프레임워크: AWS 딥러닝 AMI에서의 프레임워크 선택의 자유 서비스 플랫폼 프레임워크 인프라스트럭처 Apache MXNet Torch Cognitive Toolkit KerasTheano Caffe2 & Caffe TensorFlow AWS 딥러닝 AMI GPU MobileCPU IoT Amazon ML ECS Spark & EMR Kinesis Batch 비전(Vision) 음성(Speech) 언어(Language)
  29. 29. “딥러닝 환경을 구축하려면 어떻게 시작하면 되나요?”
  30. 30. 데이터 수집 및 조직화 데이터 보강 및 강화 직관력 실험 & 학습 커스텀 모델: 데이터 중심 접근
  31. 31. 모델 학습 클라우드에서의 추론 에지에서의 추론 End to End 시스템 구축
  32. 32. “Fizz Buzz!” 일반적인 코딩
  33. 33. 딥러닝을 위한 직관력 구현 – 딥러닝 네트워크 정의 Back propagation
  34. 34. AWS 딥러닝 AMI: 손쉬운 딥러닝 환경 구성 Benefits: • AWS 딥러닝 AMI는 AMI 상에서 미리 설치 및 구성된 머신러닝 도구들을 제공 • 다양한 딥러닝 프레임워크들에 대한 선택의 자유를 제공 : Apache MXNet, TensorFlow, the Microsoft Cognitive Toolkit (CNTK), Caffe, Caffe2, Theano, PyTorch, Torch, Keras • 대규모 학습을 위한 관리형, 오토스케일 GPU 클러스터를 손쉽게 생성하여 대규모 학습 딥러닝 프레임워크들이 미리 설치된 AMI를 활용하여 복잡한 AI/ML 모델 구현
  35. 35. • 유연한 프로그래밍 모델 (imperative 및 symbolic 지원) • 7개 이상 언어에 대한 바인딩 지원 (예, Python, C++, Scala 등) • 다양한 CPU/GPU 서버 및 저전력 모바일 디바이스에 이르기까지 적용 이 가능 • 클라우드 환경에서 고성능 및 확장 성을 보여줌 Scalable 딥러닝 프레임워크, MXNet
  36. 36. 신규 P3 인스턴스용 AWS 딥러닝 AMI 발표
  37. 37. 딥러닝 AMI(Amazon Machine Image) 딥러닝 이미지 제공 • 손쉬운 딥러닝 플랫폼 구축 가능 • 8개의 Deep Learning Framework 들이 설치되어 있음 - MXNet, Caffe, Caffe2, Tensorflow, Theano, PyTorch, Torch, Keras, CNTK • Intel Math Kernel Library(MKL)를 지원하는 MXNet • NVIDIA 드라이버, CUDA, cuDNN • Anaconda Science Platform for Python2, Python3 http://bit.ly/deepami
  38. 38. AWS CloudFormation - 분산 Deep Learning 템플릿 http://bit.ly/deepcfn 안정적인 분산 딥러닝 아키텍처 구성 • AWS CloudFormation 템플릿을 기반으로 손쉬운 분산 기반 딥러닝 플랫 폼 구축 가능 • Deep Learning AMI을 기반으로 GPU 및 CPU 인스턴스 클러스터링 가능 • Master와 Worker의 Auto Scaling 구성 및 SQS를 통한 분산 Job 관리 다양한 AWS 서비스 활용 가능 • 공유 스토리지로 Amazon EFS 를 통한 작업 데이터 저장 • AWS Lambda 및 Amazon SNS를 통한 ASG 모니터링
  39. 39. 딥러닝을 위한 End to End 시스템 구축
  40. 40. 모델 학습 클라우드에서의 추론 에지에서의 추론 딥러닝을 위한 End to End 시스템 구축
  41. 41. 딥러닝 기반 구조화 금융 문서 분석 딥러닝을 위한 End to End 시스템 구축- SCDM Financial
  42. 42. 딥러닝 기반 구조화 금융 문서 분석 딥러닝을 위한 End to End 시스템 구축 - SCDM Financial
  43. 43. 딥러닝 기반 구조화 금융 문서 분석 딥러닝을 위한 End to End 시스템 구축 - SCDM Financial
  44. 44. 국내 딥러닝 구축 사례 – 매스프레소 실시간 질문 답변 플랫폼 ‘콴다’를 통하여 기출 문제 사진을 찍으면 해설을 검색할 수 있는 서비스를 제공. 학생과 선생님 사이의 질문과 답변 사진에서 한글, 수식 등 다양한 텍스트를 인식하기 위해 CNN기반 OCR 모델을 구현
  45. 45. 2017.11.02 AWS로 Deep Learning 시스템 만들기 위동윤 머신러닝 개발리드, BUZZVIL
  46. 46. Intro: Why Machine Learning ?00 47Copyright ⓒ All Right Reserved by Buzzvil Preparation for Machine Learning01 Implementation of Deep Learning system02 Conclusion03 Q & A04
  47. 47. Intro 허니스크린 - 잠금화면 포인트 서 비스 00 48Copyright ⓒ All Right Reserved by Buzzvil Reward & Benefit 유저가 잠금해제 할 때마다 리워드를 지급하고, 각종 할인 쿠폰 및 혜택 정보를 잠금화면을 통해 제공합니다. Beautiful UI/UX 유저의 기존 스마트폰 사용 방식을 해치지 않는 UX/UI를 통해 자연 스러운 첫화면 서비스를 제공합니다. Personalized Contents & Utility 유저가 좋아할만한 컨텐츠를 어디 찾아가지 않고 잠금화면에 바로 볼 수 있도록 유저의 관심사를 반영한 개인화된 컨텐츠를 제공합니다.
  48. 48. Intro 버즈스크린 - 잠금화면 SDK00 49Copyright ⓒ All Right Reserved by Buzzvil 사용자가 기존 앱 내의 메뉴에서 ‘잠금화면 사용하기’ 설정만 하면… …별도 앱 다운로드 없이 바로 잠금화면 기능 사용 가능!
  49. 49. 버즈빌 - 잠금화면 뉴스 컨텐츠 제공 서비스00 50Copyright ⓒ All Right Reserved by Buzzvil Beautiful UI/UX 유저의 기존 스마트폰 사용 방식을 해치지 않는 UX/UI를 통해 자연 스러운 첫화면 서비스를 제공합니다. Personalized Contents & Utility 유저가 좋아할만한 컨텐츠를 어디 찾아가지 않고 잠금화면에 바로 볼 수 있도록 유저의 관심사를 반영한 개인화된 컨텐츠를 제공합니다.
  50. 50. As-Was 뉴스 컨텐츠 제공 시스템00 51Copyright ⓒ All Right Reserved by Buzzvil Crawling Curation Allocation ...
  51. 51. As-Was 뉴스 컨텐츠 제공 시스템00 52Copyright ⓒ All Right Reserved by Buzzvil ● 글로벌 유저들에게 뉴스 컨텐츠를 제공하고 싶다!!!
  52. 52. 문제점 on As-Was 시스템00 53Copyright ⓒ All Right Reserved by Buzzvil Crawling Curation Allocation x N? x N?x N x N ● 진출하는 국가마다 선형적인 비용 증가 ● 컨텐츠 품질 관리 어려움 ● 빠른 뉴스 컨텐츠 제공 어려움
  53. 53. Machine Learning 시스템00 54Copyright ⓒ All Right Reserved by Buzzvil Crawling Curation Allocation x N x N ● Machine Learning !! ● AWS 인스턴스만 추가하면 끝
  54. 54. 머신러닝 시스템이 해야 할 일01 55 ● Contents Curation ○ 선정적인 컨텐츠 제거 ○ 잠금화면에 최적화된 이미지 편집 ○ 불필요한 부분 제거 ● Contents Allocation ○ 컨텐츠 카테고리 분류 ○ 개인화 컨텐츠 추천 Copyright ⓒ All Right Reserved by Buzzvil
  55. 55. 컨텐츠 추천 시스템 만들기01 56 ● 요리(=최종모델) 파악하기 ● 재료(=데이터) 파악하기 ● 레시피(=알고리즘) 비교하기 ● 연장(=프레임워크) 선정하기 Copyright ⓒ All Right Reserved by Buzzvil
  56. 56. 모델 요구사항 파악하기01 57 ● 새로운 뉴스 컨텐츠 추천 ○ 뉴스 컨텐츠의 생명은 신속 / 정확 ○ 새로운 트렌드를 반영할 수 있도록! ● 최대한 많은 유저에게 빠르게 서비스 ○ 연산량/연산속도 최적화 ○ 최종목표: 전체 유저(160만 DAU)에게 실시간 서비스 ● 정확한 추천 ○ 추천 모델 최적화 ○ 개인화 추천 Copyright ⓒ All Right Reserved by Buzzvil
  57. 57. 데이터 파악하기01 58 ● 컨텐츠 데이터 ○ 컨텐츠 ID + 제목 + 이미지 URL + Publisher ... ○ MySQL, Redshift에 저장 ○ 하루 XXXX개 컨텐츠 업데이트 ● 로그 데이터 ○ 유저 ID + 컨텐츠 ID + 시각 + click 여부 ○ S3, Redshift에 저장 ○ 하루 XXXX건 로그 업데이트 Copyright ⓒ All Right Reserved by Buzzvil
  58. 58. 추천 알고리즘 비교하기01 59 ● 많이 쓰이는 추천 알고리즘 ○ Collaborative Filtering ○ Matrix factorization ● 문제점 ○ 뉴스 컨텐츠는 실시간 업데이트 ○ 최신 뉴스 컨텐츠에 대한 로그 데이터가 없음 ● 해결책 ○ Content-based recommendation → 자연어 + 이미지 데이터 처리 ○ Deep Learning을 이용하여 추천! Copyright ⓒ All Right Reserved by Buzzvil
  59. 59. Deep Learning 프레임워크 선정하기01 60 ● PyTorch ○ Dynamic 그래프 지원 ○ Python 디버깅 툴 사용 가능 ○ 모니터링 툴이 없음 ● TensorFlow ○ 분산환경에 대한 지원 ○ 텐서보드를 이용한 모니터링 ○ 폭 넓은 커뮤니티와 구글의 백업 ○ TensorFlow serving Copyright ⓒ All Right Reserved by Buzzvil
  60. 60. Deep Learning 시스템 구성02 61Copyright ⓒ All Right Reserved by Buzzvil 모델 서비스 ○ 서비스 대상 데이터 로 딩 ○ 모델 인퍼런스 ○ 인퍼런스 결과 전송 모델용 데이터 생성 ○ 컨텐츠/로그 데이터 로딩 ○ 데이터 전처리 ○ 모델 학습/테스트용 데이터 관리 모델링 ○ 인스턴스 연산관리 ○ 데이터 / 실험 관리
  61. 61. 01. 모델용 데이터 생성 (Planning)02 62Copyright ⓒ All Right Reserved by Buzzvil ● 컨텐츠/로그 데이터 로딩 ○ 컨텐츠 → MySQL, RedShift ○ 로그 → S3, RedShift ● 데이터 전처리 ○ 컨텐츠 데이터 전처리 : 텍스트 전처리, 이미지 전처리 ○ 로그 데이터 전처리 : 모델링에 적합한 형태로 전처리 ● 데이터 관리 ○ 입출력이 많은 데이터 (컨텐츠 전처리 결과...) → MySQL ○ 입출력이 많지 않은 데이터 (모델 학습/테스트 데이터) → S3 파일 저장
  62. 62. 01. 모델용 데이터 생성 (Practice)02 63Copyright ⓒ All Right Reserved by Buzzvil 컨텐츠 로그 데이터 ● 컨텐츠 ID ● 유저 ID ● 시각 ● 클릭 or not? 자연어 처리 (형태소 분석) Pre-trained Model (CNN) 단어 사전 업데이트 Image Vector Title Vector 로그데이터 파싱 TFRecord 파일로 변 환
  63. 63. 02. 모델링 (Planning)02 64Copyright ⓒ All Right Reserved by Buzzvil ● 모델 내 행렬연산에 대한 고려 ○ Deep Learning 학습은 대용량 행렬연산의 반복 ○ 행렬연산을 빠르게 할 수 있는 방안 모색 ● Online Learning 관리 ○ 뉴스 컨텐츠 특징 상, 트렌드 반영을 위한 Online learning이 필요 ○ 실시간? vs 배치 잡 스케줄링? ● 데이터 / 실험 관리 ○ Deep Learning 실험 관리를 위한 고려 ○ 모델링 결과 데이터 관리 및 모니터링
  64. 64. 02. 모델링 - 행렬연산 (Practice)02 65Copyright ⓒ All Right Reserved by Buzzvil ● Deep Learning 에서 제일 많이 하는 연산은? ○ 대용량 행렬연산 → GPU가 필수 ● GPU를 쓰는데 2가지 장애물 ○ 일단 가격 ... ■ 비쌉니다. ○ GPU 드라이버 설치 & 설정 ■ CUDA, cuDNN / TensorFlow, Torch, Caffe, Theano … ■ 설정이 은근 귀찮고 까다롭습니다.
  65. 65. 02. 모델링 - 행렬연산 (Practice)02 66Copyright ⓒ All Right Reserved by Buzzvil ● 우리의 해답은 AWS ○ 기존 시스템의 DB, 시스템이 모두 AWS ○ AWS에서 다양한 GPU 인스턴스 제공 ● GPU 인스턴스 고를 때 고려사항 ○ 성능과 가격 ! ○ 성능 ∝ GPU 메모리 / 가격 ∝ GPU 메모리 ○ 인스턴스 별 속도 비교 → 가성비로 결정 ● 번거로운 GPU 드라이버 설치 ○ Deep learning AMI로 해결
  66. 66. 02. 모델링 - online learning 시스템 (practice)02 67Copyright ⓒ All Right Reserved by Buzzvil ● Online Learning의 필요성 및 요건 ○ 새로운 뉴스 컨텐츠의 변화를 반영 ○ 주기적으로 모델을 업데이트 학습데이터 stream 서비스 stream 모델 업데이트 모델 인퍼런스 뉴스 컨텐츠 추천 모델 유저 별 컨텐츠 추천
  67. 67. 02. 모델링 - online learning 시스템 (practice)02 68Copyright ⓒ All Right Reserved by Buzzvil ● 배치 작업을 위한 Job 스케줄러 ○ Jenkins를 이용한 서버 Job 스케줄링 및 상태 모니터링
  68. 68. 02. 모델링 - 데이터/실험 관리 시스템 (practice)02 69Copyright ⓒ All Right Reserved by Buzzvil ● 모델링의 목적 ○ 주어진 Task를 수행하는데 최적의 파라미터를 찾아내는 일 ○ 하이퍼-파라미터를 이용한 모델 구조를 변경 ○ 하이퍼-파라미터 변경에 따른 모델 성능의 영향 분석이 중요 ● 모델링 실험 분석 시 필요한 데이터 ○ 모델 데이터 : ckpt 파일 (TensorFlow) ○ 실험별 로그 데이터 / Hyper-parameter 데이터 ● 모델링 실험 분석에 필요한 툴 ○ 로그 분석 ○ 레이어 별 input/output/gradient 등 값들에 대한 분석
  69. 69. 02. 모델링 - 데이터/실험 관리 시스템 (practice)02 70Copyright ⓒ All Right Reserved by Buzzvil ● 로그 분석 ○ 로그 분석 및 기타 검증이 필요한 경우 ○ Jupyter notebook 이용 ○ ssh -L {로컬 port}:{로컬 IP}:{인스턴스 port} 로 접속
  70. 70. 02. 모델링 - 데이터/실험 관리 시스템 (practice)02 71Copyright ⓒ All Right Reserved by Buzzvil ● TensorBoard 분석 ○ Scalar, vector 뿐 아니라 embedding, image 등에 대한 분석 ○ 주로 loss 값 추이, 레이어 별 input/output 변화 추이 등에 대한 분 석 ○ ssh -L {로컬 port}:{로컬 IP}:{인스턴스 port} 로 접속
  71. 71. 02. 모델링 - 데이터/실험 관리 시스템 (practice)02 72Copyright ⓒ All Right Reserved by Buzzvil ● 데이터 관리 ○ 모델링 결과(ckpt 파일), 하이퍼-파라미터 설정파일 등 ○ S3에 업로드 관리
  72. 72. 03. 모델 서비스 (Planning)02 73Copyright ⓒ All Right Reserved by Buzzvil ● 서비스 Stream 관리 ○ 대상 선별: User grouping ○ User 들에 대한 DB 관리 ● 모델 인퍼런스 ○ 인퍼런스 소요시간 ∝서비스 Stream 양 ○ 소요시간을 줄이기 위한 노력 ○ 연산량 감소 & 연산 최적화 ● 모델 결과 전송 ○ API 구현 및 최적화
  73. 73. Conclusion03 74Copyright ⓒ All Right Reserved by Buzzvil ● 데이터가 가장 중요하다! ○ 머신러닝을 적용한 추천 시스템은 데이터가 재료 ○ Garbage IN Garbage OUT ○ 소중한 데이터를 쓸모있는 재료로 만들기 위한 노력이 필요 ● 데이터 관리 최적화를 위한 AWS 사용 ○ 다양한 인스턴스 타입을 활용한 데이터 관리의 최적화 ○ DB, S3 등 다양한 데이터 저장 공간을 적절히 활용
  74. 74. Conclusion03 75Copyright ⓒ All Right Reserved by Buzzvil ● Deep Learning은 GPU 인스턴스 관리도 중요 ○ 딥러닝은 연산량이 매우 큰 알고리즘 ○ GPU를 효율적으로 사용하는 노력 → 가성비가 좋은 시스템 ● GPU 인스턴스 관리를 위한 AWS 사용 ○ Spot 인스턴스의 활용 ○ AWS의 다양한 GPU 인스턴스를 활용 ■ 시스템 연산량에 최적화된 인스턴스 타입 선정
  75. 75. 감사합니다 Q&A

×