Uber Technologies uses machine learning models to perform a diversity of tasks, from improving our maps to streamlining chat communications and even preventing fraud. To manage and train and test those models, Uber uses a code-free platform called Ludwig.
Now, Uber open sources Ludwig 0.3, the third update to its code-free Deep Learning toolbox built on top of TensorFlow.
What is Uber Ludwig
Ludwig provides a set of model architectures that can be combined to create an end-to-end model optimized for a specific set of requirements. It does not require coding skills to train a model and use it. It’s thus easy-to-use and flexible.
Ludwig requires a CSV file that contains the training data and a YAML file with the inputs and outputs of the model. Using these two data points, Ludwig performs a multi-task learning routine to predict all outputs and evaluate the results simultaneously. Ludwig’s specialty is that it uses specific encoders and decoders for any given data type supported, along with a combiner that combines the tensors from all the input encoders, processes them, and then returns the tensors to be used for the output decoders.
Some of the fundamental contributions of the updated version of Ludwig:
- Hyperparameter Optimization: Ludwig 0.3 introduces a new command, hyperopt, that performs automated hyperparameter searches and returns possible configurations.
- Integration with Weights and Biases: Ludwig 0.3 integrates with the Weights and Biases (W&B) platform, which provides a very visual interface for rapid experimentation and hyperparameter tuning in Machine Learning models.
- Code-Free Transformers: It integrates with Hugging Face’s Transformers repository to support its transformers.
- TensorFlow 2 Backend: It takes advantage of many new capabilities of TensorFlow 2.
- New Data Source Integration: It introduces integration with many formats as input datasets (other than Pandas Dataframes). This includes Excel, feather, fwf, hdf5, html tables, json, jsonl, parquet, pickle, sas, spss, stata, and tsv.
Ludwig 0.3 also plans to expand the supported data types. Hence, with so many features, it can be a useful tool for non- expert machine learning practitioners and experienced developers and researchers.