neptune

module
v0.0.0-...-6005cdf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 28, 2021 License: Apache-2.0

README

English | 简体中文

Neptune

CI Go Report Card LICENSE FOSSA Status

What is Neptune?

Neptune is an edge-cloud synergy AI project incubated in KubeEdge SIG AI. Benefiting from the edge-cloud synergy capabilities provided by KubeEdge, Neptune can implement across edge-cloud collaborative training and collaborative inference capabilities, such as joint inference, incremental learning, and federated learning. Neptune supports popular AI frameworks, such as TensorFlow, Pytorch, PaddlePaddle, MindSpore.

Neptune can simply enable edge-cloud synergy capabilities to existing training and inference scripts, bringing the benefits of reducing costs, improving model performance, and protecting data privacy.

Currently, this project is in the preview and being promoted to enter the KubeEdge community.

Features

Neptune has the following features:

  • Provide the edge-cloud synergy AI framework.

    • Provide dataset and model management across edge-cloud, helping developers quickly implement synergy AI applications.
  • Provide edge-cloud synergy training and inference frameworks.

    • Joint inference: under the condition of limited resources on the edge, difficult inference tasks are offloaded to the cloud to improve the overall performance, keeping the throughput.
    • Incremental training: For small samples and non-iid data on the edge, models can be adaptively optimized on the cloud or edge. The more the models are used, the smarter they are.
    • Federated learning: For those scenarios that the data being too large, or unwilling to migrate raw data to the cloud, or high privacy protection requirements, models are trained at the edge and parameters are aggregated on the cloud to resolve data silos effectively.
    • etc..
  • Compatibility

    • Compatible with mainstream AI frameworks such as TensorFlow, Pytorch, PaddlePaddle, and MindSpore.
    • Provides extended interfaces for developers to quickly integrate third-party algorithms, and some necessary algorithms for edge-cloud synergy have been preset, such as hard sample discovering, aggregation algorithm.

Architecture

Neptune's edge-cloud synergy is implemented based on the following capabilities provided by KubeEdge:
  • Unified orchestration of across edge-cloud applications.
  • Router: across edge-cloud message channel in management plane.
  • EdgeMesh: across edge-cloud microservice discovery and traffic governance in data plane.
Component

Neptune consists of the following components:

GlobalManager
  • Unified edge-cloud synergy AI task management
  • Cross edge-cloud synergy management and collaboration
  • Central Configuration Management
LocalController
  • Local process control of edge-cloud synergy AI tasks
  • Local general management: model, dataset, and status synchronization
Worker
  • Do inference or training, based on existing ML framework.
  • Launch on demand, imagine they are docker containers.
  • Different workers for different features.
  • Could run on edge or cloud.
Lib
  • Expose the Edge AI features to applications, i.e. training or inference programs.

Guides

Installation

Follow the Neptune installation document to install Neptune.

Examples

Example1:Joint Inference Service in Helmet Detection Scenario.

Roadmap

Meeting

Regular Community Meeting:

Resources:

Contact

If you have questions, feel free to reach out to us in the following ways:

License

Neptune is under the Apache 2.0 license. See the LICENSE file for details.

FOSSA Status

Directories

Path Synopsis
cmd
pkg
apis/neptune/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/neptune/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/neptune/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
version/verflag
Package verflag defines utility functions to handle command line flags related to version of Kubernetes.
Package verflag defines utility functions to handle command line flags related to version of Kubernetes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL