Professional Documents
Culture Documents
InfoQ
PaddlePaddle Angel
TalkingData Fregata
2
Tensorflow
Tensorflow
Deeplearning4j
InfoQ
editors@cn.infoq.com
InfoQ Tina
05 TensorFlow Kubernetes
13 PaddlePaddle
25
53 Fregata
67 Twitter
83
95
4
TensorFlow Kubernetes
1 0
Imagenet
ImageNet 1500
2012 25%
2012 ImageNet
16%
5.1%
TensorFlow
TensorFlow 11
AlphaGo DeepMind
TensorFlow TensorFlow
CPUGPU TensorFlow
TensorFlow RankBrain
CMU TensorFlow
8
ppt TensorFlow
TensorFlow Python
Tensor
session
TensorFlow
TensorFlow tf.
Variable
output
TensorFlow TFLearn
TensorFlow TensorFlow
TensorFlow
TensorFlow
9
2015 Inception-v3
50
Inception-v3 78% 5
95%
TensorFlow on Kubernetes
Kubernetes
10
TensorFlow
TensorFlow
In-graph replication
TensorFlow Between-
graph replication
In-graph replication
Between-graph replication
TensorFlow
Hadoop
11
YarnHDFS mapreduce TensorFlow
Hadoop Mapreduce
Kubernetes Kubernetes
TensorFlow
TensorFlow
2013
Spark
12
PaddlePaddle
PaddlePaddle (IDL)
PaddlePaddle
10 Github
AI
PaddlePaddle
PaddlePaddle
PaddlePaddle
13
30 PaddlePaddle
1.
PaddlePaddle
14
0 3
10 40
PaddlePaddle
SVM
x1-x5 w1-w5 y
15
y
x w
DNA
16
y y z y z
y x
17
AlphaGo
AI AI
2. PaddlePaddle
PaddlePaddle
GPU
layer
Paddle2013
Pserver Trainer
Pserver
Trainer
Pserver
18
Pserver
PServer Trainer
PServer Trainer
PServer
Trainer Pserver
Trainer mini-
batch Parmeterserver
SGD
19
PServer
PServer PServer
Paddle
PServer
PServer
20
0 0 SGD
PServer
PaddlePaddle
Trainer
200G
server
SGD 0
L2
L2 PServer
21
Trainer PServer
2013 PServer
P2P P2P
NodeA A
B C
NodeA A0 B0
NodeB B1 C1
theta1theta2theta3
Pserver
22
23
SGD SGD
SGD
PaddlePaddle GPU
caffe GPU
GPU
24
GPU GPU SGD
GPU CPU
GPU PaddlePaddle
GPU
P2P CPU
25
PaddlePaddle
sequenceorder
PaddlePaddle
sequence PaddlePaddle
GatherLayer
sequence
Memory
26
Memory Memory Memory
GPU (SPMD)
Sepuence
Sepuence Pading 0
PaddlePaddle
27
PaddlePaddle Padding
3. PaddlePaddle
OP
OP TensorFlow
Layercaffe
PaddlePaddle Layer OP (
) layer LSTM
OP LSTM
Layer
PaddlePaddle LSTM
PaddlePaddle MPI
PaddlePaddle
PaddlePaddle
28
RDMA PaddlePaddle
GPU
PaddlePaddle
PaddlePaddle
PaddlePaddle
1.
github
256
2828
PaddlePaddle Python
PaddlePaddle
pixel labelPaddlePaddle
29
2.
demo PaddlePaddle
embedding_
layer LSTM
30
demo
APP
Code
Code
APP
PaddlePaddle
PaddlePaddle demo
31
demo
Github IM
PaddlePaddle demo
PaddlePaddle 9
PaddlePaddle
Github PaddlePaddle
Github Github
32
Github
Bug Issue
paddle-dev
1 PaddlePaddle
PaddlePaddle RNN
RNN RNN
Sepuence
2PaddlePaddle
PaddlePaddle
ARM
3 PaddlePaddle
33
4 FPGA
FPGA
FPGA
PaddlePaddle
15
34
AI
60
20 60
TB
20 GB
= +
VC VC 1960 1990
35
Vapnik Chervonenkis VC
VC
VC
VC
VC
VC
2 64
36
ID
ID
MPIYarnMesos
GDBT
No Free Lunch
ETL
GDBT
GDBT
GDBT
HadoopSpark ETL
ETL
37
ETL
overhead
ETL
ETL
ETL
ETL
ETL
GDBT
GDBT
GPU
FPGA
GDBT
38
GDBT
overheadGDBT
, ETL ,
, ,
, ,
GDBT ,
( MPI Broadcast
AllReduceGatherScatter ) ,
Parameter Server
, ,
, ,
GDBT ,
39
GDBT , ,
GDBT Key-Value
, , ,
GDBT
GDBT
DAG
GDBT
GDBT
GDBT
GDBT
pattern
GDBT
GDBT
GDBT
Tensorflow
40
GDBT
GDBT
C++ JVM
CPU GPU
GC
C++
C++ JVM-Based
PS Spark
C++
41
API
42
1.
DAG SQL/
PySpark/
DAG
AWS
IDC
SSD
SSD
API alluxio
tachyonalluxio
43
GDBT alluxio
SSD
DataManager
Datamanager DAG
URI
2.
Schema
SQL
DAG
44
GDBT GDBT
3.
DAG
DAG
API
QPS
Cannon KV T
GDBT
45
ACM
AI
Q&A
Q1
focus
tensorflow
IO
Q2
46
GDBT
Q3 SVRG
batch/stochastic lbfgsFOBOS
RDAFTRLSVRGFrank-wolfe
Q4 bayes
bayesian
Q5
100%
Q6
parameter server
47
Tensorflow
benchmark tensorflow
Tensorslow Tensorflow
Tensorflow
GDBT
Q8GDBT
GDBT
Q9GDBT
GPU IO
Q10 GDBT
Q11 Spark
Prophet
case by case
case by case
48
AI
Prophet
Prophet GDBT
Technology TM Lamma
Prophet
Service
Spark MLLib
MLLib
Prophet AI
GDBT Spark
AI for everyonehttps://www.zhihu.com/
question/48743915#
Spark Spark
49
Q12
APP
10
Q13
NextParadigm
Q14
BAT
09
Q15
nn-
based NN feature
combination NN
FPGA GPU
FPGA
50
CPU
CPU
FPGA GPU
GPU
FPGA
FPGA GPU
FPGA GPU
FPGA
/ GPU
FPGA
FPGA
FPGAGPU
GPU GPU
FPGA
51
trinity FPGA
ELF
Angel
52
Fregata
[1]
53
IO IO
90%
Map Reduce
SSD
Map Reduce
Parameter Server[2]
54
Parameter Server
Parameter Server
Parameter Server
[3]
55
TalkingData
. Fregata
SGD
Softmax
IO
Logsitic Regression
56
IO
Hash
Trick
Fregata
. GSA
GSA , Fregata
(SGD) SGD
SGD
SGD
GSA
SGD
SGDAdadeltaSCSG(SVRG )
GSA
57
GSA
GSA
softmax
. GSASpark
GSA Spark
Spark
Spark BSP
58
Ensemble Learning
Parameter Server
Spark MLLib
Spark
Map Reuce
Rosenblatt[8]
Map
Map
Reduce
. FregataMLLib
Logistic
Regression Softmax
AUC
Fregata MLLib
AUC
59
Lookalike Fregata
Lookalike
Logistic Regression
Lookalike
class imblance (4
2 ) Lookalike Fregata LR
MLLib LR
4 Fregata LR AUC
0.93 MLLib LR
MLLib Fregata 6
MLLib LR 5
Fregata LR
MLLib LR 5 Fregata LR
60
MLLib LR Fregata LR 5
Fregata LR MLLib LR
Fregata LR AUC
MNIST Softmax 7
MLLib
61
Fregata Spark Fregata
4 Fregata Logistic
Regression 511412394
5 48 Executor
500 Executor
2G 800
. Fregata
Fregata
Fregata 3 Fregata
Maven pom.xml
<dependency>
<groupId>com.talkingdata.fregata</groupId>
<artifactId>core</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
62
<groupId>com.talkingdata.fregata</groupId>
<artifactId>spark</artifactId>
<version>0.0.1</version>
</dependency>
SBT build.sbt
// maven
// resolvers += Resolver.mavenLocal
libraryDependencies += "com.talkingdata.fregata" % "core" %
"0.0.1"
libraryDependencies += "com.talkingdata.fregata" % "spark"
% "0.0.1"
maven
1.
import fregata.spark.data.LibSvmReader
import fregata.spark.metrics.classification.{AreaUnderRoc,
Accuracy}
import fregata.spark.model.classification.LogisticRegression
import org.apache.spark.{SparkConf, SparkContext}
2. Fregata LibSvmReader
LibSvm [10]
63
val model = LogisticRegression.run(trainData)
4.
val pd = model.classPredict(testData)
5. Fregata
read()
breeze.linalg.Vector[Double]
// indices Array00
// values Array indices
// length Int
// label Double
sc.textFile(input).map{
val indicies = ...
val values = ...
val label = ...
...
(new SparseVector(indices, values, length).asInstanceOf[Vector],
asNum(label))
}
. Freagata
Fregata
Fregata 3
Fregata Spark
64
Fregata
Fregata
Spark
Fregata
LR
LR
IO
Fregata TalkingData
418km/ 1.5
2.3 Fregata
Fregata ,
65
Bradski, Andrew Y. Ng, Kunle Olukotun Map-Reduce for Machine
2. https://www.zhihu.com/question/48282030
3. https://github.com/TalkingData/Fregata
4. http://arxiv.org/abs/1611.03608
5. http://www.ibm.com/developerworks/cn/analytics/library/ba-
1603-random-decisiontree-algorithm-1/index.html
6. http://www.ibm.com/developerworks/cn/analytics/library/ba-
1603-random-decisiontree-algorithm-2/index.html
8. https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/
binary.html#epsilon
9. https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/
TalkingData 12
12 9 IBM
CRLKDD2015DSS2016
Dice
66
Twitter
1. Data Availability
slide
2. Computation Power
GPUTPU
67
computation power
computation power
Overfit
3. Development in Algorithms
push the
Scale
10 100 1000
68
10
Twitter Twitter
ads ranking
ads targeting
anti-spam
recommendation
moments ranking
trends
Twitter Twitter
10 trillion weights 10
Feature Space
TB
Twitter RealtimeTwitter
69
eventsvideostrends Twitter
NBA
traffic
1. Ads Ranking
Twitter 1 1
Twitter CPC
3. Recommendation
4. Anti-Spam
Abuse Detection Twitter
NSFW Detection
70
prototype
pipeline
pipeline
( Twitter )
feature
transform( )model( )
onboarding
client team
team
client team
client team
1.
71
2. workflow management
3. Online Serving
traffic
launch 100%
Binary
Continuous
Categorical
Text
SparseBinary
72
SparseContinuous
string
metadata feature
production scribe
storage
DataAPI
API
machine-learning task
20 30
Scala
FeatureSource
tweetTopic input
73
discretizer transform tweetTopic
hdfs database
Trainer
trainer trainer
regression learner
1.Vowpal Wabbit
John Langford C++ trainer
74
2.Lolly
Twitter JVM online learning trainer
libraries
PredictionEngine
PredictionEngine
Transform transform
feature vector
CrossCross
Cross
advertiser id id features
Cross effectively
personalized feature
Logistic Regression
Architecture
75
transform layer cross layer nonlinearity
logistic regression
PredictionEngine
1.
model collocationmodel collocation
tweet
tweet
pair
5 5 RPC call
5 prediction
2.CPUCost
tramsform
76
transform model Transform
cross
cross feature
cross cross
3. Training/Serving throughput
trainer update
update
GB
sharding 10
update
10 10 queue buffer 10
worker
training prediction
instance
training 1 instances
1 instances training
queue fanout
77
prediction service
2000
1 CPU level
Level failover
traffic failover
4. Realtime feedback
feedback
5. Fault tolerance
instances instances
78
snapshot instance
page 5
page on
call on call
Tooling
Auto
Hyper-parameter Tuning
learning-rate
Random Search
hyper-parameter
peformance
79
tooling
Insight Interpretation
tool
Work in Progress
1.
RMatlabScikit-Learn
Logistic Regression
torch
2. feeds
80
3. visualization interactive
exploration
Q&A
Twitter90%
Twitter 30%
Twitter business30%
1%2%
feature
business
30% CTO
share
81
open source
ads ranking
82
1 11.11
1 Ranking Model
83
algorithm -> ranking model
1 1
84
Context
Query
LTR
A/B Test 1
RankLib
LambdaMART( )
(Supervised Learning)
Decision Tree)
+ Lambda MART
LambdaMART
LambdaMART
85
2
queryp q productr-score p
query , query
1- 2- 3- 4- 5-
query
CTR
query-product
query
query_1 3 a, b c
b b a
query
position bias
2 6
86
Click
2,3,4,5,6,7,8
LTR Feature
2 1
2
1 Click
87
Query
Query Query
profile-based
HBase
LambdaMART
# Query
LambdaMART
p a i r
deltaNDCGlambda
lambdaL
88
3 LambdaMART
regression lambda
shrinkageregularization
RankLib
-train
4 LambdaMART
89
5 LambdaMART
-ranker6LambdaMART
-gmax45
{0,1,2,3,4}
-tvstrain
validation0.8:0.2
-normzscore
-metric2tERR@10
-treelambdamart1000
-leaflambdamart10
-shrinkagelambdamart0.1
-save
-save 5
90
-metric2T -score
query
LTR
A B A B 40
NDCG
4 AverageOverlapScore
LTR
PC+IOS+Android
PC PC
LambdaMART
1.
2. 1tvs
3. 2leaf
4. 3treeshrinkage
4 6 PO1 1-8PO2
9-16 8 LTR
91
3 A
4 B
92
6 4
2 4
Click
RankLib
MySQL
LTR
A/B Test
93
AA LTR
LTR 2
LTR
LTR_2 )
eBay Google
94
1180 7 1500
920
1200 1207
95
96
97
98
99
Box-Cax
100
ARIMA
ARIMA
101
xgboost
if-then
[0,10]
9 7
102
xgboost GBDT
2 1
103
1 2
104
SVM
margin
k ( k=10)
2 10
2 9
10
105
RMSE
20
106
72
72
72 ( )
107
6 1 ARIMA
45 xgboost
108
RMSE
109
110
111
web PC
5 1
RMSERMSE
112
InfoQ
2016
C 1607
InfoQ
editors@cn.infoq.com
www.infoq.com.cn
113