{"id":1020,"date":"2018-09-05T06:30:17","date_gmt":"2018-09-05T06:30:17","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2018\/09\/05\/democratizing-deep-learning-the-stanford-dawn-project\/"},"modified":"2018-09-05T06:30:17","modified_gmt":"2018-09-05T06:30:17","slug":"democratizing-deep-learning-the-stanford-dawn-project","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2018\/09\/05\/democratizing-deep-learning-the-stanford-dawn-project\/","title":{"rendered":"Democratizing Deep Learning \u2013 The Stanford Dawn Project"},"content":{"rendered":"<p>Author: William Vorhies<\/p>\n<div>\n<p><strong><em>Summary:<\/em><\/strong><em>\u00a0 How about we develop a ML platform that any domain expert can use to build a deep learning model without help from specialist data scientists, in a fraction of the time and cost.\u00a0 The good news is the folks at the Stanford DAWN project are hard at work on just such a platform and the initial results are extraordinary.<\/em><\/p>\n<p>\u00a0<\/p>\n<p><a href=\"http:\/\/api.ning.com\/files\/HXvFzcwS8brZr9gfdudbvC7nNMZJndSTrnjvQ-5*LKGwOj*eyY1PEp45A8ZgaUqxrLTujbYZ329YZy-CqmcqiRGRufd8hdyO\/StanfordDAWNlogo.png\" target=\"_self\"><img decoding=\"async\" src=\"http:\/\/api.ning.com\/files\/HXvFzcwS8brZr9gfdudbvC7nNMZJndSTrnjvQ-5*LKGwOj*eyY1PEp45A8ZgaUqxrLTujbYZ329YZy-CqmcqiRGRufd8hdyO\/StanfordDAWNlogo.png?width=200\" width=\"200\" class=\"align-right\"><\/a>Last week we wrote that sufficient labeled training data was the single <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/breaking-through-the-cost-barrier-to-deep-learning\"><em><u>greatest cost factor<\/u><\/em><\/a> holding back wide adoption of machine learning.\u00a0 I stand corrected.\u00a0 It may be the most expensive, but it\u2019s far from the only thing holding ML back.<\/p>\n<p>After examining the work of the Stanford DAWN project these researchers propose that literally all the steps in the development process from data acquisition, to feature extraction, to model training, and all the way to productionizing the model are all deeply flawed.\u00a0 Each contributes significantly to holding back adoption of machine learning.<\/p>\n<p>The <a href=\"https:\/\/dawn.cs.stanford.edu\/\"><em><u>Stanford DAWN project<\/u><\/em><\/a> (Data Analytics for What\u2019s Next) is a five year project started just about a year ago by four well known Stanford CS principal investigators Peter Bailis, Kunle Olukotun, Christopher Re, and Matei Zaharia, plus their post docs and Ph.D. students.\u00a0 Together in this team of about 30+ there are plenty of academic and start-up chops to go around.\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>What\u2019s Broken<\/strong><\/span><\/p>\n<p>What they say is wrong with the current process is pretty much what we all know.<\/p>\n<ol>\n<li>Training data is too limited and too expensive to create.<\/li>\n<li>Our algorithms are pretty much OK but it still takes a substantial team of specialist data scientists, data engineers, domain experts, and more supporting staff to get good results.<\/li>\n<li>And if the number and cost of the expert staff were not sufficiently deterring, our understanding of how to optimize for nodes, layers, and hyperparameters is still primitive. Plus it seems that the rules change based on the type of data being analyzed.<\/li>\n<li>Finally moving the models into production and keeping them updated is a final hurdle considering that the scoring created by the model can frequently only be achieved by continuing to use the same costly and complex architecture used for training.<\/li>\n<\/ol>\n<p>Despite the huge improvements in GPU\/TPU compute, most of that machine time is wasted in trial and error.\u00a0 Our development process is not up to our hardware.<\/p>\n<p>In short, it just takes too many people too darn long to create useful models, much less those that rise to the level of human performance.<\/p>\n<p>We\u2019ve said it before and the DAWN PIs say it too, this phase in our development looks a lot like the dawn of the PC with lots of lab-coated specialists hovering around, all needed to keep this very young technology alive.<\/p>\n<p>The major cloud providers along with everyone else understand this.\u00a0 The introduction of <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/transfer-learning-deep-learning-for-everyone\"><em><u>transfer learning<\/u><\/em><\/a> in the last year or so is a kind of stop gap that provides some simplification while reusing many of the very large and expensive pre-trained models they\u2019ve built.\u00a0<\/p>\n<p>Still, if we want to get from the earliest prototype PC to today\u2019s simple and reliable laptop, we\u2019ve got a lot of simplifying and standardizing to do.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>Measuring Success<\/strong><\/span><\/p>\n<p>As the DAWN team was setting out, like all good data scientists one of the first questions they faced was how to tell if they were actually making things better.\u00a0 They decided to focus on the measure: reducing the time and cost for the end-to-end ML workflow.\u00a0 So there are these design goals:<\/p>\n<ul>\n<li>Simplify, standardize, and optimize the end-to-end ML workflow.<\/li>\n<li>Empower domain experts to be able to build ML models without the need for data science ML experts.<\/li>\n<\/ul>\n<p>Interestingly, improving the accuracy of existing algorithms is not a goal.\u00a0 The DAWN PIs think that our existing algorithms are almost always good enough.\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>The Solution \u2013 At a High Level<\/strong><\/span><\/p>\n<p>The work done over the last year has created a group of open source applications, many of which have already been implemented by DAWN\u2019s commercial sponsors. At a high level, that group of solutions <a href=\"https:\/\/arxiv.org\/pdf\/1705.07538.pdf\"><em><u>looks like this<\/u><\/em><\/a>: (note all the graphics in this article are drawn directly from the DAWN project.)\u00a0<a href=\"http:\/\/api.ning.com\/files\/HXvFzcwS8bqsEiwt4zv48JWrcJMtXPkk23GW5jvW-wDqnsBcag1aCnJ7CV0qRSEfPTp93v0Et4p2nOF62lOHh1p2YOaCpVyZ\/DAWNstack.png\" target=\"_self\"><img decoding=\"async\" src=\"http:\/\/api.ning.com\/files\/HXvFzcwS8bqsEiwt4zv48JWrcJMtXPkk23GW5jvW-wDqnsBcag1aCnJ7CV0qRSEfPTp93v0Et4p2nOF62lOHh1p2YOaCpVyZ\/DAWNstack.png?width=500\" width=\"500\" class=\"align-center\"><\/a><\/p>\n<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>DAWNBench<\/strong><\/span><\/p>\n<p>The entire stack comprises DAWNBench which is the benchmark suite against which the team measures its progress to reduce end-to-end time, cost, and complexity.\u00a0 The DAWN team uses a reference set of common deep learning workloads, quantifying training time, training cost, inference latency, and inference cost across different optimization strategies, model architectures, software frameworks, clouds, and hardware.<\/p>\n<p>Here are some highlights of the major components.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>MacroBase<\/strong><\/span><\/p>\n<p>The problem with streaming data is that there is simply too much too fast.\u00a0 MacroBase is a new analytic engine specialized for one task, to find and explain unusual trends in data.\u00a0 In keeping with their design goals, MacroBase requires no ML expertise, uses general models and tunes them automatically, and can be incorporated directly into production environments.\u00a0 It\u2019s open source and available now on github.<\/p>\n<p><a href=\"http:\/\/api.ning.com\/files\/HXvFzcwS8brSXhsikMgg4zw7--SejcY9zMDRcA1bvDCLhE10*xx9rzkW45zJiF1u3Hgc95USJW2uBs-SU2902E-WvJfM-buY\/MacroBase.png\" target=\"_self\"><img decoding=\"async\" src=\"http:\/\/api.ning.com\/files\/HXvFzcwS8brSXhsikMgg4zw7--SejcY9zMDRcA1bvDCLhE10*xx9rzkW45zJiF1u3Hgc95USJW2uBs-SU2902E-WvJfM-buY\/MacroBase.png?width=400\" width=\"400\" class=\"align-center\"><\/a><\/p>\n<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>Weld:\u00a0 End to End Compilers<\/strong><\/span><\/p>\n<p><a href=\"http:\/\/api.ning.com\/files\/HXvFzcwS8bpEky5jIekQknjNuPFODeegJkgeqO6XhdVAqSrBmL0H--s-G084fRfCG7B2LF3SyJZ6iBbSf9rJnldDp*Xr6ryp\/Weld.png\" target=\"_self\"><img decoding=\"async\" src=\"http:\/\/api.ning.com\/files\/HXvFzcwS8bpEky5jIekQknjNuPFODeegJkgeqO6XhdVAqSrBmL0H--s-G084fRfCG7B2LF3SyJZ6iBbSf9rJnldDp*Xr6ryp\/Weld.png?width=200\" width=\"200\" class=\"align-right\"><\/a>In the process of creating ML models we use many processing libraries and functions ranging from SQL, to Pandas, to NumPy, to TensorFlow, and the rest.\u00a0 These are all data intensive and as a result data movement cost dominates on modern hardware.<\/p>\n<p>Weld creates a common runtime for many of these libraries with many more yet to come.\u00a0 The results are impressive and result in single library speed increases ranging from 4.5X for NumPy to 30X for TensorFlow (logistic regression).<\/p>\n<p>Where Weld really shines is when the ML calls for cross library calculation.\u00a0 For example, tests on Pandas + NumPy scored a 290X increase.<\/p>\n<p>The list of supported libraries and functions is growing fast.\u00a0 Currently available on github.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>NoScope:<\/strong><\/span><\/p>\n<p>CNNs are doing a great job allowing accurate queries of visual data in real time production.\u00a0 The problem is that it requires $1,000 GPU to process one video in real time.<\/p>\n<p>NoScope is a video query system that accelerates the process with demonstrated cases of 100X to 3000X speed increases, with obvious reduction in resource use and cost.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>Snorkel:<\/strong><\/span><\/p>\n<p>Snorkel was the <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/breaking-through-the-cost-barrier-to-deep-learning\">f<em><u>ocus of our article last week<\/u><\/em><\/a> so for detail we\u2019ll let you look back.\u00a0 The goal of Snorkel is to allow the creation of training data with a fully automated system with no human-in-the-loop correction required.\u00a0<\/p>\n<p>Domain experts write \u2018labeling functions\u2019 which express the patterns and heuristics that are expected to be present in the unlabeled data.\u00a0 The system characterized as weakly supervised produces the labels with accuracy equal to human hand coding.<\/p>\n<p>We\u2019ve been somewhat lulled to sleep on this by claims that you can get acceptable performance from a DNN with only about 5,000 labeled examples per category.\u00a0 But the <a href=\"https:\/\/www.deeplearningbook.org\/\"><em>2016 study<\/em><\/a> by Goodfellow, Bengio and Courville concluded it would take <strong>10 Million labeled examples per category<\/strong> to \u201cmatch or exceed human performance\u201d.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-size: 12pt;\"><strong>Results So Far<\/strong><\/span><\/p>\n<p>Keep in mind that the goal is to reduce the end-to-end time, cost, and complexity of producing a ML model.\u00a0 The DAWN team has been rigorous about benchmarking the progress of the entire DAWNBench against their baselines on different common ML problems.<\/p>\n<p>As of this last April which was the first anniversary of the DAWN Project the team reported a number of impressive time reductions.\u00a0 Here\u2019s the example for ImageNet:<\/p>\n<p><em>Baseline without DAWNBench: 10 days 10 hours and 42 minutes and $1,112.64 for public cloud instances to train.<\/em><\/p>\n<p><em>With DAWNBench:<\/em> <a href=\"https:\/\/github.com\/stanford-futuredata\/dawn-bench-entries\/blob\/master\/ImageNet\/train\/google_resnet50_tpupod_tensorflow18.json\"><em>30 minutes with checkpointing and 24 minutes without checkpointing<\/em><\/a> <em>using half of a Google<\/em> <a href=\"https:\/\/cloud.google.com\/tpu\/\"><em>TPUv2<\/em><\/a> <em>Pod, <strong>representing a 477x speed-up<\/strong> with similar accuracy.<\/em><\/p>\n<p>It\u2019s too early in the project to say whether we\u2019ll ever see a fully integrated DAWNBench open source platform rolled out for all of us to use.\u00a0 What\u2019s much more likely is that the DAWN Project\u2019s commercial sponsors including Intel, Microsoft, Teradata, Google, NEC, Facebook, Ant Financial, and SAP will take these advancements and incorporate them as they become available.\u00a0 We understand that this is already underway.<\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blog\/list?user=0h5qapp2gbuf8\"><em><u>Other articles by Bill Vorhies.<\/u><\/em><\/a><\/p>\n<p>\u00a0<\/p>\n<p>About the author:\u00a0 Bill Vorhies is Editorial Director for Data Science Central and has practiced as a data scientist since 2001.\u00a0 He can be reached at:<\/p>\n<p><a href=\"mailto:Bill@Data-Magnum.com\">Bill@Data-Magnum.com<\/a> <span>or<\/span> <a href=\"mailto:Bill@DataScienceCentral.com\">Bill@DataScienceCentral.com<\/a><\/p>\n<p><span>\u00a0<\/span><\/p>\n<\/div>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/xn\/detail\/6448529:BlogPost:756471\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: William Vorhies Summary:\u00a0 How about we develop a ML platform that any domain expert can use to build a deep learning model without help [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2018\/09\/05\/democratizing-deep-learning-the-stanford-dawn-project\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":456,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/1020"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=1020"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/1020\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/458"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=1020"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=1020"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=1020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}