202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
AWS Black Belt Online Seminarの最新コンテンツ: https://aws.amazon.com/jp/aws-jp-introduction/#new
過去に開催されたオンラインセミナーのコンテンツ一覧: https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
Little Big Data #1 다양한 사람들의 데이터 사이언스 이야기에서 발표한 자료입니다
궁금한 것은 언제나 문의주세요 :)
행사 후기는 https://zzsza.github.io/etc/2018/04/21/little-big-data/ 에 있습니다!
(2018.5 내용 추가) 현재 회사가 없으니, 제게 관심있으신 분들도 연락 환영합니다 :)
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
AWS Black Belt Online Seminarの最新コンテンツ: https://aws.amazon.com/jp/aws-jp-introduction/#new
過去に開催されたオンラインセミナーのコンテンツ一覧: https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
Little Big Data #1 다양한 사람들의 데이터 사이언스 이야기에서 발표한 자료입니다
궁금한 것은 언제나 문의주세요 :)
행사 후기는 https://zzsza.github.io/etc/2018/04/21/little-big-data/ 에 있습니다!
(2018.5 내용 추가) 현재 회사가 없으니, 제게 관심있으신 분들도 연락 환영합니다 :)
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...Amazon Web Services Korea
2015 년부터 진행한 실험적 퍼블릭클라우드 운영에 대한 최근 결과를 공유하며 그간 경험한 MSA Architecture 환경, Cost optimization, Operation 관련 내용을 공유합니다. 특히 대규모 운영 환경에서 경험한 다양한 관점의 경험과 비용절감에 대해 인사이트를 제공 예정입니다.
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
Database Migration Service(DMS)는 RDBMS 이외에도 다양한 데이터베이스 이관을 지원합니다. 실제 고객사 사례를 통해 DMS가 데이터베이스 이관, 통합, 분리를 수행하는 데 어떻게 활용되는지 알아보고, 동시에 데이터 분석을 위한 데이터 수집(Data Ingest)에도 어떤 역할을 하는지 살펴보겠습니다.
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
요즘 Hadoop 보다 더 뜨고 있는 Spark.
그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다.
RDD가 어떻게 동작하는지, 원 논문을 리뷰하며 살펴보도록 합시다.
http://www.cs.berkeley.edu/~matei/papers/2012/sigmod_shark_demo.pdf
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study
이 세션에서는 데브시스터즈의 Case Study를 통하여 Data Lake를 만들고 사용하는데 있어 요구 되는 사항들에 대해 공유합니다. 여러 목적에 맞는 데이터를 전달하기 위해 AWS 를 활용하여 Data Lake 를 구축하게된 계기와 실제 구축 작업을 하면서 경험하게 된 것들에 대해 말씀드리고자 합니다. 기존 인프라 구조 대비 효율성 및 비용적 측면을 소개해드리고, 빅데이터를 이용한 부서별 데이터 세분화를 진행할 때 어떠한 Architecture가 사용되었는지 소개드리고자 합니다.
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
최근 국내와 글로벌 서비스에서 MongoDB를 사용하는 사례가 급증하고 있습니다. 다만 전통적인 RDBMS에 비해, 아직 지식과 경험의 축적이 적게 되어 있어 손쉬운 접근과 트러블 슈팅등에 문제가 있는 것도 사실입니다. 이 세션에서는 MongoDB 와 AWS의 DocumentDB의 Architecure를 간단히 살펴보고 MongoDB 및 DocumentDB의 비교를 진행하며 특히 MongoDB와 DocumentDB를 사용할때 주의해야할 중요 포인트에 대해서 알아봅니다.
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
데브시스터즈와 <쿠키런 : 킹덤> 의 사례를 기반으로, 게임 서비스에서 데이터 플랫폼의 역할과 중요성, 그리고 성공적인 게임 운영을 위한 데이터플랫폼의 Scalability 확보 방법에 대하여 기술적, 문화적 관점에서 이야기합니다. AWS 기반 클라우드의 특성을 적극적으로 활용한 데이터 플랫폼 환경과 발전 과정에 대한 기술적 설명과 더불어, 문화 및 조직적 차원에서의 접근에 대해서도 소개해드립니다..
AWS에서는 Big Data 분석 및 처리를 위해 다양한 Analytics 서비스를 지원합니다. 이 세션에서는 시간이 지날수록 증가하는 데이터 분석 및 처리를 위해 데이터 레이크 카탈로그를 구축하거나 ETL을 위해 사용되는 AWS Glue 내부 구조를 살펴보고 효율적으로 사용할 수 있는 방법들을 소개합니다.
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
롯데이커머스의 마이크로 서비스 아키텍처 진화와 비용 관점의 운영 노하우-나현길, 롯데이커머스 클라우드플랫폼 팀장::AWS 마이그레이션 A ...Amazon Web Services Korea
2015 년부터 진행한 실험적 퍼블릭클라우드 운영에 대한 최근 결과를 공유하며 그간 경험한 MSA Architecture 환경, Cost optimization, Operation 관련 내용을 공유합니다. 특히 대규모 운영 환경에서 경험한 다양한 관점의 경험과 비용절감에 대해 인사이트를 제공 예정입니다.
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
Database Migration Service(DMS)는 RDBMS 이외에도 다양한 데이터베이스 이관을 지원합니다. 실제 고객사 사례를 통해 DMS가 데이터베이스 이관, 통합, 분리를 수행하는 데 어떻게 활용되는지 알아보고, 동시에 데이터 분석을 위한 데이터 수집(Data Ingest)에도 어떤 역할을 하는지 살펴보겠습니다.
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
요즘 Hadoop 보다 더 뜨고 있는 Spark.
그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다.
RDD가 어떻게 동작하는지, 원 논문을 리뷰하며 살펴보도록 합시다.
http://www.cs.berkeley.edu/~matei/papers/2012/sigmod_shark_demo.pdf
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...Amazon Web Services Korea
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study
이 세션에서는 데브시스터즈의 Case Study를 통하여 Data Lake를 만들고 사용하는데 있어 요구 되는 사항들에 대해 공유합니다. 여러 목적에 맞는 데이터를 전달하기 위해 AWS 를 활용하여 Data Lake 를 구축하게된 계기와 실제 구축 작업을 하면서 경험하게 된 것들에 대해 말씀드리고자 합니다. 기존 인프라 구조 대비 효율성 및 비용적 측면을 소개해드리고, 빅데이터를 이용한 부서별 데이터 세분화를 진행할 때 어떠한 Architecture가 사용되었는지 소개드리고자 합니다.
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
최근 국내와 글로벌 서비스에서 MongoDB를 사용하는 사례가 급증하고 있습니다. 다만 전통적인 RDBMS에 비해, 아직 지식과 경험의 축적이 적게 되어 있어 손쉬운 접근과 트러블 슈팅등에 문제가 있는 것도 사실입니다. 이 세션에서는 MongoDB 와 AWS의 DocumentDB의 Architecure를 간단히 살펴보고 MongoDB 및 DocumentDB의 비교를 진행하며 특히 MongoDB와 DocumentDB를 사용할때 주의해야할 중요 포인트에 대해서 알아봅니다.
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
데브시스터즈와 <쿠키런 : 킹덤> 의 사례를 기반으로, 게임 서비스에서 데이터 플랫폼의 역할과 중요성, 그리고 성공적인 게임 운영을 위한 데이터플랫폼의 Scalability 확보 방법에 대하여 기술적, 문화적 관점에서 이야기합니다. AWS 기반 클라우드의 특성을 적극적으로 활용한 데이터 플랫폼 환경과 발전 과정에 대한 기술적 설명과 더불어, 문화 및 조직적 차원에서의 접근에 대해서도 소개해드립니다..
AWS에서는 Big Data 분석 및 처리를 위해 다양한 Analytics 서비스를 지원합니다. 이 세션에서는 시간이 지날수록 증가하는 데이터 분석 및 처리를 위해 데이터 레이크 카탈로그를 구축하거나 ETL을 위해 사용되는 AWS Glue 내부 구조를 살펴보고 효율적으로 사용할 수 있는 방법들을 소개합니다.
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
- E-commerce BigData Scale AI Journey
- BigData Scale Deep Learning Production System Use Case
- Deep Learning, Cloud PaaS, Microservices, DevOps, etc.
- E-Commerce AI Production System Strategy
CNA(Cloud Native Architecture)
MSA(Micro Service Architecture)
Service Mesh
MDA(Micro Data Architecture)
Data Mesh
MIA(Micro Inference Architecture)
Inference Mesh
Spark machine learning & deep learninghoondong kim
Spark Machine Learning and Deep Learning Deep Dive.
Scenarios that use Spark hybrid with other data analytics tools (MS R on Spark, Tensorflow(keras) with Spark, Scikit-learn with Spark, etc)
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
[AI & DevOps] BigData Scale Production AI 서비스를 위한 최상의 플랫폼 아키텍처
1. 신 세 계 그 룹 S S G . C O M B i g D a t a & A I P a r t L e a d e r
H o o n D o n g , K i m A I M V P
개발과 개발자를 위한 최상의 플랫폼
부제: AI Production 서비스를 위한 개발 도구 및 플랫폼
2. • 김훈동 Chief Partner
• 신세계 그룹 온라인 포털 SSG.COM BigData&AI Part Leader
• 스사모(Korea Spark User Group) 운영진
• BigData 분야 Microsoft MVP(Most Valuable Professional) 선정
2016년, 2017년
• AI 분야 Microsoft MVP(Most Valuable Professional) 선정
2018년
• http://hoondongkim.blogspot.kr [블로그]
• https://www.facebook.com/kim.hoondong [SNS]
I am …
3. 진화의 시작!
AI 시대의 발현!
- BigData 기술 등장
(2003~2010년대)
- NoSQL 기술 등장
(2007~2013년대)
- Container & Microservice 기술 등장
(2014년대~)
- Deep Learning 고도화 기술 등장
(2015년대~)
• IaaS
• SaaS
• PaaS
• Serverless
/ BaaS
Cloud 태동!
그리고…
위 기술들의 융합
6. [Alibaba] Reinforcement Learning to Rank
in E-Commerce Search Engine
• By Alibaba & Taobao
• https://arxiv.org/abs/1803.00710
실시간성…
개인화…
Training & Serving 이 동시에…
7. [Netflix] Realtime Recommendation (원순환구조)
ML/DL 의 기저에 BigData Lambda Architecture 가 존재.
실시간성…
개인화…
On Lambda Architecture
왜 Netflix 는 100만 달러 Competition 에서 우승한 알고리즘을 사용하지 않는가?
8. First Mover 들이 달성한 아키텍처를
Open Source 로 Fast Follow 하기 위한 아키텍처…
Open Source
Cluster System
30여개????
+
Lambda
Architecture
Batch
원순환!
realtime
원순환!
저걸 우리도 다
구축해야 하나?
10. Fast Follow 해보기 전에…
그러한 아키텍처,
그러한 고도화 기술들이 ,
나오게 된 배경
Microservice, Serverless, Cloud, PaaS, BaaS, DevOps …
BigData PaaS, NoSQL PaaS …
Machine Learning & Deep Learning …
Realtime Lambda Architecture …
Cutting-Edge Technology
11. 국내 상위 쇼핑몰 정도 트래픽,
요즘 트랜디한 개인화 추천 정도 하려고 해도…
• RDBMS -> 현존 최고 HW 로 Oracle 5 Node 로도…
• MariaDB 샤딩 시스템. 수천대. Select 부하분산.
• 큰 테이블 Data 는? Insert & Update 는?
• NoSQL + RDBMS 샤딩(R) + RDBMS Master for (CUD)
+ Kafka (Message Queue for Data Sync)
• 복잡한 RDBMS 로직 SQL => NoSQL 로 마이그레이션 불가???
• NoSQL + RDBMS 샤딩(R) + RDBMS Master for (CUD)
+ Kafka (Message Queue for Data Sync) + Redis(Memory Cache)
+ MicroService (Scale Out WAS for 복잡한 Business Logic 의 Application layer 처리 )
+ Machine Learning/Deep Learning Training/Serving Layer Auto Scale Out Infra 구성
(예, Tensorflow,CNTK Serving PaaS 혹은 flask Serverless Microservice) + 기타(Docker, K8S, DevOps…)
1세대
2세대
3세대
4세대
12. 국내 상위 쇼핑몰 정도 트래픽,
요즘 트랜디한 개인화 추천 정도 하려고 해도…
• 더 이상 Data Analytics 자체는 경쟁력이 아니다.
• 더 이상 Machine Learning 자체는 진입 장벽이 아니다.
• Deep Learning 은 아직까지는 경쟁력이나, 점점 툴이 막강해지고, 쉬워지고 있다.
• BigData Scale Machine Learning 도 경쟁력이다. (최신성 + Big Scale + 개인화)
• 더 더 어려운 문제는 Advanced Analytics 의 결과물을 개인화 하여 노출하고, 그 반응을 다시
실시간으로 모델에 리턴 하여, 그로부터 즉각적인 원순환 시스템을 만든 것 이다. (예, 고객
실시간 검색 히스토리, 클릭 스트림 에 반응하는 Dynamic 한 개인화 추천. 개인화 된 Dynamic
Pricing 모델, Enterprise Full Stack Chatbot 등)
• Machine Learning / Deep Learning 시스템에 있어서 Serving Layer 의 중요성
BigData + MicroService + DevOps + Auto Scale Out Training + Auto Scale Out Serving 은
Best Production AI 를 위한, 선택이 아닌 필수
13. Best Production AI
[1]~[4] 각 레이어의 관계는?
• [1] RDB Sharding, Web, App, Front Tech… 는 기본 중에 기본.
• [2] BigData, NoSQL, Microservice, Analytics 는?
• [3] AI(Machine Learning, Deep Learning) Training 은?
• [4] AI Serving 은? 실시간 AI 서비스는?
각각 경쟁관계가 아님.
상호 보완 관계.
[1] RDB, Web, App, AI Front
[2] BigData, NoSQL
Microservice, Analytics
[3] AI
Training
BigData
NoSQL/Spark
NoSQL/
Spark Streaming/
Microservice/
RDB Sharding
[4] AI
Serving
고로,
종합 예술이다!
Engineering Art 다!
14. Cutting-Edge Technology 로 좀더 Drill Down
[2] BigData & NoSQL & Lambda Architecture
( Spark, Hadoop, Kafka, Nifi, Cassandra, Redis, ELK, etc…)
[3] AI > Machine Learning > Deep Learning
(Tensorflow, MXNet, Keras, CNTK, BigDL, Horovod, etc…)
[4] Cloud, DevOps(CI/CD), Realtime Serving
(Docker, Kubernetes, Microservice, Severless, PaaS/BaaS, etc…)
• [2]를 만난 [3] 에 대하여,
• [3]을 보완하는 [4]에 대하여,
• [4] 의 즉각적인 서비스 결과 및 개별 반응이, 다시 [1][2] 로…
15. 그렇다면…
이를 어떻게 구현 할 것인가?
Production AI
on
Cutting-Edge Technology
26. Apache Spark + HDInsight IO Cache
On Azure ( For 9X speed up )
Azure HDInsight IO Cache is available on Azure HDInsight 3.6 and
4.0 Spark clusters on the latest version of Apache Spark 2.3.
27. 우리는 어떻게 하고 있나?
SSG.COM Use Case!
Production AI &
Cutting-Edge Technology
On
Azure
33. 우리는(SSG.COM) 어떻게 했는가?
• 과거를 분석 한다. (BigData Eco System Infra)
• 트래킹 로그를 남긴다.
• 빅데이타 수집 저장 분석을 위한 인프라를 만든다.
• 빅데이타 배치로 과거 시계열 분석을 하고 시각화를 한다.
• 현재에 반응 한다. (RealTime Layer / kafka , Spark Streaming / ELK)
• 실시간으로 데이터 스트림을 분석한다.
• FDS, 보안관제, 모니터링 등 즉각적으로 현재 상황에 대처하여 현재를 능동적으로 대비한다.
• 미래를 예측 한다. (Mining / Machine Learning / Deep Learning R&D)
• 고객이 관심 갖고 있고 곧 살 것 같은 것을 추천한다.
• 미래에 집행할 광고 및 제휴 채널 예산을 보다 ROI 높게 배분한다.
• 발주를 예측한다.
• 최적의 트럭 경로를 예측한다.
• 가격을 올릴지 말지 얼마나 세일할지 최적의 가격을 예측한다.
• 미래 예측을 고도화 한다. (Machine Learning / Deep Learning Production)
• Chatbot
• 자연어 활용, 이미지 활용 -> 검색 및 추천 고도화
• NLP , Item2Vec, etc…
• 미래 예측에 개인화 및 실시간성을 더한다. (BigData Scale Deep Learning)
• 다중 접속자를 위한 개인화 Deep Learning 서비스.
• BigData Scale Training , BigData Scale Inference.
• Auto Scale Out 모델 배포, 무중지 Deep Learning 모델의 진화 및 원순환 배포.
• 기존 Machine Learning , Deep Learning 모델의 freshness , personalization 고도화.
5~6년 전
3~5년 전
1~2년 전
2~3년 전
요즘
순서가 있고,
단계가 있고,
아랫 기술은 윗
기술로부터 시너지가
나더라….
34. Finally, We made BigData Scale AI Infra on Hybrid Cloud.
Public cloud
Hadoop / NoSQL
Spark / Anaconda
Spark ML Mahout Sk-learn/gensim Tensorflow/CNTK
TensorflowOnSpark
Kera
s
On-Premise
Spark
On-premise
Serverless / K8S PaaSServerless
PaaS
& AI Infra
Microservices
Web/Was Docker / BaaS
각종 PaaS
AI BaaS/SaaS
PaaS App Container
PaaS GPU Container
ML/DL PaaS &
BigData Lake PaaS &
GPU Notebooks
4~5년 전
2~3년 전
최근
최근의 아키텍처 …
35.
36. Auto Scale Out &
Auto Scale Down
무중지 배포
SSG.COM Use Case!
Production AI &
Cutting-Edge Technology
On
Azure
38. Auto Scale Out / 무중지 배포
Deep Learning Training & Serving On Serverless
FaaS/BaaS/PaaS (Zero VM) (for Production)
Azure Web App
For Linux Docker
Team Service
39. 100% Serverless
PaaS + BaaS(Docker) + FaaS
Production AI Performance!
SSG.COM Use Case!
Production AI &
Cutting-Edge Technology
On
Azure
40. Keras Scale Up vs. Horovod Scale Out
On Azure Batch AI(GPU) Performance Comparison.
My Blog : http://hoondongkim.blogspot.kr/2018/01/deep-learning-multi-host-multi-gpu_11.html
On
Azure Batch AI
(GPU)
41. Deep Learning Online Inference Load Test
CPU vs GPU (1 time Inference. BatchSize=1)
My Blog : http://hoondongkim.blogspot.kr/2017/12/deep-learning-inference-serving.html
CPU Serving : 1 Machine 265 TPS
GPU Serving : 1 Machine 16 TPS
CPU 1000 Times Serial Execution
GPU 1000 Times Serial Execution
Load Test Result!
On
Azure DSVM
(GPU)
병렬성이
약한 LSTM
예
42. Deep Learning Inference Performance!
(On Docker Microservice) 성능에 대하여 …
My Blog : http://hoondongkim.blogspot.kr/2017/12/deep-learning-inference-serving.html
• Azure Data Science VM Performance
• Azure Web App for Linux Docker Performance
• Auto Scale Out Features
[Quiz] What are the **** ?
43. BigData Scale
AI & Data Science
Polyglot 중요성
SSG.COM Use Case!
Production AI &
Cutting-Edge Technology
On
Azure
44. SSG.COM Distributed R on Spark
1 Machine on MS-SQL Server 7 Machine on Spark Cluster
Y축 : Elapsed Time 낮을 수록 성능 좋음.
8Core – 65GB Memory. 7 Machine.
Polyglot!
BigData Scale R
46. Jupyter on Azure DSVM
SSG.COM
Jupyter Notebook 도
BigData Scale 로
Jupyter on Azure Notebooks
Polyglot!
BigData Scale
Jupyter Notebook
47. SSG.COM BigDL
GPU Memory Resource 가 문제될 때는
BigData Scale Large Cluster Parallel Deep
Learning Approach with BigDL
• BigDL Deep Learning Job on Hadoop Yarn Manager (by Spark Job)
Polyglot!
BigData Scale
Scala
Deep Learning
48. SSG.COM BigDL
GPU Memory Resource 가 문제될 때는 BigData Scale Large Cluster Parallel Deep
Learning Approach with BigDL
• BigDL Deep Learning Text Classification
Polyglot!
BigData Scale
Scala Deep Learning
BigDL
Deep Learning은
Memory Resouce 를
BigData Scale 로
확장 가능.
49. SSG.COM TensorflowOnSpark
Tensorflow 의 Legacy Code를 활용한
BigData Scale Deep Learning은?
• TensorflowOnSpark 수행 결과
Polyglot!
BigData Scale
Python + Tensorflow
Deep Learning
50. SSG.COM
Tensorflow + CNTK + Keras + Horovod + Azure Batch AI
Tensorflow(or CNTK) + Keras + Horovod + Azure Batch AI
=> Multi GPU + Multi Host , Distributed Deep Learning Training
My Blog : http://hoondongkim.blogspot.kr/2018/01/deep-learning-multi-host-multi-gpu.html
51. SSG.COM
Tensorflow + CNTK + Keras + Horovod + Azure Batch AI
Tensorflow(or CNTK) + Keras + Horovod + Azure Batch AI
=> Multi GPU + Multi Host , Distributed Deep Learning Training
My Blog : http://hoondongkim.blogspot.kr/2018/01/deep-learning-multi-host-multi-gpu.html
Polyglot!
BigData Scale
Python + Tensorflow + CNTK
+ Keras + Horovod
Muti Host, Muti GPU, Distributed Deep Learning
(Auto Scale Out & Scheduling Batch Process)
On Azure Batch AI
52. SSG.COM
라이브러리나 패키지가 없을 때는 직접 구현…
복잡한 알고리즘의 고성능(Python 은 느려서…) 구현은 Java 가 좀 쉽긴 함.
But, 병렬성을 고려한 처리는 Java 로 구현 하는것에 한계.
병렬성, 고성능을 위해서는 Scala + Spark RDD 로…
Polyglot!
BigData Scale
Java(algorithm) +
Scala(RDD) +
On Spark
(Distributed In-memory)
Algorithm Internal
은 Java
RDD Map Looping
은 Scala
53. SSG.COM
라이브러리나 패키지가 없을 때는 직접 구현…
복잡한 알고리즘의 고성능(Python 은 느려서…) 구현은 Java 가 좀 쉽긴 함.
But, 병렬성을 고려한 처리는 Java 로 구현 하는것에 한계.
병렬성, 고성능을 위해서는 Scala + Spark RDD 로… One Source,
Multiple Language.
이건 Java,
나머지는 Scala…
Language 섞어
쓰기 신공…
Polyglot!
BigData Scale
Java(algorithm) +
Scala(RDD) +
On Spark
(Distributed In-memory)
54. SSG.COM C# Azure Function
의외로… Microservice & Serverless 에서 장점이 많은 C#
• Java Serverless 는
• Java Library 하위호환성 취약성으로 확장성 결여.
• Python Serverless 는
• 낮은 성능 퍼포먼스.
• 비동기, 쓰레드 취약.
• docker 확장 배포 시 pip install. 이 과정에서 Java python
패키지나 일부 C Python 패키지는 설치 Dependency 문제 발생.
(예, Jpype 패키지, OS Dependency, Driver Dependency)
• Node.js Serverless 는
• 낮은 성능 퍼포먼스.
• C# Serverless 는
• 높은 성능 퍼포먼스.
• 비동기 강점.
• 강한 하위호환성.
• Library 호환성.
• DLL 패키징을 통한 배포 확장 용이
Polyglot!
BigData Scale
Serverless +
Microservice +
CI/CD +
C# Azure Function!
55. 요즘 Cutting-Edge 기술들이 나오게 된 배경
Microservice, Serverless, Cloud, PaaS, BaaS, DevOps …
BigData PaaS, NoSQL PaaS …
Machine Learning & Deep Learning …
Realtime Lambda Architecture …
For Better Production AI …
결국, AI 시대의 발현과 무관하지 않았음!
결론
57. 집단 지성의 힘!
검증된 것들을 MashUp!
핵심경쟁력이 아닌 것은 빠르게 하는 것이 더 좋음….
(Over Engineering 방지)
(Open Source + Cloud PaaS)
요즘 가장 Hot 한 Develop 방식들이 추구하는 것들…
• No-Ops(or Dev Ops, Agile, Serverless, Microservices… 이게 목적이 되면 안됨. 수단일 뿐.)
• Scale(유연한 Scale Out, Scale Down, 유연성, 확장성)
• Low Cost(개인화와 최신성, 최신 기법 적용을 위해 필수적 요소)
• Performance (동접 성능, 모델 성능, 개발생산성)
다 직접 개발하는 것이 능사는 아니다!
58. Low Cost & Agile & Serverless 접근 방법에 대하여
1 Docker ,
1시간에 얼마?
1달에 얼마?
1,000,000 Transaction 에
얼마???
이 단계로 포팅하려면,
Deep Learning Output
그래프 노드 값을
Graph DB 화 하거나,
Hash DB 등 으로
inverted-Index 화 해야
하며, 고 난이도의
Engineering 작업이
수반 됨.
딥러닝 모델러는 Graph DB,
Microservice 를 모르고…,
NoSQL 개발자는
딥러닝을 모르고…
GPU VM > CPU VM > GPU Docker > CPU Docker > K8S PaaS > Docker PaaS > Docker BaaS > ML BaaS > Serverless Microservice
GPU on-premise
1 GPU VM ,
1 달에 얼마?
이 단계로 되면,
알리바바 Scale의 Front
AI 서비스가 매우
빠르고 매우 저렴하게
적용 가능.
Deep Learning Framework
자체는 여기 까지만 구동
가능
Production AI 는 모델링 보다 Engineering 이 더 어렵다.
Production AI 는 Engineering Art 에 가깝다.
Cloud 를 잘 활용한다면, 개발자가 유리한 부분이 많다!
60. Production A/B Test 에서 중요한 것!
Sample Data, Selected
Feature 정교한 모델
주1회 or 일1회
모두에게 적용하는
정교한 단일 모델
최고 정확도
VS
더 많은 Data(or 전수
Data)에 적용하는 Simple
모델
최신성
(매 시간 or 준실시간)
개인화 모델
덜 정확해도 빠르고,
다수에게, 실시간으로…
논문 쓸 때랑, Kaggle 할 때와 달라요!
61. SSG.COM ***예측(회귀) 모델 (By BigData + AI)
Item
Average
Accuracy
68%
90%
49%
38%
Regression
/ Python
Decision
Tree
/ Python
초기방
식
/
15일
컬럼
4개
사용
/
15일
컬럼
6개
사용
/
15일
Random
forest
/ Python
컬럼
6개
사용
/
15 일
Time Series
Deep Learning
+ TensorflowOnSpark
컬럼
26개
사용
/
3년
Random
forest
/Spark ML
컬럼
6개
사용
/
3년
Rule
Python
BigData + ML
XGBoost
/ Python
컬럼
6개
사용
/
15 일
3년 데이터.
Incremental
Continuous
Learning.
Time Series
Deep Learning
Tensorflow
+ Spark
(Scale Out)
Single Host + DL
BigData + DL
컬럼
26개
사용
/
15일
Time Series
Deep Learning
/ Tensorlfow
Data 크기
/병렬성 Data 크기
/병렬성
For 최신성
Locally Weighted
Regression
63. AI 시대에 리더가 임하는 자세!
• Think Big.
• 길게 보고 Plan을 세우자.
• 당장의 효과에 연연하지 말자.
• Bottom Up! ( Not Top Down! )
• 유행에 편승해서, 혹은 윗 분들의 지시에 의해서가 아닌,
• 실무자(Self Motivated 된)들에 의해 기획,개발 하고,
• 내부 내재화를 고려하며 지속적 고도화 하도록 하자.
• 작게 그리고 빠르게 시작하자.
• 데이터를 빨리 쌓는게 더 중요.
• 모델이 진입장벽이 아니라, 데이터가 더 진입 장벽.( Bigdata Infra 중요)
• Mashup 하고, 결합 Merge 하고, 반복 개선 시키자.
그럼 Top 에서 할 일은?
• Motivation. 동기부여.
• 환경조성.
• 방향성 부여.
• Self Motivated 된 직원들에게 길을
열어주는 것.
• 강요가 아닌 마음을 움직이는 것이 필요.
때로는 내재화보다, 기민함이 더 중요할 수 있으며,
Cloud PaaS 는 이 경우 Key Factor 가 될 수 있음.
64. Thank You
• 기타 문의는…
• http://hoondongkim.blogspot.kr
• https://www.facebook.com/kim.hoondong
Q & A
4층 로비 왼편 안쪽
MVP 부스(Ask the Expert 부스)