From 16a61004da780fb1025ea7d537e425403d6ce465 Mon Sep 17 00:00:00 2001 From: Yi Wang Date: Wed, 13 Dec 2017 16:47:24 -0800 Subject: [PATCH] Add fluid.md (#6547) * Add fluid.md * in response to comments from Tony and Abhinav --- doc/design/fluid-compiler.graffle | Bin 0 -> 3405 bytes doc/design/fluid-compiler.png | Bin 0 -> 124118 bytes doc/design/fluid.md | 122 ++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 doc/design/fluid-compiler.graffle create mode 100644 doc/design/fluid-compiler.png create mode 100644 doc/design/fluid.md diff --git a/doc/design/fluid-compiler.graffle b/doc/design/fluid-compiler.graffle new file mode 100644 index 0000000000000000000000000000000000000000..c933df2cb855462c52b2d25f7f9a99b95652961d GIT binary patch literal 3405 zcmV-T4YKkdiwFP!000030PS5{bK*D_e(wAVZ(eqHCILyl_hd3fZk_a`lT65EyNjwV zVFY+%Y}z)tbXWiPm27;s38BLfKzWF5bR-?i=lgUdAIUp^JPs`3p17Xr*uQVW8rT$w zZ8#m%?)|=beRZ_0ZT_*lvGb3E^Zl#O7l*>oGCg0oxZXQG*%vmq>-ENPXpwsT;OaoQ zI6Y}z3ABuQ{qSs4*zEiM@O{1h@bFN>OsZx$119LzFI;CxT>t5m7Pd_@)H;4=lU5U! zo>7PX+A$4(cjMj89eLVq7`}N=PVp0QPwWnP+^Mr)X`*TSq(|Icuv3ptqb#&;)4)D0 z@+K@f&V*eTvy*o_p6}9I-lZDWoPlljTxT?_ozt@qF79?MqU_YiA}ML8=rtr#^^vM5 z3QCFW)T5$96-K_(==^Ww`Ek|0J0kTceGeOVtV+8>s~h%BBNiLq`&f)gcu`uc#`o`F zO8`H%gzr$6^eq8GQT*{EqcF>{Z(*;Px#?JDQfn^D$w49?wJJ(Ca46RFpDdC{MmmRy zv`FVJNlhh(=?5-;NYqLcJ3CLSLt8X%is&pk3ER*kUmRyJg+=UR`yPAeuGupaTZkGn zXv_4YOmZ~MZ=@ifYV$%a#~KanhGq8bf>yAoRUq9QVuKbD%ew?yyCOBe;3N{I7tEdy zuwPIJ0jO?6v<*c8!1oe-FKfcDfc_Pcha}?s%7UW=5@+WpR$a(rBCa{u#p_L^5g_j^SXIBr7ny@J4NR4Zz0tR@bq8ziqX;pw+cadNlgj^@tCIV`AMC zpLSTgxRKB+IRyONh-*+SZ8BV<7cQi#!f7?J+yCJpH}ZAzdH0 zRRlI#L+o~ff6-5^uLisJ&0gOpb{89zEWpM_pp+*fp=ES|@afM}!FTDM4Jpvw9~G1x zHqkAGM$x9TPas9})8iH~+)5CJxK)=Ow<5?N|%!=2xbckWiK4h z^ixAP_Iogh1vOdKL?BXE4Jn!mbXAUrw^8Ox#}7uh>9J$FN{~}McfUVLy7>p4ktli8 z@r`M+q*GWZx+EfciyBPdSlNSrQBHS;oEhroUBsK|B3J?hC`@1{EP);?`;M03^@vSe z({Ow3mLahzo$P^iFF~K;KgtTA{~<)dLDAR&At^X$fE`3J5E1o2M3Mp#83ZCUH#;aW z5K&mq#L6{Y8~Y;{TT}E?NO&Olo^%9?QfH2RR7E$!Sgf)W*{2WEb*u}A>XyzMPZ^~w z1xh0A)l}-FDnD{YSv6t!E;ai*b=SfqN-Q)2dV=?;kEqzRI=f&Kv zPG;KDo<#yBJttrxYP#~eo7T0yXN~qBE&-4U~Wxzf1%_P~5CVDUMF8$CNuA5OZ z*5QbDWF$&1`VFU~hmEI9#xAzJYy}J}xo);%nmXZCY+98%f$7Pc7V}bjL}HaaE{-Ea zY0ME|O*ulDfg?oy=Q%=D^lFX(RYII2R-Gfz+v5lnOj09BTu+LC;w)|ioRuP^@Le9P z_90XVx%;qw)BxWiHOOo3KFG7U585lZ4^XaZaXRGJVkyK)V!iwa_+pZ%o-5ZCP?N*K zYWRj)UG^8$g((64nv1{YdhOR-AI`3Yo?$HH^_DKH5%-6|V9K(;m@bUaIb=CxUmLO~ z)W9skTo`Ec;UoYoJ8ET)T8`Q|qxS6PWbG?z|K~9!cCfGP>p7ua6<}fe_fwA-^Qon*KWQIzPCU=D%9AN z+%||WR+lUES*T+6xp`4$?XRKsYOr-iCslULoV zow;WU7=r%Ex&kDH;(h9#X_}nw3^~&+#9j6>w@Q6`LwpskZNNU7CDINlvoc?K9Nkm_ z{d_RL>Vx?=7^^QyYa3@*9Tq)_8RVa0h6xe+6TolyBxdggoWs5C1b5I~sNK_T}k<`6~cUx0+m4sXEW&Efr);2nG~a-sNUOYX!l`VZ+#j&F^_n>*ffcD$V- zaWPF042B7^7}O%5#;AqMK3?V<)^pU(8?^ygg~LZ;jA-&gFss7oQxmi?gU>IsC{J~X zfy=k8=fIseaQ!|JhPczQh|t;?x=zoWj3OiNMD`Ixt zc40?zm_y_Hmvb6ghdssvE^Pf%N1pJ(^!uZ>;F94p8;-N*bzxzH3`ja$G{IvAj&bfJ zC^9JJgKKuuG!QrJ|Z3X7Yj#@?z+eyEq}M4XEHg?JfKy46{7;F%bWgkl~fnG;m6bIG{2Nro>Og zO=^yVQF9#>yYc6Gw@~s74@gOTGpj~`Mez%IIjz&!v`m9|)2VS|l80xDtui>Otuykg zO|D^^1MHK60p)somTH);;e0af1Jg@xa~%4d+M+v=Z4!z^ocWeVMBX4LZv|=|+P(B= zL?T@}j$cs5CfIja`0OdMdw#!A0UGZij&uzm5wUF%GZhB;U!b7>;0(>F8MZypt=pwHWUQ_-^<#2fP`OJ z%N6Ph3QA!$GDK6j#da?*e&+aO`WrcSO-ieorY&dINSYeT)P*xf+M`eB&YMD(fw&qj zXU#pw_npBf>{1O9D@aAYkIU;?4)(KP9-m7v3*3aL!Wxbp*Zk(#*rIxycFx?26&X&4 z@pwr^dkz0v=lG-b`4$55pFQi#$+6Rr{@VNNq4BNLKEu*(juRG`0@Jqja zd}B3e`u?GOb%j2D{c?K-8Yj1hjpkP>bM$CE?0=Z7{wW=n{7myOE}2yR1sw;tnFSan z#TN(Pk$h?;a(Be^q0dIi_saB(M6{3Xd+cRA zg)ql}`lo>!%#{rNtA^p5_tUsnL1xwiW7{Av%zJH{Uq>VvO-{J`YmXe-zUfYC_M37~ zuSnOorcH-i)ug&Va$VXIK}#m4R317QWH=m;K>iyxamtZOI=}I>fSdN=QZED)jV(XX z*<=I)ibyYzs%57mVwXHKuaK+~iqkJgR%#_tUVuKLHhwPo*6gI6m}J+flDns{Yg)K{ zOc=g%j)*Ac{FZSic}aR1_KF)KSV0%8!I9XM3>3wZM)=}5gS^L=tA~l)U^-6pO39#P j!C47B-j$SI_EVaQ3bc_NhZe=j?#BNCVJ-kgRI300VN{3* literal 0 HcmV?d00001 diff --git a/doc/design/fluid-compiler.png b/doc/design/fluid-compiler.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0ffed2039c91a3a00bbb719da08c91c3acf7bb GIT binary patch literal 124118 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�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 aV$2ip-0sZfdzJxzh{N88D!&Z*{{I2&Ho|WJ literal 0 HcmV?d00001 diff --git a/doc/design/fluid.md b/doc/design/fluid.md new file mode 100644 index 0000000000..b3d039d6db --- /dev/null +++ b/doc/design/fluid.md @@ -0,0 +1,122 @@ +# Design Doc: PaddlePaddle Fluid + +## Why Fluid + +When Baidu developed PaddlePaddle in 2013, the only well-known open source deep learning system was Caffe. However, when it open-sourced PaddlePaddle in 2016, there had been many other choices over there. We were facing a challenge -- why would we open source yet another one? + +Fluid is the answer. Fluid is similar to PyTorch and TensorFlow Eager Execution, which describes the "process" of training or inference a model, but not the model itself. Indeed, in PyTorch, Eager Execution, and Fluid, there is no such a concept of the model at all. I will explain in this article, Fluid is currently more extreme in this idea than PyTorch and Eager Execution, and we are pushing Fluid towards a compiler and even a new programming language for deep learning + +## The Evolution of Deep Learning Systems + +Deep learning infrastructure is one of the fastest involving technology. Within only four years, there have been three generations of technologies invented. + +| Since around | model = sequence of layers | model = graph of operators | No model | +|--|--|--|--| +| 2013 | Caffe, Theano, Torch, PaddlePaddle | | | +| 2015 | | TensorFlow, MxNet, Caffe2, ONNX, n-graph | | +| 2016 | | | PyTorch, TensorFlow Eager Execution, PaddlePaddle Fluid | + +From the above table, we see that the technology is evolving towards the removal of the concept of the model. To better understand the reason, let us compare the *programming paradigms*, or, the ways we program deep learning applications using these systems. + +## Deep Learning Programming Paradigms + +With any system listed as the first or second generation, e.g., Caffe or TensorFlow, an AI application training program looks like the following: + +```python +x = layer.data("image") +l = layer.data("label") +f = layer.fc(x, W) +s = layer.softmax(f) +c = layer.mse(l, s) + +for i in xrange(1000): # train for 1000 iterations + m = read_minibatch() + forward({input=x, data=m}, minimize=c) + backward(...) + +print W # print the trained model parameters. +``` + +The above program includes two parts: + +1. the first part describes the model, and +2. the second part describes the training process (or inference process). + +This paradigm has a well-known problem that limits programmers' productivity. Suppose that we made some mistakes at configuring the model in the first part of the program, when we run the program, it wouldn't prompt error messages until the execution enters the second part, when the invocation to `forward` or `backward` raise errors. It is difficult for the programmer to realize and locate that there is a mistake many lines away from where the error appears. + +This problem of hard to debug a program is the primary reason that programmers prefer PyTorch than elder systems. Using PyTorch, we would write the above program like the following + +```python +W = tensor(...) + +for i in xrange(1000): # train for 1000 iterations + m = read_minibatch() + x = m["image"] + l = m["label"] + f = layer.fc(x, W) + s = layer.softmax(f) + c = layer.mse(l, s) + backward() + +print W # print the trained model parameters. +``` + +We can see that the main difference is the moving of the model configuration, the first part, into the train loop. This change would allow that mistakes in model configuration reported where they appear. This change also represents the model, or its forward pass, by the process in the training loop. + +## Describe Arbitrary Models for the Future + +Describing the process instead of the model also brings Fluid the flexibility to define models not yet invented. + +As we can program the process, we can write an RNN as a loop, instead of an RNN layer or operator. A PyTorch example could look like + +```python +for i in xrange(1000): + m = read_minibatch() + x = m["sentence"] + for t in xrange x.len(): + h[t] = the_step(x[t]) +``` + +With Fluid, the training loop and the RNN in the above program are not Python loop, but a "loop structure" provided by Fluid and implemented in C++: + +```python +train_loop = layers.While(cond) +with train_loop.block(): + m = read_minibatch() + x = m["sentence"] + rnn = layers.While(...) + with rnn.block(): + h[t] = the_step(input[t]) +``` + +A real Fluid example is [here](https://github.com/PaddlePaddle/Paddle/blob/a91efdde6910ce92a78e3aa7157412c4c88d9ee8/python/paddle/v2/fluid/tests/test_while_op.py#L36-L44). + +From these examples, you can see that Fluid programs look similar to their PyTorch equivalent, except that Fluid's loop structure, wrapped with Python's `with` statement, could run much faster than Python's loop. + +We have more examples of the [`if-then-else`](https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/if_else_op.md) structure of Fluid. + +## Turing Completeness + +In computability theory, a system of data-manipulation rules, such as a programming language, is said to be Turing complete if it can be used to simulate any Turing machine. For a programming language, if it provides if-then-else and loop, it is Turing complete. From above examples, Fluid seems Turing complete; however, I would like to point out is a slight difference between the if-then-else of Fluid and that in a programming language is that the former runs both of its branches. It splits the input minibatch into two -- one for the true condition and one for the false. I am not sure if this is equivalent to the if-then-else that makes programming languages Turing-complete. I talked with [Yuang Yu](https://research.google.com/pubs/104812.html), but I need to figure out more. + +## The Execution of a Fluid Program + +There are two ways to run a Fluid program. When we run an example program, it creates a protobuf message [`ProgramDesc`](https://github.com/PaddlePaddle/Paddle/blob/a91efdde6910ce92a78e3aa7157412c4c88d9ee8/paddle/framework/framework.proto#L145) that describes the process and conceptually likes an [abstract syntax tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree). + +We have a C++ class [`Executor`](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/framework/executor.h), which runs a `ProgramDesc` like that an interpreter runs a Python program. + +We are moving towards a compiler, which we will explain in more details later in this article. + +## Backward Compatibility + +Given all advantages from the removal of the concept *model*, hardware manufacturers might still prefer the existence of the concept model, so they could build their hardware reads and runs a trained model for inference. For example, Nervana, a startup company acquired by Intel, has been working on an XPU that reads models in the format known as [n-graph](https://github.com/NervanaSystems/ngraph). Similarly, [Movidius](https://www.movidius.com/) is producing a mobile deep learning chip that reads and runs graphs of operators too. The well-known [ONNX](https://github.com/onnx/onnx) is also a file format of graphs of operators. + +For Fluid, we can write a converter that extracts parts in the `ProgramDesc` protobuf message, converts them into a graph of operators, and exports into the ONNX or n-graph format. + +## Towards a Deep Learning Language and the Compiler + +We can change the if-then-else and loop structure a little bit in the above Fluid example programs so to make it a new programming language, different from Python. + +Even if we don't invent a new language, as long as we get the `ProgramDesc` message filled in, we can write a transpiler, which translates each invocation to an operator into a C++ call to a kernel function of that operator. For example, a transpiler that weaves the CUDA kernels outputs an NVIDIA-friendly C++ program, which can be built using `nvcc`. Another transpiler could generate MKL-friendly code that should be built using `icc` from Intel. More interestingly, we can translate a Fluid program into its distributed version of two `ProgramDesc` messages, one for running on the trainer process, and the other one for the parameter server. For more details of the last example, let us check the [concurrent programming design](concurrent_programming.md). The following figure explains this two-stage process: + +![](fluid-compiler.png) -- GitLab