Förderjahr 2021 / Projekt Call #16 / ProjektID: 5899 / Projekt: PrototAIp
The project PrototAIp has come to an end. We are looking back at a successful year, and are happy to see that PrototAIp has come to life.
PrototAIp is a platform, which was specifically designed to be used by data scientists, machine-learning engineer, data analysts, data visualizers, etc. to provide a smooth and flexible solution to work on their projects. It is a programming environment hosted on a server and accessible via a browser (a client-server architecture). PrototAIp has a JupyterHub as its backbone so that it can provide Jupyter Notebooks to its users. In addition, PrototAIp has a wide variety of software libraries available, specifically selected for the needs in the previously mentioned areas. On top of that, PrototAIp comes with strong hardware, i.e. a strong, virtualizable GPU. Why a GPU? The currently very hyped artificial neural network (e.g. used for Deep Learning or Generative AI such as ChatGPT) benefit strongly from GPUs, as they reduce the time required for model computation. This combination of technologies delivers a smooth programming experience: users of PrototAIp simply sign in to the platform and get a fully functional programming environment for the experiments, without having to set up anything. And the best is: PrototAIp is a completely Austrian solution, which means that no data is kept on US or Chinese infrastructure.
The Programming Interface of PrototAIp
The image below shows the programming interface of PrototAIp, which is the widely known Jupyter Notebook. We chose JupyterHub as the underlying technical architecture because of its ease of use, publicity, and maturity. PrototAIp largely extends JupyterHub, e.g. through the usage of a specialized notebook, which is adapted to the needs of data scientists and loaded via containers in PrototAIp's microservice architecture. PrototAIp features a long list of data-science-related libraries, that are pre-installed on the platform. Everyone with an account can easily use them, without the need to install them. We feature the must-have and nice-to-haves of data-science and give a couple of examples here:
Administrative Features of PrototAIp
The user management gives an overview of the current utilization of the platform. It shows the registered users, their last activitiy, allows to stop pods or shutdown the hub completely, and to edit user details.
PrototAIp uses a two-step authorization process, which results from the usage of JupyterHub as the underlying base platform. The first step is the user registration, which is the same as the registration as with any other web platform. After the user has registered, an administrator of PrototAIp has to authorize the respective user manually. After the authorization has been completed, the users can starts their work with PrototAIp.
PrototAIp also has a REST API. The REST API gives users programmatic access to the platform. They can run their own scripts or software modules, e.g. to automatize certain processes. Typically, platforms providing REST APIs require access tokens from the users each time they interact with the API. These access tokens can be requested, reviewed, and revoked in the respective area, as shown in the image below.
- The PrototAIp notebook - Batteries included: the programming interface of PrototAIp consists of Jupyter Notebooks. Usually, special-purpose libraries, e.g. for usage in data-science experiments need to be installed manually in the virtual environment and then loaded into the kernel. PrototAIp comes with these libraries included. The default PrototAIp notebook contains a large variety of data-science related libraries that are ready to be used without any installation. For more information see this blog post.
- The PrototAIp Docker image: Whenever we add new libraries to the PrototAIp notebook and push it to Github, it automatically also gets transferred to Dockerhub. From there, anyone interested in setting up their on PrototAIp on their premises can load the Docker image and fire up their own PrototAIp.
- The PrototAIp open-source repository: This repository contains all installation scripts and routines that we use for running and maintaining PrototAIp.
- User documentation
- For developers:
Project results (Projektergebnisse):