SlideShare a Scribd company logo

[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기

NAVER D2
NAVER D2

빅데이터를 위한 분산 딥러닝 플랫폼 만들기

1 of 75
빅데이터를 위한
Distributed Deep
Learning 플랫폼 만들기
유승현
Search System
CONTENTS
Deep Learning 플랫폼 탄생 배경
새로운 요구사항
설계 및 검토
C3DL 기반으로 만들기
Deep Learning 플랫폼 탄생 배경
Deep Learning 플랫폼 초기 요구사항
다수의 연구원들이 GPU자원을 사용하고 싶어함
제한된 GPU 자원
Deep Learning 플랫폼 초기 요구사항
Caffe, TensorFlow, Theano, Torch
Deep Learning Frameworks
C3DL 기반 기술 ­ Docker
다양한 딥러닝 프레임워크를 깔끔하게 지원 가능
패키지 표준화 하면서 동시에 개인 환경에 맞도록 셋팅 가능
Why Docker?
naver/c3_dl-caffe naver/c3_dl-tensorflow user/pytorch
naver/c3_dl-base

Recommended

백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스NAVER D2
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템NAVER D2
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ... MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...Databricks
 
Elastic Stack Introduction
Elastic Stack IntroductionElastic Stack Introduction
Elastic Stack IntroductionVikram Shinde
 
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 SeoulElastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 Seoul
Elastic Stack 을 이용한 게임 서비스 통합 로깅 플랫폼 - elastic{on} 2019 SeoulSeungYong Oh
 
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...
아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow - 유다니엘 A...Amazon Web Services Korea
 
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdService Mesh with Apache Kafka, Kubernetes, Envoy, Istio and Linkerd
Service Mesh with Apache Kafka, Kubernetes, Envoy, Istio and LinkerdKai Wähner
 

More Related Content

What's hot

The Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonThe Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonKrishna Sankar
 
The State of Spark in the Cloud with Nicolas Poggi
The State of Spark in the Cloud with Nicolas PoggiThe State of Spark in the Cloud with Nicolas Poggi
The State of Spark in the Cloud with Nicolas PoggiSpark Summit
 
Reinventing Deep Learning
 with Hugging Face Transformers
Reinventing Deep Learning
 with Hugging Face TransformersReinventing Deep Learning
 with Hugging Face Transformers
Reinventing Deep Learning
 with Hugging Face TransformersJulien SIMON
 
Apache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark OperatorApache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark OperatorDatabricks
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스Terry Cho
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드Opennaru, inc.
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영NAVER D2
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
 
AI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityAI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityCihan Özhan
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online SeriesAmazon Web Services Korea
 
Managing the Machine Learning Lifecycle with MLflow
Managing the Machine Learning Lifecycle with MLflowManaging the Machine Learning Lifecycle with MLflow
Managing the Machine Learning Lifecycle with MLflowDatabricks
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 
AWS load balancers deep dive-AWSKRUG
AWS load balancers deep dive-AWSKRUGAWS load balancers deep dive-AWSKRUG
AWS load balancers deep dive-AWSKRUGha suyoung
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesArun Gupta
 
Building End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCPBuilding End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCPDatabricks
 

What's hot (20)

멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO
멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO
멀티·하이브리드 클라우드 구축 전략 - 네이버비즈니스플랫폼 박기은 CTO
 
The Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & PythonThe Art of Social Media Analysis with Twitter & Python
The Art of Social Media Analysis with Twitter & Python
 
The State of Spark in the Cloud with Nicolas Poggi
The State of Spark in the Cloud with Nicolas PoggiThe State of Spark in the Cloud with Nicolas Poggi
The State of Spark in the Cloud with Nicolas Poggi
 
Dataflow with Apache NiFi
Dataflow with Apache NiFiDataflow with Apache NiFi
Dataflow with Apache NiFi
 
Reinventing Deep Learning
 with Hugging Face Transformers
Reinventing Deep Learning
 with Hugging Face TransformersReinventing Deep Learning
 with Hugging Face Transformers
Reinventing Deep Learning
 with Hugging Face Transformers
 
Apache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark OperatorApache Spark Streaming in K8s with ArgoCD & Spark Operator
Apache Spark Streaming in K8s with ArgoCD & Spark Operator
 
1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스1. 아키텍쳐 설계 프로세스
1. 아키텍쳐 설계 프로세스
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
 
AI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityAI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision Security
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
 
Managing the Machine Learning Lifecycle with MLflow
Managing the Machine Learning Lifecycle with MLflowManaging the Machine Learning Lifecycle with MLflow
Managing the Machine Learning Lifecycle with MLflow
 
MLOps in action
MLOps in actionMLOps in action
MLOps in action
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 
AWS load balancers deep dive-AWSKRUG
AWS load balancers deep dive-AWSKRUGAWS load balancers deep dive-AWSKRUG
AWS load balancers deep dive-AWSKRUG
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
Building End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCPBuilding End-to-End Delta Pipelines on GCP
Building End-to-End Delta Pipelines on GCP
 

Viewers also liked

[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova music[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova musicNAVER D2
 
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼NAVER D2
 
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법NAVER D2
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기NAVER D2
 
[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템NAVER D2
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)NAVER D2
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술NAVER D2
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색NAVER D2
 
[246]reasoning, attention and memory toward differentiable reasoning machines
[246]reasoning, attention and memory   toward differentiable reasoning machines[246]reasoning, attention and memory   toward differentiable reasoning machines
[246]reasoning, attention and memory toward differentiable reasoning machinesNAVER D2
 
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbmsNAVER D2
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codesNAVER D2
 
[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parkingNAVER D2
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현NAVER D2
 
[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...NAVER D2
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화NAVER D2
 
[213]building ai to recreate our visual world
[213]building ai to recreate our visual world[213]building ai to recreate our visual world
[213]building ai to recreate our visual worldNAVER D2
 
[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기NAVER D2
 
유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리NAVER D2
 
[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개NAVER D2
 
[124]자율주행과 기계학습
[124]자율주행과 기계학습[124]자율주행과 기계학습
[124]자율주행과 기계학습NAVER D2
 

Viewers also liked (20)

[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova music[221]똑똑한 인공지능 dj 비서 clova music
[221]똑똑한 인공지능 dj 비서 clova music
 
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
 
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
 
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
 
[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템[232]mist 고성능 iot 스트림 처리 시스템
[232]mist 고성능 iot 스트림 처리 시스템
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
 
[246]reasoning, attention and memory toward differentiable reasoning machines
[246]reasoning, attention and memory   toward differentiable reasoning machines[246]reasoning, attention and memory   toward differentiable reasoning machines
[246]reasoning, attention and memory toward differentiable reasoning machines
 
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codes
 
[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking[215]streetwise machine learning for painless parking
[215]streetwise machine learning for painless parking
 
[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현
 
[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...[212]big models without big data using domain specific deep networks in data-...
[212]big models without big data using domain specific deep networks in data-...
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
[213]building ai to recreate our visual world
[213]building ai to recreate our visual world[213]building ai to recreate our visual world
[213]building ai to recreate our visual world
 
[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기[234]멀티테넌트 하둡 클러스터 운영 경험기
[234]멀티테넌트 하둡 클러스터 운영 경험기
 
유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리유연하고 확장성 있는 빅데이터 처리
유연하고 확장성 있는 빅데이터 처리
 
[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개[141]네이버랩스의 로보틱스 연구 소개
[141]네이버랩스의 로보틱스 연구 소개
 
[124]자율주행과 기계학습
[124]자율주행과 기계학습[124]자율주행과 기계학습
[124]자율주행과 기계학습
 

Similar to [225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기

Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInho Kang
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdfJaesuk Ahn
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Nanha Park
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AILablup Inc.
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AIJoongi Kim
 
sparklyr을 활용한 R 분산 처리
sparklyr을 활용한 R 분산 처리sparklyr을 활용한 R 분산 처리
sparklyr을 활용한 R 분산 처리Sang-bae Lim
 
Kubernetes on GCP
Kubernetes on GCPKubernetes on GCP
Kubernetes on GCPDaegeun Kim
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Jeongkyu Shin
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampSang-bae Lim
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
Hoodpub 기술 발표
Hoodpub 기술 발표Hoodpub 기술 발표
Hoodpub 기술 발표Hyun-min Choi
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)uEngine Solutions
 
Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Sourcecho hyun jong
 
[225]yarn 기반의 deep learning application cluster 구축 김제민
[225]yarn 기반의 deep learning application cluster 구축 김제민[225]yarn 기반의 deep learning application cluster 구축 김제민
[225]yarn 기반의 deep learning application cluster 구축 김제민NAVER D2
 
On premise db & cloud database
On premise db & cloud databaseOn premise db & cloud database
On premise db & cloud databaseOracle Korea
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼Devgear
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발cho hyun jong
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략Devgear
 

Similar to [225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기 (20)

Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and Terraform
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
 
JMI Techtalk : Backend.AI
JMI Techtalk : Backend.AIJMI Techtalk : Backend.AI
JMI Techtalk : Backend.AI
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
 
sparklyr을 활용한 R 분산 처리
sparklyr을 활용한 R 분산 처리sparklyr을 활용한 R 분산 처리
sparklyr을 활용한 R 분산 처리
 
Kubernetes on GCP
Kubernetes on GCPKubernetes on GCP
Kubernetes on GCP
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 
Cloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcampCloudera session seoul - Spark bootcamp
Cloudera session seoul - Spark bootcamp
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
Hoodpub 기술 발표
Hoodpub 기술 발표Hoodpub 기술 발표
Hoodpub 기술 발표
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Source
 
[225]yarn 기반의 deep learning application cluster 구축 김제민
[225]yarn 기반의 deep learning application cluster 구축 김제민[225]yarn 기반의 deep learning application cluster 구축 김제민
[225]yarn 기반의 deep learning application cluster 구축 김제민
 
On premise db & cloud database
On premise db & cloud databaseOn premise db & cloud database
On premise db & cloud database
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼RAD서버: 완벽한 백엔드 플랫폼
RAD서버: 완벽한 백엔드 플랫폼
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
델파이,C++빌더: 물류 시스템 개발 전문가를 위한 시장현황과 전략
 

More from NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기

  • 1. 빅데이터를 위한 Distributed Deep Learning 플랫폼 만들기 유승현 Search System
  • 2. CONTENTS Deep Learning 플랫폼 탄생 배경 새로운 요구사항 설계 및 검토 C3DL 기반으로 만들기
  • 3. Deep Learning 플랫폼 탄생 배경
  • 4. Deep Learning 플랫폼 초기 요구사항 다수의 연구원들이 GPU자원을 사용하고 싶어함 제한된 GPU 자원
  • 5. Deep Learning 플랫폼 초기 요구사항 Caffe, TensorFlow, Theano, Torch Deep Learning Frameworks
  • 6. C3DL 기반 기술 ­ Docker 다양한 딥러닝 프레임워크를 깔끔하게 지원 가능 패키지 표준화 하면서 동시에 개인 환경에 맞도록 셋팅 가능 Why Docker? naver/c3_dl-caffe naver/c3_dl-tensorflow user/pytorch naver/c3_dl-base
  • 7. C3DL 기반 기술 ­ Docker GPU isolation 지원 NVIDIA-Docker https://github.com/NVIDIA/nvidia-docker
  • 8. C3DL 기반 기술 ­ Hadoop YARN A framework for job scheduling and cluster resource management. Hadoop YARN https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
  • 9. DL Application C3 Deep Learning Cluster Zookeeper Dev. Environment Dev. Server Resource Manager YARN Node Manager YARN Docker Registry C3 HDFS Storage YARN with GPU Scheduling Node Manager YARN Node Manager YARN . . . C3 Distributed Shell NVIDIA Docker GPU Device ID Manager Input Output DL App Toolset dlapp-launcher dlapp-shell dlapp-run https://deview.kr/2016/schedule#session/170
  • 12. 새로운 요구사항 Distributed inference - training이 완료된 모델로 inference를 하고 싶다. - 배치 작업, 오래 걸리는 작업들은 2~3개월 필요 사례: 웹 이미지 adult test Distributed inference 를 구현했는데, GPU할당만 해주면 돌릴께요
  • 13. 새로운 요구사항 Distributed training - 여러 장비에서 GPU할당 받아서 training을 하고 싶다 - 사실상 Distributed tensorflow 사용하고 싶다는 문의 Distributed tensorflow 사용하고 싶어요
  • 14. 새로운 요구사항 Serving (long live) 웹서버를 실행해서 request, response 방식으로 처리 1000시간 넘게 실행하고 있네?? 서버를 계속 실행해두면 되겠군.
  • 15. 새로운 요구사항 CPU만 사용해서 실행 - training이 끝난 모델을 사용해서 inference만 하고 싶은데, CPU가 가성비가 더 좋은 경 우가 있음. - 단, 기존 C3DL와 같은 방식으로 사용하고 싶다. DL Application
  • 16. Distributed Deep Learning 솔루션 검토 Tensorflow on Spark - https://github.com/yahoo/TensorFlowOnSpark DSSTNE - https://github.com/amzn/amazon-dsstne Caffe on Spark - https://github.com/yahoo/CaffeOnSpark Deeplearning4j on spark - https://deeplearning4j.org/spark torch-distlearn - https://github.com/twitter/torch-distlearn Distributed Keras - https://github.com/cerndb/dist-keras Apache SINGA - http://www.comp.nus.edu.sg/~dbsystem/singa/ BigDL - https://github.com/intel-analytics/BigDL Distributed Deep Learning 솔루션
  • 17. Distributed Deep Learning 솔루션 검토 Tensorflow On Spark http://yahoohadoop.tumblr.com/post/157196317141/open-sourcing-tensorflowonspark-distributed-deep
  • 18. Distributed Deep Learning 솔루션 검토 DSSTNE Amazon ECS SparkAmazon ECS GPU task GPU slave CPU https://aws.amazon.com/ko/blogs/big-data/generating-recommendations-at-amazon-scale-with-apache-spark-and-amazon-dsstne/
  • 20. YARN application 변경 한개의 JOB에 한개의 container만 실행 BATCH JOB이라고 가정하고 만들어져 있음 기존 C3DL Distributed - 여러 container 동시 실행할때 장비 다운등 에러처리 Serving - Long-live JOB도 지원해야함 변경 & 구현 해야하는것
  • 21. YARN application 개발 Resource Manager, Application Master, Node Manager, Container … YARN API 예외 처리 Container가 죽었을때…, 장비가 다운되었을때.. 예제 프로그램이 1000줄 이상… Distributed Shell
  • 22. Apache Slider Slider is a YARN application to deploy existing distributed applications on YARN https://deview.kr/2016/schedule#session/168 Apache Slider 를 이용한 멀티테넌트 하둡 클러스터
  • 23. Apache Slider - 쉽다
  • 24. Apache Slider ­ container 구분 몇번째 container 인지 구분해줌 app_container_tag Slider Application Master Agent (app_container_tag=1) Agent (app_container_tag=2) app app
  • 25. Apache Slider ­ container 구분 몇번째 container 인지 구분해줌 app_container_tag Slider Application Master Agent (app_container_tag=1) Agent (app_container_tag=2) app app Agent (app_container_tag=1) app
  • 26. Apache Slider - serving Availability - Application 자동으로 재시도 Flexibility - container 개수를 증가/감소 시킬수 있음 원래 계속 실행하는 작업을 위해 만들어 졌음
  • 27. Apache Slider ­ contributor https://issues.apache.org/jira/browse/SLIDER-1239 https://issues.apache.org/jira/browse/SLIDER-494 Batch 모드 개발 문서가 부족함 옆에 물어봄…
  • 28. Apache Slider ­ contributor https://issues.apache.org/jira/browse/SLIDER-1239 https://issues.apache.org/jira/browse/SLIDER-494 Batch 모드 개발 문서가 부족함 옆에 물어봄…
  • 29. Apache Slider ­ contributor https://issues.apache.org/jira/browse/SLIDER-1239 https://issues.apache.org/jira/browse/SLIDER-494 Batch 모드 개발 문서가 부족함 옆에 물어봄…
  • 32. REST API REST API 선택한 이유 버그 수정, 배포시 빠르게 대응 가능 REST API를 공개하면 사용자가 직접 응용이 가능
  • 33. REST API 성능은 고려사항이 아님 à 빨리 개발 REST-API에 대한 구현이 직관적임 Swagger 문서화 Flask-RESTPlus선택
  • 35. CPU만 사용 CPU만 사용하고 싶음, C3DL에 제출 요구사항
  • 37. DL(Deep Learning) App 구현 Concept • DL App 구성 요소 • Deep Learning Framework 환경 (Caffe, TensorFlow …) • User Program ( Source Code ) • Input Data • Output Data Input Output DL Framework 환경 Source Code
  • 38. DL(Deep Learning) App 구현 Concept /User_Dev_Workspace /DL_App_Workspace Deep Learning App Input Output User Container
  • 39. Distributed API 설계 전략 쉬운 API 자유도 높은 API
  • 40. Distributed API 설계 전략 - 자유도 높은 API { "username": "testuser", "queue": "test", "worker": { "config": [ { "sms": { "employee_id": "kr00000" }, "docker": { "expose_tcp_port": [ 6006 ], "workdir": "/root/c3_workspace", "image": "naver/c3_dl-tensorflow", "args": "", "command": "./run.sh", "registry": "dregistry.navercorp.com" }, "user_package_uri": "hdfs://c3/user/c3dl_admin/user-package/testuser/20170918162225.651323.tar.gz", "data": { "to_hdfs": [ {
  • 41. Distributed API 설계 전략 - 쉬운 API { "username": "test1", "worker_count": 2, "ps_count": 1, "distributed_tensorflow": true, "appname": "distributed_training", "queue": "test", "docker": { "image": "naver/c3_dl-tensorflow:r1.2", "workdir": "/root/c3_workspace", "command": "python cifar10_main.py", "registry": "dregistry.navercorp.com", "args": "--data-dir=hdfs://c3/user/test1/cifar-10-data --job-dir=hdfs://c3/user/test1/model_dir --num-gpus=1 --train- steps=100" }, "user_package_uri": "hdfs://c3/user/test1/cifar10_estimator.tar.gz”, "resource": { "memory_mb": 15360, "vcores": 1, "gcores": 1 } }
  • 42. 분산 처리를 위한 구현 Concept /User_Dev_Workspace User /DL_App_Workspace Deep Learning App Input Output Containe r/DL_App_Workspace Deep Learning App Input Output Containe r /DL_App_Workspace Deep Learning App Input Output Containe r /User_Dev_Workspace /User_Dev_Workspace
  • 43. Distributed Inference 대용량 배치 작업, 오래 걸리는 작업들은 2~3개월 필요 Map-reduce 처럼 input, output만 지정하면 자동으로 나누어졌으면 좋겠다 GPU자원이 남으면 최대한 사용하고 싶다 요구사항
  • 44. Distributed Inference /User_Dev_Workspace User /DL_App_Workspace DL App Input Output /DL_App_Workspace DL App Input Output /DL_App_Workspace DL App Input Output /input_dir |- data_01 |- data_02 |- data_03 /output_dir |- out_01 |- out_02 |- out_03
  • 45. Distributed Inference /User_Dev_Workspace User /DL_App_Workspace DL App Input Output /DL_App_Workspace DL App Input Output /DL_App_Workspace DL App Input Output /input_dir |- data_01 |- data_02 |- data_03 /output_dir |- out_01 |- out_02 |- out_03
  • 46. Distributed Inference 여러 디렉토리에서 입력을 받고 싶은 경우에는 직접 작성 직접 INPUT을 작성할 수도 있음 /DL_App_Workspace DL App Input Output /input_dir |- data_01 |- data_02 |- data_03 /output_dir |- out_01 |- out_02 |- out_03Input /input_dir2 |- data_01 |- data_02 |- data_03
  • 47. Distributed Inference ­ example json { "partition_count": 12, "data": { "from_hdfs": [ { "excludes": ["_complete"], "type": "dironly", "input_path": "data", "hdfs": "/user/blog/blogdatal/2017" }], "to_hdfs": [ { "hdfs": "/user/blog/prediction/2017/result- {{ partition_num }}", "output_path": "result", "overwrite": false }], "auto_partition": true, "format": "%2d" } } { "data_list": [ { "from_hdfs": [{ "hdfs": "/user/blog/blogdata/2017/01", "input_path": "data"}], "to_hdfs": [{ "hdfs": "/user/blog/prediction/2017/result-01", "output_path": "result", "overwrite": false }] }, { "from_hdfs": [{ "hdfs": "/user/blog/blogdata/2017/02", "input_path": "data"}], "to_hdfs": [{ "hdfs": "/user/blog/prediction/2017/result-02", "output_path": "result", "overwrite": false}] }, …
  • 48. Distributed Inference ­ example json { "partition_count": 12, "data": { "from_hdfs": [ { "excludes": ["_complete"], "type": "dironly", "input_path": "data", "hdfs": "/user/blog/blogdatal/2017" }], "to_hdfs": [ { "hdfs": "/user/blog/prediction/2017/result- {{ partition_num }}", "output_path": "result", "overwrite": false }], "auto_partition": true, "format": "%2d" } } { "data_list": [ { "from_hdfs": [{ "hdfs": "/user/blog/blogdata/2017/01", "input_path": "data"}], "to_hdfs": [{ "hdfs": "/user/blog/prediction/2017/result-01", "output_path": "result", "overwrite": false }] }, { "from_hdfs": [{ "hdfs": "/user/blog/blogdata/2017/02", "input_path": "data"}], "to_hdfs": [{ "hdfs": "/user/blog/prediction/2017/result-02", "output_path": "result", "overwrite": false}] }, …
  • 49. Distributed Inference ­ example json { "partition_count": 12, "data": { "from_hdfs": [ { "excludes": ["_complete"], "type": "dironly", "input_path": "data", "hdfs": "/user/blog/blogdatal/2017" }], "to_hdfs": [ { "hdfs": "/user/blog/prediction/2017/result- {{ partition_num }}", "output_path": "result", "overwrite": false }], "auto_partition": true, "format": "%2d" } } { "data_list": [ { "from_hdfs": [{ "hdfs": "/user/blog/blogdata/2017/01", "input_path": "data"}], "to_hdfs": [{ "hdfs": "/user/blog/prediction/2017/result-01", "output_path": "result", "overwrite": false }] }, { "from_hdfs": [{ "hdfs": "/user/blog/blogdata/2017/02", "input_path": "data"}], "to_hdfs": [{ "hdfs": "/user/blog/prediction/2017/result-02", "output_path": "result", "overwrite": false}] }, …
  • 50. Distributed Inference 스케쥴링 "partition_count": 5, "concurrency": 2 Task 2 Task 1 Task 3 Task 4 Task 5
  • 51. Distributed Inference 스케쥴링 "partition_count": 5, "concurrency": 2 Task 2 Task 1 Task 3 Task 4 Task 5
  • 52. Distributed Inference 스케쥴링 "partition_count": 5, "concurrency": 2 Task 2 Task 1 Task 3 Task 4 Task 5 Task ATask B
  • 53. Distributed Inference 스케쥴링 "partition_count": 5, "concurrency": 2 Task 2 Task 3 Task 4 Task 5 Task A Task B
  • 54. Distributed Inference 스케쥴링 GPU자원이 남을 때 많이 사용가능 장비 장애 발생할 때 자동으로 재시작 사용자가 얻는건
  • 55. Distributed Training Distributed Tensorflow 실행하게 해주세요 Tensorflow on Spark 지원 해주세요 요구사항
  • 60. Distributed Tensorflow 실행 { "environment": "cloud", "cluster": { "worker": ["worker1.example.com:2222, "worker2.example.com:2222""], "ps": ["ps0.example.com:2222"], "master": ["worker0.example.com:2222"] }, "task": {"index": 0, "type": "master"} } TF_CONFIG
  • 61. Distributed Tensorflow 실행 Distributed Tensorflow 실행전에 실행하는 host, port를 알아야함 필요한것 cluster 어디에서 실행될지 알 수 없음
  • 62. Docker Overlay Network Distributed Tensorflow 실행전에 hostname을 알 수 있음 Hostname을 고정 Network isolation 다른 distributed deep learning도 지원 가능
  • 63. Docker Overlay Network HOST1 10.113.183.76 HOST2 10.2.83.112
  • 64. Docker Overlay Network HOST1 10.113.183.76 HOST2 10.2.83.112 $ docker network create testnet --driver=overlay --subnet=192.168.0.0/16 Overlay name: testnet, Subnet: 192.168.0.0/16
  • 65. Docker Overlay Network HOST1 10.113.183.76 HOST2 10.2.83.112 $ docker run -it --net testnet -h worker1 --network-alias worker1 Overlay name: testnet, Subnet: 192.168.0.0/16 worker1 192.168.0.2
  • 66. Docker Overlay Network HOST1 10.113.183.76 HOST2 10.2.83.112 $ docker run -it --net testnet -h worker2 --network-alias worker2 Overlay name: testnet, Subnet: 192.168.0.0/16 worker1 192.168.0.2 worker2 192.168.0.3
  • 70. Docker Overlay Network 설정 삽질.. Zookeeper 여러개 설정은 ‘,’ 를 사용해서 zk://zk01.example.com:2181,zk02.example.com:2181,zk03.example.com:218 1 --cluster-store 설정
  • 71. Docker Overlay Network 설정 삽질.. • --add-host --ip • IP가 중복되면 안되서 IP관리가 필요함 • --link 옵션을 • --add-host와 비슷하게 동작하는데, deplicated 된 옵션 Docker 문서를 잘읽자
  • 72. Distributed Tensorflow 삽질… PS는 자동 종료가 안되서 수동으로 종료해주어야함 SERVICE type으로 설정하면 다른 BATCH 작업 종료후에 종료 Parameter Server는 종료 안됨 인터넷에 있는 Distributed Tensorflow 예제를 실행해 볼때 버전 확인 Tensorflow 버전이 빠르게 변하기 때문에 예전 버전의 예제들도 있음 Tensorflow 예제 코드의 버전 확인
  • 73. Slider 개발 팁 stdout, stderr 출력 로그는 재시작할때마다 로그가 리셋됨. {app_log_dir} 밑에 두는게 좋음 Log는 stdout, stderr 사용 안하는게 좋음 Install, start, stop, status는 모두 구현 status 무조건 0을 리턴하도록 구현해두어서 종료가 안되는 문제 있었음
  • 74. To Do Resource Scheduling 고도화 예약기능 짧은 시간동안 많은 GPU사용 성능 개선 Container 재활용 Tensorflow외에 다른 Distributed training 지원