Do you want to seriously immerse yourself in the development of artificial intelligence (AI), but find the piece of programming daunting? Do not worry, Uber supports you. Ludwig, the driving giant, debuted today, an open source "toolbox" built on Google's TensorFlow framework, which allows users to train and test new models. artificial intelligence without having to write code.

Uber said that Ludwig was the culmination of two years of work aimed at streamlining the deployment of artificial intelligence systems in applied projects and that he was using the suite of tools internally for tasks such as extracting information from driver's licenses, identifying points of interest during driver-to-driver conversations. -partners and runners, predict food delivery times, and more.

"Ludwig is unique in its ability to help make deep learning easier for non-experts to understand and enable faster model-building iteration cycles for developers and developers." experienced researchers in machine learning, "wrote Uber in a blog post. "By using Ludwig, experts and researchers can simplify the prototyping process and streamline data processing, so that they can focus on developing in-depth learning architectures rather than on data conflicts. "

Uber Ludwig

Above: Visualizations produced by Ludwig.

Image credit: Uber

As Uber explains, Ludwig provides a set of artificial intelligence architectures that can be combined to create an end-to-end model for a given use case. To start the training, a tabular data file (such as CSV) and a YAML configuration file specify the columns of the first one that are input features (that is, the individual properties or the observed phenomenon) and the output target variables. If more than one output target variable is specified, Ludwig learns to simultaneously predict all outputs.

New model definitions can contain additional information, including preprocessing data for each dataset entity, and model learning parameters. And models formed at Ludwig are saved and can be loaded later to get predictions about new data.

Currently, for each type of data that Ludwig supports, the tool set provides data type encoders that map raw data to tensors (data structures used in linear algebra), as well as mapping decoders. the tensors to the raw data. Built-in combiners automatically assemble the tensors of all input encoders, process them, and return them for use with output decoders.

"By composing these data-specific components, users can create Ludwig train models for a wide variety of tasks," wrote Uber. "For example, by combining a text encoder and a category decoder, the user can get a text classifier. The combination of an image encoder and a text decoder will allow the user to obtain an image caption template … This encoder architecture Versatile and Flexible Decoder It is easy for less experienced practitioners to learn in-depth training models for various machine learning tasks, such as text classification, object classification, subtitling of images , sequence tagging, regression, language modeling, machine translation, time series prediction, and answer to questions. "

In addition, Ludwig provides a set of command-line utilities for training, model testing, and forecasting. tools to evaluate models and compare their predictions through visualizations; and a Python programming API that allows users to train or load a model and use it to obtain predictions about new data. In addition, Ludwig is able to form distributed models through the use of Uber's Horovod, an infrastructure that supports multiple graphics cards and machines.

Ludwig currently contains encoders and decoders for binary values, floating point numbers, categories, discrete sequences, sets, bags, images, text, and time series, and supports some of the most popular templates. driven. In the future, Uber plans to add new encoders for data types for text, images, audio, point clouds and graphics, and to create new encoders for data types. integrate "more scalable solutions" for managing large datasets.

"We decided to open the Ludwig software because we think it can be a useful tool for inexperienced practitioners in machine learning and for experienced developers and researchers in deep learning. Non-experts can quickly train and test in-depth learning models without having to write code. Experts can obtain robust baselines to compare their models and have an experimental framework that facilitates the testing of new ideas and model analysis by preprocessing and visualizing standard data. "

Ludwig's debut follows the release of Uber's Pyro in 2017, a deep probabilistic programming language built on Facebook's PyTorch machine learning framework. And this comes while the code-free AI development tools, such as Baidu's EZDL and Microsoft's AI model builder, continue to gain ground.