Uber released a new, open source Deep Learning toolbox called Ludwig, yesterday, to make training and testing of the deep learning models easier for non-experts. “By using Ludwig, experts and researchers can simplify the prototyping process and streamline data processing so that they can focus on developing deep learning architectures rather than data wrangling”, states the Uber team.
Uber had been working on developing Ludwig for the past two years to simplify the use of Deep Learning models in projects. Uber has used the toolkit for several of its own projects such as its Customer Obsession Ticket Assistant (COTA), information extraction from driver licenses, food delivery time prediction, etc. Ludwig comes with a set of model architectures that can be combined to develop an end-to-end model for a given use case.
Main highlights of Ludwig
- No need to write code: With Ludwig, you don’t need any coding skills in order to train a model and use it for obtaining predictions.
- Generality: Ludwig makes use of a new data type-based approach for the deep learning model design making the tool available for a variety of use cases.
- Flexibility: Ludwig offers extensive control to its users over model building and training, making it very user-friendly, especially for the beginners.
- Extensibility: Easy to add new model architecture and new feature data types.
- Understandability: There are standard visualizations offered in Ludwig to helps users understand the performance of their deep learning models and compare their predictions.
Apart from being flexible and accessible, Ludwig comes with additional benefits for non-programmers including a set of command line utilities for training, testing models, and obtaining predictions. It also offers a programmatic API, allowing users to train and use a model with only a few lines of code. Moreover, Ludwig comprises other tools that help with evaluating models, comparing the performance and predictions of these models via visualizations as well as extracting model weights and activations from them.
To help its users train a deep learning model, Ludwig provides a tabular file (like CSV) that contains the data and a YAML (YAML Ain’t Markup Language) configuration file (specifies columns of the tabular file as input features and output target variables). The simplicity of this configuration file helps with faster prototyping and considerably brings down the hours of coding to just a few minutes.
Users can also visualize their training results in Ludwig. A result directory consisting of the trained model with its hyperparameters, as well as summary statistics of the training process, are created in Ludwig. Users can further visualize these results with the help of several visualization options from the visualization tool.
“We decided to open source Ludwig because we believe that it can be a useful tool for non-expert machine learning practitioners and experienced deep learning developers and researchers alike”, states the Uber team.
For more information, check out the official Ludwig blog post.