SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Machine Learning Model Serving
With Backend.AI
신정규 / 래블업 주식회사
KOSSCON 2018
Backend.AI: 소개
: Make AI Accessible
문제 의식: 왜 이렇게 힘들어?
• 오픈소스와 클라우드의 발달 – 정말로 AI 하기가 쉬워졌을까?
http://kr.vonvon.me/quiz/329,
http://kr.vonvon.me/quiz/1633
(사실은 삽질 삽질 삽질
삽질 삽질을... 으어어)
일단 오픈소스
한컵 붓고..
클라우드 살짝 얹고..
딥러닝을 잘 부으면...
다 되는 건가?
신이 AI 분야를 만들 때
우리에게 필요한 것
쉽게
– 원래 사용하던 방식과 같도록
– 최소한의 환경설정만으로
빠르게
– GPU를 잘 활용할 수 있도록
– 원하는 만큼 연산자원을 바로바로
값싸게
– 사용한 만큼만 지불하도록
– 비용 제한에 맞춰 성능 조정을 자동으로
어디서나
– 내가 가진 서버를 지금 바로 활용하거나
– 이도저도 귀찮다면 클라우드에 맡겨서
함께
– 한번 만들면 누구나 똑같이 재현하고 재사용하도록
– 다른 사람들과 충돌 없이 자원을 공유할 수 있도록
Backend.AI 목표
쉽게
– 원래 사용하던 방식과 같도록
– 최소한의 환경설정만으로
빠르게
– GPU를 잘 활용할 수 있도록
– 원하는 만큼 연산자원을 바로바로
값싸게
– 사용한 만큼만 지불하도록
– 비용 제한에 맞춰 성능 조정을 자동으로
어디서나
– 내가 가진 서버를 지금 바로 활용하거나
– 이도저도 귀찮다면 클라우드에 맡겨서
함께
– 한번 만들면 누구나 똑같이 재현하고 재사용하도록
– 다른 사람들과 충돌 없이 자원을 공유할 수 있도록
쉽게
– Jupyter, Visual Studio Code, IntelliJ,
Atom 플러그인 제공
– API key만 설정하면 끝!
빠르게
– 컨테이너와 GPU 기술을 결합
– 1초 이내에 연산 세션이 뜨도록
값싸게
– 밀리초/KiB 단위까지 정밀한 자원 사용 측정
– (향후 지원 예정!)
어디서나
– 오픈소스 버전 제공 (www.backend.ai)
– 클라우드 버전 제공 (cloud.backend.ai)
함께
– 컨테이너를 활용한 언어별·버전별 가상 환경 제공
– 시스템콜 샌드박싱 + Docker의 자원제한 고도화
Backend.AI
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
Backend.AI
• 다양한 기계학습 라이브러리 지원
– TensorFlow, PyTorch, Caffe, Chainer
• 여러 버전의 라이브러리 동시 지원
– 예) TensorFlow 1.2~1.12를 동일 서버팜에서 동시 운영
– 예) PyTorch와 TensorFlow를 간섭 없이 동일 팜에서
운영
• 기계학습 라이브러리 자동 업데이트 지원
• 프로토타이핑 스케일링 시나리오
– 로컬에서 테스트 후 스케일
– 모든 워크로드를 서버에서
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
*베타 테스트 중
Backend.AI
• 프로토타이핑 스케일링 시나리오
– 로컬에서 테스트 후 스케일
– 모든 워크로드를 서버에서
• 온라인 모델 사용 (1.5*)
– use.backend.AI 기반의 모델 서빙
– 함수처럼 딥러닝 모델 사용
– Backend.AI SDK를 통한 다양한 언어 지원
✓ Python / JAVABETA / Node.js / JavaScript (on
browser) / Microsoft Excel / PHPBETA
• 개발 모델 서빙 지원 (1.6⍿)
– 직접 개발한 모델의 서빙 지원
– 기존 모델의 데이터 기반 커스텀 트레이닝 지원
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
*베타 테스트 중
⍿ 개발중 (2018년 하반기)
Backend.AI
• 온프레미스 서버 설치
– 물리 서버 및 VM 설치 모두 지원
– OpenStack 설치 지원
• 다양한 클라우드 지원
– Amazon, Microsoft, Google 클라우드 지원
• 이기종 클라우드 통합 지원 (polycloud)
– 예) Amazon + Microsoft
– 예) On-premise + Amazon
– 클라우드 통합을 위한 편의 지원
✓ Callosum 을 통한 보안 통신 레이어 구현
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
Backend.AI
• 연구자 및 개발자를 위한 IDE 통합
– IntelliJ IDEA (PyCharm 포함), Visual Studio Code, ATOM
editor, Jupyter Notebook 통합
– TensorBoard 등의 모니터링 툴 설치 및 접근 지원
• CPU / GPU / RAM 동적 할당
– 훈련마다 다른 연산 자원 할당 지원
✓ 예) 4CPU + 2GPU + 64GB
• 다중 GPU 지원 및 GPU 공유
– Stream Processor 및 RAM 기준
✓ 예) GPU 2.5개, 0.3개 할당 가능
– GPU 공유 : ML 추론 서비스·교육·실습 워크로드에 특화
– 다중 GPU : 연구·개발 워크로드에 특화
• 가속기 하드웨어 최적화
– NVIDIA CUDA 기반 가속 (TensorFlow / TensorRT)
✓ NGC (for DL / HPC) 환경 통합 지원
✓ NVLink 최적화 지원
– AMD ROCm 기반 가속 (TensorFlow)*
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
*베타 테스트 중
Backend.AI
• API 기반
– 완전한 문서 지원 (영어)
– 온/오프라인 컴포넌트 설치
✓ pip / npm / composer 기반의 설치 지원
– 오픈소스 생태계
• 통합 스케쥴링 및 모니터링
– CUI 및 GUI 관리 콘솔
• 확장을 위한 Backend.AI SDK
– Python 3 / Node.js / JAVA / PHP SDK 지원
• 완전 비동기 I/O 기반의 코드
– 짧은 지연시간
– 각 컴포넌트 동작의 독립성 향상
• 모던 언어 및 컨테이너 환경 기반
– Python 3.6 + aiodocker
– Docker 기반의 컨테이너 가상화
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
Backend.AI 사용 시나리오
GPU가 없는 랩탑을 들고다니며 딥러닝 AI를 개발하고 싶을 때
사내 고성능 GPU 서버 1대를 여러 연구원이 공유하면서 쓰고 싶을 때
망분리 적용된 사내 GPU 서버를 조직 단위로 유연하게 공유하고 싶을 때
갖고다닐 개인 랩탑에
Backend.AI Client 설치
자신의 GPU 워크스테이션을
cloud.backend.ai에 등록 또는
클라우드 요금제 구입
각 연구원 PC에
Backend.AI Client 설치
사내 서버에 Backend.AI 설치
(오픈소스 버전 무료 사용 가능)
각 연구원 PC에
Backend.AI Client 설치
사내 서버에 Backend.AI 설치
(엔터프라이즈 구입 후 오프라인 설치,
SSO 연동, 보안 로깅 추가기능 사용)
Backend.AI 플랫폼
Cloud
Cloud Pay-as-you-go
OpenSource
Ground
Bring Your
Own Hardware
Examples
Services
Garden Showcases
계산 기반의 과학·공학
연구, 딥러닝 모델 훈련
및 엄청나게 간편한 코딩
환경을 구축하는
Scalable PaaS
자신만의 Backend.AI
서버팜을 설치하고
수정하고 개발할 수 있는
오픈소스 버전
Backend.AI 및
Lablup.AI 통합 솔루션
사용자들을 위한 문서,
포럼 및 쇼케이스들
Backend.AI codeonweb.com
Backend.AI 프로젝트
• https://github.com/lablup/backend.ai
– 2015년 8월 첫 공개
– 2016년 11월 v0.1 릴리즈
– 2017년 10월 v1.0 릴리즈 / 17개의 컴포넌트 저장소로 구성
✓ 개발 매뉴얼 제공
– 2018년 1월 v1.1 / 2월 v1.2 / 3월 v1.3 / 9월 v1.4 릴리즈
✓ 코드 안정화 (1.1)
✓ 설치 매뉴얼 및 싱글 클러스터용 자동 설치 지원 (1.2)
✓ 플러그인 아키텍처 도입 (1.3)
✓ GPU 자원 고급 할당 및 스케줄러 기능 강화 (1.4)
• 로드맵
– 대규모 HPC 클러스터 오케스트레이션 기능 강화 (1.5)
– VPN 없는 다중 클라우드 연결을 통한 쉬운 Hybrid cloud 및 on-premise 연동 (1.4 / 1.5)
– 오토스케일링 기능 강화
✓ 장시간 연산 세션을 위한 scale-in protection
✓ cpu/memory/gpu slot 여유 용량에 따라 cold/hot instance group 운영
https://www.backend.ai
Backend.AI 오픈소스
• Backend.AI Ground
– 오픈소스 (코어 + 라이브러리 + 플러그인)
– 설치형 소프트웨어 / 프레임워크
– 듀얼 라이센스 채택
✓ 비상업용: LGPLv3
✓ 상업용 및 재배포: 별도 commercial license 및 사용 계약
• Backend.AI Cloud
– Backend.AI Ground 기반으로 Lablup에서 직접 운영하는 클라우드
• Backend.AI Enterprise
– 상업 용도의 별도 계약에 따른 엔터프라이즈 솔루션
– 온프레미스 / 서포트 플랜
Backend.AI: 딥러닝 개발에 특화된 GPU 가속 매니지먼트 플랫폼
클라우드 인프라 (IaaS)
Backend.AI 플랫폼
응용 서비스 및 애플리케이션
모니터링
버전관리
자원할당언어별 SDK
보안격리오토스케일링
개인·조직 사용자
import tensorflow as tf
import matplotlib
v1 = tf.Variable(…, name="v1")
v2 = tf.Variable(…, name="v2")
...
plot(...)
웹 서비스
모바일 및
IoT 장비
클라우드 서비스
기계학습 및 과학연산 코드
실행 결과
REST/GraphQL
API
온-프레미스 클러스터
Backend.AI: 역할 및 특징
Backend.AI
개발자를 위한
사용자 인터페이스
GPU를 활용하는
다양한 도구
가상화 솔루션
및 클라우드 서비스
연산 및 SW 자원관리
미들웨어
▪ 보안 격리된 컨테이너 기반 가상화로
서버 수준 고밀도 자원 공유
▪ 오토스케일링 및 컨테이너 버전 관리
▪ 컨테이너와 GPU 연결 기능 제공
▪ 사전 정의된 목적 특화 컨테이너 제공
▪ 사용자별 자원 사용량 추적
▪ Jupyter, VSCode, Atom, CLI/IDE 등
다양한 사용자 개발환경 플러그인 지원
▪ 완전관리형 클라우드 / 설치형 오픈소스
쉽게
빠르게
값싸게
어디서나
함께
5대 핵심목표
Backend.AI 컴포넌트 구성
Backend.AI Manager
Backend.AI Agent
Scaling Group Scaling Group
Backend.AI Agent
Backend.AI Agent
Backend.AI Agent
Backend.AI Agent
Backend.AI Client
Kernel Kernel
Kernel
Kernel Kernel
Kernel
Kernel
VFolder
Storage
Session DB
User DB
Config
Server
Backend.AI 상세
>_
Backend.AI Client SDK
for Python
HTTPS
WebSocket /
REST / GraphQL
ZeroMQ
etcdRedisPostgreSQL
(private protocols)
Backend.AI Client SDK
for Javascript
Tensor
Flow
Backend.AI Jail
R
Backend.AI Jail
Docker
User data files
Cloud Storage
Backend.AI AgentBackend.AI Manager
https://api.backend.ai
▪ 실시간 터미널 접속
▪ Query / batch / streaming mode
▪ 사용량 및 세션 상태 조회
▪ 멀티미디어 출력 렌더링
▪ 사용자 세션 인증
▪ 실시간 세션별 자원 사용량 통계
▪ 자동 rolling upgrade
▪ 프로그래밍할 수 있는 시스템콜 샌드박스
▪ 코어 개수, 메모리 등 컨테이너 자원 제한
▪ 사용자별 가상폴더
▪ 공유·예제 dataset 제공
▪ 코드 실행 요청 routing
▪ 입출력 중계
▪ Agent auto-scaling
▪ Hybrid cloud 지원
Backend.AI: 주요 기능 (v1.4)
• 다중 GPU 지원 및 GPU 공유
– Stream Processor 및 RAM 기준
✓ 예) GPU 2.5개, 0.3개 할당 가능
– GPU 공유 : ML 추론 서비스·교육·실습 워크로드에 특화
– 다중 GPU : 연구·개발 워크로드에 특화
• 가상폴더(vfolder) 공유
– 다른 사용자 초대 및 권한 설정
• 가속기 플러그인 아키텍처
– NVLink 최적화 지원
• NVIDIA 플랫폼 통합
– NGC (for DL / HPC) 환경 통합 지원
• 통합 스케쥴링 및 모니터링
– CUI 및 GUI 관리 콘솔
– Jupyter, Visual Studio Code, IntelliJ, Atom 통합 플러그인
GPU 공유 할당 예 (2.5개 / 0.5개 슬롯)
2.5개 0.5개
Backend.AI Model Serving
Backend.AI 1.5/1.6a1
Backend.AI
• 프로토타이핑 스케일링 시나리오
– 로컬에서 테스트 후 스케일
– 모든 워크로드를 서버에서
• 온라인 모델 사용 (1.5*)
– use.backend.AI 기반의 모델 서빙
– 함수처럼 딥러닝 모델 사용
– Backend.AI SDK를 통한 다양한 언어 지원
✓ Python / JAVABETA / Node.js / JavaScript (on
browser) / Microsoft Excel / PHPBETA
• 개발 모델 서빙 지원 (1.6⍿)
– 직접 개발한 모델의 서빙 지원
– 기존 모델의 데이터 기반 커스텀 트레이닝 지원
기계학습 모델을 훈련하고
실행하는 모든 과정을
클라우드 또는 자신의 서버에서
엄청나게 쉽고 빠르게 돌려주는
세련된 플랫폼
*베타 테스트 중
⍿ 개발중 (2018년 하반기)
Backend.AI 작동 예시
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
자신의 컴퓨터에는 개발환경이 없음
Backend.AI Cloud를 통해 실행하면 OK!
실행하고자 하는 소스 코드
Backend.AI Serving Mode
• 특징
– Amazon Lambda처럼 모델 서빙 사용
– 준비 작업등을 자동화함
– 다양한 모델을 필요시에만 서빙하고 삭제할 수 있음
• 구현
– TensorFlow Serving 기반 (1.6a1)
✓ SavedModel 지원
✓ CPU / GPU 기반 서빙 지원
✓ Backend.AI 의 모든 리소스 관련 기능 동시 사용 지원
– (이후) PyTorch 모델 서빙 지원
• 장점
– TensorFlow Serving의 엄청나게 간편한 wrapper로서 동작 (1.6)
– TensorFlow에서 부족한 자원 할당 및 관리 지원
– Backend.AI SDK와 통합하여 어플리케이션 개발에 바로 활용 가능
Backend.AI Serving Mode: 초기화
$ backend.ai serve python-tensorflow:1.12-cuda9 resnet_v2_fp16_savedmodel_NCHW_jpg.tar.gz
Using automatic setup..ok.
Model Serving Instance ID: ef038258d5
Model Serving REST API. : http://localhost:8102/ef038258d5
Model is serving now.
$ backend.ai ps
Session ID Lang/runtime Created At Terminated At
Status Memory Slot CPU Slot GPU Slot
-------------------------------- --------------------------- --------------------------
------ --------------- -------- ------------- ---------- ----------
ef038258d5 python-tensorflow:1.12-py36 2018-11-20T10:54:04.370936+00:00
RUNNING 2048 2 0.3
Backend.AI Serving Mode: 확인
$ backend.ai info ef038258d5
Session detail:
---------------
Session ID: ef038258d5
Role: master
Lang/runtime: python-tensorflow:1.12-py36
Created At: 2018-11-20T10:54:04.370936+00:00
Terminated At: None
Agent: i-0985d148abb032fd4
Status: RUNNING
Status Info: None
Memory Slot: 2048
CPU Slot: 2.0
GPU Slot: 0.3
Number of Queries: 11
CPU Used: 2122
Memory Max Bytes: 48926720
Memory Current Bytes: 48656384
Network RX Bytes: 4781
Network TX Bytes: 3218
IO Read Bytes: 0
IO Write Bytes: 14839808
IO Max Scratch Size: 0
IO Current Scratch Size: 0
$ backend.ai info –-model ef038258d5
Model detail:
-------------
Version: 1
State : AVAILABLE
Status : OK
$
Backend.AI Serving Mode: 사용
$ backend.ai predict ef038258d5 ./dog.jpg
Uploading files: 100%|██████████████████634 [00:00<00:00, 260.5kbytes/s, file=dog.jpg]
Predicted results:
[200, 239]
$ TESTFILE=`openssl base64 –in ./dog.jpg`
$ curl –d ’{“instances”: $TESTFILE}` -X POST http://localhost:8102/ef038258d5
{
“results”: [200, 239]
}
$ backend.ai ps
Session ID Lang/runtime Created At Terminated At
Status Memory Slot CPU Slot GPU Slot
-------------------------------- --------------------------- --------------------------
------ --------------- -------- ------------- ---------- ----------
ef038258d5 python-tensorflow:1.12-py36 2018-11-20T10:54:04.370936+00:00
RUNNING 2048 2 0.3
Live demo
With various model serving examples
감사합니다!
질문은 contact@lablup.com 으로!
Lablup Inc.
Backend.AI
Backend.AI GitHub
Backend.AI Cloud
CodeOnWeb
https://www.lablup.com
https://www.backend.ai
https://github.com/lablup/backend.ai
https://cloud.backend.ai
https://www.codeonweb.com
Backend.AI와 기존 유사 오픈소스 비교
• 기존 오픈소스 구현체들의 한계 해결
– 특정 프로그래밍 언어 지원 → 범용 언어 지원
– REPL 구현체들의 취약한 보안 → 보안 중심의 원천적 설계로 실서비스 구축이 가능
– 기계학습 개발자를 위한 편의 기능 제공 (가상폴더 등)
– 연산 가속을 위한 보조프로세서 지원 (GPU, TPU, ROCm 등)
– 연산에 필요한 자원의 자동 스케일링
– 온디맨드 대규모 코드 연산 기능 제공
Backend.AI 의 특징 비교 (1/2)
• vs. Anaconda Cluster
– Anaconda Cluster는 고정된 수의 서버를 가진 클러스터에 ssh 기반으로 각종 데이터 분석용
Python/Java 프로그램들을 자동 설치하고 마스터 서버를 통해 통합 실행하는 기능 제공
– Backend.AI는 클라우드 기반의 서버 자동 스케일링과 컨테이너 기반의 보안 격리된 실행 환경을
제공하여 여러 사용자가 클러스터뿐만 아니라 서버 수준에서도 고밀도 자원 공유 가능
– 예) Anaconda Cluster를 Backend.AI 에서 생성해서 쓰고, 다 쓴 후 쉽게 없앨 수 있음.
• vs. Google Colaboratory / AWS SageMaker / Azure MLStudio / 각종 MLaaS
– 클라우드 플랫폼 기반의 관리형 기계학습 실습 환경 제공
– Backend.AI는 자신의 서버나 벤더 상관 없이 자가 소유한 클라우드 인프라에 직접 설치 가능하여, 퍼블릭
클라우드 벤더들이 제공하는 편의성을 프라이빗 클라우드에서도 제공
Backend.AI 의 특징 비교 (2/2)
• vs. Kubernetes (Google Borg) / Apache Mesos / Apache Aurora
– Mesos와 k8s 모두 클러스터 자원 할당 및 관리를 위해 일반화된 오픈소스 솔루션
– Aurora는 Mesos를 기반으로 service 및 job pipeline 관리 추가 제공
– Backend.AI는 오케스트레이션 계층 뿐만 아니라, 머신러닝 개발자들을 위해 특화되어 가상폴더, AI
프레임워크 버전 관리, 분산 학습을 통한 적정 모델 찾기 등을 지원
– 오토스케일링 등 클라우드 환경에 적합한 기능과, 스케쥴링 등 온프레미스 환경에 적합한 기능을 추가
제공
– 연구자 / 개발자 등을 위한 다양한 엔드유저 편의성을 제공함
• vs. Ansible / Chef / Puppet / Terraform / ...
– 대규모 서버 및 컨테이너를 프로비저닝하고 인프라 구성을 코드화하여 관리할 수 있는 DevOps용 도구
– Backend.AI는 이런 기술들을 종합적으로 활용하여, 기계학습 개발자들이 인프라에 대한 고민을 하지
않도록 한 단계 더 감싸주는 역할을 함
Backend.AI 트리비아
• 첫 버전 발표: 2015년 8월 (PyCon KR)
• 첫 공개 테스트 버전 배포: 2016년 11월
• 첫 정식 버전 배포: 2017년 11월
• 클라우드 등록 사용자 : ~9000명
• 실사용 기업, 연구소 및 대학: 5
• Backend.AI가 지원하는 가장 작은 단일 노드: 라즈베리 파이 3
• Backend.AI가 지원하는 가장 큰 단일 노드: NVidia DGX-1
• 단일 Backend.AI 클러스터가 동시 지원하는 노드 수: 2000 노드
• 멀티 Backend.AI 클러스터가 동시 관리하는 노드 수: 62500 노드
• Backend.AI 설치를 지원하는 클라우드 환경: Amazon Web Service, Google Cloud
Computing, Microsoft Azure 및 OpenStack

Contenu connexe

Tendances

[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영NAVER D2
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive Amazon Web Services Korea
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
게임 운영에 필요한 로그성 데이터들에 대하여
게임 운영에 필요한 로그성 데이터들에 대하여게임 운영에 필요한 로그성 데이터들에 대하여
게임 운영에 필요한 로그성 데이터들에 대하여iFunFactory Inc.
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunnerhmfive
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정Arawn Park
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기Kee Hoon Lee
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축Sungmin Kim
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들NAVER D2
 
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나Amazon Web Services Korea
 

Tendances (20)

[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
게임 운영에 필요한 로그성 데이터들에 대하여
게임 운영에 필요한 로그성 데이터들에 대하여게임 운영에 필요한 로그성 데이터들에 대하여
게임 운영에 필요한 로그성 데이터들에 대하여
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
 
Performance Testing using Loadrunner
Performance Testingusing LoadrunnerPerformance Testingusing Loadrunner
Performance Testing using Loadrunner
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
실시간 이상탐지를 위한 머신러닝 모델에 Druid _ Imply 활용하기
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
 
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
 
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
 

Similaire à Machine Learning Model Serving with Backend.AI

Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Jeongkyu Shin
 
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
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablup Inc.
 
Oracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimOracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimsuk kim
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process uEngine Solutions
 
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
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control PlaneSeungYong Baek
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena DollyJi-Woong Choi
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.효근 박
 
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdfHeeJung Chae
 
OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316기한 김
 
Knative로 서버리스 워크로드 구현
Knative로 서버리스 워크로드 구현Knative로 서버리스 워크로드 구현
Knative로 서버리스 워크로드 구현Jinwoong Kim
 
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용고포릿 default
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...hoondong kim
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST_NHNent
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sSeong-Bok Lee
 

Similaire à Machine Learning Model Serving with Backend.AI (20)

Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 
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
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"
 
Oracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimOracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kim
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
NetApp AI Control Plane
NetApp AI Control PlaneNetApp AI Control Plane
NetApp AI Control Plane
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
 
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf
 
OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316OPEN_POWER8_SESSION_20150316
OPEN_POWER8_SESSION_20150316
 
Knative로 서버리스 워크로드 구현
Knative로 서버리스 워크로드 구현Knative로 서버리스 워크로드 구현
Knative로 서버리스 워크로드 구현
 
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 

Plus de Jeongkyu Shin

Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Jeongkyu Shin
 
Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Jeongkyu Shin
 
TensorFlow 2: New Era of Developing Deep Learning Models
TensorFlow 2: New Era of Developing Deep Learning ModelsTensorFlow 2: New Era of Developing Deep Learning Models
TensorFlow 2: New Era of Developing Deep Learning ModelsJeongkyu Shin
 
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기Jeongkyu Shin
 
오픈소스 라이선스를 둘러싼 소송들
오픈소스 라이선스를 둘러싼 소송들오픈소스 라이선스를 둘러싼 소송들
오픈소스 라이선스를 둘러싼 소송들Jeongkyu Shin
 
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개Jeongkyu Shin
 
회색지대: 이상과 현실 - 오픈소스 저작권
회색지대: 이상과 현실 - 오픈소스 저작권회색지대: 이상과 현실 - 오픈소스 저작권
회색지대: 이상과 현실 - 오픈소스 저작권Jeongkyu Shin
 
TensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow HubTensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow HubJeongkyu Shin
 
Google Polymer in Action
Google Polymer in ActionGoogle Polymer in Action
Google Polymer in ActionJeongkyu Shin
 
The Flow of TensorFlow
The Flow of TensorFlowThe Flow of TensorFlow
The Flow of TensorFlowJeongkyu Shin
 
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Jeongkyu Shin
 
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)Jeongkyu Shin
 
Deep-learning based Language Understanding and Emotion extractions
Deep-learning based Language Understanding and Emotion extractionsDeep-learning based Language Understanding and Emotion extractions
Deep-learning based Language Understanding and Emotion extractionsJeongkyu Shin
 
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)Jeongkyu Shin
 
OSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareOSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareJeongkyu Shin
 
OSS SW Basics Lecture 12: Open source in research fields
OSS SW Basics Lecture 12: Open source in research fieldsOSS SW Basics Lecture 12: Open source in research fields
OSS SW Basics Lecture 12: Open source in research fieldsJeongkyu Shin
 
OSS SW Basics Lecture 10: Setting up term project
OSS SW Basics Lecture 10: Setting up term projectOSS SW Basics Lecture 10: Setting up term project
OSS SW Basics Lecture 10: Setting up term projectJeongkyu Shin
 
OSS SW Basics Lecture 09: Communications in open-source developments
OSS SW Basics Lecture 09: Communications in open-source developmentsOSS SW Basics Lecture 09: Communications in open-source developments
OSS SW Basics Lecture 09: Communications in open-source developmentsJeongkyu Shin
 
OSS SW Basics Lecture 08: Software Configuration Management (2)
OSS SW Basics Lecture 08: Software Configuration Management (2)OSS SW Basics Lecture 08: Software Configuration Management (2)
OSS SW Basics Lecture 08: Software Configuration Management (2)Jeongkyu Shin
 
OSS SW Basics Lecture 06: Software Configuration Management
OSS SW Basics Lecture 06: Software Configuration ManagementOSS SW Basics Lecture 06: Software Configuration Management
OSS SW Basics Lecture 06: Software Configuration ManagementJeongkyu Shin
 

Plus de Jeongkyu Shin (20)

Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0Boosting machine learning workflow with TensorFlow 2.0
Boosting machine learning workflow with TensorFlow 2.0
 
Machine Learning in Google I/O 19
Machine Learning in Google I/O 19Machine Learning in Google I/O 19
Machine Learning in Google I/O 19
 
TensorFlow 2: New Era of Developing Deep Learning Models
TensorFlow 2: New Era of Developing Deep Learning ModelsTensorFlow 2: New Era of Developing Deep Learning Models
TensorFlow 2: New Era of Developing Deep Learning Models
 
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
그렇게 커미터가 된다: Python을 통해 오픈소스 생태계 가르치기
 
오픈소스 라이선스를 둘러싼 소송들
오픈소스 라이선스를 둘러싼 소송들오픈소스 라이선스를 둘러싼 소송들
오픈소스 라이선스를 둘러싼 소송들
 
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
 
회색지대: 이상과 현실 - 오픈소스 저작권
회색지대: 이상과 현실 - 오픈소스 저작권회색지대: 이상과 현실 - 오픈소스 저작권
회색지대: 이상과 현실 - 오픈소스 저작권
 
TensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow HubTensorFlow.Data 및 TensorFlow Hub
TensorFlow.Data 및 TensorFlow Hub
 
Google Polymer in Action
Google Polymer in ActionGoogle Polymer in Action
Google Polymer in Action
 
The Flow of TensorFlow
The Flow of TensorFlowThe Flow of TensorFlow
The Flow of TensorFlow
 
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
 
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)
 
Deep-learning based Language Understanding and Emotion extractions
Deep-learning based Language Understanding and Emotion extractionsDeep-learning based Language Understanding and Emotion extractions
Deep-learning based Language Understanding and Emotion extractions
 
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)
 
OSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardwareOSS SW Basics Lecture 14: Open source hardware
OSS SW Basics Lecture 14: Open source hardware
 
OSS SW Basics Lecture 12: Open source in research fields
OSS SW Basics Lecture 12: Open source in research fieldsOSS SW Basics Lecture 12: Open source in research fields
OSS SW Basics Lecture 12: Open source in research fields
 
OSS SW Basics Lecture 10: Setting up term project
OSS SW Basics Lecture 10: Setting up term projectOSS SW Basics Lecture 10: Setting up term project
OSS SW Basics Lecture 10: Setting up term project
 
OSS SW Basics Lecture 09: Communications in open-source developments
OSS SW Basics Lecture 09: Communications in open-source developmentsOSS SW Basics Lecture 09: Communications in open-source developments
OSS SW Basics Lecture 09: Communications in open-source developments
 
OSS SW Basics Lecture 08: Software Configuration Management (2)
OSS SW Basics Lecture 08: Software Configuration Management (2)OSS SW Basics Lecture 08: Software Configuration Management (2)
OSS SW Basics Lecture 08: Software Configuration Management (2)
 
OSS SW Basics Lecture 06: Software Configuration Management
OSS SW Basics Lecture 06: Software Configuration ManagementOSS SW Basics Lecture 06: Software Configuration Management
OSS SW Basics Lecture 06: Software Configuration Management
 

Machine Learning Model Serving with Backend.AI

  • 1. Machine Learning Model Serving With Backend.AI 신정규 / 래블업 주식회사 KOSSCON 2018
  • 3. 문제 의식: 왜 이렇게 힘들어? • 오픈소스와 클라우드의 발달 – 정말로 AI 하기가 쉬워졌을까? http://kr.vonvon.me/quiz/329, http://kr.vonvon.me/quiz/1633 (사실은 삽질 삽질 삽질 삽질 삽질을... 으어어) 일단 오픈소스 한컵 붓고.. 클라우드 살짝 얹고.. 딥러닝을 잘 부으면... 다 되는 건가? 신이 AI 분야를 만들 때
  • 4. 우리에게 필요한 것 쉽게 – 원래 사용하던 방식과 같도록 – 최소한의 환경설정만으로 빠르게 – GPU를 잘 활용할 수 있도록 – 원하는 만큼 연산자원을 바로바로 값싸게 – 사용한 만큼만 지불하도록 – 비용 제한에 맞춰 성능 조정을 자동으로 어디서나 – 내가 가진 서버를 지금 바로 활용하거나 – 이도저도 귀찮다면 클라우드에 맡겨서 함께 – 한번 만들면 누구나 똑같이 재현하고 재사용하도록 – 다른 사람들과 충돌 없이 자원을 공유할 수 있도록
  • 5. Backend.AI 목표 쉽게 – 원래 사용하던 방식과 같도록 – 최소한의 환경설정만으로 빠르게 – GPU를 잘 활용할 수 있도록 – 원하는 만큼 연산자원을 바로바로 값싸게 – 사용한 만큼만 지불하도록 – 비용 제한에 맞춰 성능 조정을 자동으로 어디서나 – 내가 가진 서버를 지금 바로 활용하거나 – 이도저도 귀찮다면 클라우드에 맡겨서 함께 – 한번 만들면 누구나 똑같이 재현하고 재사용하도록 – 다른 사람들과 충돌 없이 자원을 공유할 수 있도록 쉽게 – Jupyter, Visual Studio Code, IntelliJ, Atom 플러그인 제공 – API key만 설정하면 끝! 빠르게 – 컨테이너와 GPU 기술을 결합 – 1초 이내에 연산 세션이 뜨도록 값싸게 – 밀리초/KiB 단위까지 정밀한 자원 사용 측정 – (향후 지원 예정!) 어디서나 – 오픈소스 버전 제공 (www.backend.ai) – 클라우드 버전 제공 (cloud.backend.ai) 함께 – 컨테이너를 활용한 언어별·버전별 가상 환경 제공 – 시스템콜 샌드박싱 + Docker의 자원제한 고도화
  • 6. Backend.AI 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼
  • 7. Backend.AI • 다양한 기계학습 라이브러리 지원 – TensorFlow, PyTorch, Caffe, Chainer • 여러 버전의 라이브러리 동시 지원 – 예) TensorFlow 1.2~1.12를 동일 서버팜에서 동시 운영 – 예) PyTorch와 TensorFlow를 간섭 없이 동일 팜에서 운영 • 기계학습 라이브러리 자동 업데이트 지원 • 프로토타이핑 스케일링 시나리오 – 로컬에서 테스트 후 스케일 – 모든 워크로드를 서버에서 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼 *베타 테스트 중
  • 8. Backend.AI • 프로토타이핑 스케일링 시나리오 – 로컬에서 테스트 후 스케일 – 모든 워크로드를 서버에서 • 온라인 모델 사용 (1.5*) – use.backend.AI 기반의 모델 서빙 – 함수처럼 딥러닝 모델 사용 – Backend.AI SDK를 통한 다양한 언어 지원 ✓ Python / JAVABETA / Node.js / JavaScript (on browser) / Microsoft Excel / PHPBETA • 개발 모델 서빙 지원 (1.6⍿) – 직접 개발한 모델의 서빙 지원 – 기존 모델의 데이터 기반 커스텀 트레이닝 지원 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼 *베타 테스트 중 ⍿ 개발중 (2018년 하반기)
  • 9. Backend.AI • 온프레미스 서버 설치 – 물리 서버 및 VM 설치 모두 지원 – OpenStack 설치 지원 • 다양한 클라우드 지원 – Amazon, Microsoft, Google 클라우드 지원 • 이기종 클라우드 통합 지원 (polycloud) – 예) Amazon + Microsoft – 예) On-premise + Amazon – 클라우드 통합을 위한 편의 지원 ✓ Callosum 을 통한 보안 통신 레이어 구현 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼
  • 10. Backend.AI • 연구자 및 개발자를 위한 IDE 통합 – IntelliJ IDEA (PyCharm 포함), Visual Studio Code, ATOM editor, Jupyter Notebook 통합 – TensorBoard 등의 모니터링 툴 설치 및 접근 지원 • CPU / GPU / RAM 동적 할당 – 훈련마다 다른 연산 자원 할당 지원 ✓ 예) 4CPU + 2GPU + 64GB • 다중 GPU 지원 및 GPU 공유 – Stream Processor 및 RAM 기준 ✓ 예) GPU 2.5개, 0.3개 할당 가능 – GPU 공유 : ML 추론 서비스·교육·실습 워크로드에 특화 – 다중 GPU : 연구·개발 워크로드에 특화 • 가속기 하드웨어 최적화 – NVIDIA CUDA 기반 가속 (TensorFlow / TensorRT) ✓ NGC (for DL / HPC) 환경 통합 지원 ✓ NVLink 최적화 지원 – AMD ROCm 기반 가속 (TensorFlow)* 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼 *베타 테스트 중
  • 11. Backend.AI • API 기반 – 완전한 문서 지원 (영어) – 온/오프라인 컴포넌트 설치 ✓ pip / npm / composer 기반의 설치 지원 – 오픈소스 생태계 • 통합 스케쥴링 및 모니터링 – CUI 및 GUI 관리 콘솔 • 확장을 위한 Backend.AI SDK – Python 3 / Node.js / JAVA / PHP SDK 지원 • 완전 비동기 I/O 기반의 코드 – 짧은 지연시간 – 각 컴포넌트 동작의 독립성 향상 • 모던 언어 및 컨테이너 환경 기반 – Python 3.6 + aiodocker – Docker 기반의 컨테이너 가상화 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼
  • 12. Backend.AI 사용 시나리오 GPU가 없는 랩탑을 들고다니며 딥러닝 AI를 개발하고 싶을 때 사내 고성능 GPU 서버 1대를 여러 연구원이 공유하면서 쓰고 싶을 때 망분리 적용된 사내 GPU 서버를 조직 단위로 유연하게 공유하고 싶을 때 갖고다닐 개인 랩탑에 Backend.AI Client 설치 자신의 GPU 워크스테이션을 cloud.backend.ai에 등록 또는 클라우드 요금제 구입 각 연구원 PC에 Backend.AI Client 설치 사내 서버에 Backend.AI 설치 (오픈소스 버전 무료 사용 가능) 각 연구원 PC에 Backend.AI Client 설치 사내 서버에 Backend.AI 설치 (엔터프라이즈 구입 후 오프라인 설치, SSO 연동, 보안 로깅 추가기능 사용)
  • 13. Backend.AI 플랫폼 Cloud Cloud Pay-as-you-go OpenSource Ground Bring Your Own Hardware Examples Services Garden Showcases 계산 기반의 과학·공학 연구, 딥러닝 모델 훈련 및 엄청나게 간편한 코딩 환경을 구축하는 Scalable PaaS 자신만의 Backend.AI 서버팜을 설치하고 수정하고 개발할 수 있는 오픈소스 버전 Backend.AI 및 Lablup.AI 통합 솔루션 사용자들을 위한 문서, 포럼 및 쇼케이스들 Backend.AI codeonweb.com
  • 14. Backend.AI 프로젝트 • https://github.com/lablup/backend.ai – 2015년 8월 첫 공개 – 2016년 11월 v0.1 릴리즈 – 2017년 10월 v1.0 릴리즈 / 17개의 컴포넌트 저장소로 구성 ✓ 개발 매뉴얼 제공 – 2018년 1월 v1.1 / 2월 v1.2 / 3월 v1.3 / 9월 v1.4 릴리즈 ✓ 코드 안정화 (1.1) ✓ 설치 매뉴얼 및 싱글 클러스터용 자동 설치 지원 (1.2) ✓ 플러그인 아키텍처 도입 (1.3) ✓ GPU 자원 고급 할당 및 스케줄러 기능 강화 (1.4) • 로드맵 – 대규모 HPC 클러스터 오케스트레이션 기능 강화 (1.5) – VPN 없는 다중 클라우드 연결을 통한 쉬운 Hybrid cloud 및 on-premise 연동 (1.4 / 1.5) – 오토스케일링 기능 강화 ✓ 장시간 연산 세션을 위한 scale-in protection ✓ cpu/memory/gpu slot 여유 용량에 따라 cold/hot instance group 운영 https://www.backend.ai
  • 15. Backend.AI 오픈소스 • Backend.AI Ground – 오픈소스 (코어 + 라이브러리 + 플러그인) – 설치형 소프트웨어 / 프레임워크 – 듀얼 라이센스 채택 ✓ 비상업용: LGPLv3 ✓ 상업용 및 재배포: 별도 commercial license 및 사용 계약 • Backend.AI Cloud – Backend.AI Ground 기반으로 Lablup에서 직접 운영하는 클라우드 • Backend.AI Enterprise – 상업 용도의 별도 계약에 따른 엔터프라이즈 솔루션 – 온프레미스 / 서포트 플랜
  • 16. Backend.AI: 딥러닝 개발에 특화된 GPU 가속 매니지먼트 플랫폼 클라우드 인프라 (IaaS) Backend.AI 플랫폼 응용 서비스 및 애플리케이션 모니터링 버전관리 자원할당언어별 SDK 보안격리오토스케일링 개인·조직 사용자 import tensorflow as tf import matplotlib v1 = tf.Variable(…, name="v1") v2 = tf.Variable(…, name="v2") ... plot(...) 웹 서비스 모바일 및 IoT 장비 클라우드 서비스 기계학습 및 과학연산 코드 실행 결과 REST/GraphQL API 온-프레미스 클러스터
  • 17. Backend.AI: 역할 및 특징 Backend.AI 개발자를 위한 사용자 인터페이스 GPU를 활용하는 다양한 도구 가상화 솔루션 및 클라우드 서비스 연산 및 SW 자원관리 미들웨어 ▪ 보안 격리된 컨테이너 기반 가상화로 서버 수준 고밀도 자원 공유 ▪ 오토스케일링 및 컨테이너 버전 관리 ▪ 컨테이너와 GPU 연결 기능 제공 ▪ 사전 정의된 목적 특화 컨테이너 제공 ▪ 사용자별 자원 사용량 추적 ▪ Jupyter, VSCode, Atom, CLI/IDE 등 다양한 사용자 개발환경 플러그인 지원 ▪ 완전관리형 클라우드 / 설치형 오픈소스 쉽게 빠르게 값싸게 어디서나 함께 5대 핵심목표
  • 18. Backend.AI 컴포넌트 구성 Backend.AI Manager Backend.AI Agent Scaling Group Scaling Group Backend.AI Agent Backend.AI Agent Backend.AI Agent Backend.AI Agent Backend.AI Client Kernel Kernel Kernel Kernel Kernel Kernel Kernel VFolder Storage Session DB User DB Config Server
  • 19. Backend.AI 상세 >_ Backend.AI Client SDK for Python HTTPS WebSocket / REST / GraphQL ZeroMQ etcdRedisPostgreSQL (private protocols) Backend.AI Client SDK for Javascript Tensor Flow Backend.AI Jail R Backend.AI Jail Docker User data files Cloud Storage Backend.AI AgentBackend.AI Manager https://api.backend.ai ▪ 실시간 터미널 접속 ▪ Query / batch / streaming mode ▪ 사용량 및 세션 상태 조회 ▪ 멀티미디어 출력 렌더링 ▪ 사용자 세션 인증 ▪ 실시간 세션별 자원 사용량 통계 ▪ 자동 rolling upgrade ▪ 프로그래밍할 수 있는 시스템콜 샌드박스 ▪ 코어 개수, 메모리 등 컨테이너 자원 제한 ▪ 사용자별 가상폴더 ▪ 공유·예제 dataset 제공 ▪ 코드 실행 요청 routing ▪ 입출력 중계 ▪ Agent auto-scaling ▪ Hybrid cloud 지원
  • 20. Backend.AI: 주요 기능 (v1.4) • 다중 GPU 지원 및 GPU 공유 – Stream Processor 및 RAM 기준 ✓ 예) GPU 2.5개, 0.3개 할당 가능 – GPU 공유 : ML 추론 서비스·교육·실습 워크로드에 특화 – 다중 GPU : 연구·개발 워크로드에 특화 • 가상폴더(vfolder) 공유 – 다른 사용자 초대 및 권한 설정 • 가속기 플러그인 아키텍처 – NVLink 최적화 지원 • NVIDIA 플랫폼 통합 – NGC (for DL / HPC) 환경 통합 지원 • 통합 스케쥴링 및 모니터링 – CUI 및 GUI 관리 콘솔 – Jupyter, Visual Studio Code, IntelliJ, Atom 통합 플러그인 GPU 공유 할당 예 (2.5개 / 0.5개 슬롯) 2.5개 0.5개
  • 22. Backend.AI • 프로토타이핑 스케일링 시나리오 – 로컬에서 테스트 후 스케일 – 모든 워크로드를 서버에서 • 온라인 모델 사용 (1.5*) – use.backend.AI 기반의 모델 서빙 – 함수처럼 딥러닝 모델 사용 – Backend.AI SDK를 통한 다양한 언어 지원 ✓ Python / JAVABETA / Node.js / JavaScript (on browser) / Microsoft Excel / PHPBETA • 개발 모델 서빙 지원 (1.6⍿) – 직접 개발한 모델의 서빙 지원 – 기존 모델의 데이터 기반 커스텀 트레이닝 지원 기계학습 모델을 훈련하고 실행하는 모든 과정을 클라우드 또는 자신의 서버에서 엄청나게 쉽고 빠르게 돌려주는 세련된 플랫폼 *베타 테스트 중 ⍿ 개발중 (2018년 하반기)
  • 23. Backend.AI 작동 예시 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello)) 자신의 컴퓨터에는 개발환경이 없음 Backend.AI Cloud를 통해 실행하면 OK! 실행하고자 하는 소스 코드
  • 24. Backend.AI Serving Mode • 특징 – Amazon Lambda처럼 모델 서빙 사용 – 준비 작업등을 자동화함 – 다양한 모델을 필요시에만 서빙하고 삭제할 수 있음 • 구현 – TensorFlow Serving 기반 (1.6a1) ✓ SavedModel 지원 ✓ CPU / GPU 기반 서빙 지원 ✓ Backend.AI 의 모든 리소스 관련 기능 동시 사용 지원 – (이후) PyTorch 모델 서빙 지원 • 장점 – TensorFlow Serving의 엄청나게 간편한 wrapper로서 동작 (1.6) – TensorFlow에서 부족한 자원 할당 및 관리 지원 – Backend.AI SDK와 통합하여 어플리케이션 개발에 바로 활용 가능
  • 25. Backend.AI Serving Mode: 초기화 $ backend.ai serve python-tensorflow:1.12-cuda9 resnet_v2_fp16_savedmodel_NCHW_jpg.tar.gz Using automatic setup..ok. Model Serving Instance ID: ef038258d5 Model Serving REST API. : http://localhost:8102/ef038258d5 Model is serving now. $ backend.ai ps Session ID Lang/runtime Created At Terminated At Status Memory Slot CPU Slot GPU Slot -------------------------------- --------------------------- -------------------------- ------ --------------- -------- ------------- ---------- ---------- ef038258d5 python-tensorflow:1.12-py36 2018-11-20T10:54:04.370936+00:00 RUNNING 2048 2 0.3
  • 26. Backend.AI Serving Mode: 확인 $ backend.ai info ef038258d5 Session detail: --------------- Session ID: ef038258d5 Role: master Lang/runtime: python-tensorflow:1.12-py36 Created At: 2018-11-20T10:54:04.370936+00:00 Terminated At: None Agent: i-0985d148abb032fd4 Status: RUNNING Status Info: None Memory Slot: 2048 CPU Slot: 2.0 GPU Slot: 0.3 Number of Queries: 11 CPU Used: 2122 Memory Max Bytes: 48926720 Memory Current Bytes: 48656384 Network RX Bytes: 4781 Network TX Bytes: 3218 IO Read Bytes: 0 IO Write Bytes: 14839808 IO Max Scratch Size: 0 IO Current Scratch Size: 0 $ backend.ai info –-model ef038258d5 Model detail: ------------- Version: 1 State : AVAILABLE Status : OK $
  • 27. Backend.AI Serving Mode: 사용 $ backend.ai predict ef038258d5 ./dog.jpg Uploading files: 100%|██████████████████634 [00:00<00:00, 260.5kbytes/s, file=dog.jpg] Predicted results: [200, 239] $ TESTFILE=`openssl base64 –in ./dog.jpg` $ curl –d ’{“instances”: $TESTFILE}` -X POST http://localhost:8102/ef038258d5 { “results”: [200, 239] } $ backend.ai ps Session ID Lang/runtime Created At Terminated At Status Memory Slot CPU Slot GPU Slot -------------------------------- --------------------------- -------------------------- ------ --------------- -------- ------------- ---------- ---------- ef038258d5 python-tensorflow:1.12-py36 2018-11-20T10:54:04.370936+00:00 RUNNING 2048 2 0.3
  • 28. Live demo With various model serving examples
  • 29. 감사합니다! 질문은 contact@lablup.com 으로! Lablup Inc. Backend.AI Backend.AI GitHub Backend.AI Cloud CodeOnWeb https://www.lablup.com https://www.backend.ai https://github.com/lablup/backend.ai https://cloud.backend.ai https://www.codeonweb.com
  • 30. Backend.AI와 기존 유사 오픈소스 비교 • 기존 오픈소스 구현체들의 한계 해결 – 특정 프로그래밍 언어 지원 → 범용 언어 지원 – REPL 구현체들의 취약한 보안 → 보안 중심의 원천적 설계로 실서비스 구축이 가능 – 기계학습 개발자를 위한 편의 기능 제공 (가상폴더 등) – 연산 가속을 위한 보조프로세서 지원 (GPU, TPU, ROCm 등) – 연산에 필요한 자원의 자동 스케일링 – 온디맨드 대규모 코드 연산 기능 제공
  • 31. Backend.AI 의 특징 비교 (1/2) • vs. Anaconda Cluster – Anaconda Cluster는 고정된 수의 서버를 가진 클러스터에 ssh 기반으로 각종 데이터 분석용 Python/Java 프로그램들을 자동 설치하고 마스터 서버를 통해 통합 실행하는 기능 제공 – Backend.AI는 클라우드 기반의 서버 자동 스케일링과 컨테이너 기반의 보안 격리된 실행 환경을 제공하여 여러 사용자가 클러스터뿐만 아니라 서버 수준에서도 고밀도 자원 공유 가능 – 예) Anaconda Cluster를 Backend.AI 에서 생성해서 쓰고, 다 쓴 후 쉽게 없앨 수 있음. • vs. Google Colaboratory / AWS SageMaker / Azure MLStudio / 각종 MLaaS – 클라우드 플랫폼 기반의 관리형 기계학습 실습 환경 제공 – Backend.AI는 자신의 서버나 벤더 상관 없이 자가 소유한 클라우드 인프라에 직접 설치 가능하여, 퍼블릭 클라우드 벤더들이 제공하는 편의성을 프라이빗 클라우드에서도 제공
  • 32. Backend.AI 의 특징 비교 (2/2) • vs. Kubernetes (Google Borg) / Apache Mesos / Apache Aurora – Mesos와 k8s 모두 클러스터 자원 할당 및 관리를 위해 일반화된 오픈소스 솔루션 – Aurora는 Mesos를 기반으로 service 및 job pipeline 관리 추가 제공 – Backend.AI는 오케스트레이션 계층 뿐만 아니라, 머신러닝 개발자들을 위해 특화되어 가상폴더, AI 프레임워크 버전 관리, 분산 학습을 통한 적정 모델 찾기 등을 지원 – 오토스케일링 등 클라우드 환경에 적합한 기능과, 스케쥴링 등 온프레미스 환경에 적합한 기능을 추가 제공 – 연구자 / 개발자 등을 위한 다양한 엔드유저 편의성을 제공함 • vs. Ansible / Chef / Puppet / Terraform / ... – 대규모 서버 및 컨테이너를 프로비저닝하고 인프라 구성을 코드화하여 관리할 수 있는 DevOps용 도구 – Backend.AI는 이런 기술들을 종합적으로 활용하여, 기계학습 개발자들이 인프라에 대한 고민을 하지 않도록 한 단계 더 감싸주는 역할을 함
  • 33. Backend.AI 트리비아 • 첫 버전 발표: 2015년 8월 (PyCon KR) • 첫 공개 테스트 버전 배포: 2016년 11월 • 첫 정식 버전 배포: 2017년 11월 • 클라우드 등록 사용자 : ~9000명 • 실사용 기업, 연구소 및 대학: 5 • Backend.AI가 지원하는 가장 작은 단일 노드: 라즈베리 파이 3 • Backend.AI가 지원하는 가장 큰 단일 노드: NVidia DGX-1 • 단일 Backend.AI 클러스터가 동시 지원하는 노드 수: 2000 노드 • 멀티 Backend.AI 클러스터가 동시 관리하는 노드 수: 62500 노드 • Backend.AI 설치를 지원하는 클라우드 환경: Amazon Web Service, Google Cloud Computing, Microsoft Azure 및 OpenStack