<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Machine_learning | Democratizing Data</title><link>https://b94feae1.chezo-uno.pages.dev/categories/machine_learning/</link><atom:link href="https://b94feae1.chezo-uno.pages.dev/categories/machine_learning/index.xml" rel="self" type="application/rss+xml"/><description>Machine_learning</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><copyright>© Aki Ariga 2017-2025</copyright><lastBuildDate>Tue, 04 Jun 2019 13:50:07 +0900</lastBuildDate><image><url>https://b94feae1.chezo-uno.pages.dev/media/icon_hu_9ca82a90e0d162db.png</url><title>Machine_learning</title><link>https://b94feae1.chezo-uno.pages.dev/categories/machine_learning/</link></image><item><title>The first conference of Operational Machine Learning: OpML ‘19</title><link>https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/</link><pubDate>Tue, 04 Jun 2019 13:50:07 +0900</pubDate><guid>https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/</guid><description>&lt;p>I attended OpML ’19 is a conference for “Operational Machine Learning” held at Santa Clara on May 20th.&lt;/p>
&lt;p>&lt;a href="https://www.usenix.org/conference/opml19" title="https://www.usenix.org/conference/opml19" target="_blank" rel="noopener">&lt;strong>OpML &amp;lsquo;19&lt;/strong>&lt;br>
_The 2019 USENIX Conference on Operational Machine Learning (OpML &amp;lsquo;19) will take place on Monday, May 20, 2019, at the…_www.usenix.org&lt;/a>&lt;a href="https://www.usenix.org/conference/opml19" target="_blank" rel="noopener">&lt;/a>&lt;/p>
&lt;p>The scope of this conference is varied and seems not to be specified yet, even if I attended it. I’ll borrow the description from the OpML website.&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>The 2019 USENIX Conference on Operational Machine Learning (OpML ’19) provides a forum for both researchers and industry practitioners to develop and bring impactful research advances and cutting edge solutions to the pervasive challenges of ML production lifecycle management. ML production lifecycle is a necessity for wide-scale adoption and deployment of machine learning and deep learning across industries and for businesses to benefit from the core ML algorithms and research advances.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;h3 id="overview-of-the-conference">Overview of the conference&lt;/h3>
&lt;ul>
&lt;li>The number of attendees was 210, they came from LinkedIn, Microsoft, Google, Airbnb, Facebook, etc.&lt;/li>
&lt;li>The target of “Operational Machine Learning” is diverse. I thought it focuses on MLOps things such as reproducibility, ML DSL for productionization, visualization, stakeholder management, but there are many talks about ML for system, system utilization optimization, SRE for ML, hardware accelerator, etc.&lt;/li>
&lt;li>There is a contrast between tech giants, e.g. Google, Uber, Facebook, Airbnb, Microsoft, and LinkedIn, and other followers. While ML lead companies are talking about their OSSs or ML infrastructures, following companies tend to talk about their specific use case or their solutions (those speakers seems to be small ML ventures).&lt;/li>
&lt;/ul>
&lt;h3 id="some-interesting-talks">Some interesting talks&lt;/h3>
&lt;h3 id="keynote-ray-a-distributed-framework-for-emerging-ai-applications">Keynote: Ray: A Distributed Framework for Emerging AI Applications&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://www.usenix.org/conference/opml19/presentation/jordan" target="_blank" rel="noopener">https://www.usenix.org/conference/opml19/presentation/jordan&lt;/a>&lt;/li>
&lt;li>Current target of Machine Learning is pattern recognition, but Jordan said decision-making will be the future of ML/AI&lt;/li>
&lt;li>Creating a “recommendation market” is the key&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="" srcset="
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_rWIRSVcGYE5uuZ1ISuFMjg_hu_38ce1318d5c3c349.webp 400w,
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_rWIRSVcGYE5uuZ1ISuFMjg_hu_7667941a01ada0d7.webp 760w,
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_rWIRSVcGYE5uuZ1ISuFMjg_hu_53b797d6b8eb6432.webp 1200w"
src="https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_rWIRSVcGYE5uuZ1ISuFMjg_hu_38ce1318d5c3c349.webp"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="" srcset="
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_eMGR-WfddebwmyheNe3OAg_hu_e03d991608faa3a0.webp 400w,
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_eMGR-WfddebwmyheNe3OAg_hu_781fab21278a9e28.webp 760w,
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_eMGR-WfddebwmyheNe3OAg_hu_98484a760a9b7510.webp 1200w"
src="https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_eMGR-WfddebwmyheNe3OAg_hu_e03d991608faa3a0.webp"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="mlop-lifecycle-scheme-for-vision-based-inspection-process-in-manufacturing">MLOp Lifecycle Scheme for Vision-based Inspection Process in Manufacturing&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://www.usenix.org/conference/opml19/presentation/lim" target="_blank" rel="noopener">https://www.usenix.org/conference/opml19/presentation/lim&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.usenix.org/sites/default/files/conference/protected-files/opml19_slides_lim.pdf" target="_blank" rel="noopener">https://www.usenix.org/sites/default/files/conference/protected-files/opml19_slides_lim.pdf&lt;/a>&lt;/li>
&lt;li>A challenge for defeat recognition by an image in edge applied for Samsung smartphone.&lt;/li>
&lt;li>They need to inference for 3000 GB images/day.&lt;/li>
&lt;li>The team structure which involves product inspectors and product managers is interesting&lt;/li>
&lt;/ul>
&lt;p>&lt;figure>&lt;img src="https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_5Ab748i-ppe-Lt1DreRiGQ.png">&lt;figcaption>
&lt;h4>From [https://www.usenix.org/sites/default/files/conference/protected-files/opml19\_slides\_lim.pdf](https://www.usenix.org/sites/default/files/conference/protected-files/opml19_slides_lim.pdf)&lt;/h4>
&lt;/figcaption>
&lt;/figure>
From &lt;a href="https://www.usenix.org/sites/default/files/conference/protected-files/opml19_slides_lim.pdf" target="_blank" rel="noopener">https://www.usenix.org/sites/default/files/conference/protected-files/opml19_slides_lim.pdf&lt;/a>&lt;/p>
&lt;h3 id="aiops-challenges-and-experiences-inazure">AIOps: Challenges and Experiences in Azure&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://www.usenix.org/conference/opml19/presentation/li-ze" target="_blank" rel="noopener">https://www.usenix.org/conference/opml19/presentation/li-ze&lt;/a>&lt;/li>
&lt;li>Anomaly detection and diagnosis with lambda architecture for Azure&lt;/li>
&lt;li>Disk failure prediction for Azure which introduces proactively live to migrate the workloads to a healthy disk&lt;/li>
&lt;/ul>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="" srcset="
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_TtMe-If9qvcuUr5_7dnITQ_hu_b076021310124c6a.webp 400w,
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_TtMe-If9qvcuUr5_7dnITQ_hu_309fed226c82ba26.webp 760w,
/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_TtMe-If9qvcuUr5_7dnITQ_hu_c9b8cc122d79b91b.webp 1200w"
src="https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_TtMe-If9qvcuUr5_7dnITQ_hu_b076021310124c6a.webp"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="how-the-experts-do-it-production-ml-atscale">How the Experts Do It: Production ML at Scale&lt;/h3>
&lt;p>A panel discussion for ML infrastructures&lt;/p>
&lt;p>Lead and moderator: Joel Young, LinkedIn&lt;/p>
&lt;p>Panelists:&lt;/p>
&lt;ul>
&lt;li>Sandhya Ramu, Director, AI SRE, LinkedIn&lt;/li>
&lt;li>Andrew Hoh, Product Manager, ML Infra and Applied ML, AirBNB&lt;/li>
&lt;li>Aditya Kalro, Engineering Manager, AI Infra Services and Platform, Facebook&lt;/li>
&lt;li>Faisal Siddiqi, Engineering Manager, Personalization Infrastructure, Netflix&lt;/li>
&lt;li>Pranav Khaitan, Engineering Manager, Personalization and Dialog ML Infra, Google&lt;/li>
&lt;/ul>
&lt;h4 id="the-important-thing-to-keep-top-levelis">The important thing to keep top level is&lt;/h4>
&lt;ul>
&lt;li>the lead time from experiment to production&lt;/li>
&lt;li>Flows build for production with involving different team&lt;/li>
&lt;li>Not everything is the highest priority. Metrics, dashboards are important&lt;/li>
&lt;/ul>
&lt;h4 id="cost-of-runtrain-vsagility">Cost of run/train vs Agility&lt;/h4>
&lt;ul>
&lt;li>It’s hard to find down streaming use cases. (Airbnb)&lt;/li>
&lt;li>Monitor model resource usage&lt;/li>
&lt;li>Keep ML infrastructure extremely flexible&lt;/li>
&lt;li>Hard to force using a single framework&lt;/li>
&lt;/ul>
&lt;h4 id="what-are-the-important-things-for-your-ml-platform">What are the important things for your ML platform?&lt;/h4>
&lt;p>Facebook&lt;/p>
&lt;ul>
&lt;li>Reliability&lt;/li>
&lt;li>Scalability&lt;/li>
&lt;li>Developer productivity&lt;/li>
&lt;/ul>
&lt;p>LinkedIn&lt;/p>
&lt;ul>
&lt;li>Agility (Available libraries etc)&lt;/li>
&lt;li>Enabling the latest technology&lt;/li>
&lt;li>Cost and impact of Machine Learning&lt;/li>
&lt;/ul>
&lt;p>Netflix&lt;/p>
&lt;ul>
&lt;li>How quickly/many A/B test we can do&lt;/li>
&lt;li>How rapid new researcher can do?&lt;/li>
&lt;/ul>
&lt;p>Airbnb&lt;/p>
&lt;ul>
&lt;li>Business impact&lt;/li>
&lt;li># of users for the infrastructures&lt;/li>
&lt;li>How many inferences/scoring is done?&lt;/li>
&lt;li>Availability, scalability, cost, and long-term decision making&lt;/li>
&lt;/ul>
&lt;p>Google&lt;/p>
&lt;ul>
&lt;li>Innovation aspect&lt;/li>
&lt;li>How can the ML infrastructure system will empower the next 5 yrs products?&lt;/li>
&lt;/ul>
&lt;h3 id="continuous-training-for-production-ml-in-the-tensorflow-extended-tfxplatform">Continuous Training for Production ML in the TensorFlow Extended (TFX) Platform&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://www.usenix.org/conference/opml19/presentation/baylor" target="_blank" rel="noopener">https://www.usenix.org/conference/opml19/presentation/baylor&lt;/a>&lt;/li>
&lt;li>TFX provides a library for recording and retrieving metadata for ML: ML Metadata &lt;a href="https://www.tensorflow.org/tfx/guide/mlmd" target="_blank" rel="noopener">https://www.tensorflow.org/tfx/guide/mlmd&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;figure>&lt;img src="https://b94feae1.chezo-uno.pages.dev/blog/2019-06-04_the-first-conference-of-operational-machine-learning--opml--19-308baad36108/1_JjjlNJJ7xndhiOSddZv-zA.png">&lt;figcaption>
&lt;h4>From [https://www.usenix.org/system/files/opml19papers-baylor.pdf](https://www.usenix.org/system/files/opml19papers-baylor.pdf)&lt;/h4>
&lt;/figcaption>
&lt;/figure>
From &lt;a href="https://www.usenix.org/system/files/opml19papers-baylor.pdf" target="_blank" rel="noopener">https://www.usenix.org/system/files/opml19papers-baylor.pdf&lt;/a>&lt;/p>
&lt;h3 id="disdat-bundle-data-management-for-machine-learning-pipelines">Disdat: Bundle Data Management for Machine Learning Pipelines&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://www.usenix.org/conference/opml19/presentation/yocum" target="_blank" rel="noopener">https://www.usenix.org/conference/opml19/presentation/yocum&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/kyocum/disdat" target="_blank" rel="noopener">https://github.com/kyocum/disdat&lt;/a>&lt;/li>
&lt;li>Talk about OSS for ML pipeline and data versioning.&lt;/li>
&lt;/ul>
&lt;h3 id="predictive-cachingscale">Predictive Caching@Scale&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://www.usenix.org/conference/opml19/presentation/janardhan" target="_blank" rel="noopener">https://www.usenix.org/conference/opml19/presentation/janardhan&lt;/a>&lt;/li>
&lt;li>Traffic prediction for CDN (Akamai)&lt;/li>
&lt;li>Interesting cache strategy with covering prediction error&lt;/li>
&lt;/ul></description></item><item><title>Ruby for Data Science and Machine Learning</title><link>https://b94feae1.chezo-uno.pages.dev/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/</link><pubDate>Wed, 24 Apr 2019 12:10:28 +0900</pubDate><guid>https://b94feae1.chezo-uno.pages.dev/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/</guid><description>&lt;p>I attended &lt;a href="https://rubykaigi.org/2019" target="_blank" rel="noopener">RubyKaigi 2019&lt;/a> held at Fukuoka from Apr 18 to Apr 21. This year’s RubyKaigi was a really great opportunity for me to know the possibility of Data Science and Machine Learning for Ruby.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="" srcset="
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_yHSEXuY1I2U_4ysS_hu_ba80b4ff0712d769.webp 400w,
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_yHSEXuY1I2U_4ysS_hu_ebcd1537c35f24eb.webp 760w,
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_yHSEXuY1I2U_4ysS_hu_7c0dd767e51ccdbc.webp 1200w"
src="https://b94feae1.chezo-uno.pages.dev/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_yHSEXuY1I2U_4ysS_hu_ba80b4ff0712d769.webp"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="data-science-andruby">Data Science and Ruby&lt;/h3>
&lt;p>As many of you may know, Ruby is widely known for web application with such as Ruby on Rails, but there is another momentum of Ruby or non-Python language. Here is the list of the sessions about Data Science.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://youchan.org/RubyKaigi2019" title="http://youchan.org/RubyKaigi2019" target="_blank" rel="noopener">Ruby for NLP&lt;/a>&lt;/li>
&lt;li>A Deep Learning Adventure \[[repo](https://github.com/nusco/deep_learning_adventure)\] (talked by Paolo Perrotta, the author of Metaprogramming Ruby!)&lt;/li>
&lt;li>&lt;a href="https://docs.google.com/presentation/d/1wYBqdlv-rBqCcjqaT4pbqYnpA9cDlTr2iKpGAQ-Mz-I/edit" title="https://docs.google.com/presentation/d/1wYBqdlv-rBqCcjqaT4pbqYnpA9cDlTr2iKpGAQ-Mz-I/edit" target="_blank" rel="noopener">Ruby Data Workshop&lt;/a>&lt;/li>
&lt;li>Reducing ActiveRecord memory consumption using Apache Arrow&lt;/li>
&lt;li>&lt;a href="https://speakerdeck.com/sonots/red-chainer-and-cumo-practical-deep-learning-in-ruby-at-rubykaigi-2019" title="https://speakerdeck.com/sonots/red-chainer-and-cumo-practical-deep-learning-in-ruby-at-rubykaigi-2019" target="_blank" rel="noopener">Red Chainer and Cumo: Practical Deep Learning in Ruby&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.slideshare.net/nagachika/make-ruby-differentiable" title="https://www.slideshare.net/nagachika/make-ruby-differentiable" target="_blank" rel="noopener">Make Ruby Differentiable&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="center-of-data-science-withruby">Center of data science with Ruby&lt;/h3>
&lt;p>There is three core software supporting these movements:&lt;/p>
&lt;ol>
&lt;li>Apache Arrow&lt;/li>
&lt;li>Numo/Cumo&lt;/li>
&lt;li>Red Chainer (Deep Learning framework ported from Chainer, implemented in Python)&lt;/li>
&lt;/ol>
&lt;p>Apache Arrow is a cross-language data structure for in-memory data. Kohei Sutou, the creator of Red Arrow, Ruby binding of Apache Arrow, who is a Japanese PMC of Apache Arrow. He has also been organizing an initiative called Red Data tools, monthly developer meet-ups for Ruby data tools. The meetup drives Ruby data ecosystem, especially for beginners. I heard from mrkn, a Ruby committer, that Arrow is trying to implement data manipulations those pandas does as C++ code. That means, calculations of tabula style data, a.k.a. DataFrame can be done in Apache Arrow’s Table format so that Ruby would be able to be suitable for data manipulation.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="" srcset="
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_r3ToqacydBaYmyh1_hu_5bf288d78440e599.webp 400w,
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_r3ToqacydBaYmyh1_hu_2c800cc30d68f0ea.webp 760w,
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_r3ToqacydBaYmyh1_hu_2ddd692749e08648.webp 1200w"
src="https://b94feae1.chezo-uno.pages.dev/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_r3ToqacydBaYmyh1_hu_5bf288d78440e599.webp"
width="600"
height="409"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Another essential thing is Numo, which enables to handle numeric array like Numpy and is the fundamental part of DS/ML execution. Cumo is the GPU version of Numo and 75 times faster than Numo for the hello world for Deep Learning, a.k.a. MNIST. The talk about Cumo suggested that many Deep Learning related executions depend on CUDA so that scripting languages can be just a wrapper of them.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="" srcset="
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_0R6wvTiO6WQw79bD_hu_9eada8f08a0e6165.webp 400w,
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_0R6wvTiO6WQw79bD_hu_f0d11f01d34876bf.webp 760w,
/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_0R6wvTiO6WQw79bD_hu_d0dc73faea4bed0a.webp 1200w"
src="https://b94feae1.chezo-uno.pages.dev/blog/2019-04-24_ruby-for-data-science-and-machine-learning-9f03e99125e0/0_0R6wvTiO6WQw79bD_hu_9eada8f08a0e6165.webp"
width="600"
height="450"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Red Chainer enables Deep Learning tasks, but it seems still young. Rather than that, &lt;a href="https://github.com/pfnet-research/menoh-ruby" title="https://github.com/pfnet-research/menoh-ruby" target="_blank" rel="noopener">Menoh-Ruby&lt;/a> can be a great tool, which allows to inference/predict with pre-trained models with PyTorch, Chainer, or any other frameworks which can export ONNX, the intermediate format of DL.&lt;/p>
&lt;h3 id="so-how-will-be-the-ruby-data-science-goingon">So, how will be the Ruby data science going on?&lt;/h3>
&lt;p>Looking at those momenta of Apache Arrow and Cumo, I feel the data science on Ruby would become much easier since the core problems which are related to execution speed can be hidden into C++/GPU layer. And using Menoh-Ruby can be a good opportunity for Ruby on Rails applications to serve prediction results on Ruby!&lt;/p>
&lt;p>Red Data tools also create opportunities for many software engineers to jump into ML/DS world. One of my friends told me why he started working on Red Data tools that he wanted to change his field, and it’s an excellent area to join.&lt;/p>
&lt;p>If you interested in this movement, let’s join &lt;a href="https://red-data-tools.github.io/" target="_blank" rel="noopener">Red Data tools&lt;/a>!&lt;/p></description></item><item><title>Why OSS based machine learning is good?</title><link>https://b94feae1.chezo-uno.pages.dev/blog/2017-08-03_why-oss-based-machine-learning-is-good--3ab45a1a5e52/</link><pubDate>Thu, 03 Aug 2017 12:56:59 +0900</pubDate><guid>https://b94feae1.chezo-uno.pages.dev/blog/2017-08-03_why-oss-based-machine-learning-is-good--3ab45a1a5e52/</guid><description>&lt;p>&lt;em>This article is translation of&lt;/em> &lt;a href="https://chezo.uno/post/2017-08-03_oss-48807bbbf13f/" target="_blank" rel="noopener">&lt;em>Japanese version&lt;/em>&lt;/a>&lt;em>.&lt;/em>&lt;/p>
&lt;p>After releasing of TensorFlow, the movement of OSS-based machine learning is accelerating. &lt;a href="https://twitter.com/fchollet" target="_blank" rel="noopener">François Chollet&lt;/a>, the creator of Keras, says the essential point of this change. I think his phrase is enough, but in this article, I would like to organize why open source machine learning is great, and what recent trends are.&lt;/p>
&lt;h3 id="tldr">tl;dr&lt;/h3>
&lt;ul>
&lt;li>Machine learning and deep learning frameworks have become standard things for software engineers&lt;/li>
&lt;li>Since arXiv becomes very famous, many papers are published before peer review of international conferences. This change made easier for other companies to validate the algorithm.&lt;/li>
&lt;li>Many researchers have been started to study machine learning, machine learning researches in academia become Red Oceanic.&lt;/li>
&lt;li>The strategy, “Make a great algorithm, but the implementation is secret” becomes a thing of the past.&lt;/li>
&lt;/ul>
&lt;h3 id="halcyon-days">Halcyon days&lt;/h3>
&lt;p>Five or ten years ago, almost all players working on advanced machine learning were in laboratories such as universities or large enterprises, or some advanced companies. In particular, the amount of data with a label was smaller than the present, and many researchers had been improving the performance by researching algorithms, by feature engineering.&lt;/p>
&lt;p>Many researchers from academia studied state-of-the-art machine learning, posted to international conferences. Most of the insights were shared after peer review. Implementation was not shared as much as now, and each researcher had to reimplement the preceding research from scratch. A typical cycle for releasing new algorithms was a half year, in some cases more than a year.&lt;/p>
&lt;p>There were few open source machine learning libraries/frameworks like Weka. scikit-learn, &lt;a href="https://en.wikipedia.org/wiki/Scikit-learn" target="_blank" rel="noopener">released in 2010&lt;/a>, was not famous among software engineers. Many of us used libraries with single/few algorithms such as libsvm and liblinear.&lt;/p>
&lt;h3 id="fast-movingera">Fast moving era&lt;/h3>
&lt;p>As of 2017, people who work in machine learning have significantly increased compared with 10 years ago. The center of machine learning has been moved from academia to companies with large data. In particular, software engineers, who have never worked on machine learning, entering deep learning world. I was surprised to hear that my friend of the community who had never worked on machine learning in business had started working on Deep Learning. The reasons for this movement are 1) it became general for companies to store large data that can be used for machine learning, &lt;br>
2) excellent machine learning frameworks have been increased, and 3) the GPU power leverage Deep Learning for efficient calculation.&lt;/p>
&lt;p>Many open source libraries became popular not only in the frameworks of Deep Learning such as TensorFlow, Chainer, MXNet, Caffe 2, PyTorch but also by XGBoost, Lightgbm, which are famouse among kaggler. scikit-learn is also common tool as a framework to experiment with multiple algorithms.&lt;/p>
&lt;h3 id="the-rise-of-openpapers">The rise of “open papers”&lt;/h3>
&lt;p>This movement is supported by machine learning competition site “kaggle”, and by a place to post open papers called “arXiv”. (There is discussion arxiv does not have a peer review process and quality is not assured. So can we call the document as a research paper? But, in this post, I will call the research paper style report as “paper”)&lt;/p>
&lt;p>The following article describes the number of paper submissions related to machine learning (especially Deep Learning) submitted to arXiv. According to this article, it is pointed out that the number of papers related to machine learning has more than quadrupled in 2017 compared to five years ago.&lt;/p>
&lt;p>&lt;a href="https://medium.com/@karpathy/a-peek-at-trends-in-machine-learning-ab8a1085a106" title="https://medium.com/@karpathy/a-peek-at-trends-in-machine-learning-ab8a1085a106" target="_blank" rel="noopener">&lt;strong>A Peek at Trends in Machine Learning&lt;/strong>&lt;br>
_Have you looked at Google Trends? It’s pretty cool — you enter some keywords and see how Google Searches of that term…_medium.com&lt;/a>&lt;a href="https://medium.com/@karpathy/a-peek-at-trends-in-machine-learning-ab8a1085a106" target="_blank" rel="noopener">&lt;/a>&lt;/p>
&lt;p>Papers of arXiv are posted every day. It means, state-of-the-art results from such as Google, Facebook, Microsoft, etc. are published more and more before peer review. This is a challenge for the central laboratories of the traditional large enterprises to research and develop cutting edge algorithms of machine learning itself. Those companies usually set targets for a year or half a year. There is also criticism of “just adding parts”, but it is clear that the speed of developing machine learning algorithms is significantly fast.&lt;/p>
&lt;blockquote>
&lt;p>In the field of machine translation, the breakthrough in deep learning was encoder-decoder and attention. The subsequent papers are not interesting, “I just put existing parts here.” I can’t understand why these papers come to the top conference.&lt;/p>&lt;/blockquote>
&lt;p>Recently, for those who read new arXiv’s paper day and night, there is an system called “ariXiv Times” to better check new arrival documents.&lt;/p>
&lt;p>&lt;a href="https://arxivtimes.herokuapp.com/" title="https://arxivtimes.herokuapp.com/" target="_blank" rel="noopener">&lt;strong>arXivTimes Indicator&lt;/strong>&lt;br>
_Edit description_arxivtimes.herokuapp.com&lt;/a>&lt;a href="https://arxivtimes.herokuapp.com/" target="_blank" rel="noopener">&lt;/a>&lt;/p>
&lt;h3 id="open-papers-accelerates-open-source-machinelearning">Open papers accelerates Open source machine learning&lt;/h3>
&lt;p>This March, a paper about “Deep Forest” was published at arXiv, and it became a hot topic with the author claims that “performance is better than Deep Learning”.&lt;/p>
&lt;p>&lt;a href="https://arxiv.org/abs/1702.08835" title="https://arxiv.org/abs/1702.08835" target="_blank" rel="noopener">&lt;strong>\[1702.08835\] Deep Forest: Towards An Alternative to Deep Neural Networks&lt;/strong>&lt;br>
_Abstract: In this paper, we propose gcForest, a decision tree ensemble approach with performance highly competitive to…_arxiv.org&lt;/a>&lt;a href="https://arxiv.org/abs/1702.08835" target="_blank" rel="noopener">&lt;/a>&lt;/p>
&lt;p>This method proposed in this paper, about one week (2017/3/5) after the publication (2017/2 / 28), R implementation came up and Python implementation came out after R one. A discussion was made with the following LightGBM issue on GitHub, and it came out that there was not reproducibility of the article, they can’t confirm the performance.&lt;/p>
&lt;p>&lt;a href="https://github.com/Microsoft/LightGBM/issues/331" title="https://github.com/Microsoft/LightGBM/issues/331" target="_blank" rel="noopener">&lt;strong>Support gcForest · Issue #331 · Microsoft/LightGBM&lt;/strong>&lt;br>
_LightGBM - A fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on…_github.com&lt;/a>&lt;a href="https://github.com/Microsoft/LightGBM/issues/331" target="_blank" rel="noopener">&lt;/a>&lt;/p>
&lt;p>It is a symbolic event where the OSS implementation of the paper &lt;br>
appeared within a week after published in arXiv and the discussion of the community began.&lt;/p>
&lt;p>I hear that it is increasing that the number of international conferences that require disclosing the implementation when a paper is submitted.&lt;/p>
&lt;h3 id="conclusion">Conclusion&lt;/h3>
&lt;p>It is an essential task to develop the machine learning algorithm. Thanks to open papers, ML competition web site, and fast implementation of new algorithms as an OSS, we can adopt state-of-the-art knowledge into the business rapidly.&lt;/p>
&lt;p>IMHO, it is becoming fun to focus on where we can make use of ML in business rather than developing the algorithm itself.&lt;/p>
&lt;p>In other words, now, it is too hard to say “special machine learning algorithms that only our company can do”. Of course, people in academia will push these cutting-edge initiatives if they can prepare data. What is the evidence that one company invents a better algorithm quickly than most state-of-the-art people from tech giants like Google, Facebook, Microsoft, etc.? That is the reason for the strength of open source based machine learning.&lt;/p>
&lt;p>Among academia, there is a famous phrase, “&lt;a href="https://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants" target="_blank" rel="noopener">Standing on the shoulders of giants&lt;/a>”, it means that we should thank previous research then we can go on to the next step. Even in machine learning based on open source, we can not ignore this phrase. We cannot ignore giants.&lt;/p></description></item></channel></rss>