Will Uber's Ludwig Actually Help Anybody Use Deep Learning Without Code?
Tags: deeplearning, code
Published: 2019-05-16 14:53:20

Can you really hail a cab on a busy New York street just by opening an app on your phone?

Can you really create and launch an e-commerce store with Shopify and get selling in a day?

Can you really develop a beautiful and responsive CMS based site using WebFlow?

The answer to all those questions is a resounding yes, and that is also our answer to ‘Will Uber Ludwig actually help anyone use deep learning without code?' of course it will. It has been designed to do that, and now that it has been made open source, more and more support is only going to flow in, helping build a large community.

So let's take a step back and talk about the basics here.

###**What is Uber Ludwig?**###

Ludwig is a toolbox built on top of TensorFlow that allows anyone to train and test deep learning models without the need to write any code. It provides a data type based approach to develop a predictive deep learning model suitable for a wide range of applications. In essence, it will allow non-experts to develop and integrate deep learning models in their website or app to get the full benefit of a deep learning system that will help them accelerate their business or improve their lives. These non-experts, and even experts for that matter, can leverage this powerful new technology to dramatically reduce time spent training and testing deep learning models and instead “Focus on developing deep learning architectures rather than data wrangling” to quote the Uber researchers from their [blog post](https://eng.uber.com/introducing-ludwig/) 

###**How Does It Do This?**###

Deep learning was supposed to be tough, and only the forte of skilled math-heads, right? Well, yes. Until a few years ago, you needed a PhD to even understand what algorithms, encoders and machine learning meant. But the way internet has exploded has made technology a truly democratic entity. Today, with platforms like Ludwig, [anyone can learn to leverage deep learning](https://www.manipalprolearn.com/data-science/post-graduate-certificate-program-artificial-intelligence-deep-learning-certification-training) to solve business problems and accelerate growth.

Whether you want to do a sentiment analysis of the comments, build an automatic image caption generator, or even build an intuitive chatbot that uses Natural Language Processing to provide extremely human-like responses to random customer queries, [Ludwig's got your back](https://uber.github.io/ludwig/examples/). Uber researchers claim that the extremely simplified configuration of Ludwig can cut down the time spend training deep learning models.

All you need to do is upload a CSV dataset containing all the data from any of the online tools you use, along with a model definition YAML configuration file that specifies a list of inputs and outputs. Just specify the columns in your CSV that are inputs to your model and the ones that are outputs, tell Ludwig your target variables and that's it. Ludwig will automatically create a deep learning model for you and train it to predict your outcomes.

Ludwig performs a random split of the data, creates tests and validation sets, preprocesses data, builds encoders for all the different inputs, builds the combiner and then decoders for the output targets. Using these, it trains the model until the desired accuracy is achieved.

Ludwig uses specially created encoders that map the raw data to the tensors, combines it and then uses decoders to map tensors to the raw data. You can choose to get more specific with how you use Ludwig, by specifying which encoder and decoder to use for certain particular features in the dataset. You can even set the architectural and training parameters for each encoder and decoder.

Non-experts can simply upload datasets and let the ‘black box' do its thing while the more technical ones can choose to set each parameter individually to attain as much personalized configuration as they like. This flexibility is one of Ludwig's core offerings. It also offers a programmatic API allowing users to use a simple Python API to load an existing model and train it to extract predictions on new datasets.

 ![Uber Sentiment Analysis](https://i.imgur.com/myi0XVc.jpg)

Currently, they have encoders for a number of data types like binary, numerical, sequence and more. In the future though, they intend to extend encoders support for data types such as Transformer, ELMo and BERT for text as well as DenseNet and FractalNet for images. Ludwig offers a number of visualization options to then watch the model pull out insights from the data.

###**Will Ludwig's no-code AI really take over developer's jobs?**###

Even those who are well versed in coding, AI and machine learning cannot resist the temptation to cut out the repetitive and mundane work and use a code-free platform instead. Such platforms foster creativity and help build a community of makers. So with platforms like Ludwig, the developers aren't going to be put out of their jobs.

Instead, they will get a chance to work on developing more creative solutions to real world problems instead of writing reams of verbose code. Open source communities like Ludwig depend on contributors to grow and flourish. Suffice to say that developers worth their salt aren't going to be replaced by code-free anytime soon. It will however, allow anyone to develop and train a deep learning model of course.


Images Source: https://uber.github.io/ludwig/examples/