Mais conteúdo relacionado
Semelhante a 유연하고, 빠른 딥러닝 프레임워크 Apache MXNet, Gluon::김무현::AWS Summit Seoul 2018 (20)
Mais de Amazon Web Services Korea (20)
유연하고, 빠른 딥러닝 프레임워크 Apache MXNet, Gluon::김무현::AWS Summit Seoul 2018
- 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
김무현
Solutions Architect / Amazon Web Services
유연하고, 빠른 딥러닝 프레임워크
Apache MXNet, Gluon
- 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Agenda
• Deep Learning 101
• Apache MXNet
• Gluon
• Demo – Gluon + Amazon SageMaker
• Customer Success with Apache MXNet
• Apache MXNet, Gluon 어디서부터 시작할까요?
- 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Deep Learning 101
- 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AI
ML
DL
AI
인공지능, 머신러닝, 그리고 딥러닝
- 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
ML
TRIBES
다양한 머신러닝 접근 방법들
- 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
머신러닝 모델의 정확도
EVOLUTIONIS
T
CONNECTIONI
ST
BAYESIAN
ANALOGISTSYMBOLIST
BOOSTER
- 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
학습 데이터 증가에 따른 정확도
Human Performance
- 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
딥러닝에서 “학습” 이란?
0.4 0.3
0.2 0.9
...
...
backpropagation (gradient descent)
Y1 != Y
0.4 ± ! 0.3 ± !
0
1
0
1
1
.
.
--
Y
inpu
t
labe
l
...
Y1
... new
weights
new
weights
- 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
컴퓨터 비전에서의 딥러닝
.02
.85
p(cat)
p(dog)
Convolutional Neural
Network
Layer 1 Layer 2 Output
Convolution 레이어를 활용한 공간 정보 탐색
Img src: https://leonardoaraujosantos.gitbooks.io/artificial-inteligence
- 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
자연어 처리에 사용되는 딥러닝
Recurrent
Neural Networks
input
output
state
가변 길이의 입력과 출력 시퀀스
- 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
멀티 GPU 및 분산 딥러닝 학습
Dataset
- 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
다양한 딥러닝 Framework들
2
2012before 2013 2014 2015 2016 2017
mxnet
imperative
symbolic
- 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Apache MXNet과 Gluon을 알아보는 이유
유연한 Neural Network 구현
효율적인 학습
다양한 배포 방법
- 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Apache MXNet
- 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
유연한 프로그래밍 모델
클라우드 환경부터 디바이스 환경까지 다양한 환경 지원
다양한 프로그램 언어를 지원
최적화된 성능
Apache MXNet 특징
처음부터 분산 학습이 고려된 설계
- 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
아마존에서의 Apache MXNet 활용
• Applied Research
• Core Research
• Alexa
• Demand Forecasting
• Risk Analytics
• Search
• Recommendations
• AI Services | Rek, Lex, Polly
• Q&A Systems
• Supply Chain Optimization
• Advertising
• Machine Translation
• Video Content Analysis
• Robotics
• Lots of Computer Vision..
• Lots of NLP/U..
• 위 팀들은 검토를 하고 있거나, 개발 중 또는 운영 환경에 Apache MXNet을 적용한 목록임
- 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
다양한 프로그램 언어를 효과적으로 지원
Backend 시스템 및
연산자의 단일 구현
Front-end 언어와
관계없이 성능을 보장함
Front end
Backend
- 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Ideal
Inception v3
Resnet
Alexnet
88%
Efficiency
1 2 4 8 16 32 64 128 256
No. of GPUs
• Cloud formation with Deep Learning AMI
• 16x P2.16xlarge. Mounted on EFS
• Inception and Resnet: batch size 32, Alex net: batch
size 512
• ImageNet, 1.2M images,1K classes
• 152-layer ResNet, 5.4d on 4x K80s (1.2h per epoch),
0.22 top-1 error
Scaling with MXNetGPU 개수 증가에 따른 성능 증가
- 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
유연한 프로그래밍 모델
명령형
NDArray API
선언형
Symbolic Executor
>>> import mxnet as mx
>>> a = mx.nd.zeros((100, 50))
>>> b = mx.nd.ones((100, 50))
>>> c = a + b
>>> c += 1
>>> print(c)
>>> import mxnet as mx
>>> net = mx.symbol.Variable('data')
>>> net = mx.symbol.FullyConnected(data=net, num_hidden=128)
>>> net = mx.symbol.SoftmaxOutput(data=net)
>>> texec = mx.module.Module(net)
>>> texec.forward(data=c)
>>> texec.backward() 명령형 NDArray 객체가
그래프의 입력으로 사용됨
- 20. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
더 빠른 속도로 모델 학습이 가능
• NNVM (Deep Learning Compiler)
• NNPACK (Neural Network 연산 가속 패키지)
• Volta Tensor Core를 위한 Mixed precision 학습 및 추론
- 21. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
쉬운 멀티 GPU 학습
• 학습에 사용할 GPU 목록을 명시하는
것으로 멀티 GPU 학습 가능
• MXNet은 자동으로 학습 데이터를 1/n로
나눠서 GPU 학습을 함
module = mx.module.Module(context=[mx.gpu(i) for i in range(N)], ...)
- 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
여러 서버(CPU, GPU)를 이용한 분산 학습
• 여러 서버에 설치된 CPU, GPU들을
활용한 분산 학습 지원
• Parameter 업데이트 방식
• DIST_SYNC, DIST_DEVICE_SYNC
• DIST_ASYNC, DIST_DEVICE_ASYNC
$ python ../../tools/launch.py -n 2 --launcher ssh -H hosts python
train_mnist.py --network lenet --kv-store dist_device_sync
- 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon S3 연동
data_iter = mx.io.ImageRecordIter(
path_imgrec="s3://bucket-name/training-data/caltech_train.rec",
data_shape=(3, 227, 227),
batch_size=4,
resize=256)
학습
데이터
모델
체크포인트
- 24. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Apache MXNet Model Server (MMS)
• 학습된 모델에 대한 Inference HTTP 서비스를 만들어 줌
• 모델 배포에 필요한 파일들을 단일 파일로 만들어 주는 Model Archive
• HTTP 서비스 제공을 위한 모든 스택이 자동으로 구성됨
• 확장성 있는 모델 서빙을 목적으로 구성된 Docker 이미지
• Inference 수행의 단계별 커스터마이징이 가능 (모델 초기화, 전처리, 추론, 후처리)
• 실시간 운영 지표 (Latency, 자원 사용률, 오류 등)
• OpenAPI 사양 지원으로 Java, JavaScipt, C# 등 다양한 클라이언트 코드에서 모델 서빙 사용 가능
- 25. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Fargate를 활용한 MMS 클러스터
https://aws.amazon.com/blogs/machine-learning/apache-mxnet-model-server-adds-optimized-container-images-for-
model-serving-at-scale/
- 26. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Open Neural Network Exchange (ONNX)
• 개발자는 니즈에 적합한 딥러닝 Framework를 선택할 수 있습니다.
• 더 많은 딥러닝 엔지니어가 MXNet의 성능과 확장성의 장점을 활용할 수 있습니다.
• MXNet 모델이 다양한 모바일 및 Edge 디바이스에서 수행될 수 있습니다. (Qualcomm,
Huawei, Intel, ARM이 ONNX를 지원하기로 했음)
- 27. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
모바일 환경으로 모델 배포
Amalgamation
• 추론에 필요한 딥러닝 모델과 관련 파일을 하나의 .cc
파일로 변환
• 컴파일 후, 모바일 디바이스에서 활용
Apple Core ML 지원
• Core ML은 Apple의 앱의 머신러닝 모델을 지원하는
Framework
• MXNet 모델을 Core ML 형식으로 전환하는 도구
- 28. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Keras2 지원
https://github.com/dmlc/keras
gpu_list = ["gpu(0)", "gpu(1)", "gpu(2)", "gpu(3)"]
model.compile(loss='categorical_crossentropy’,
optimizer=opt, metrics=['accuracy'], context=gpu_list)
model = Sequential()
model.add(Embedding(max_features, 128))
model.add(LSTM(128, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy'])
model.fit(x_train, y_train,
batch_size=batch_size,epochs=15, validation_data=(x_test, y_test))
score, acc = model.evaluate(x_test, y_test, batch_size=batch_size)
간단한 멀티 GPU 학습
Keras2 그대로
- 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
MXBoard TensorBoard를 이용한 시각화를 위한 MXNet 데이터 로깅
https://github.com/awslabs/mxboard
- 30. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Convolutional Neural Net in Symbolic MXNet
data = mx.symbol.Variable('data')
# first conv layer
conv1 = mx.sym.Convolution(data=data, kernel=(5,5), num_filter=20)
tanh1 = mx.sym.Activation(data=conv1, act_type=”relu")
pool1 = mx.sym.Pooling(data=tanh1, pool_type="max", kernel=(2,2), stride=(2,2))
# second conv layer
conv2 = mx.sym.Convolution(data=pool1, kernel=(5,5), num_filter=50)
tanh2 = mx.sym.Activation(data=conv2, act_type=”relu")
pool2 = mx.sym.Pooling(data=tanh2, pool_type="max", kernel=(2,2), stride=(2,2))
# first full connected layer
flatten = mx.sym.Flatten(data=pool2)
fc1 = mx.symbol.FullyConnected(data=flatten, num_hidden=500)
tanh3 = mx.sym.Activation(data=fc1, act_type=”relu")
# second full connected layer
fc2 = mx.sym.FullyConnected(data=tanh3, num_hidden=10)
# softmax loss
lenet = mx.sym.SoftmaxOutput(data=fc2, name='softmax')
- 31. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Gluon
- 32. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Training
딥러닝에서 Challenge
Scalability Flexibility
- 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
유연함과 성능을 모두 갖춘 Gluon
- 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
• 딥러닝 모델 개발을 단순하게
• 유연한 Neural Network 구현이 가능
• 빠른 성능 제공
• Microsoft 협업을 통한 개발
• 현재 Apache MXNet 지원하며 CNTK 지원 예정
Simple, Easy-to-
Understand Code
Flexible, Imperative
Structure
Dynamic Graphs High Performance
Gluon (2017년 10월)
- 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Introducing Gluon
간단하고 이해하기
쉬운 코드
유연하고, 명령형 구조
동적 그래프
빠른 성능
§ Neural network를 간단하고, 명료하고, 간결한 코드로 작성할 수 있음
§ Plug-and-play neural network building blocks. 그리고 사전 정의된 레이어,
옵티마이저, 초기화 모듈
§ 고정된 Neural Network 모델 정의를 피하고, 모델과 학습 알고리즘을 함께 제공
§ 직관적이고, 디버그가 쉽고, 익숙한 코드
§ Neural network는 학습 과정에서 데이터 크기가 가변적인 고급 use case를
해결하기 위해 shape 및 size를 변경할 수 있음
§ Natural Language Processing (NLP)의 중요한 혁신 영역임
§ 학습 속도에 손해가 없음
§ 프로토타이핑에서 운영으로 이전할 경우, 쉽게 Neural Network를 캐쉬해서 빠른
성능 및 메모리 사용량을 줄일 수 있음
- 36. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
유연함과 빠른 속도를 동시에
• Neural Network 모델을 캐쉬함으로, 빠른 성능 및 적은 메모리 사용이
가능함
• Sequential을 HybridSqeuential 변환하고, hybridize() 함수 호출
net = nn.HybridSequential()
with net.name_scope():
net.add(nn.Dense(128, activation="relu")) # 1st layer - 128 nodes
net.add(nn.Dense(64, activation="relu")) # 2nd layer – 64 nodes
net.add(nn.Dense(10)) # Output layer
net.hybridize()
- 37. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
빠른 속도 (MNIST 1000개 이미지에 대한 예측 실험)
net = nn.Sequential()
with net.name_scope():
net.add(nn.Dense(256, activation="relu"))
net.add(nn.Dense(128, activation="relu"))
net.add(nn.Dense(2))
net.collect_params().initialize()
net = nn.HybridSequential()
with net.name_scope():
net.add(nn.Dense(256, activation="relu"))
net.add(nn.Dense(128, activation="relu"))
net.add(nn.Dense(2))
net.collect_params().initialize()
net.hybridize()
추론 시간 : 0.37초
추론 시간 : 0.21초 (약 2배 빠름)
data = mx.sym.Variable('data')
data = mx.sym.Flatten(data=data)
fc1 = mx.sym.FullyConnected(data=data,
name='fc1', num_hidden=256)
act1 = mx.sym.Activation(data=fc1,
name='relu1', act_type="relu")
fc2 = mx.sym.FullyConnected(data=act1,
name='fc2', num_hidden = 128)
act2 = mx.sym.Activation(data=fc2,
name='relu2', act_type="relu")
fc3 = mx.sym.FullyConnected(data=act2,
name='fc3', num_hidden=2)
mlp = mx.sym.SoftmaxOutput(data=fc3,
name='softmax')
추론 시간 : 0.16초 (Hybridized 보다 약 30% 빠름)
- 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
유연한 데이터 로딩 및 변환
• NDArray, numpy 배열, RecordIO 파일 및 이미지 폴더에 저장된
데이터를 로딩할 수 있음
• 유명한 데이터셋을 다운로드하는 모듈
• 데이터 로딩시 변환할 수 있는 transform 함수
def transform(data, label):
return data.astype(np.float32)/255, label.astype(np.float32)
train_data = mx.gluon.data.DataLoader(
mx.gluon.data.vision.MNIST(
train=True,
transform=transform))
- 39. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
다양한 Neural Network Layer
기본 레이어
Convolutional 레이어
Recurrent 레이어
Neural Network Cell
- 40. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Loss 함수
- 41. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
실험 API
- 42. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Model Zoo
• 미리 정의된 Neural Network 모델을 모듈로 제공
• 지원하는 모델 아키텍처들
• AlexNet, DenseNet, Inception V3, ResNet V1, ResNet V2, SqueezeNet, VGG,
MobileNet
from mxnet.gluon.model_zoo import vision
resnet18 = vision.resnet18_v1()
alexnet = vision.alexnet()
squeezenet = vision.squeezenet1_0()
densenet = vision.densenet_161()
from mxnet.gluon.model_zoo import vision
resnet18 = vision.resnet18_v1(pretrained=True)
alexnet = vision.alexnet(pretrained=True)
Neural Network 아키텍처만 이용하기 학습된 모델 이용하기
- 43. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
기타 장점들
• 입력 레이어의 Shape 자동 처리
• 네트워크 레이어와 파라메터를 직관적으로 접근하는 것이 가능
• Imperative-Style 실행 및 디버깅
• 커스텀 레이어 정의
• 문서, 튜터리얼, 예제 코드
- 44. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Symbolic MXNet으로 정의한 CNN
data = mx.symbol.Variable('data')
# first conv layer
conv1 = mx.sym.Convolution(data=data, kernel=(5,5), num_filter=20)
tanh1 = mx.sym.Activation(data=conv1, act_type=”relu")
pool1 = mx.sym.Pooling(data=tanh1, pool_type="max", kernel=(2,2), stride=(2,2))
# second conv layer
conv2 = mx.sym.Convolution(data=pool1, kernel=(5,5), num_filter=50)
tanh2 = mx.sym.Activation(data=conv2, act_type=”relu")
pool2 = mx.sym.Pooling(data=tanh2, pool_type="max", kernel=(2,2), stride=(2,2))
# first full connected layer
flatten = mx.sym.Flatten(data=pool2)
fc1 = mx.symbol.FullyConnected(data=flatten, num_hidden=500)
tanh3 = mx.sym.Activation(data=fc1, act_type=”relu")
# second full connected layer
fc2 = mx.sym.FullyConnected(data=tanh3, num_hidden=10)
# softmax loss
lenet = mx.sym.SoftmaxOutput(data=fc2, name='softmax')
- 45. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Gluon으로 정의한 CNN
net = gluon.nn.Sequential()
with net.name_scope():
net.add(gluon.nn.Conv2D(channels=20, kernel_size=5, activation='relu'))
net.add(gluon.nn.MaxPool2D(pool_size=2, strides=2))
net.add(gluon.nn.Conv2D(channels=50, kernel_size=5, activation='relu'))
net.add(gluon.nn.MaxPool2D(pool_size=2, strides=2))
net.add(gluon.nn.Flatten())
net.add(gluon.nn.Dense(512, activation="relu"))
net.add(gluon.nn.Dense(10))
- 46. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Gluon을 이용한 LSTM 네트워크
def build_model(self, rnn_type='lstm', rnn_size=128, n_layer=1, n_out=1):
self.rnn_size = rnn_size
self.n_layer = n_layer
self.net = mx.gluon.rnn.LSTM(rnn_size, n_layer, 'NTC’)
self.output = mx.gluon.nn.Dense(n_out)
- 47. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
DEMO
Apache MXNet + Amazon SageMaker
- 48. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Time Series Forecasting
https://github.com/sunilmallya/timeseries
학습 데이터 딥러닝 모델을 이용한 예측 결과
- 49. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Customer Stories
with Apache MXNet
- 50. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
더 좋고 빠른 결과를 위한 AI 모델 최적화
• SigOpt는 최적화 플렛폼에 딥러닝을
사용해서 머신러닝 모델을 구성하고
성능을 향상시키는 서비스를 고객에게
제공하고 있음
• Apache MXNet와 다른
Framework들을 Amazon EC2 P2 및
SigOpt HPO를 이용해서 정확도를
높이고 비용을 낮추고 있음
• 다른 전통적인 최적화 방법보다 8배
이상 연산 비용을 줄였음
- 51. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Autonomous Driving
- 52. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
타켓 광고를 위해서 딥러닝을 적용
• GumGum는 딥러닝을 사용해서 광고주가
효과적이고 타케팅된 캠페인을 실행하기 위한
실행 가능한 통찰력을 주기 위해 딥러닝을
적용하고 있음
• Mantii라는 실시간 소셜 미디어 청취툴은 딥러닝을
기반으로 만들었고, 매일 18억 소셜 이미지를
분석할 수 있음
• AWS에서 Apache MXNet과 Amazon EC2 P2
인스턴스를 이용한 결과, 모델 학습 시간을
21시간에서 6시간으로 단축했음
- 53. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Dive Deep
Learn and
Be
Curious
Bias For Action ?
Speed matters in business. Many decisions and
actions are reversible and do not need extensive
study. We value calculated risk taking.
- 54. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Apache MXNet, Gluon
어디서부터 시작할까요?
- 55. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Apache MXNet http://mxnet.io
- 56. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Deep Learning Online Book
http://gluon.mxnet.io
Deep Learning Fundamentals
Applications
Advanced Topics
- 57. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Apache MXNet Cheat Sheet http://bit.ly/2xTIwuj
- 58. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Deep Learning AMI (Amazon Machine Image)
• Amazon EC2 (CPU, GPU)에 최적화된 딥러닝 환경 제공
• 딥러닝에 필요한 드라이버, 라이브러리, 툴이 설치되어 있음
• 최신 딥러닝 라이브러리 (TensorFlow 1.7, Apache MXNet 1.1, CNTK 2.5)
- 59. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
참고 자료들이 더 있습니다.
MXNet FAQ: https://mxnet.incubator.apache.org/faq/
A 60-min crash course on Gluon: https://github.com/mli/gluon-crash-course
모두를 위한 MXNet - 김성훈 교수, Xingjian Shi(홍콩과기대):
https://www.youtube.com/watch?v=q6gx9yk0nQo
Apache MXNet으로 배워보는 딥러닝(Deep Learning): https://www.slideshare.net/awskorea/apache-
mxnet-deep-learning-aws
Deep Learning Twitch Series: https://github.com/sunilmallya/dl-twitch-series
Discussion Forum: https://discuss.mxnet.io/
Apache MXNet Korea User Group: https://www.facebook.com/groups/mxnetkr/
- 60. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Summit 모바일 앱과 QR코드를
통해 강연 평가 및 설문 조사에 참여해
주시기 바랍니다.
내년 Summit을 만들 여러분의 소중한
의견 부탁 드립니다.
#AWSSummit 해시태그로 소셜 미디어에 여러분의 행사
소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로
공유될 예정입니다.
여러분의 피드백을 기다립니다!