This training camp teaches you how FIWARE technologies and iSHARE, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the development of innovative services based on data sharing and creating value out of the data they share. SMEs and Digital Innovation Hubs (DIHs) will be equipped with the necessary know-how to use the i4Trust framework for creating data spaces!
Connecting the Drops with Apache NiFi & Apache MiNiFiDataWorks Summit
Demand for increased capture of information to drive analytic insights into an organizations' assets and infrastructure is growing at unprecedented rates. However, as data volume growth soars, the ability to provide seamless ingestion pipelines becomes operationally complex as the magnitude of data sources and types expands.
This talk will focus on the efforts of the Apache NiFi community including subproject, MiNiFi; an agent based architecture and its relation to the core Apache NiFi project. MiNiFi is focused on providing a platform that meets and adapts to where data is born while providing the core tenets of NiFi in provenance, security, and command and control. These capabilities provide versatile avenues for the bi-directional exchange of information across data and control planes while dealing with the constraints of operation at opposite ends of the scale spectrum tackling the first and last miles of dataflow management.
We will highlight ongoing and new efforts in the community to provide greater flexibility with deployment and configuration management of flows. Versioned flows provide greater operational flexibility and serve as a powerful foundation to orchestrate the collection and transmission from the point of data's inception through to its transmission to consumers and processing systems.
A Microservices Framework for Real-Time Model Scoring Using Structured Stream...Databricks
Open-source technologies allow developers to build microservices framework to build myriad real-time applications. One such application is building the real-time model scoring. In this session,
we will showcase how to architect a microservice framework, in particular how to use it to build a low-latency, real-time model scoring system. At the core of the architecture lies Apache Spark’s Structured
Streaming capability to deliver low-latency predictions coupled with Docker and Flask as additional open source tools for model service. In this session, you will walk away with:
* Knowledge of enterprise-grade model as a service
* Streaming architecture design principles enabling real-time machine learning
* Key concepts and building blocks for real-time model scoring
* Real-time and production use cases across industries, such as IIOT, predictive maintenance, fraud detection, sepsis etc.
Chatbot is a computer program which conducts a conversation via auditory or textual interaction.
This talk provides an overview of technologies used for chatbots. We will take an in-depth look at building blocks such as information access through natural language processing, Data driven approach, Single/Multi turn dialogues, Sentence representation & intent detection, use of deep learning methods.
Finally, we will distill core-concepts from these to describe a general purpose scalable chatbot platform.
This training camp teaches you how FIWARE technologies and iSHARE, brought together under the umbrella of the i4Trust initiative, can be combined to provide the means for creation of data spaces in which multiple organizations can exchange digital twin data in a trusted and efficient manner, collaborating in the development of innovative services based on data sharing and creating value out of the data they share. SMEs and Digital Innovation Hubs (DIHs) will be equipped with the necessary know-how to use the i4Trust framework for creating data spaces!
Connecting the Drops with Apache NiFi & Apache MiNiFiDataWorks Summit
Demand for increased capture of information to drive analytic insights into an organizations' assets and infrastructure is growing at unprecedented rates. However, as data volume growth soars, the ability to provide seamless ingestion pipelines becomes operationally complex as the magnitude of data sources and types expands.
This talk will focus on the efforts of the Apache NiFi community including subproject, MiNiFi; an agent based architecture and its relation to the core Apache NiFi project. MiNiFi is focused on providing a platform that meets and adapts to where data is born while providing the core tenets of NiFi in provenance, security, and command and control. These capabilities provide versatile avenues for the bi-directional exchange of information across data and control planes while dealing with the constraints of operation at opposite ends of the scale spectrum tackling the first and last miles of dataflow management.
We will highlight ongoing and new efforts in the community to provide greater flexibility with deployment and configuration management of flows. Versioned flows provide greater operational flexibility and serve as a powerful foundation to orchestrate the collection and transmission from the point of data's inception through to its transmission to consumers and processing systems.
A Microservices Framework for Real-Time Model Scoring Using Structured Stream...Databricks
Open-source technologies allow developers to build microservices framework to build myriad real-time applications. One such application is building the real-time model scoring. In this session,
we will showcase how to architect a microservice framework, in particular how to use it to build a low-latency, real-time model scoring system. At the core of the architecture lies Apache Spark’s Structured
Streaming capability to deliver low-latency predictions coupled with Docker and Flask as additional open source tools for model service. In this session, you will walk away with:
* Knowledge of enterprise-grade model as a service
* Streaming architecture design principles enabling real-time machine learning
* Key concepts and building blocks for real-time model scoring
* Real-time and production use cases across industries, such as IIOT, predictive maintenance, fraud detection, sepsis etc.
Chatbot is a computer program which conducts a conversation via auditory or textual interaction.
This talk provides an overview of technologies used for chatbots. We will take an in-depth look at building blocks such as information access through natural language processing, Data driven approach, Single/Multi turn dialogues, Sentence representation & intent detection, use of deep learning methods.
Finally, we will distill core-concepts from these to describe a general purpose scalable chatbot platform.
Marlabs Capabilities: Healthcare and Life SciencesMarlabs
Marlabs can enhance the clinical and administrative systems of customers to deliver more connected and integrated healthcare solutions. Our healthcare solutions help customers meet the demands of a new economic and regulatory paradigm. Marlabs partners with life sciences organizations on advanced technology engagements as well as on strategic sourcing. Our experience in the new digital technologies like Social, Mobile, Analytics and Cloud help us tailor innovative solutions for our clients.
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web ApplicationsTodd Hoff
This is the slidedeck I used for a webinar (http://voltdb.com/choosing-sql-nosql-or-both-scalable-web-apps-webinar) I gave on helping people choose SQL or NoSQL for building scalabile web applications. Hint, the answer is: both.
Cloud-Native Architecture
MSA(Micro Service Architecture)
MDA(Micro Data Architecture)
MIA(MIcro Inference Architecture)
MSA-Service Mesh
MDA-Data Mesh
MIA-AI Inference Mesh
Kubernetes
Container
Kubeflow
Volcano
Apache Ynikorn
ChatGPT
AGI(Artificial General Intelligence)
ASI(Artificial Specialized Intelligence)
초-전환시대
초-연결시대
SQream GPU DBMS
Cloud와 Cloud Native의 목표는.. 왜? 어떻게? 뭐가 좋아지나...
1. (왜) 가속화된 초-전환, 초-연결 IT 환경변화에 대비하기 위해서
2. (어떻게-H/W) IT H/W 부분은 IaaS 서비스화하여
점유된, Over Subscription된 H/W(Server, Network, Storage)들 모아서 Pool화하고, 가상화기술을 통해 Tenant로 자원들을 분리해 서비스화해 제공하고
필요시 적시에 Pool의 가상H/W를 제공하고, 상황에 따라 확장・축소(Scale in/out, up/down)하면서, 축소된 자원을 다른 요청들을 위해 빠르게 재-할당하는 유연성을 제공하고
3. (어떻게-S/W) S/W 부문도
PaaS, SaaS 적극 활용으로 App.개발 시간을 단축하고
App.분야인 기존 MACRO Service Architecture형 Monolith Architecture(Web-WAS-DB)를 작게 쪼개서 변화에 빠르게 적응할 수 있는 MSA(Micro Service Architecture)로 변경하여 Service Mesh형으로 관리하고
Data분야도 Data Warehouse, DataLake(Bigdata), LakeHouse등 기존 MACRO Data Architecture를 MSA형식으로 MDA(Micro Data Architecture)로 전환 후 Data Mesh형태로 관리하고,
AI로 동적프로그램 생성하여 App.개발시간 단축하고, AI분야도 초-거대 AI구현(MACRO)보다는 작은|특화된 Deep Learning Network(Model)들로 작게 쪼개서 MIA(Micro Inference Architecture)로 비지니스 환경에 적용하고 Inference Mesh형태로 관리하는 시스템으로 전환하고
4. (어떻게-조직) 조직구조도 CI/CD형 DevOps환경, 데이타,트랜잭션중심업무중심, 기술중심 문제해결중심, 직능중심조직직무중심조직으로 전환하면
5. (좋아지는 것) 초-전환, 초-연결 환경에 빠르고, 지속적으로 적응할 수 IT as a Product 환경을 구현하는 것
James Burkhart explains how Uber supports millions of analytical queries daily across real-time data with Apollo. James covers the architectural decisions and lessons learned building an exactly-once ingest pipeline storing raw events across in-memory row storage and on-disk columnar storage and a custom metalanguage and query layer leveraging partial OLAP result set caching and query canonicalization. Putting all the pieces together provides thousands of Uber employees with subsecond p95 latency analytical queries spanning hundreds of millions of recent events.
Integrating Relational Databases with the Semantic Web: A ReflectionJuan Sequeda
This is a lecture given at the 2017 Reasoning Web Summer School
It has been clear from the beginning that the success of the Semantic Web hinges on integrating the vast amount of data stored in Relational Databases. In 2007, the W3C organized a workshop on RDF Access to Relational Databases. In 2012, two standards were ratified that map relational data to RDF: Direct Mapping and R2RML.
In this lecture, I will reflect on the last 10 years of research results and systems to integrate Relational Databases with the Semantic web. I will provide an answer to the following question: how and to what extent can Relational Databases be integrated with the Semantic Web? I will review how these standards and systems are being used in practice for data integration and discuss open challenges.
성공적인 디지털 트랜스포메이션을 위해서는 클라우드 전환이 필수적인데요, 많은 기업에서 막상 클라우드를 도입할 때 여러가지 장벽에 맞닥뜨리게 됩니다.
클라우드 마이그레이션에 관한 여러분의 고민을 시원하게 해결해주기 위해 Global Public Cloud의 독보적인 선두 AWS(Amazone Web Services)와 클라우드 마이그레이션 전문기업 오픈소스컨설팅이 만났습니다!
많은 기업들이 마이그레이션 수행할 때 가장 많이 하는 질문 Top 10에 대한 기술 전문가의 노하우가 담긴 답변을 공유합니다.
<1탄>왜 마이크로 서비스인가 - 마이크로서비스로 구성된 애플리케이션 소개
Session abstract:
이번 세션에서는 무엇이 마이크로 서비스고, 어떤 철학과 사상을 가지고 있는지 알아봅니다. 세션이 종료되면 참석하신 분들은 마이크로 서비스의 구성에서 어떤 내용이 중요한지 알게 됩니다. 전체 시리즈로 진행되는 첫 세션 입니다.
Session agenda:
-실 서비스용 데이터베이스를 종료한다면 어떤 일이 벌어질까
-마이크로서비스와 마이크로서비스가 아닌것
-어떻게 시작해야 하나
-마이크로서비스 애플리케이션 소개
-클라우드 네이티브(클라우드 최적화란)
Marlabs Capabilities: Healthcare and Life SciencesMarlabs
Marlabs can enhance the clinical and administrative systems of customers to deliver more connected and integrated healthcare solutions. Our healthcare solutions help customers meet the demands of a new economic and regulatory paradigm. Marlabs partners with life sciences organizations on advanced technology engagements as well as on strategic sourcing. Our experience in the new digital technologies like Social, Mobile, Analytics and Cloud help us tailor innovative solutions for our clients.
What Should I Do? Choosing SQL, NoSQL or Both for Scalable Web ApplicationsTodd Hoff
This is the slidedeck I used for a webinar (http://voltdb.com/choosing-sql-nosql-or-both-scalable-web-apps-webinar) I gave on helping people choose SQL or NoSQL for building scalabile web applications. Hint, the answer is: both.
Cloud-Native Architecture
MSA(Micro Service Architecture)
MDA(Micro Data Architecture)
MIA(MIcro Inference Architecture)
MSA-Service Mesh
MDA-Data Mesh
MIA-AI Inference Mesh
Kubernetes
Container
Kubeflow
Volcano
Apache Ynikorn
ChatGPT
AGI(Artificial General Intelligence)
ASI(Artificial Specialized Intelligence)
초-전환시대
초-연결시대
SQream GPU DBMS
Cloud와 Cloud Native의 목표는.. 왜? 어떻게? 뭐가 좋아지나...
1. (왜) 가속화된 초-전환, 초-연결 IT 환경변화에 대비하기 위해서
2. (어떻게-H/W) IT H/W 부분은 IaaS 서비스화하여
점유된, Over Subscription된 H/W(Server, Network, Storage)들 모아서 Pool화하고, 가상화기술을 통해 Tenant로 자원들을 분리해 서비스화해 제공하고
필요시 적시에 Pool의 가상H/W를 제공하고, 상황에 따라 확장・축소(Scale in/out, up/down)하면서, 축소된 자원을 다른 요청들을 위해 빠르게 재-할당하는 유연성을 제공하고
3. (어떻게-S/W) S/W 부문도
PaaS, SaaS 적극 활용으로 App.개발 시간을 단축하고
App.분야인 기존 MACRO Service Architecture형 Monolith Architecture(Web-WAS-DB)를 작게 쪼개서 변화에 빠르게 적응할 수 있는 MSA(Micro Service Architecture)로 변경하여 Service Mesh형으로 관리하고
Data분야도 Data Warehouse, DataLake(Bigdata), LakeHouse등 기존 MACRO Data Architecture를 MSA형식으로 MDA(Micro Data Architecture)로 전환 후 Data Mesh형태로 관리하고,
AI로 동적프로그램 생성하여 App.개발시간 단축하고, AI분야도 초-거대 AI구현(MACRO)보다는 작은|특화된 Deep Learning Network(Model)들로 작게 쪼개서 MIA(Micro Inference Architecture)로 비지니스 환경에 적용하고 Inference Mesh형태로 관리하는 시스템으로 전환하고
4. (어떻게-조직) 조직구조도 CI/CD형 DevOps환경, 데이타,트랜잭션중심업무중심, 기술중심 문제해결중심, 직능중심조직직무중심조직으로 전환하면
5. (좋아지는 것) 초-전환, 초-연결 환경에 빠르고, 지속적으로 적응할 수 IT as a Product 환경을 구현하는 것
James Burkhart explains how Uber supports millions of analytical queries daily across real-time data with Apollo. James covers the architectural decisions and lessons learned building an exactly-once ingest pipeline storing raw events across in-memory row storage and on-disk columnar storage and a custom metalanguage and query layer leveraging partial OLAP result set caching and query canonicalization. Putting all the pieces together provides thousands of Uber employees with subsecond p95 latency analytical queries spanning hundreds of millions of recent events.
Integrating Relational Databases with the Semantic Web: A ReflectionJuan Sequeda
This is a lecture given at the 2017 Reasoning Web Summer School
It has been clear from the beginning that the success of the Semantic Web hinges on integrating the vast amount of data stored in Relational Databases. In 2007, the W3C organized a workshop on RDF Access to Relational Databases. In 2012, two standards were ratified that map relational data to RDF: Direct Mapping and R2RML.
In this lecture, I will reflect on the last 10 years of research results and systems to integrate Relational Databases with the Semantic web. I will provide an answer to the following question: how and to what extent can Relational Databases be integrated with the Semantic Web? I will review how these standards and systems are being used in practice for data integration and discuss open challenges.
성공적인 디지털 트랜스포메이션을 위해서는 클라우드 전환이 필수적인데요, 많은 기업에서 막상 클라우드를 도입할 때 여러가지 장벽에 맞닥뜨리게 됩니다.
클라우드 마이그레이션에 관한 여러분의 고민을 시원하게 해결해주기 위해 Global Public Cloud의 독보적인 선두 AWS(Amazone Web Services)와 클라우드 마이그레이션 전문기업 오픈소스컨설팅이 만났습니다!
많은 기업들이 마이그레이션 수행할 때 가장 많이 하는 질문 Top 10에 대한 기술 전문가의 노하우가 담긴 답변을 공유합니다.
<1탄>왜 마이크로 서비스인가 - 마이크로서비스로 구성된 애플리케이션 소개
Session abstract:
이번 세션에서는 무엇이 마이크로 서비스고, 어떤 철학과 사상을 가지고 있는지 알아봅니다. 세션이 종료되면 참석하신 분들은 마이크로 서비스의 구성에서 어떤 내용이 중요한지 알게 됩니다. 전체 시리즈로 진행되는 첫 세션 입니다.
Session agenda:
-실 서비스용 데이터베이스를 종료한다면 어떤 일이 벌어질까
-마이크로서비스와 마이크로서비스가 아닌것
-어떻게 시작해야 하나
-마이크로서비스 애플리케이션 소개
-클라우드 네이티브(클라우드 최적화란)
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
모두의연구소에서 발표했던 “Neural Architecture Search with Reinforcement Learning”이라는 논문발표 자료를 공유합니다. 머신러닝 개발 업무중 일부를 자동화하는 구글의 AutoML이 뭘하려는지 이 논문을 통해 잘 보여줍니다.
이 논문에서는 딥러닝 구조를 만드는 딥러닝 구조에 대해서 설명합니다. 800개의 GPU를 혹은 400개의 CPU를 썼고 State of Art 혹은 State of Art 바로 아래이지만 더 빠르고 더 작은 네트워크를 이것을 통해 만들었습니다. 이제 Feature Engineering에서 Neural Network Engineering으로 페러다임이 변했는데 이것의 첫 시도 한 논문입니다.
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSAVMware Tanzu Korea
최근 IT 시장은 ‘클라우드 네이티브’ 라는 컨셉을 적극적으로 받아들이면서 혁신의 속도를 높이기 위해 여러가지 노력을 기울이고 있습니다. 본 세션에서는 ‘클라우드 네이티브’ 를 이루는 4가지 요소인 DevOps, CICD, Container, MSA 를 간략하게 살펴보고 MSA 가 나머지 클라우드 네이티브 3 요소와 어떻게 상호작용하여 고객 여러분의 비즈니스에 도움이 되는지 알아봅니다. 그리고 MSA 로 이행하기 위한 조직면에서의 요건과 기술 면에서의 요건을 살펴봅니다.
비행기 설계를 왜 통일 해야 할까?
디자인 시스템을 하는 이유
비행기들이 다 용도가 다르다...어떻게 설계하지?
맥락이 다른 페이지와 패턴
경유지까지 아직 멀었다... 언제 수리하지?
디자인 시스템을 적용하는 시점
엔지니어랑 얘기해서 정비해야하는데...어떻게 수리하지?
디자인 시스템을 적용하는 프로세스
비행기 설계가 바뀐걸 어떻게 알리지?
디자인 시스템의 전파
25. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
간단한 맛보기
26. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
27. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
28. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
학습 메모리는 꽉꽉 채워서 메모리는 남아 돈다
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
29. 보통의 딥러닝(CNN) 모바일 딥러닝(CNN)
테스트 GPU(Nvidia) 주로 CPU
테스트 Multi-crop/Ensemble One-pass Inference
학습 메모리는 꽉꽉 채워서 메모리는 남아 돈다
설계
최대한 딥하게
레이어를 쌓는다
최대한 효율적으로
레이어를 쌓는다
간단한 맛보기
테스트
메모리, 속도보단
정확도가 더 중요
메모리, 속도를 못맞추면
아예 배포를 못함
테스트 라이브러리 완전 신경 안씀 라이브러리 사이즈 중요함
31. 모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
32. 모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
2 Major OS
(iOS/Android)
33. 모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
2 Major OS
(iOS/Android)
Two Major compute APIs
(OpenCL/RenderScript)
34. 모바일 세상의 파편화
15+ GPU Architectures
(PowerVR, Adreno, Mali, ...)
2 Major OS
(iOS/Android)
Two Major compute APIs
(OpenCL/RenderScript)
Three Major Graphics APIs
(OpenGL/Vulkan/Metal)
35. 막상 해보면...
논문에서 잘된다고 주장한 네트워크를
직접 해보면 원하는 성능이 나오지 않습니다
NasNet-A, MobileNet
같은 학습 방법
36. 막상 해보면...
유저들은 우리의 상상을 초월합니다
괴상한 모바일 폰(vivo), 기기별로 천차만별, 같은 기기에서도 유저별로 천차만별
37. 막상 해보면...
완벽한 데이터셋을 가지는건 항상 힘듭니다
Class Imbalance Problem, 좋은 평가지표, End-to-End 테스트 환경
38. 막상 해보면...
용량은 작고 속도는 빠르며 정확도는 높아야 합니다
그리고 배터리도 적게 쓰면 좋아요
iOS cellular download limit 150MB(2017.09.17)
43. SqueezeNet (2016. 02.)
image from https://stanford.edu/~songhan/
Kernel Reduction
Channel Reduction
1. 3x3 필터를 1x1필터로 대체합니다
2. 1x1 필터로 채널 수를 줄입니다
44. SqueezeNet (2016. 02.)
•첫 레이어에서 7x7이 아닌 3x3을 사용
•Pooling을 1,4,8 에서 {1,3,5}로 early + evenly downsampling
SqueezeNet v1.1 을 사용하세요
ResNet도 v2 가 더 좋습니다. 항상 v1.X, V2를 확인하세요.
image from https://github.com/DeepScale/SqueezeNet/tree/master/SqueezeNet_v1.1
51. 1. Fully-Connected 레이어를 Global Average Pooling으로 대체
•VGG 이후 Network in Network, Inception부터 주로 사용한 방법
•모바일 딥러닝에 국한된 이야기는 아님
•Fully Convolutional 함
Figure from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
52. 2. 모든 블록에서 비슷한 연산량 유지 & 단일(Homogeneous) 구조
•Forward Propagation 중 정보 손실 방지
•MobileNet의 depth_multiplier 같은 파라미터가 있어야 상황에 맞는 구조 변형에 용이
이미지가 2배로 줄어들면
채널을 2배로 늘린다
MobileNet
SqueezeNet
Depth Multiplier
Image from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
Squeeze Ratio
3x3 Ratio
ResNeXt Cardinality
53. 3. Residual Learning은 중요합니다
•BN-CONV-RELU 구조는 보통 좋은 성능을 보장합니다
•Skip-connection은 보통 좋은 성능을 보장합니다
•1x1을 활용한 버틀넥 구조는 보통 좋은 성능을 보장합니다
Image from http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf
54. 4. Channel Reduction & Kernel Reduction
•한 레이어에서 3x3필터의 절반을 1x1로 바꿔도 성능이 떨어지지 않을 수 있습니다
•1x1을 사용해서 인풋 채널을 줄이면 파라미터 양을 줄일 수 있습니다
Image from https://www.slideshare.net/ForrestIandola/small-deepneuralnetworks-their-advantages-and-theirdesign
55. 5. 주의 깊은 Downsampling
•Convolution Transpose 가 들어가는 ENet에선 초반에 Early Downsampling을 권합니다
•Kernel과 channel을 줄인 SqueezeNet(v1)에선 Late Downsampling을 사용합니다
Image from https://www.slideshare.net/ForrestIandola/small-deepneuralnetworks-their-advantages-and-theirdesign
56. 6. Compact한 구조를 사용합니다
•Factorize된 필터를 사용하면 공간을 절약합니다: (1x3 + 3x1) / (3x3) = 66%:
•ResNext, MobileNet 모두 Compact 한 구조를 사용했습니다: Dw = GConv
Image from https://arxiv.org/pdf/1512.00567.pdf
59. 1. Transfer Learning & Knowledge Distillation
•데이터가 많지 않다면 반드시 효과가 있습니다
Figure from https://www.slideshare.net/insideHPC/a-vision-for-exascale-simulation-and-deep-learning
60. 2. 적절한 로스 함수 선택
•이미지 Segmentation 문제에서 Cross-Entropy가 과연 최선의 선택일까요?
Figure from https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/, http://xiaoyongshen.me/webpage_portrait/index.html
픽셀 단위 Softmax
61. 3. 적절한 입력 이미지 사이즈 설정
•CNN은 생각보다 인풋 사이즈에 민감(Sensitive)하지 않습니다
•작은 이미지를 사용한 경우 학습에 오래 걸릴 수 있지만 최종 성능은 큰 차이가 없을 수 있습니다
Figure2 is from https://arxiv.org/pdf/1512.00567.pdf
26%↑ 1.5%↓
49%↑ 3.4%↓
67%↑ 5.8%↓
→ Rethinking the Inception Architecture for Computer Vision
어떤 선택을 하시겠습니까?
62. 4. 그 외 일반적인 문제 해결: LR 스케쥴링 / Class Imbalance
•Learning rate를 잘 스케쥴링해주면 쉽게 2~3% 성능 개선이 가능합니다
•현실의 흔한 문제인 Class Imbalance 또한 잘 해결하는것 또한 중요합니다
Figure from https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/
이게 learning rate decay 인거 다들 알고 계시죠?
64. 이미지넷 벤치마크 성능은
쉽게 일반화되지 않는다1.
- 실제 실험 결과, SqueezeNet > MobileNet > NasNet
- 고민없이 선택한 MobileNet이 최선이 아닐 수 있다
모바일 CNN 논문 뿐만 아니라
CNN 전체 논문을 팔로업 해야한다2.
- MobileNet, SqueezeNet 보다 ResNet 의 구조가 더 큰 도움이 될 수도 있다
- Inception, ResNet, DenseNet 등 유명 네트워크의 경험과 관찰로부터 배우자
기본에 충실하면 매우 작은 크기의 모델로
놀라운 성능을 만들어낼 수 있다3.
- 데이터의 양과 질(Distillation, class Imbalance)에 부족함은 없는가?
- 문제에 적합한 로스함수를 사용하고 있는가?
- 현재 최적화 방법이 가장 최선인가?
- 이미 여러 Teacher-Student 논문에서 놀라운 결과가 발표됨
65. 용량을 적게 쓰고 속도가 빠르면서
예측 정확도가 높은 모델 만들기1.
딥러닝 모델을 효율적으로 구현하고
안정적으로 운영하기2.
67. 메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
CNKT, Torch 는 생략
68. 메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
2017.04
CNKT, Torch 는 생략
69. 메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
2017.04 2017.06
CNKT, Torch 는 생략
70. 메이저 딥러닝 프레임워크 타임라인
하이퍼커넥트 모바일
프로젝트 시작
2017.01
2017.04 2017.06 2017.11
CNKT, Torch 는 생략
71. Wait Calculation
기술 발전 속도가 빠르기 때문에 지금 로켓 만들기를 시작하는 것보다
N년 뒤에 만들면 오히려 안드로메다에 더 빨리 도착할 수 있다
N은 얼마인가?
72. 특징
•과거엔 거의 유일하고 손쉬운 선택지였음
•Quantization의 경우 별도의 최적화가 없어 오히려 2~3배 느림
•모델의 성능을 애플에게 맡겨야함 (GPU 강제 선택 안됨)
•Quantization 을 하면 빠르지만 안하면 느림
•아직 모든 op을 지원하지 않음 (e.g. conv_transpose)
•NN API를 제공하는 하드웨어에 대해 GPU 서포트
•모바일 First
•NNPack 등 모바일 구현을 위한 라이브러리 적절히 활용
•문서가 사실상 없음
•제대로 컴파일(NNPack, OpenBlas)을 해야 빠르나 문서가 없음
73. 딥러닝 프레임워크 모바일 속도 벤치마크
https://www.linkedin.com/pulse/how-run-deep-neural-networks-weak-hardware-dmytro-prylipko/
caffe-openblas : Caffe with the master branch of
OpenBLAS as the backend
caffe-openblas-dl: Caffe with
optimized_for_deeplearning branch of OpenBLAS
tf-vanilla: TensorFlow compiled with OPTFLAGS="-Os"
tf-neon-vfpv4:
TensorFlow compiled with OPTFLAGS="-Os -
mfpu=neon-vfpv4 -funsafe-math-optimizations -
ftree-vectorize"
mxnet-openblas: Vanilla MXNet with OpenBLAS for
linear algebra
mxnet-openblas-dl: MXNet with with
optimized_for_deeplearning branch of OpenBLAS
75. 학습에 사용한 프레임워크에서 얻어진 파라미터를
쉽게 모바일 용으로 컨버팅 가능해야한다
•Batch Normalization 에서 Epsilon이 분모에 더하는 등의 차이
•Convolution의 다양한 옵션 구현(dilate)
•NCHW - NHWC
•HWOI - IOHW
•실제로 돌려봐야 성능과 속도를 알 수 있습니다
1.
모바일 환경(Arm NEON)에
최적화된 구현이 있어야 한다
•Quantization을 한다면 SIMD instruction을 활용해야 의미가 있다
2.
매우 빠르게 변화하는 딥러닝 세계에
같이 대응할 커뮤니티가 존재해야한다
•Batch Normalization, Batch Renormalization, (...)
•새로운 네트워크 구조를 만들었으면 모바일로 옮겨서 빠르게 실험해봐야합니다 (End-to-End)
3.
78. 1. Parameter Pruning & Sharing
요약
1. 수렴할 때까지 학습한다
2. 노드를 지우고 다시 학습(fine-tune)한 후
Accuracy를 관찰한 후 손해가 막심한지 살펴본
다
3. 2를 목표로하는 speed/accuracy에 도달할 때
까지 반복
별로 추천하지 않습니다
중복된 값이 많으면 "압축된 파라미터"의 사이즈가 작아질 수는 있습니다.
네트워크를 통해 파라미터를 다운받는 경우에는 유용할 수 있습니다.
단점
1. 학습 파이프라인이 너무 길어진다
2. 별도의 하드웨어/구현을 하지 않는 이상 속도 개
선은 없다
3. 이 방법을 많은 사람들이 쓰지 않고 있다
79. Figure from https://arxiv.org/pdf/1711.02638.pdf
•Tucker Decomposition, CP Decomposition
•Pruning과 마찬가지로 학습 파이프라인이 너무 길어진다
•적용 범위가 제한적이다 (특히 convolution 연산)
•최근엔 Compression-Aware한 학습 방법이 제안되고 있음
2. Low Rank Approximation / Decomposition
Loss function from
Compression-aware Training of Deep Networks (NIPS2017)
파라미터가 Low Rank를 가지도록 만드는 레귤라이져
80. 3. Quantization (8-bit)
•Integer-arithmetic 만 사용하는 연산(Arm NEON 최적화)을 구현해야 빠릅니다
•Weight와 Activation 모두 Quantization 해야합니다
•별도의 학습이 없을 경우 네트워크가 작을수록 예측 정확도가 심각하게 떨어집니다
•Forward Propagation은 8-bit로 Backward Propagation은 32-bit float으로 합니다
Figure from https://arxiv.org/abs/1712.05877
81. Figure from https://arxiv.org/abs/1712.05877
•GPU에서 Quantization 관련 보조 노드(Fake Quant) 때문에 3~4배 더 느려집니다
•Tensorflow Mobile에서는 같은 이유로 2배 가량 더 느려집니다
•하지만, TensorFlowLite 로는 2배 이상 빠릅니다
3. Quantization (8-bit)
84. AlexNet, VGG 등 over-parameterized된
모델만 사용한 실험은 신뢰하면 안된다1.
- 실제 모바일에서 벤치마킹한 속도가 있어야한다
모델과 구현이 최대한
독립적이여야 한다2.
- 네트워크 구조를 바꾸는 것보단 8-bit를 사용하는게 훨씬 독립적이다
- 학습 파이프라인이 3단계 이상 늘어나면 현실적으로 힘들다
특별한 하드웨어를 요구하는
구현은 무의미하다3.
- Deep Compression 은 EIE(Efficient Inference Engine)란 하드웨어에서만 빠르다