Uber Open Sources Ludwig for No-Code Deep Learning Models
Transportation network company Uber has open sourced a homegrown, no-code toolbox for working with deep learning models.
Called Ludwig, the new open source offering is described as a toolbox built on top of TensorFlow, helping developers train and test deep learning models without the need to write source code.
As artificial intelligence (AI) initiatives explode in the enterprise development space, some firms are turning to low-code or even no-code approaches, characterized by template-based, wizard-driven, drag-and-drop workflows and other techniques designed to enable ordinary "business users" to meet the growing demand for enterprise apps amid a shortage of trained professional programmers.
Vendors providing tools for that strategy include Baidu, which last September launched a no-code platform for creating custom machine learning models. Using the drag-and-drop approach, Baidu's EZDL employs a four-step process for project development and deployment: create a model; upload and label images/objects; train and test the model; deploy the model with a cloud API or offline SDK.
The new Ludwig offering from Uber, meanwhile, provides "a new data type-based approach to deep learning model design that makes the tool suited for many different applications." Like Baidu's EZDL, Ludwig comes with its own four-step process:
- Install: Run
pip install ludwig to get it ready for use, with enablement of some features requiring further steps.
- Train: Prepare data in a CSV file, define input and output feature in a model definition YAML file and run some command-line operations.
- Predict: Prepare data in a CSV file and use a pre-trained model to predict the output targets.
- Visualize: A number of visualization options are reportedly available for actions such as looking at model learning curves, for one example.
"Ludwig is unique in its ability to help make deep easier to understand for non-experts and enable faster model improvement iteration cycles for experienced machine learning developers and researchers alike," Uber engineers said in a blog post today (Feb 11). "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."
The engineering team said the core design principles baked into the Ludwig toolbox are:
- No coding required: No coding skills are required to train a model and use it for obtaining predictions.
- Generality: It uses a new data type-based approach to deep learning model design that makes the tool usable across many different use cases.
- Flexibility: Experienced users have extensive control over model building and training, while newcomers will find it easy to use.
- Extensibility: It's easy to add new model architecture and new feature data types.
- Understandability: deep learning model internals are often considered black boxes, but we provide standard visualizations to understand their performance and compare their predictions.
Uber said Ludwig was built for future extensibility, and it has published a developer guide to help facilitate contributions from the open source community. Future work for the project planned by the team include new encoders for each data type, more data types -- including audio, point clouds and graphs -- and integration with more scalable solutions to manage Big Data sets, with Petastorm provided as an example. Other resources include a FAQ, some project examples (text classification, natural language understanding and so on), an API reference, some getting started guidance and a source code repository on GitHub.
David Ramel is an editor and writer for Converge360.