View
222
Download
0
Category
Preview:
Citation preview
Adam Bartos
Analityka wysokiej wydajności. Przegląd możliwości technologii SAS.
Big Data – 3xV
Competing on Analytics
Analityka wysokiej wydajności …. Właściwie po co?
Aspekty wysokiej wydajności
Evaluate Ask
Act
Model
Implement
Prepare
Data
Explore
Wydajność procesu
Modelowanie „masowe”
Przekazanie na produkcję
Zarządzanie modelami
Wydajność obliczeń
Integracja danych
Eksploracja analityczna
Transformacja danych
Modelowanie
Skoring
Enterprise Miner
Serwer SMP
Źródła danych
Enterprise Guide
Workspace
Server
Workspace
Server
Klasyka czyli Single User SMP
Silnik analityczny jest uruchamiany niezależnie dla każdego użytkownika na wspólnymserwerze (np. AIX)
Algorytm analityczny wykorzystuje wielowątkowość w ramach jednegoprocesu (thread level) do przetwarzania jednego zbioru danych
Uproszczona architektura rozwiązań analitycznych SAS
SAS Factory Miner
Enterprise Miner
Serwer SMP
Źródła danych
Enterprise Guide
Workspace
Server
Workspace
Server
Prawie klasyka czyliSingle User + GRID
Silnik analityczny jest uruchamiany niezależnie dla każdego użytkownika na jednym z serwerów w GRID
Algorytm analityczny wykorzystuje wielowątkowość w ramach jednegoprocesu do przetwarzania jednego zbioru danych
Wiele algorytmów może być równocześnie uruchomionych na kilku maszynach (np. różne metody modelowania w Enterprise Miner)
Uproszczona architektura rozwiązań analitycznych SAS
Serwer SMP
Workspace
Server
Workspace
Server…
SAS Factory Miner
Enterprise Miner
Serwer SMP
Enterprise Guide
Workspace
Server
Workspace
Server
Rodzina HPASingle User + MPP
Silnik analityczny jest uruchamiany niezależnie dla każdego użytkownika na wspólnym klastrze maszyn
Algorytm analityczny wykorzystuje wielowątkowość w ramach wielu procesów (thread & proces level) do przetwarzania jednego zbioru danych
Analizowany zbiór danych ładowany do pamięci tymczasowo
Uproszczona architektura rozwiązań analitycznych SAS
Klaster MPP
Źródła danych
Węzeł MPP Węzeł MPP Węzeł MPP Węzeł MPPProces Master
NodeProces Worker
Node
MPP Data Store
Proces WorkerNode
Proces WorkerNode
SAS Factory Miner
Proces MasterNode
Proces WorkerNode
Proces WorkerNode
Proces WorkerNode
LASR Server:Multi User Server + MPP
Wszyscy użytkownicy korzystają ze wspólnego silnika analitycznego na wspólnym klastrze maszyn
Algorytm analityczny wykorzystuje wielowątkowość w ramach wielu procesów (thread & proces level) do przetwarzania jednego zbioru danych
Współdzielone zbiory danych stale w pamięci
Uproszczona architektura rozwiązań analitycznych SAS
Źródła danych MPP Data Store
SAS Studio
(In-Memory
Statistics)
Visual Analytics Visual Statistics
Klaster MPP
Węzeł MPP Węzeł MPP Węzeł MPP Węzeł MPP
Server MasterNode
Server WorkerNode
Server WorkerNode
Server WorkerNode
Prawie klasyka czyli Single User + GRID
Workspace
Server 4GL
…
GRID NODE 1
GRID NODE 2Workspace
Server
GRID NODE NWorkspace
Server
GRID CONTROL SERVERWorkspace
Server
Aplikacje SAS z opcją GRID
Zarządzanie Obciążeniem
• Zarządzanie zadaniami, hostami oraz użytkownikami
• Priorytetyzacja i szeregowanie poprzez zaawansowany mechanizm kolejek
• Identyfikacja, alokacja i zarządzanie zasobami
Wysoka Dostępność
• Wykrywanie awarii grid i automatyczne przywracanie działania
• Automatyczny wznawianie zadań z uwzględnieniem wykonanej pracy
Wydajność
• Podział sekwencji zadań na podzadania do wykonania równoległego
• Podział, dystrybucja i parametryzacja zadań (wybrane zadania ETL, modelowanie)
Procedury zaawansowanej analityki zaimplementowane jako algorytmy przetwarzania równoległego dostępne z poziomu:
Kodu SAS 4GL
SAS Enterprise Miner/Text Miner (jako węzły w interfejsie użytkownika)
SAS Factory Miner
Najważniejsze założenia architektoniczne
Dane In-Memory (tymczasowo)
» Pobierane do pamięci na czas działania procedury, dystrybuowane w całym klastrze
» Równoległe ładowanie danych do pamięci
» Szybka analiza danych dla algorytmów wieloprzebiegowych
» Kopia danych dla każdego wywołania procedury HP*
Distributed Computing Model
» Wykorzystanie wielowątkowości (thread) i wielu węzłów (node)
» Protokół MPI do komunikacji pomiędzy jednostkami pracy
MPP (w tym w środowisku Hadoop) lub SMP (pojedyncza maszyna)
Rodzina Procedur HPA „High Performance XXX”
RAM
CPU CPU
Text Mining
• Parsing large-
scale text
collections
• Extract
entities
• Auto.
stemming &
synonym
detection
Data Mining
• Complex
relationships
• Tree- and
Forest-based
Classification
• Segmentation/
Clustering
• Variable
Selection
Optimization
• Local search
optimization
• Large-scale
linear & mixed
integer
problems
Econometrics
• Probability of
events
• Severity of
random
events
FUNKCJONALNOŚĆ SAS® HIGH-PERFORMANCE
Statistics
• Binary target
& continuous
no. predictions
• Linear, Non-
Linear, &
Mixed Linear
modeling
C op yr i g h t © 2012 , SAS Ins t i t u te Inc . A l l r i g h ts r eser v ed .
11
JAKO TO DZIAŁA?
Kontroler
SAS® Enterprise Miner™
SAS® Text Miner
SAS® Enterprise Guide
(SAS/STAT®, SAS/ETS®, SAS/OR®)
Klaster MPP
Jako to działa? Integracja z SAS® Enterprise Miner™
Lista węzłów SAS® Enterprise Miner™
AppendData
PartitionFile Import Filter Merge SampleSAMPLE
Association DMDB
MultiPlotEXPLORE
Graph
Explore
Link Analysis
Path AnalysisSOM/Kohonen
StatExplore
Variable
Clustering
Variable
Selection
Market Basket
Cluster
MODIFY DropRules
BuilderReplacementPrincipal
ComponentsInteractive
BinningImpute
Transform
Variables
Decision
Tree
AutoNeuralNeural
NetworkRegression
Partial Least
Squares
Dmine
Regression
MODEL
DM Neural
Ensemble
Rule
InductionGradient
Boosting
LARS
MBR
Two Stage
Model Import
Incremental
Response
Survival
AnalysisCredit
Scoring*
TS
Correlation
TS Data
Prep
TS Dimension
Reduction
TS
Decomp.
TS
Similarity
TS Exponential
Smoothing
HP Explore
HP Impute
HP
RegressionHP Transform
HP Variable
Selection
HP Neural
HP Forest
HP Decision
Tree
HP Data
Partition
HP GLM HP
Cluster
HP Principal
ComponentsHP SVM
Cutoff Segment ProfileASSESSModel
ComparisonScoreDecisions
UTILITYControl
PointMetadata
SAS CodeReporter
End Groups Score Code
ExportStart Groups
*Requires Credit Scoring for SAS Enterprise Miner Add-on License.
Ext Demo
Input
Data
Open Source
Integration
Register
Metadata
Save
Data
84SECONDS
DA
TA
EX
PLO
RA
TIO
N
MO
DE
LD
EV
EL
OP
ME
NT
MO
DE
LD
EP
LO
YM
EN
T
SAS® High-Performance Data MiningCo można uzyskać?
Klasyczny proces Proces z użyciem High-
Performance
Metoda Sieci Neuronowej (1 iteracja) Metoda Sieci Neuronowej (100 iteracji)
5 godzin na policzenie modelu 6 minut na policzenie model
Model lift 1.6% Model lift 3.2%
Ograniczenie do 1-2 metod Możliwe eksperymenty z wieloma
metodami
High Performance Data Mining na HadoopKlaster 8 Węzłów, 64-rdzenie, Apache YARN, dane w formacie SASHDAT
Data Mining
Dane:
• 2 miliony rekordów
• 7.6GB
• 250 przedziałowych zmiennych
wejściowych
• 125 kategoryzujących zmiennych
wejściowych
• 125 binarnych zmiennych wejściowych
• 1 binarna zmienna objaśniana
Obciążenie w tle
(ETL w Map Reduce)
• 1 milion rekordów
• 3.05GB danych
• 200 przedziałowych zmiennych
wejściowych
• 100 kategoryzujących zmiennych
wejściowych
• 100 binarny zmiennych wejściowych
• 1 binarna zmienna objaśniana
Konfiguracja Systemu:
Osiem wirtualnych węzłów w ramach VMWare ESXi 5.5.0
vCPU: Intel Xeon CPU E7-4880 v2 , 2.50GHz (8 core na węzeł)
Memory: 64GB RAM (na węzeł), razem 512GB
Storage: XIV version 11.4.1a with 5TB storage
Network: 10GB Ethernet (na każdym węźle)
Węzeł EM
SAS High-
Performance Data
Mining
SAS High-
Performance Data
Mining i zadania w tle
Input Data Source Files 00:03:25 00:04:39
HP Explore 00:01:12 00:01:43
HP Partition 00:01:43 00:03:08
HP Impute 00:01:22 00:01:41
HP Variable Selection 00:03:29 00:04:33
HP Transform 00:00:54 00:00:54
HP Regression: Forward 00:02:05 00:02:22
HP Regression: Stepwise 00:02:02 00:02:07
HP Neural 00:02:25 00:02:13
HP Tree 00:02:04 00:02:06
Model Comparison 00:00:02 00:00:02
Total (flow) Run Time 00:20:30 00:24:58
High Performance Data MiningCzy jest sens na PC?
Analiza Procedura Czas procedury Czas węzła
Regresja logistyczna Proc dmreg
Proc hplogistic
1:16 (cpu 1:16)
0:24 (cpu 1:10)
2m 31 s
1m 32 s
Drzewo decyzyjne Proc arbor
Proc hpsplit
1:56 (cpu 1:56)
0:41 (cpu 2:23)
2m 20 s
1m 09 s
Sieć neuronowa Proc neural
Proc hpneural
35:37 (cpu 35:27)
2:12 (cpu 4:35)
37 m
4m 7s
Data Mining
Dane:
• 6 miliony rekordów
• 625 MB
Konfiguracja Systemu:
Pojedynczy PC z Windows 64-bit
CPU: 4 Core+Hyper Threading
Memory: 64GB RAM
SAS® High-Performance Data Mining Co jest potrzebne?
Client Environment
(SAS 9.4)
• Windows x64 (64-bit)
• Linux x64 (64-bit): Novell SuSE; RHEL; OEL
• IBM AIX (64-bit)
• HP/UX on Itanium (64-bit)
• Solaris x64 (64-bit), Solaris on SPARC (64-bit)
SAS Software• SAS Enterprise Miner (Licencjonowany Odrębnie)
• SAS/ACCESS Engine
Server Environment• Linux x64 (64-bit): Novell SuSE 11 SP1;
• RHEL 6.1; OEL 6.1
Serwer obliczeniowy in-memory zaprojektowany specjalnie dla potrzeb interaktywnej zaawansowanej analityki i wizualizacji danych
Najważniejsze założenia architektoniczne
Dane In-Memory
» Dane dystrybuowane w całym klastrze - partycjonowanie
» Pozwala na szybką analizę danych dla algorytmów wieloprzebiegowe (multipass)
» Współdzielony dostęp do danych dla wielu procesów
Hybrid Distributed Computing Model
» Wykorzystanie wielowątkowości (thread level)
» Wykorzystanie wielu węzłów (node level)
» Algorytmy równoległe „świadome” rozłożenia jednostek pracy (maszyna i jej rdzenie)
Wbudowane algorytmy zaawansowanej analityki, dziedzictwo 38lat rozwoju narzędzi SAS. Regresja logistyczna nie zawsze znaczy to samo
2 miliardy kolumn
Multi-User = Setki jednoczesnych użytkowników
Stateless = nie ma potrzeby wyliczeń a-priori
MPP (w tym w środowisku Hadoop) lub SMP (pojedyncza maszyna)
SAS® LASR Analytics Server
RAM
CPU CPU
Data Manipulation• SAS Data Step
• BALANCE
• COLUMINFO
• COMPUTE
• DELETEROWS
• DISTINCT
• DROPTABLE
• FETCH
• GROUPBY
• PARTITION
• PROMOTE
• PURGETEMPTABLES
• SET
• TABLE
• TRANSFORM
• UPDATE
Data Exploration/
Visualization• BOXPLOT
• CORR
• CROSSTAB
• CONTOURPLOT
• DISTRIBUTIONINFO
• FREQUENCY
• HISTOGRAM
• HYPERGROUP
• KDE
• REPLAY
• SUMMARY
Deployment/
Miscellaneous• EXTERNAL (C API)
• FREE
• SAVE
• STORE
• SCORE
Predictive Modeling• DECISIONTREE
• FORECAST
• LOGISTIC
• GENMODEL
• GLM
• RANDOMWOODS
• ASSESMENT
• ARM
• NEURAL
• OPTIMIZE
Descriptive Modeling• CLUSTER
• SVD
Recommender• CLUSTER
• KNN
• ASSOCIATIONS
• SVD
Text Analytics• PARSING
• SVD
Data ManipulationExploration / Visualization
Modeling Deployment
SAS® LASR Analytics Server Funkcje silnika (tzw. Akcje)
SAS® LASR Analytics Server
Jak korzystamy?
Klaster MPP
LASR Server MasterNode
LASR Server WorkerNode
LASR Server WorkerNode
LASR Server WorkerNode
Visual Analytics Visual Statistics In-Memory Statistics
In-Memory Statistics (SAS® LASR Server) Przykłady wydajności
ZadanieCzas
(sec)
Akcja PROC
IMSTAT
Statystyki opisowe dla jednej zmiennej numerycznej (n, min, max, mean, std) 0.03 summary
Mediana i decyle dla jednej zmiennej numerycznej 0.11 percentile
Rozkład częstości dla jednej zmiennej tekstowej 0.03 frequency
Regresja liniowa dla 1 ilościowej zmiennej objaśnianej oraz 20 predyktorów
ilościowych wraz z kodem skoringowym 2.43 glm
Regresja liniowa dla 1 ilościowej zmiennej objaśnianej oraz 10 predyktorów
ilościowych i 10 jakościowych 0.55 glm
Regresja logistyczna dla 1 binarnej zmiennej objaśnianej oraz 20 predyktorów
ilościowych 1.10 logistic
Uogólniony model liniowy dla ilościowej zmiennej objaśnianej , 20 predyktorów
ilościowych, rozkład gamma 5.49 genmodel
k-means clustering dla 20 aktywnych zmiennych 0.64 cluster
k-means clustering dla 100 aktywnych zmiennych 2.18 cluster
Konfiguracja Systemu:
CPU: 4 x 4 rdzenie
Dane (Modelowanie):
• 5 000 175 rekordów
• 134 zmienne
• Łącznie wszystkie zadania
12.56s
Skoring:
• 50 milionów rekordów
• Regresja liniowa
• 1.34 s
LASR Server i SAS® High-Performance
Możliwe architektury w relacji do klastra Hadoop
DEDYKOWANY KLASTER DLA LASR/HPA SERVER
• Węzły LASR/HPA zainstalowane poza węzłami klastra Hadoop
• Przetwarzanie Hadoop separowane od przetwarzania LASR
• Asymetryczna architektura ładowania danych, z wykorzystaniem
SAS Embedded Process lub tzw. Front Loading
HadoopNode
HadoopNode
HadoopNode
HadoopNode
LASR Node
LASR Node
LASR Node
LASR Node
HadoopNode
LASR Node
HadoopNode
HadoopNode
HadoopNode
HadoopNode
LASR Node
LASR Node
LASR Node
Network
EP EP EP EP EP
HadoopNode
HadoopNode
HadoopNode
HadoopNode
HadoopNode
LASR Node
LASR Node
LASR Node
LASR Node
HadoopNode
EP EP EP EP EPEP
ASYMETRYCZNY KLASTER WSPÓŁDZIELONY
• Węzły LASR/HPA zainstalowane na wybranych węzłach klastra Hadoop
• Konfiguracja klastra musi uwzględniać potencjalne konkurowanie o zasoby
(np. wykorzystując YARN)
• Asymetryczna architektura ładowania danych, z wykorzystaniem
SAS Embedded Process
SYMETRYCZNY KLASTER WSPÓŁDZIELONY
• Węzły LASR/HPA zainstalowane na wszystkich węzłach klastra Hadoop
• Konfiguracja klastra musi uwzględniać potencjalne konkurowanie o zasoby
(np. wykorzystując YARN)
• Możliwa symetryczna (kolokowana) architektura dla ładowania danych z
wykorzystaniem formatu SASHDAT
LASR Server i SAS® High-Performance
Inne wspierane architektury sprzętowe
• Teradata 720 appliance połączony do Teradata Database
Teradata
• Pivotal (Greenplum) Data Compute Appliance połączony do Greenplum Database
EMC Pivotal
• Oracle Exalogic/Big Data Appliance/Commodity połączony do Exadata Database (Linux)
Oracle
A co z wydajnością w innych aspektach?
Aspekt Rozwiązania/technologie SAS
Wydajność obliczeń
Integracja Danych • SAS Data Loader for Hadoop
• SAS Data Management
Skoring • Rodzina SAS® Scoring Accelerator
• SAS Event Stream Processing
Wydajność procesu
Modelowanie „masowe” • SAS® Factory Miner
Przekazanie na produkcję • SAS® Model Manager
• SAS® Decision Manager
Zarządzanie modelami • SAS® Model Manager
• Agenda
• Informacje o
prezentacjach i
prelegentach
• Możliwość oceny
prezentacji
Dziękuję za uwagę
SAS®
High-Performance
Data Mining 13.2
CORE CAPABILITIES
Data summarization
High-performance DS2
High-performance data mining database
Correlation
Sampling
Binning
Imputation
SAS®
High-Performance
Data Mining 13.2
SAS® HIGH-PERFORMANCE STATISTICS
Logistic regression and model selection
Linear regression and model selection
Nonlinear regression
Partial least squares
Quantile regression analysis
Generalized linear modeling and model selection
Decision trees
Finite mixture models
Principal components analysis
Canonical discriminant analysis
SAS®
High-Performance
Data Mining 13.2
SAS® HIGH-PERFORMANCE DATA MINING
Variable reduction
Time series dimensional reduction
Neural networks
Random forests
Random forest scoring
Decisions
Bayesian network
Clustering
Support vector machines
SAS® High-Performance Data Mining 13.2
Champion models are automatically selected using selectable criteria:
Kolmogorov-Smirnnov.
Lift and cumulative lift.
Gain and cumulative gain.
Misclassification rate.
Percent captured event.
Average percent captured event.
Average square error.
SAS® High-Performance Data Mining 13.2
Bayesian Network Model
A Bayesian network is a directed acyclic graphical model in which nodes represent random variables and
the links between nodes represent conditional dependency of the random variables.
Features:
structure learning through efficient local learning algorithms
efficient variable selection through independence tests
automatic selection of the best parameters by using a validation data subset
learning of different types of Bayesian network structures
handling of both nominal and interval input variables
binning of the interval input variables
handling of missing values
multithreading during the training and scoring phases
SAS® High-Performance Data Mining 13.2
Decision Tree Model
Splitting criteria:
CHAID
Chi-square
Entropy
Fast CHAID
Gini
Information Gain Ratio
F Test
Variance
Subtree methods:
Assessment
C4.5
Cost-complexity
SAS in-database
EMBEDDED PROCESS. CO TO JEST? EP udostępnia run-time SAS (tzw. TK) w „platformach MPP”
Wykonuje program w języku SAS DS2
Implementacja specyficzna (zoptymalizowana) dla danego środowiska MPP (skalowalność taka jak środowiska)
Wykorzystuje rozproszoną architekturę Hadoop (Map-Reduce) lub mechanizmy platformy MPP (integracja poprzez Table Function UDF) dla optymalizacji i przetwarzania równoległego
Jest zarządzany przez mechanizm workload management platformy MPP(np. przez YARN – jak każda aplikacja M-R)
W środowisku Hadoop wykorzystuje Hive, HCatalog oraz natywny dostęp do HDFS aby zapisywać/odczytywać dane (Avro, ORC, Parquet, RCFile, sequence, binary, delimited, XML)
W środowisku MPP RDBMS korzysta z wewnętrznej komunikacji bazy do odczytu/zapisu danych, wykorzystuje mechanizmy optymalizacji platformy (np. Degree of Parelelism w Oracle Exadata)
Oprócz Hadoop EP jest
dostępny również w
środowiskach MPP:
• IBM DB2
• Pivotal Greenplum
• SAP HANA
• IBM Netezza
• Oracle
• Teradata
Capabilities of SAS®
In-memory StatisticsData Manipulation
• Aggregate
• Compute
• Update
• Append
• Set
• Schema
• DeleteRows
• DropTables
• PurgeTempTables
Data Exploration
• Boxplot
• Corr
• Crosstab
• Distinct
• Fetch
• Frequency
• Histogram
• KDE
• MDSummary
• Percentile
• Summary
• TopK
Descriptive Modeling
• Association
• Path Analysis
• Clustering (k-means)
• Clustering (DBSCAN)
Evaluation, Deployment
• Assess
Misclassification matrix
Lift, ROC, Concordance
• Score
• Training / Validation
Modeling
Model Evaluation
& Deployment
ANALYTICAL
LIFE CYCLE
Utilities
• Where
• GroupBy
• TableInfo, ColumnInfo, ServerInfo
• Partition, Balance
• Store, Replay, Free
• Table, Promote
Text Analytics
• Parsing
• SVD
• Topic generation
• Document projection
Recommendation Systems
• Association
• Clustering
• kNN
• SVD
• Ensemble
Predictive Modeling
• Decision Tree
• Forecast
• Gen Linear Model
• Linear Regression
• Logistic Regression
• Random Forests
• Neural Networks
HDFS I/O
• Sasiola
• Sashdat
• Anyfile Reader
TEXT
PREPARE
DATA EX
PL
OR
E
DA
TA
DEVELOP
MODELS
SC
OR
E
SAS Model Manager or
SAS Program Interface
SAS
Embedded
Process
SAS® Enterprise
Miner™
Model Publish
Database
DS2 Program Published
SAS Scoring Code or Model Package Generated
SQL query
used to run the
SAS Program
Registered
DS2
Program
SAS/Access®
Interface
Registered
SAS
Formats
SAS/STAT®
Model
SAS Model Manager
Publish
SAS Scoring Code or ItemstoreGenerated
Database Systems Supported (EP Publishing):
Teradata, DB2, IBM Netezza, Aster Data, Oracle, SAP HANA, Hadoop & Pivotal (previously Greenplum)
SAS®
Scoring
Accelerator
EMBEDDED PROCESSING (EP)
MODEL PUBLISHING METHOD
SAS®
Scoring
Accelerator WYDAJNOŚĆ
Recommended