2020년 데이터산업진흥원에서 발표한 자료를 일부 편집하여 공유함.
2020년 당시에 Data Platform에서 AI lifecycle를 효율적으로 지원하는 platform을 적극적으로 검토 및 설계하는 작업을 진행하였고, 이 때 검토 및 활용했던 기술들을 기업 관점에서 필요한 내용을 기준으로 정리하였다.
기업들은 전통적인 방식으로의 혁신에 한계를 체감하고 있으며, 최근 AI기반으로 성공적인 혁신(비즈니스 강화, 새로운 비즈니스로 전환 등)에 성공한 기업들을 빠르게 벤치마크 하고 있다.
이렇게 AI 기반으로 기업을 혁신하는 것은 고도화된 AI 모델의 도입으로 해결되지 않으며, 수많은 기술들의 최적화된 조합 및 활용이 필요하다.
이 자료에서는 그 중 AI모델에 핵심적인 데이터를 적시에, 고품질의 형태로, 빠르고 안정적으로 제공할 수 기술 트렌드를 소개한다.
전체 내용은
- AI기반 혁신이란?
- 혁신을 위해서는 어떤 점이 어려운가?
- 고품질 데이터 확보 기술
- 빠르게 AI 모델을 학습하는 기술
- 적시에 다양한 AI 모델을 비즈니스에 적용하는 기술
2020년 기준으로 작성된 자료라, 일부 기술 트렌드가 반영되지 않을 수 있으나 아직까지 많은 기업들이 고민하고 해결하고자 하는 영역이라 참고할 수 있을 것 같다.
이 내용을 기준으로 발표한 영상 링크 : https://www.youtube.com/watch?v=OVm4-uk59ZA
데이터를 둘러싼 정책과, 기업과 기술의 진화는 빠르게 변화하고 있으며, 모든 지향점은 기업들이 다양한 데이터를 활용하여 경쟁력을 확보하고 이를 통해 AI기반의 혁신을 하고자 하는데 있다.
이 과정에서 수 많은 기업의 업무 전무가, 데이터 사이언티스트 등이 다양한 기업의 혁신을 지원할 수 있는 AI 모델을 검증하는 과정을 거치게 됩니다.
하지만, 이렇게 수 많은 AI 모델이 실제 비즈니스에 적용되기 위해서는 인프라, 및 서비스 관점의 기술이 반드시 필요하게 됩니다.
MLOps는 기업에 필요한 혁신적인 아이디어(AI Model)을 적시에 비즈니스 환경에 적용할 수 있도록 지원하는 기술 및 트렌드 입니다.
주요 내용은
- 데이터를 둘러싼 환경의 변화
- 기업의 AI Model 적용시 마주하는 현실
- MLOps가 해결 가능한 문제들
- MLOps의 영역별 주요 기술들
- MLOps 도입 시 기업의 AI 환경은 어떻게 변할까?
- AI 모델을 비즈니스 환경에 적용(배포)한다는 것은?
2021년 12월 코리아 데이터 비즈니스 트렌드(데이터산업진흥원 주최)에서 발표한 내용을 공유 가능한 부분만 정리함.
발표 영상 참고 : https://www.youtube.com/watch?v=lL-QtEzJ3WY
데이터를 둘러싼 정책과, 기업과 기술의 진화는 빠르게 변화하고 있으며, 모든 지향점은 기업들이 다양한 데이터를 활용하여 경쟁력을 확보하고 이를 통해 AI기반의 혁신을 하고자 하는데 있다.
이 과정에서 수 많은 기업의 업무 전무가, 데이터 사이언티스트 등이 다양한 기업의 혁신을 지원할 수 있는 AI 모델을 검증하는 과정을 거치게 됩니다.
하지만, 이렇게 수 많은 AI 모델이 실제 비즈니스에 적용되기 위해서는 인프라, 및 서비스 관점의 기술이 반드시 필요하게 됩니다.
MLOps는 기업에 필요한 혁신적인 아이디어(AI Model)을 적시에 비즈니스 환경에 적용할 수 있도록 지원하는 기술 및 트렌드 입니다.
주요 내용은
- 데이터를 둘러싼 환경의 변화
- 기업의 AI Model 적용시 마주하는 현실
- MLOps가 해결 가능한 문제들
- MLOps의 영역별 주요 기술들
- MLOps 도입 시 기업의 AI 환경은 어떻게 변할까?
- AI 모델을 비즈니스 환경에 적용(배포)한다는 것은?
2021년 12월 코리아 데이터 비즈니스 트렌드(데이터산업진흥원 주최)에서 발표한 내용을 공유 가능한 부분만 정리함.
발표 영상 참고 : https://www.youtube.com/watch?v=lL-QtEzJ3WY
Backend.AI (https://backend.ai)는 클라우드 및 온-프레미스 환경에서 여러 사용자가 안전하고 효율적으로 컴퓨팅 자원을 공유할 수 있는 머신러닝에 특화된 인프라 관리 프레임워크입니다. 현재 널리 사용되고 있는 오픈소스 기술인 OpenStack, Kubernetes 등과 비교하여 어떤 특징과 차이점이 있는지 소개하고, 프레임워크의 구조와 기반 기술 및 응용 사례를 데모와 함께 소개합니다.
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
본 강연에서는 금융 감독원의 클라우드 이용 가이드라인에 맞추어 바로 도입 가능한 HPC, 빅데이터, 백업, VDI 등의 업무에 대하여 간단하게 소개하고 AWS 상에서 구축하기 위한 참조 아키텍쳐와 특장점 및 고객 사례에 대해 설명해 드릴 예정입니다.
연사: 정영준 솔루션 아키텍트, 아마존 웹서비스
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 환경을 구현하는 것
Cloud DW technology trends and considerations for enterprises to apply snowflakeSANG WON PARK
올해 처음 오프라인으로 진행된 "한국 데이터 엔니지어 모임"에서 발표한 cloud dw와 snowflake라는 주제로 발표한 내용을 정리하여 공유함. (2022.07)
[ 발표 주제 ]
Cloud DW 기술 트렌드와 Snowflake 적용
- Modern Data Stack에서 Cloud DW의 역할
- 기존 Data Lake + DW와 무엇이 다른가?
- Data Engineer 관점에서 어떻게 사용하면 좋을까? (기능/성능/비용 측면의 장점/단점)
[ 주요 내용 ]
- 최근 많은 Data Engineer가 기존 기술 스택(Hadoop, Spark, DW 등)의 기술적/운영적 한계를 극복하기 위한 고민중.
- 특히 Cloud의 장점과 운영 및 성능을 고려한 Cloud DW(AWS Redshift, GCP BigQuery, DataBricks, Snowflake)를 고려
- 이 중 Snowflake를 실제 프로젝트에 적용한 경험과 기술적인 특징/장점/단점을 공유하고자 함.
작년부터 정부의 데이터 정책 변화와 Cloud 기반의 기술 변화 가속화로 기업의 데이터 환경에도 많은 변화가 발생하고 있고, 기업들은 이에 적응하기 위한 다양한 시도를 하고 있다.
그 중심에 cloud dw (또는 Lake house)가 위치하고 있으며, 이를 기반으로 통합 데이터 플랫폼으로의 아키텍처로 변화하고 있다. 하지만, 아직까지 기존 DW 제품과 주요 CSP(AWS, GCP, Azure)의 제품군을 다양하게 시도하고 있으나, 기대와 다르게 생각보나 낮은 성능 또는 비싼 사용료, 운영의 복잡성으로 인한 많은 시행착오를 거치고 있다.
이 상황에서 작년에 처음 검토한 snowflake의 다양한 기능들이 기업들의 고민과 문제를 상당부분 손쉽게 해결할 수 있다는 것을 확인할 수 있었고, 이를 이용하여 실제 많은 기업들에게 적용하기 위한 POC를 수행하거나, 실제 적용하는 프로젝트를 수행하게 되었다.
본 발표 내용은 이러한 경험을 기반으로 기업(그리고 실제 업무를 수행할 Data Engineer) 관점에서 snowflake가 어떻게 문제를 해결할 수 있는지 cloud dw를 도입/활용/확장 하는 단계별로 문제와 해결 방안을 중심으로 설명하였다.
https://blog.naver.com/freepsw?Redirect=Update&logNo=222815591918
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
몇년 전부터 Data Architecture의 변화가 빠르게 진행되고 있고,
그 중 Cloud DW는 기존 Data Lake(Hadoop 기반)의 한계(성능, 비용, 운영 등)에 대한 대안으로 주목받으며,
많은 기업들이 이미 도입했거나, 도입을 검토하고 있다.
본 자료는 이러한 Cloud DW에 대해서 개념적으로 이해하고,
시장에 존재하는 다양한 Cloud DW 중에서 기업의 환경에 맞는 제품이 어떤 것인지 성능/비용 관점으로 비교했다.
- 왜기업들은 CloudDW에주목하는가?
- 시장에는어떤 제품들이 있는가?
- 우리Biz환경에서는 어떤 제품을 도입해야 하는가?
- CloudDW솔루션의 성능은?
- 기존DataLake(EMR)대비 성능은?
- 유사CloudDW(snowflake vs redshift) 대비성능은?
앞으로도 Data를 둘러싼 시장은 Cloud DW를 기반으로 ELT, Mata Mesh, Reverse ETL등 새로운 생테계가 급속하게 발전할 것이고,
이를 위한 데이터 엔지니어/데이터 아키텍트 관점의 기술적 검토와 고민이 필요할 것 같다.
https://blog.naver.com/freepsw/222654809552
More Related Content
Similar to The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
Backend.AI (https://backend.ai)는 클라우드 및 온-프레미스 환경에서 여러 사용자가 안전하고 효율적으로 컴퓨팅 자원을 공유할 수 있는 머신러닝에 특화된 인프라 관리 프레임워크입니다. 현재 널리 사용되고 있는 오픈소스 기술인 OpenStack, Kubernetes 등과 비교하여 어떤 특징과 차이점이 있는지 소개하고, 프레임워크의 구조와 기반 기술 및 응용 사례를 데모와 함께 소개합니다.
100% Serverless big data scale production Deep Learning Systemhoondong kim
- BigData Sale Deep Learning Training System (with GPU Docker PaaS on Azure Batch AI)
- Deep Learning Serving Layer (with Auto Scale Out Mode on Web App for Linux Docker)
- BigDL, Keras, Tensorlfow, Horovod, TensorflowOnAzure
본 강연에서는 금융 감독원의 클라우드 이용 가이드라인에 맞추어 바로 도입 가능한 HPC, 빅데이터, 백업, VDI 등의 업무에 대하여 간단하게 소개하고 AWS 상에서 구축하기 위한 참조 아키텍쳐와 특장점 및 고객 사례에 대해 설명해 드릴 예정입니다.
연사: 정영준 솔루션 아키텍트, 아마존 웹서비스
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 환경을 구현하는 것
Cloud DW technology trends and considerations for enterprises to apply snowflakeSANG WON PARK
올해 처음 오프라인으로 진행된 "한국 데이터 엔니지어 모임"에서 발표한 cloud dw와 snowflake라는 주제로 발표한 내용을 정리하여 공유함. (2022.07)
[ 발표 주제 ]
Cloud DW 기술 트렌드와 Snowflake 적용
- Modern Data Stack에서 Cloud DW의 역할
- 기존 Data Lake + DW와 무엇이 다른가?
- Data Engineer 관점에서 어떻게 사용하면 좋을까? (기능/성능/비용 측면의 장점/단점)
[ 주요 내용 ]
- 최근 많은 Data Engineer가 기존 기술 스택(Hadoop, Spark, DW 등)의 기술적/운영적 한계를 극복하기 위한 고민중.
- 특히 Cloud의 장점과 운영 및 성능을 고려한 Cloud DW(AWS Redshift, GCP BigQuery, DataBricks, Snowflake)를 고려
- 이 중 Snowflake를 실제 프로젝트에 적용한 경험과 기술적인 특징/장점/단점을 공유하고자 함.
작년부터 정부의 데이터 정책 변화와 Cloud 기반의 기술 변화 가속화로 기업의 데이터 환경에도 많은 변화가 발생하고 있고, 기업들은 이에 적응하기 위한 다양한 시도를 하고 있다.
그 중심에 cloud dw (또는 Lake house)가 위치하고 있으며, 이를 기반으로 통합 데이터 플랫폼으로의 아키텍처로 변화하고 있다. 하지만, 아직까지 기존 DW 제품과 주요 CSP(AWS, GCP, Azure)의 제품군을 다양하게 시도하고 있으나, 기대와 다르게 생각보나 낮은 성능 또는 비싼 사용료, 운영의 복잡성으로 인한 많은 시행착오를 거치고 있다.
이 상황에서 작년에 처음 검토한 snowflake의 다양한 기능들이 기업들의 고민과 문제를 상당부분 손쉽게 해결할 수 있다는 것을 확인할 수 있었고, 이를 이용하여 실제 많은 기업들에게 적용하기 위한 POC를 수행하거나, 실제 적용하는 프로젝트를 수행하게 되었다.
본 발표 내용은 이러한 경험을 기반으로 기업(그리고 실제 업무를 수행할 Data Engineer) 관점에서 snowflake가 어떻게 문제를 해결할 수 있는지 cloud dw를 도입/활용/확장 하는 단계별로 문제와 해결 방안을 중심으로 설명하였다.
https://blog.naver.com/freepsw?Redirect=Update&logNo=222815591918
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
몇년 전부터 Data Architecture의 변화가 빠르게 진행되고 있고,
그 중 Cloud DW는 기존 Data Lake(Hadoop 기반)의 한계(성능, 비용, 운영 등)에 대한 대안으로 주목받으며,
많은 기업들이 이미 도입했거나, 도입을 검토하고 있다.
본 자료는 이러한 Cloud DW에 대해서 개념적으로 이해하고,
시장에 존재하는 다양한 Cloud DW 중에서 기업의 환경에 맞는 제품이 어떤 것인지 성능/비용 관점으로 비교했다.
- 왜기업들은 CloudDW에주목하는가?
- 시장에는어떤 제품들이 있는가?
- 우리Biz환경에서는 어떤 제품을 도입해야 하는가?
- CloudDW솔루션의 성능은?
- 기존DataLake(EMR)대비 성능은?
- 유사CloudDW(snowflake vs redshift) 대비성능은?
앞으로도 Data를 둘러싼 시장은 Cloud DW를 기반으로 ELT, Mata Mesh, Reverse ETL등 새로운 생테계가 급속하게 발전할 것이고,
이를 위한 데이터 엔지니어/데이터 아키텍트 관점의 기술적 검토와 고민이 필요할 것 같다.
https://blog.naver.com/freepsw/222654809552
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
Understanding of Apache kafka metrics for monitoring SANG WON PARK
2019 kafka conference seould에서 발표한 "Apache Kafka 모니터링을 위한 Metrics 이해" 슬라이드 자료
기존 2018년 자료에서 모니터링 관점에서 중요한 metrcis를 중심으로 정리하였고, 2019년 기준으로 추가/변경된 metrics를 반영하였다.
주용 내용은
- 업무에 최적화된 apache kafka 모니터링을 하려면?
- 어떤 정보를 모니터링 해야 할까?
- 적시성 관점의 모니터링 지표 (TotalTimeMs에 대한 세부 구조 이해)
- 안정성 관점의 모니터링 지표 (데이터 유실이 없이 중단없는 서비스)
- 언제 apache kafka 클러스터를 확장해야 할까? (어떤 지표를 봐야 할까?)
위 모든 지표는 producer/broker/consumer 3가지 측면에서 검토하였다.
컨퍼런스 영상 링크 : https://www.youtube.com/watch?v=p2RGsTOCHAg
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
Apache Kafka를 이용하여 이미지 데이터를 얼마나 빠르게(with low latency) 전달 가능한지 성능 테스트.
최종 목적은 AI(ML/DL) 모델의 입력으로 대량의 실시간 영상/이미지 데이터를 전달하는 메세지 큐로 사용하기 위하여, Drone/제조공정 등의 장비에서 전송된 이미지를 얼마나 빨리 AI Model로 전달 할 수 있는지 확인하기 위함.
그래서 Kafka에서 이미지를 전송하는 간단한 테스트를 진행하였고,
이 과정에서 latency를 얼마나 줄여주는지를 확인해 보았다.(HTTP 프로토콜/Socket과 비교하여)
[현재 까지 결론]
- Apache Kafka는 대량의 요청 처리를 위한 throughtput에 최적화 된 솔루션임.
- 현재는 producer의 몇가지 옵션만 조정하여 테스트한 결과이므로,
- 잠정적인 결과이지만, kafka의 latency를 향상을 위해서는 많은 시도가 필요할 것 같음.
- 즉, 단일 요청의 latency는 확실히 느리지만,
- 대량의 처리를 기준으로 평균 latency를 비교하면 평균적인 latency는 많이 낮아짐.
Test Code : https://github.com/freepsw/kafka-latency-test
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안SANG WON PARK
Apache Kafak의 빅데이터 아키텍처에서 역할이 점차 커지고, 중요한 비중을 차지하게 되면서, 성능에 대한 고민도 늘어나고 있다.
다양한 프로젝트를 진행하면서 Apache Kafka를 모니터링 하기 위해 필요한 Metrics들을 이해하고, 이를 최적화 하기 위한 Configruation 설정을 정리해 보았다.
[Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안]
Apache Kafka 성능 모니터링에 필요한 metrics에 대해 이해하고, 4가지 관점(처리량, 지연, Durability, 가용성)에서 성능을 최적화 하는 방안을 정리함. Kafka를 구성하는 3개 모듈(Producer, Broker, Consumer)별로 성능 최적화를 위한 …
[Apache Kafka 모니터링을 위한 Metrics 이해]
Apache Kafka의 상태를 모니터링 하기 위해서는 4개(System(OS), Producer, Broker, Consumer)에서 발생하는 metrics들을 살펴봐야 한다.
이번 글에서는 JVM에서 제공하는 JMX metrics를 중심으로 producer/broker/consumer의 지표를 정리하였다.
모든 지표를 정리하진 않았고, 내 관점에서 유의미한 지표들을 중심으로 이해한 내용임
[Apache Kafka 성능 Configuration 최적화]
성능목표를 4개로 구분(Throughtput, Latency, Durability, Avalibility)하고, 각 목표에 따라 어떤 Kafka configuration의 조정을 어떻게 해야하는지 정리하였다.
튜닝한 파라미터를 적용한 후, 성능테스트를 수행하면서 추출된 Metrics를 모니터링하여 현재 업무에 최적화 되도록 최적화를 수행하는 것이 필요하다.
xgboost를 이해하기 위해서 찾아보다가 내가 궁금한 내용을 따로 정리하였으나, 역시 구체적인 수식은 아직 모르겠다.
요즘 Kaggle에서 유명한 Xgboost가 뭘까?
Ensemble중 하나인 Boosting기법?
Ensemble 유형인 Bagging과 Boosting 차이는?
왜 Ensemble이 low bias, high variance 모델인가?
Bias 와 Variance 관계는?
Boosting 기법은 어떤게 있나?
Xgboost에서 사용하는 CART 알고리즘은?
Machine Learning Foundations (a case study approach) 강의 정리SANG WON PARK
실제 비즈니스에서 많이 활용되는 사례를 중심으로 어떻게 기존 데이터를 이용하여 알고리즘을 선택하고, 학습하여, 예측모델을 구축 하는지 jupyter notebook을 이용하여 실제 코드를 이용하여 실습할 수 있다.
강의 초반에 강조하는 것 처럼, 머신러닝 알고리즘은 나중에 자세히 설명하는 과정이 따로 있고, 이번 강의는 실제 어떻게 활용하는지에 완전히 초점이 맞추어져 있어서, 알고리즘은 아주 간략한 수준으로 설명해 준다. (좀 더 구체적인 내용은 심화과정이 따로 있음)
http://blog.naver.com/freepsw/221113685916 참고
https://github.com/freepsw/coursera/tree/master/ML_Foundations/A_Case_Study 코드 샘플
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
Apache Kafak의 성능이 특정환경(데이터 유실일 발생하지 않고, 데이터 전송순서를 반드시 보장)에서 어느정도 제공하는지 확인하기 위한 테스트 결과 공유
데이터 전송순서를 보장하기 위해서는 Apache Kafka cluster로 partition을 분산할 수 없게되므로, 성능향상을 위한 장점을 사용하지 못하게 된다.
이번 테스트에서는 Apache Kafka의 단위 성능, 즉 partition 1개에 대한 성능만을 측정하게 된다.
향후, partition을 증가할 경우 본 테스트의 1개 partition 단위 성능을 기준으로 예측이 가능할 것 같다.
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
단순히 공식으로 설명하지 않고, 실제 코드 및 샘플데이터를 이용하여 수식의 결과가 어떻게 적용되는지 자세하게 설명하고 있다.
처음 week1 ~ week4 까지는 김성훈 교수님의 "모두를 위한 딥러닝"에서 한번 이해했던 내용이라 좀 쉽게 진행했고, 나머지는 기초가 부족한 상황이라 다른 자료를 꽤 많이 참고하면서 학습해야 했다.
여러 도서나 강의를 이용하여 머신러닝을 학습하려고 했었는데, 이 강의만큼 나에게 맞는것은 없었던거 같다. 특히 Octave code를 이용한 실습자료는 나중에도 언제든 활용가능할 것 같다.
Week1
Linear Regression with One Variable
Linear Algebra - review
Week2
Linear Regression with Multiple Variables
Octave[incomplete]
Week3
Logistic Regression
Regularization
Week4
Neural Networks - Representation
Week5
Neural Networks - Learning
Week6
Advice for applying machine learning techniques
Machine Learning System Design
Week7
Support Vector Machines
Week8
Unsupervised Learning(Clustering)
Dimensionality Reduction
Week9
Anomaly Detection
Recommender Systems
Week10
Large Scale Machine Learning
Week11
Application Example - Photo OCR
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
코드로 이해하는 Back_propagation(cs231n)SANG WON PARK
여러 샘플들을 참고하다 보니, tensorflow를 사용하지 않는 경우에는 직접 gradient를 계산하여 back propagation을 하도록 구현한 코드가 많다. 내가 직접 구현할 필요는 없더라도, 좀 더 명확하게 이해할 필요는 있을 것 같아서 cn231n note에서 제공하는 코드와 설명을 정리.
http://blog.naver.com/freepsw/220928184473
http://cs231n.github.io/neural-networks-case-study/ 참고
데이터를 작게 생성하여, 직접 코드와 생성된 데이터를 확인하면서 좀 더 직관적으로 이해하는 과정으로 정리하다보니, 코드보다 설명이 더 많다... 아직도 명확하지는 않지만 나름대로 정리는 되었다.
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
The Data tech for AI based innovation(기업의 AI기반 혁신을 지원하는 데이터 기술)
1. 기업의 AI 기반 혁신을 지원하는
데이터 기술 소개
(The data tech for ai based innovation)
2020.11
freepsw
1
2. 기업의 AI 기반 혁신?
Problems
Biz
Value
AI
Innovation
다양한 Idea를 빠르게 검증하고 적시에 비즈니스에 반영하여 기업의 경쟁력 확보
AI 활용하여 다양한 Idea 검증 2
3. 혁신적인 Idea를 비즈니스 가치로 전환 하려면?
수많은 혁신적인 실험을 시도하며, 최적화를 통해 기업의 가치를 혁신적으로 향상
더 많은 혁신 아이디어가
기업의 비즈니스에 적용
검증된 아이디어를
비즈니스에 빠르게 반영
• Value Pipeline은 AI Model을 통해서 비즈니스 가치를 생성하는 영역
• Innovation Pipeline은 새로운 아이디어를 다양한 ml model로 설계/개발/테스트하는 영역
3
4. 더 많은 아이디어를 빠르게 검증한다는 것은?
좋은 제품은 수 많은 실험적 아이디어 중에서 도출되며,
이러한 반복적인 실험을 효율적으로 빠르게 할 수 있는 환경이 중요
2019 AI Conference (Facebook)
4
5. 누구나 AI 기반 혁신을 원하지만…
기업의 AI 도입의 현실적인 고민들은 너무나 많다. (여기서는 기술에 초점)
고 품질의 데이터 제공
(적시에 필요한 데이터 제공이 어려움)
학습 속도 제약
(더 많은 아이디어 검증 어려움)
모델 공유/협업 문제
(수많은 모델의 중복투자 및 재사용 어려움)
모델을 운영 환경에 배포
(배포 성능 및 안정성, 설명력)
AI 기반 혁신을 위해서는 기업의 문화, 조직, 프로세스, 기술 등의 전반적인 변화가 필요 5
6. AI Pipeline을 기준으로 각 단계를 보면
고품질의 신뢰할 수 있는 데이터가 적시에 확보 되어야, AI 기반의 비즈니스 혁신이 가능함
Prepare
Data
Train
AI
Model
Monitor
AI
Model
Deploy
AI
Model
Manage
AI
Model
Collect
Data
분석에 필요한 고품질의 데이터를
적시에 제공하기 위한 기술 필요
(Data Engineer/Data Analyst)
대량의 데이터를 빠르게 학습
가능한 인프라/알고리즘 필요
(Data Scientist)
실제 비즈니스에 적시에
배포 및 안정적 운영 필요
(AI/ML Engineer)
6
7. Data 준비 단계의 주요 기술 및 핵심 요건
데이터의 품질이 보장되지 않거나, 너무 늦게 제공된다면 비즈니스에 미치는 영향도 감소
2020 SK AI 플랫폼 웨비나
데이터의 품질을 유지하면서,
적시에 필요한 데이터를 제공하는 것
7
8. 데이터를 적시에 고품질로 제공하려면?
데이터의 수집에서 활용까지 단계별 품질 지표/버전 관리와 전체 파이프라인의 자동화가 중요
통합 데이터 관리
• 조직/부서별 목적에 따라 Data
Silo 발생
• 데이터 통합 관리로 원하는
데이터를 쉽게 찾도록 구성
(Data Catalog 등)
데이터 오류 관리 자동화된 Data Pipeline
• 모든 데이터는 잠재적 오류 포함
(Null, 값 중복, 값 오류)
• 이는 AI 알고리즘에 오류를 유발
가능 (추적도 어려움)
• 단계별 오류 보정(ML 활용) 및
추적관리
• 하나의 데이터를 생성하기 위해
수 많은 작업들이 연결 (수 많은
담당자들의 수작업)
• 다양한 데이터 수요를 적시에
제공하기 위한 자동화된 Data
Pipeline 구성 필요
8
9. 고품질의 데이터 제공을 위한 핵심 기술들 (1/2)
데이터 수집
• 수집 Interface 다양성
• Availability, Fault tolerance
• Cloud Infra Platform을 고려한 구성 테스트
기술분야 핵심 기능 관련 기술
데이터 처리
( Batch )
• 지원 API의 다양성 ( Python, Java, Scala)
• 데이터 처리 성능
• Cloud Infra Platform 을 고려한 구성 테스트
데이터 처리
( Real-time )
• 지원 API 다양성 ( Python, Java, Scala)
• Batch 및 Sliding Window 지원
• 실시간 Query 지원
• Cloud Infra Platform을 고려한 구성 테스트
Object Storage
• 데이터 읽기 및 저장 속도
• 데이터 관리 편이성
• Cloud Infra Platform을 고려한 구성 테스트
9
10. 고품질의 데이터 제공을 위한 핵심 기술들 (2/2)
ACID Platform
• Inset, Update, Delete 성능
• 스키마로 고품질의 데이터 제공 가능
기술분야 핵심 기능 관련 기술
Data Orchestration
(Zero-Copy)
• 분산된 데이터에 대하여 하나의 논리적인 파일 접근 제공
• 메모리 기반 분산 파일 시스템 지원
Data Pipeline
• 다양한 Data Pipeline 구성
• 다양한 실행 Job 및 스케줄 관리
10
11. 학습에 필요한 데이터를 빠르게 처리하는 기술 (RAPIDS)
데이터 처리 시 CPU를 활용하는 영역에 GPU를 적용하여 데이터 처리 성능 향상
GPU 가속 Data Pipeline 구성 ETL 처리 속도/비용 향상
https://nvidia.github.io/spark-rapids/
Feature 처리 영역에 성능 개선 11
12. 분산된 데이터를 통합하여 빠르게 조회하는 기술 (Alluxio)
다양한 데이터 소스를 하나의 논리적인 스토리지로 연결을 제공하는 메모리 기반 분산 파일시스템
다양한 데이터 소스와 데이터 처리 기술을 연결
• 데이터 소스가 많아질 수록 데이터 연결로 인한 복잡성을 단순화
• 메모리 기반 분산 파일 시스템을 통해 데이터 처리 성능 향상
처리 성능 개선
• AWS EMR의 Presto에서 Alluxio를 적용한 경우
최대 4배의 성능 향상 (메모리 캐시 활용)
https://www.slideshare.net/Alluxio/presto-on-alluxio-hnadson-lab
12
13. AI Model 학습 단계의 주요 기술 및 핵심 요건
다양한 Biz 아이디어를 빠르게 검증하여, 더 좋은 AI Model로 발전하기 위한 환경 필요
2020 SK AI 플랫폼 웨비나
다양한 분석 환경을 빠르게 제공하고,
학습 성능 개선에 필요한 기술 지원하는 것.
즉, 더 많은 실험이 반복 될 수 있는 환경
13
14. AI Model 학습 성능을 제약하는 요소들
모델 학습 시간에 영향을 미치는 요소들을 파악하고, 이를 해결하기 위한 기술 도입
모델의 복잡성 증가 하드웨어 성능의 한계
• 학습할 파라미터 수가 엄청나게 증가함.
• Layer가 깊어질 수록 학습 시간도 증가
• 이미지/영상 데이터 학습 시 Disk I/O 부하
• 학습을 위한 데이터 송/수신으로 Network 부하
• 빠른 연산을 위하 GPU 장비 부족 (비싼 장비 도입 이슈) 14
15. AI Model 학습 성능을 향상하려면?
학습할 데이터 처리 시간을 단축하고, 데이터를 분산 및 병렬로 학습하여 성능을 향상한다.
학습 데이터 조회 성능 개선
• 대량의 AI 데이터 학습에
최적화된 파일 시스템 적용 (기존
HDFS는 작은 사이즈 조회에
비효율적)
• 분석 Framework에 최적화된
데이터 포맷 활용 (Tensorflow
등의 자료구조 지원)
Feature Store 재활용 분산 학습 아키텍처 도입
• 분석가는 자신의 AI Model에
필요한 Feature를 수작업으로
생성 (Computing, Storage
자원 부하 유발)
• 학습을 위해 생성된 Feature를
다른 AI Mode에서 재사용
가능하도록 제공
• 모델의 학습시간 단축
• 모델이 복잡해지고, 학습
파라미터가 급증.
• AI Model 학습을 분산하여 학습
성능 및 속도 향상
• 데이터 분산 학습과 모델 분산
학습 방법 제공
15
16. AI Model 학습의 효율성을 높여주는 기술들
다양한 시도의 AI Model을 효율적으로 실행/공유하고, 자동화 모델
Train at Scale
• 분산 학습 환경 제공
• Training 리소스 활용 효율 / 관리 용이성
Auto ML
horovod
Tensorflow
Pipeline
• ML Lifecycle 지원
• 모델 학습의 전 과정을 자동화된 Pipeline 제공
Kubeflow Pipeline
Tensorflow
Extended
Model / Data
Management Arrikto ROK / ROK Registry
Kubeflow
Metadata
• Model의 관리/공유 기능의 범위
• Platform / ML lifecycle 연계성
기술분야 핵심 기능 대상 기술
Feature Store
• Feature 엔지니어링과의 연계 기능 검증
• On/offline feature 적재 방식 / 지원
protocol
Argo
HPO + Model Selection
HPO
Auto Gloun
Auto Sklearn
Auto-Keras
• 최적의 하이퍼파라미터 제공.
• 데이터에 최적화된 Model Selection
Feast
Hopsworks
16
17. 분산학습에 최적화된 파일 스토리지 기술 (HopsFS)
Metadata layer에서 small file 저장을 위해 NVMe 스토리지 활용
작은 파일 처리 성능 극대화 Multi Availability Zone 지원
• 읽기 성능 4.5 배 향상 • 다중 zone을 지원하여 데이터 복제 가능
• Changed data capture를 활용하여 데이터 복제
17
18. ML 학습에 필요한 데이터를 빠르게 조회하는 기술 (petastorm)
분석 프레임워크에 따라 별도의 변환없이 빠르게 학습 데이터 접근 및 조회가 가능
분석 환경에 맞게 데이터 변환 필요 Parquet 포맷으로 직접 조회 가능
불필요한 변환 과정 제거
별도 ETL 과정 추가
• Tensorflow, Pytorch에서 활용 가능한
자료구조로 변환해야 모델 학습이 가능함
• 자료 변환에 따른 성능저하 유발
• Tensorflow, Pytorch에서 직접 접근 가능
• 별도 변환없이 빠르게(Columnlar Type)
데이터 조회
18
19. 생성된 Feature 데이터를 재사용하는 기술 (Feature Store)
생성된 Feature를 재사용하여, 별도의 데이터 처리 없이 학습 가능 (학습 시간 단축)
분석가/모델 별로 중복된 Feature 생성 및 저장 필요할 때 Feature 검색 및 재사용
• Feature 처리에 필요한 인프라 비용 절약 (스토리지, 메모리 등)
• 재사용으로 인한 학습시간 단축
• Feature 생성을 위한 자원 및 처리 시간 증가
• 중복된 데이터 저장에 필요한 저장 공간 증가
19
20. Uber에서는 Feature Store를 어떻게 사용할까?
Uber Eats 배달 시간 예측 시 Feature Store 사용 예시 글로벌 기업의 Feature Store 활용 방식
주문 시
배달 시간 예측 배달 단계별
도착시간 예측
1. 주문접수
2. 요리준비
3. 배달준비
4. 배달출발
예측 단계 Feature Store 활용
• 주문시각, 주문장소
• 준비시간(1주일, 1일, 6시간)
• 요리 유형별 특징
• 담당자 평균 준비시간(1주, 1일,
6시간)
• 담당자 숙련도
• 도로 교통(1주, 1일, 6시간)
• 배달 경로, 주차장 정보
“각 단계별로 배달시간을 예측하여, 고객에게 정확한 도착정보 제공”
Feature Store
Online Feature
최근 10분 평균 준비시간
(요리별, 담당자별)
Offline Feature
지난 3개월 평균 배달 시간
(지역별, 날씨별 등)
실시간 데이터 처리
(Kafka, Spark 등)
대용량 배치 처리
(HDFS, Hive 등)
“고품질의 Feature를 재활용하여 예측모델 성능 향상 및 생산성 향상”
Uber Taxy Uber 추천 Uber Transfortation
Data Scientist
Data Engineer
Feature Store는 다양한 기업 적용 및 오픈소스로 빠르게 진화 중
사전에 처리된 Feature
활용으로
예측 성능 향상
20
다른 Uber 예측모델에서 Feature 재활용
21. AI 모델을 분산하여 빠르게 학습하는 기술 (Distributed DL)
데이터를 분산해서 처리하는 방법과 모델을 분산해서 처리하는 방식
데이터 분산 vs 모델 분산 방식
학습 데이터를 분산하여 여러 대의 서버에서 처리하고, 결과를 취합
데이터 분산 학습 방식
데이터를 분산하여 각 서버로 전달하고, 학습을 통해 계산된 값들을
교환하여 업데이트 한다.
https://www.bnl.gov/nysds18/files/talks/session3/malik-nysds18.pdf
21
22. 운영환경에 적용되기 위해서는?
운영 환경에 적용할 AI Product는 다양한 요건을 만족해야 한다.
AI Products
Data Processing
Business Logic
Deployment
AI Resource
AI Development based on
Machine Learning
AI Applied at
Manufacturing Operations
Optimization, Availability, Flexibility Optimization, Availability, Flexibility
Latest, Diversity, Performance
Latest, Diversity, Performance 22
23. AI Product 운영 단계의 주요 기술 및 핵심 요건
AI Model + Biz Logic이 실제 기업의 운영환경에서 가용성/확장성/성능을 유지하며 서비스
2020 SK AI 플랫폼 웨비나
아이디어(AI Model)를 적시에 비즈니스 가치로 전환하고,
이를 운영환경에서 안정적으로 운영하는 것
23
24. 학습된 AI Model을 비즈니스에 빠르게 반영하려면?
데이터의 수집에서 활용까지 단계별 품질 지표/버전 관리와 전체 파이프라인의 자동화가 중요
통합된 모델 배포 환경
• AI Model을 배포/서비스 하기
위해서는 다양한 역량 필요.
• 모델별/조직별로 서로 다른 배
포 시스템을 구성하면, 서비스
운영/관리의 복잡성이 증가
• 기업 전체 관점에서 통합된 모
델 운영 관리가 필요
쉬운 모델 배포 환경 안정적인 AI 서비스 환경
• 분석가 별로 서로 다른 프레임
워크(tensorflow, pytorch
등) 사용으로 배포 구성 어려움
• Biz Logic과 모델을 함께 배포
가능한 구조 필요
• 신규 모델의 점진적 업데이트
지원
• 중지 없는 AI 서비스 제공 및
요청에 따른 자동 확장 필요
• 사용량에 따라 자원을 회수하
여 자원의 효율적 사용
• 비싼 GPU 장비 공유를 통한
모델의 성능 향상
24
25. AI Model을 서비스에 최적화된 서빙 플랫폼 필요
모델별로 배포 및 운영을 하게 되면서, 시스템의 복잡성 및 운영 관리의 어려움
Platfor
m
I
H
G
F
E
D
C
B
A
…
I
H
G
F
E
D
C
B
A
…
AI
Products
Data Processing
Business Logic
Inference
AI Resource
AI Platform Characteristics
I
H
G
F
E
D
C
B
A
AI Serving Platform
25
26. 검증된 AI 모델을 적시에 비즈니스에 적용하기 위한 기술
Deploy / Serving
• Serving 인스턴스 리소스 관리 방식 및 효율성
• Serving 관련 기능 범위(관리/로깅 등)
Kubeflow Fairing KFServing
Tensorflow
Serving
Pytorch
Serving
Clipper
Model Exchange
• Platform 연계성 검증
• 다양한 분석 Framework의 모델간 호환성
기술분야 핵심 기능 관련 기술
모델 경량화
• 모델 Inference graph 최적화
• 학습된 모델의 데이터 타입 최적화 (float 16, int 등)
26
27. 학습된 모델의 추론 성능 최적화 기술 (TensorRT)
운영단계에서는 모델의 추론 성능과 자원의 효율적인 활용이 더욱 중요하다
모델 최적화를 통한 추론 성능 향상 추론 성능 비교
• 약 40배의 성능 향상 효과
• 모델 학습단계에서 필요한 layer들 중에서 정확도(성능)에 영향이 낮은
layer들을 제거하여 모델 graph를 최적화
27
28. GPU 공유를 통한 자원 활용 최적화 기술
다수의 모델이 GPU를 공유할 수 있도록 하여 GPU 활용 증가 및 투자비용 감소
모델 별 GPU가 종속
• 각 모델별로 GPU가 할당되어, GPU의 활용도 저하
• 사용하지 않는 모델의 GPU 활용 불가
다수의 모델이 GPU를 공유하는 방식
• 모든 모델이 필요할 때 GPU를 최대한 많이 활용 가능
28
29. 모든 모델이 GPU를 공유하게 되면?
특정 모델의 GPU만 활용
(나머지는 활용 낮음)
GPU 부하가 균등하게 배분
(처리량 3배 이상 증가)
29
30. 2020 Data & AI Landscape
AI를 지원하는 기술들이 진화하면서, 2019년부터 기술 영역이 세분화 되기 시작함
AI OPS 기술 영역은 빠른 속도로
확장 될 것으로 예상됨
2018
2020
30