SAS FORUM NH 농협은행의분석플랫폼구축사례와디지털트랜스포메이션을위한 SAS 플랫폼
NH 은행빅데이터플랫폼구축사례
APPERANCE NH BANK big-data platform TEXT Log EDW/ MART External Data SAS VIYA VDMML ( 16 node / 256 core / 4TB mem ) HADOOP Analytic Process Decision Report Campaign & Promotion independent systems
BACK GROUND # 4 차산업혁명맞는금융서비스개발 # PLATFORM 구축 # ML 분석모형개발 4 차산업혁명기술요소 Big-data Deep Learning AI 2016 POC 수행 (3 months) Big-data 정의및가시성 Model Evaluation 과제선정 Big-Data 분석기술검증 ( 음성, TEXT 등비정형 DATA 활용 ) 정형 / 비정형고객분석니즈 Big Data 기반신규금융서비스개발
JOURNEY Analytic M/L model Nov 2017 Feb 2018 Mar developing model deploy Operation 안정화 July 2017 KICK OFF OCT 2017 Nov 2017 MAY 2018 OPEN New BIZ developing Hadoop DATA 적재관리모니터링 Big Data processing
PERFORMANCE # Platform # Analytics HADOOP : 정형 / 비정형데이터 4TB 적재 데이터전처리 : 151 Batch SAS Viya : 3 천 2 백만건과 8 백만건 Join 처리시 3 분 5 초 4 천 4 백만건원장 MEMORY 이관시 2 분 22 초 # Biz 고객금융니즈에결합된마케팅 360 고객포탈 전행현업부서의의사결정지원 빅데이터 6개과제수행 22개의 M/L 모델수행 Champion Hit Ratio 1.5 배 ~5배 고객금융이벤트감지영역확대 ( 27개빅데이터 EBM 시나리오운영 ) 미인지 SOHO 고객군도출 (129만) 데이터가시성확보 : 고객분석을위한분석변수개발 OLAP 에빅데이터정보제공
FUTURE NH BANK Artificial Intelligence Service Platform Robo-Advisor Customer Recognition KEY SUCCESS POINT : Deep Learning 으로고객의금융포지션, 자산가치및 고객의위치, 자산가치및위험요인의변화, 수익및위험허용목표와같은관련정보에대한지속적인데이터공급 위험요인의변화, 수익과위험허용목표등의정보를끊임없이공급해야... Natural Language Process Streaming Analytics Machine Learning Visualization 의사결정시스템 빅데이터분석결과시각화 Video processing Image Analytics Machine Learning Voice Banking Audio processing Machine Learning
LESSONS LEARNS # Smart Phone # AI Platform Yr 2007 Yr 2018 Yr 2017 비정형 / 정형분석 M/L Model FIRST MOVER 인물별로문자메세지 3G 인터넷 LIFE & Culture Contents
디지털트랜스포메이션과 SAS 플랫폼
디지털트랜스포메이션 DIGITAL TRANSFORMATION
디지털트랜스포메이션 GE 는소프트웨어기업
디지털트랜스포메이션 ALIBABA 는데이터기업
디지털트랜스포메이션 NH 농협은금융플랫폼기업
API 기반의에코시스템 파트너 파트너 금융회사 API API 파트너 API API 파트너
플랫폼이핵심 Buyers 디지털플랫폼 Sellers
플랫폼이핵심 타기관 통신사 Buyers API 디지털플랫폼 API Sellers 소비재 공공
금융사의디지털트랜스포메이션 Road Map 분석플랫폼도입 빅데이터인사이트확보 고객이해제고 ML / AI 역량강화 API 기반에코시스템 병렬 - 분산환경기반의고성능플랫폼 AI- 머신러닝적용이가능한플랫폼 텍스트, 음성, 비디오분석역량 전사빅데이터저장소 데이터부자 인사이트부자 인사이트탐색을통한신사업기회발굴 360 데이터확보를통한고객맥락이해 고객상황 ( 이탈위험, 신규가망 ) 에맞는상품추천 Outside-In 전략 초대용량데이터학습 자동화를통한운영비용최소화 최신알고리즘을업무에반영 ML 을통한 AI 결과설명력 완벽함보다는빠름을추구 내부역량의 API 화 ML/AI 를활용한스마트서비스개발 외부파트너와의적극적협업체계
NH 빅데이터플랫폼 저축 / 대출성향 고객소득추정 상품추천 빅데이터활용 소득 / 소비 고객 Segmentation 이벤트 / 이탈마케팅 캠페인설계 / 실행 접촉성향 개인별니즈등급 Soho 고객발굴 모니터링 / 분석 모델개발 머신러닝분석엔진 (SAS VDMML) 정형분석 (SAS EM) 비정형분석 (SAS CA) Viya 컨트롤러 작업노드 Scoop/Flume /Kafka 하둡 (HDFS, Hive)
Analytics Lifecycle Data, Discovery, Deployment 시스템을모니터링하여결과가 시간경과에따라적절하게 유지되는지확인 다양한소스의데이터를통합 가공하고변수추출 다양한운영환경에서신뢰 할수있는시스템으로전환 트레이닝및테스트를위한 데이터분할 다양한분석을실행하고 최상의알고리즘을선택 데이터속에존재하는의미를 탐색하고패턴을발굴
Analytics Lifecycle modules
SAS Viya 의특장점 편의성 HTML 5 (GUI) Visual & Programmatic 개방성 알고리즘 SAS 9.4, Python, R Java, LUA, Rest API etc. ML / DL / TA / Image Auto-tuning 고성능 인메모리엔진 High Performance 용이성 스코어링패러다임 (Analytic Store) 시스템관리
알고리즘단일플랫폼에서다양한머신러닝분석가능 머신러닝 Machine Learning 딥러닝 Deep Learning 텍스트 분석 Text analytics 이미지 분석 Image analysis 단일플랫폼에서최신머신러닝, 딥러닝, 텍스트분석, 이미지분석등다양한분석가능
알고리즘데이터준비 / 분석 / 모형비교 Supervised and Unsupervised Learning: Logistic/Linear/Nonlinear Regression Generalized Linear Models Ordinary Least Squares Regression Partial Least Squares Regression Quantile Regression K-means / K-modes Clustering Principal Component Analysis Text Mining / Boolean Rules Network Analytics/Community Detection Bayesian network models Decision Trees* Random Forest* Gradient Boosting* Neural Networks (DNN)* Support Vector Machines* Factorization Machines* Compare and Assess models Moving Windows PCA Robust PCA Support Vector Data Description Econometrics: Copula functions Count Regression Panel Data Limited Dependent Variable Models Severity Distribution Models Optimization: Linear Programming Nonlinear Programming Mixed Integer Linear Programming Quadratic Programming Network Solver Deep Learning: Fast knn / Market basket analysis DeepLearn (CNN/RNN/LSTM etc.) Feature Extraction (Auto-encoder / SVD / PCA etc.) Forecasting: ESM (Exponential smoothing) ARIMA UCM (Unobserved components) IDM (Intermittent demand) Automated hierarchical forecasting and reconciliation Data Management: Data Step / DS2 SQL Transpose Variable Binning Variable Cardinality Analysis Sampling and Partitioning Missing Value Imputation Variable Selection Image processing *Auto-tuning 이지원되는알고리즘
알고리즘효율적인자동튜닝 (AUTO-TUNING) y = f x 1 + g(x 2 ) 표준그리드탐색 랜덤탐색 = 개별적인모델훈련과평가 라틴하이퍼큐브 x 2 x 2 x 2 x 1 : 모든 hyper-parameter 에대한모든조합의경우수에대해후보모델을평가 x 1 : hyper-parameter 값을랜덤하게조합하여후보모델을평가 x 1 : hyper-parameter 에서균등분포로표본추출하고조합의경우의수는랜덤하게표본추출하여후보모델평가
편의성사용자의유형및필요에따른다양한인터페이스 Visual I/F SAS Visual Analytics Programmatic I/F SAS Studio Open Source User s I/F R, Python 등 Visual Pipeline Process Flow I/F
편의성 VISUAL INTERFACE 로지스틱회귀분석 뉴럴네트워크 Visual Graph 에서모델링 리포팅 I/F 로모델 export
편의성 VISUAL PIPELINE INTERFACE Modeling Template Class / interval target Basic / Intermediate / Advanced Advanced: Auto-Tuning (Y/N) User Defined Template 오픈소스코드
편의성기존 E-MINER 사용자를위한 PFD 모델링 EM Model Viya Model SAS Enterprise Miner R Model
고성능데이터처리성능의비약적개선 1 데이터로딩성능 Serial Loading : 90 분 ~ Parallel Loading : 2 분 ~ MPP Hadoop/DW 2 MPP 분산병렬프로세싱 2 인메모리 Query 성능 In-memory Analytic Engine 하둡 HiveQL : 120분 ~ SAS FedSQL : 1분 ~ A 사사례, Data 65GB Hadoop 12 / SAS 16 Nodes 1 빠른병렬로딩 A 사사례, Data 40+10GB Hadoop 12 / SAS 16 Nodes
용이성분석플랫폼운영에필요한것 [ 분석 / 머신러닝에사용되는리소스 ] 환경설정 DATA 데이터 데이터수집 DISCOVERY 모델링 머신러닝코드 데이터검증 머신러닝코드 서버자원관리 모델관리 DEPLOY 배포 모델배포인프라 모델성능모니터링 분석변수가공 프로세스관리
용이성새로운스코어링 (DEPLOY) 패러다임 : ANALYTIC STORE (Analytic Store) Astore 분석개체의상태에대한정보를담고있으며, 다양한환경에서실행가능한바이너리 파일로분산환경에서모델스코어링에사용 Proc Astore In-memory 상에서 ASTORE 프로시저를이용하여수행 기존스코어링방법과달리서로다른플랫폼에서사용하는경우에도 Import/Export 가필요없음 (Transportable) 스코어링환경의제약이없음 Self-Learning 의필수요소
용이성새로운스코어링 (DEPLOY) 패러다임 : ANALYTIC STORE DB [SAS 분석플랫폼의 DEPLOY] API 외부 App Streams 모델 Web Service Hadoop 디바이스
개방성 WHAT DOES IT MEAN TO BE OPEN? 1 Interface 2 Analytics Engine SAS Model Studio SAS Open Source code node SAS Model R or Python coding environment SAS Open API (R, Python, etc.) Open source Model
개방성 WHAT DOES IT MEAN TO BE OPEN? proc print data = x.hmeq (obs = 10); run; Workers Controller APIs df = s.castable( hmeq ) df.head(10) CAS Action [table.fetch] table.name = hmeq from = 1 to = 10 df <- defcastable(s, hmeq ) head(df, 10)
End of Document