Skip to main content

Developer guide

This section is dedicated to the design of Geti™. It is intended as a high-level overview of the platform architecture, as well as the design of every component of the system. Geti™ is part of Intel's Open Edge Platform, an open source ecosystem that provides scalable edge solutions.

Architecture style

Geti™ is a cloud-native distributed system architecture comprising interactive microservice and AI workflows. Most components of Geti™ adhere to the microservice architecture style, while some components, such as active learning, follow the service-based architecture style. Additionally, event-driven architecture is utilized for asynchronous communication between components.

Architecture characteristics

  • Usability/Interactivity: Geti™ is designed to be highly intuitive, focusing on SME as the main persona. Its main interface is a highly interactive web application based on active learning AI training methodology, enabling users to build deep learning models without prior deep learning knowledge.
  • Performance and efficiency : State-of-the-art models, carefully selected to excel on Intel hardware. All models can be trained using small datasets.
  • Portability: Geti™ is designed as a portable, cloud and edge-native system. It can be deployed on scalable K8S cloud clusters like EKS to leverage elastic cloud hardware and managed services. Additionally, it can be deployed on edge clusters using lightweight K8S distributions like K3S.
  • Scalability: Geti™ is a multi-tenant system based on soft multi-tenancy. This design allows it to serve small organizations with a few employees at the edge, as well as thousands of organizations in the cloud, sharing hardware resources for cost optimization.
  • Security: Geti™ was designed and built with security as a foundational principle, incorporating robust features such as authentication, authorization, and mutual TLS to safeguard data and ensure a strong, defense-in-depth security posture.

High-level architecture

The following diagram visualizes the high-level design of the entire system.


High-level diagramHigh-level diagram

The core subsystems of Geti™ are described in subsections below.

Platform Services

Subsystem provides basic services (identity and access management, logging and observability), serves as an abstraction layer over the infrastructure services.

ServiceDescription
Auth proxySupports Istio Ingress authentication, implements additional validation and token exchange
User directoryService to support internal directory based on OpenLDAP to manage user accounts credentials
AccountService that implements organization, user account and API key management
OnboardingOrchestrate users and organizations onboarding in cloud-based installation
ObservabilityCollects and provides logs
NotifierA service to offload the responsibility of sending messages via different channels from such service as Onboarding and Account
CreditService tracks the running amount of Geti™ resources consumed by users in a cloud-based installation and constraints access to Geti™ services when users drain their allocated budget

Workflows & Interactive Microservices

Subsystem enables seamless workflows from dataset management to model training, optimization, evaluation, and deployment.

Service / WorkflowDescription
ResourceManage the lifecycle of resources (projects, datasets, annotations, models)
Dataset I/EDataset import and export. This service aims to support public dataset formats, to allow Geti™ user to seamlessly migrate their data in and out of Geti™
Project I/EProject import/export. This feature allows the users to move in-between Geti™ instances
MediaServe image, video and thumbnails
DirectorOrchestrate active & incremental learning cycles
Visual promptingService provides a faster working model for tasks like detection and segmentation when compared to the traditional fine-tuning approach
Inference gatewayService handles all the predictions REST requests, on model predictions or task chain predictions
Model registrationCreates the model package and registers it for inference, it also unregister the model when it is not used

Deep Learning Frameworks

Frameworks implement modern ML development stack to support computer vision datasets management, training, evaluation, optimization and deployment ML models, end-to-end inference API, Visual explanation for OpenVINO models and anomaly detection library.

FrameworkDescription
AnomalibAn anomaly detection library comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization, and edge inference
DatumaroA Python library and a CLI tool to build, analyze and manage Computer Vision datasets
Training ExtensionsFramework that allows to train, evaluate, optimize and deploy Computer Vision Models via OpenVINO™
Geti™ SDKSoftware Development Kit for the Geti™
OpenVINO™ Model APIA set of wrapper classes for particular tasks and model architectures, simplifying data preprocess and postprocess as well as routine procedures