DEV Community

Jordi Cabot
Jordi Cabot

Posted on • Originally published at modeling-languages.com

10 Tools for Modeling AI Components – Machine Learning without the code

There is a myriad of libraries, platforms and cloud-based services for Artificial Intelligence (AI). But directly programming your AI application on top of them makes your software too dependant of the specific infrastructure you chose. This is dangerous in such a fast-paced environment where new (and better) AI solutions pop up every day.

How can you develop AI-enhanced software (also known as smart apps) or just pure AI components (neural networks, image recognition software, chatbots...) for a data science problem without learning each of the specific AI technologies and languages and preserving my ability to easily migrate my software over a new AI infrastructure? The solution won't surprise my readers: modeling AI comes to the rescue. 

By raising the abstraction level at what you define your AI needs you can first focus on modeling the AI behaviour and later on refining it to integrate platform-specific details. As you'll see just now, this is the trend all AI providers are following now.

Let's take a closer look at the best modeling AI tools I know. I try to cover several kinds of tools: from complete data science modeling to code-generation for AI.

AI visual modeling tools from the Big Tech players

The big players (Google, Amazon, Microsoft) are offering visual AI modeling environments as a way to bring more users to their Machine Learning solutions. They "sell" them as a kind of visual programming for machine learning or "machine learning without the code" to try to attract people interested in ML but scared of writing the code to create and train ML models. Of course, those models can then only be executed on the proprietary infrastructure of the respective vendor.

Azure Machine Learning Studio

The ML modeling environment I like the most is the Azure Machine Learning Studio from Microsoft. As Microsoft says: "it is s a powerfully simple browser-based, visual drag-and-drop authoring environment where no coding is necessary". With it you can easily define the input data, process it (if necessary) and use it to train several types of ML models and evaluate the quality of the results.

Building a classifier model with Azure ML Studio

SPSS Modeler from IBM

The IBM alternative to the Azure ML Studio is the SPSS Modeler, part of the Watson Studio. Similar to the Microsoft competitor above, you can define your input data pipeline, the model you want to generate (classifier, predictive,...) and evaluate and visualize the quality of the results. It comes with complete algorithms and predefined models that are ready for immediate use to bootstrap your own data science application.

The closest solution from Amazon would be Amazon SageMaker but I've been unable to find a visual modeling AI editor in it.

Data Science modeling environments

In Data Science, the data collection and processing aspect is as important as the learning / predictive process to perform on that data. The complexity of the data science resides many times in deciding what data to collect and what features of the data are the important ones for the prediction problem we want to address. Some data science tools provide their own runtime environment but many come with built-in integrations with deep learning frameworks and libraries like Keras or Tensorflow.

RapidMiner

RapidMiner  comes with a visual workflow designer  to accelerate the prototyping and validation of predictive models, with predefined connections (including many for data acquisition, RapidMiner includes over 60 file types and formats for structured and unstructured data), built-in templates and repeatable workflows.

Orange

Orange is an open source machine learning and data visualization toolkit.  Data analysis is done by linking widgets in workflows. Each widget may embed some data retrieval, preprocessing, visualization, modeling or evaluation tasks. A considerable number of predefined widgets are available but you can also build your own.

Knime

My favorite option for small/medium companies. Knime is a generic data analytics platform that can be used for a multitude of tasks. Knime comes with over 2000 different types of nodes to cover all your needs. The Knime for data scientists and Knime for deep learning extensions are the most interesting ones for the topic of this post. For instance, the latter allows users to read, create, edit, train, and execute deep neural networks. Since all nodes can be combined, you can easily use the deep learning nodes as part of any other kind of data analytic project.

On top of this, Knime is open source and free (you can create and buy commercial add-ons).

Knime modeling environment

Note that besides these data science tools, other generics environments are getting data science extensions. An example would be Neuron , a data science extension for Visual Studio Code.

Dataiku

More oriented towards large enterprises, Dataiku aims to bring together everybody playing a role in a data science project (business analyst, data science, data engineer,...) in one single platform. Dataiku integrates with a large number of other tools, from notebooks to chart libraries for data visualization and of course all major ML libraries.

Once you've set up the pipeline, you can bundle it as a single deployable package for real-time predictions via a REST API.

Modeling neural networks

If your main interest is the modeling of neural network itself, DIANNE is a good option. In Dianne, neural networks are built as a directed graph. DIANNE comes with a web-based UI builder to drag-and-drop neural network modules and link them together.

Visual modeling of neural networks

To learn how neural networks work, this Tensorflow playground is ideal to play with neural networks and learn its basic concepts

Visual modeling and execution of neural networks with TensorFlow

Visualizing the learned models

Some tools focus on the visualization of the results, as a way to help you understand the quality of the deep learning model you created. As an example, TensorBoard  is a suite of web applications for inspecting TensorFlow runs. Nvidia builds on top of TensorBoard to visualize deep neural networks in its Nvidia Digits tool.

Visual deep learning modeling in Nvidia

Oldest comments (0)