This proposal has been approved and the Eclipse Graphene project has been created.
Visit the project page for the latest information and development.

Eclipse Graphene

Monday, October 18, 2021 - 03:09 by Boris Baldassari
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

The AI4EU European project, which runs from 2019-2021 and is funded by the European Commission, included the goal to use Acumos AI (https://www.acumos.org/) as a place to experiment with AI tools from a catalogue. However, in the course of the project, we forked from Acumos a new branch called AI4EU Experiments (https://github.com/ai4eu) which deviates significantly from Acumos in several areas:

  1. Unlike Acumos, Graphene does NOT build docker images of models internally.
  2. Graphene only stores references to docker images (docker image URIs), never the images directly.
  3. Graphene requires the models to support gRPC communication according to the container specification (part of the tutorials repo).
  4. Points 1-3 together ensure maximum flexibility for the model providers and also maximum interoperability between the models (both of which were not possible with the original Acumos approach).
  5. The Graphene design studio supports more topologies and gRPC streaming.
  6. We have removed Acumos features that have never been finished, like the Workbench and NIFI integration.
  7. Unlike Acumos, Graphene does not allow models to be executed inside Graphene itself for security and scalability reasons.

Now that the original AI4EU project ends, we would like to make sure it stays an open source project with well-defined governance.

Scope

Eclipse Graphene provides an extensible marketplace of reusable solutions for AI and machine learning, sourced from a variety of AI toolkits and languages that ordinary developers, who are not machine-learning experts or data scientists, can easily use to create their own applications.

Description

The goal of Eclipse Graphene is to make AI and machine learning accessible to a wide audience by creating an extensible marketplace of reusable solutions, sourced from a variety of AI toolkits and languages that ordinary developers, who are not machine-learning experts or data scientists, can easily use to create their own applications.

Eclipse Graphene is not a centralized execution environment for AI solutions. It is a design and distribution framework for integrating solutions from modular components. It provides a launchpad for training and validating both individual components and integrated, or composite, solutions, and then securely distributing the results to targeted communities through an electronic catalogue, from which components can be selected. Graphene also provides the deployment interfaces that allow solutions to be trained or executed on many popular runtime environments, including several commercial cloud services, mostly Kubernetes-based.

Eclipse Graphene includes a graphical tool, called AcuCompose, for chaining together multiple models, data translation tools, filters and output adapters into a full end-to-end solution that can be deployed into the aforementioned runtime environments. Eclipse Graphene only requires a container management facility, like Kubernetes, to deploy and execute portable general purpose applications. At the very core of interoperability is the Eclipse Graphene container specification:

Eclipse Graphene also has the means for collaboration in closed groups on dedicated projects in mixed teams (i.e. building a pipeline together, or working through an auditing process by building pipelines and store audit documentation and execution results)

Eclipse Graphene supports many hardware infrastructures in order to maximize the utility of the solutions being deployed. This makes Graphene-compatible solutions portable and flexible. Eclipse Graphene offers a mechanism for packaging, sharing, licensing, and deploying AI models in the form of portable, containerized microservices, which are interoperable with one another. It provides a publication mechanism for creating shared, secure catalogues and a mechanism for deployment onto any suitable runtime infrastructure.

Why Here?

We believe that Eclipse Graphene can help to support adoption, innovation and evolution of AI-Applications. And we expect that by making it an Eclipse project, we can reach a broad audience and attract more developers.

Future Work

New EU-funded projects related to AI in Europe are set to re-use the Eclipse Graphene software, and will contribute to its codebase.

Project Scheduling

Initial contribution is expected during 2021-Q4 (i.e. before the end of the year).

Initial Contribution

As mentioned before, the Graphene components have been forked from the LF AI Acumos stack. The original copyright belongs to the Linux Foundation. Community around the original codebase is not very active anymore, but we expect that people and teams working on EU-funded projects will join the new project's community as Eclipse Graphene is set to become the de-facto standard for EU-funded AI-related projects.

Source Repository Type