GPU Appliance for Artificial Intelligence
Artificial Intelligence is no longer just a science fiction topic, it now pervades our daily lives
Cutting edge companies already use Machine Learning. The integration of human capabilities with new intelligent systems is making work processes more agile and accurate: thanks to new Artificial Intelligence applications, your business can now evolve rapidly and anticipate changes in the market
Big Data and GPU Computing are at the base of this revolution
Big Data processing platforms require significant computational and storage resources, which must however be “enhanced” by a software stack that offers the necessary functionalities to manage the entire data life cycle: from collection and cleaning of data to be processed, to the implementation on GPU of complex mathematical models, capable of extracting knowledge from data.
“In Greek mythology, Gaia (/ ˈɡaɪə, ˈɡeɪə / GHY-ə, GAY-ə; from the mythical Greek Γαῖα, a poetic form of Γῆ Gē,” earth “),
is the personification of the Earth and one of the primordial Greek divinities.
Gaia is the ancestral mother of all life: the primitive goddess of Mother Earth”
Wikipedia – Gaia
GAIA (GPU Artificial Intelligence Appliance) is the high performance and scalable platform designed by E4 Computer Engineering for Data Analytics, Machine Learning and Deep Learning workloads on GPU. The solution consists of a powerful multi-GPU server, on which E4 Analytics Studio is installed: a modern, complete and fully containerized software stack that integrates the main tools and frameworks used today for the development of Advanced Data Analysis applications. GAIA is the high performance computing solution designed by E4 Analytics Data Scientists to maximize the productivity of professionals of data analysis, who must collect, clean and transform company data, implement and test the most advanced machine learning algorithms and put in production the services necessary to benefit from the results of the analysis. Adding GAIA to your organization is the first step to “democratize” the technologies of Artificial Intelligence and start the transformation of your company into a truly Data Driven business!
GAIA’s Hardware is a super server, which integrates CPU up to 64 cores, RAM up to 2 TB and can host up to 8 interconnected all-to-all GPUs. Obviously, a large and fast data storage sub-system cannot be missing, entirely based on the best all-flash technologies.
Work environments are always implemented through container images. GAIA End User thus has a variety of work environments, all designed to best implement the different stages of the typical Data Science workflow, without any compromise in terms of performance
GAIA integrates a multi-user web interface based on Jupyter Notebook, a standard for interactive environments for data analysis: an environment that allows you to integrate code written in Python or R languages, with descriptive text, formulas, graphic display and multimedia content.
In addition to the Jupyter Notebook interface, all the work environments available in the GAIA software stack integrate Visual Studio Code Server, a server-side solution that offers efficient code auto-completion capabilities and integrates advanced tools for visual debugging.
E4 Analytics Studio: the software stack for Data Analytics and AI integrated in GAIA
E4 Analytics Studio is a software stack that offers the end user a variety of containerized work environments for the development of Data Analytics, Machine Learning, Deep Learning applications and for advanced data visualization. The different environments are built to use the underlying hardware at maximum performance and designed to always guarantee the same user experience to the end user.
From the annual surveys published by Kaggle.com – the most large community in the world of Data Scientists and Data Engineers – it emerges that the Python language is widely the most used in the industry, while the preferred interactive work environment is the one offered by Jupyterlab, the second generation interface for working with Jupyter Notebooks. Based on these elements, the the main access point to the work environments of E4 Analytics Studio is a customized version of JupyterHub, necessary to provide multi-user to the software stack. Once authenticated, the end user has an interface to choose the work environment he needs, starting from a list of container images prepared by E4 Analytics; the list of work environments can be enriched by images of containers prepared by the customer, following a simple documented procedure to build, starting from a basic image, new container images compatible with the architecture of E4 Analytics Studio.
All containerized work environments included in the current version of E4 Analytics Studio support development in Python3 and incorporate the services of JupyterLab, which provides the “User Interface” of the entire environment, from which it is also possible to access a server implementation of Visual Studio Code. In addition to the basic containers, which include only the python interpreter, the current version of E4 Analytics Studio offers the following working environments:
NVidia RAPIDS is an environment that offers most of the APIs of typical Data Analysis tools in Python (Numpy, Pandas, Scikit-learn,…), but in a fully GPU based version, thus allowing you to use GPU Computing also, for example, for the necessary data preparation, transformation and enrichment activities before using specific Machine Learning models.
- Python Dask is an environment for distributed computing oriented to Data Science, which provides the developer the same API as Numpy, Pandas and Scikit-Learn, but albe to use all cores on the server.
- Tensorflow2 is a “End-to-end open source platform for Machine Learning” equipped with a complete and flexible ecosystem of state-of-the-art tools and libraries for Machine Learning;
PyTorch is a high performance framework for deep learning applications development that includes a set of tools and libraries for the development of Artificial Vision’s applications, Natural Language Processing and Time Series Analysis based on Deep Learning.
MXnet is a lean framework, flexible and ultra-scalable for Deep Learning model development, managed by the Apache Software Foundation. The MXnet work environment also includes high performance Gluon modules for Computer Vision, NLP and Time Series Analysis.
Holoviz is an environment for advanced data visualization, with the support, where necessary, of GPU; this environment also integrates tools to navigate the data and for the rapid development of dashboards for the use of the analysis results.
In addition to the specific frameworks, all work environments integrated into E4 Analytics Studio offer the following basic components:
pyData Stack (NumPy, Pandas, SciPy, Scikit-learn, Matplotlib,…), configured for maximum performance use of the CPUs on the Server. Besides the basic modules of pyData, there are also Numba and Cython, for the optimization of non-vectorizable python code via NumPy;
MLflow and Papermill, to manage the life cycle of Machine Learning experiments and execute workloads based on parameterized Notebooks;
Plotly-Dash and Streamlit for rapid development in Python of Dashboards for accessing the analysis results;
Regardless of the selected work environment, the container home directory is always mapped to a portion of the user’s home directory on the server, in order to guarantee data persistency to the containers. In addition, it is possible to configure E4 Analytics Studio so that each user can also access, from each container, a shared data area, also permanent, hosted on a directory on the server’s file system. Naturally, the containerized work environments of E4 Analytics Studio can be used not only via the web, in the manner described above, but also from the CLI after an ssh connection on the host server or from an external client that supports remote development through the ssh protocol (Visual Studio Code Client, PyCharm, …).
GAIA’s unique features – what sets it apart from the competition!
GAIA is a ready-to-use, high-performance solution for development, the testing and deployment of Data Analytics, Machine Learning e Scalable Deep Learning.
High Performance Appliance: thanks to a careful selection of Hardware components and the integration of a software environment designed to make the best use of the underlying hardware resources, GAIA is the ideal solution to make the journey towards Data Analytics technologies and Machine Learning, the main way to extract value from the huge amount of data available today.
AI Open Platform: E4 Analytics Studio, GAIA’s software stack, is an open architecture, designed to integrate, in the simplest and fastest way possible, the enormous advances that are characterizing the evolution of Big Data Analytics and Machine Learning technologies. The E4 Analytics Team updates the GAIA software stack at least twice a year, not only to upgrade existing environments, but also by integrating the most significant innovations produced by the industry’s open-source community. The modular architecture of E4 Analytics Studio allows the end-user both to integrate self-made container images, and to use images downloaded from Docker Hub (the most used repository of ready-to-use containers) or NVidia GPU Cloud (the specialized repository for GPU Computing, maintained directly by NVidia)
Enhanced User Experience: E4 Analytics Studio is specifically designed for the needs of Data Scientists and Data Engineers, not only because its containers activate Jupyterlab services in a Python environment, but also for the specific configuration of the interactive environment. Just to give an example, in all available work environments, Jupyterlab is always configured to offer automatic completion and access to documentation features through the Language Server Protocol services and the necessary extensions are integrated to use code version control tools or to monitor the use of computing resources available on the host server. Not all data analysis professionals love to use the Jupyter Notebook interface and, for them, E4 Analytics Studio also integrates the server version of Visual Studio Code, from which it is possible to access efficient automatic completion functions of code and powerful visual debugging tools.
Note: on request, it is also possible to integrate tools for development in R language, accompanied by specific libraries and frameworks for Data Analysis, Machine Learning and Deep Learning, as well as specific interactive environments such as RStudio.
GAIA 1.1: technical details
E4 GAIA is equipped with the Ubuntu Linux Server 18.04 operating system, on which, in addition to the services required for ssh access, only the Nvidia driver and the packages needed to use Docker containers, with support for the Nvidia GPUs, are installed. On request, it is possible to configure the system with the RedHat Enterprise Linux operating system.
NVidia Cuda: versions 10 e 11
Python: versions 3.7 e 3.8
JupyterHub: versions 1.3
JupyterLab: version 2.2.9
NVidia RAPIDS: version 0.17
Python Dask: version 2020.12
Tensorflow: version 2.2
pyTorch: version 1.7.0
MXnet: version 1.7.0
Holoviz: version 0.11