Git Product home page Git Product logo

machine-learning's Introduction

machine-learning

This repository shall drive the progress towards a support of ML functionality. The following list reflects the conclusions from the wasmCloud-ml meeting from 2022-01-11.

Structure

  1. Scope, what to aim for
  2. Design decisions
  3. Illustration of a corresponding application

Scope

  1. Inference shall be IN scope

[Information] Other actions which are typical for the discipline of machine learning shall deliberately be excluded, e.g. training and data exploration.

Design decisions

Inference API actor

The Inference API actor (IAPI) shall

  1. be linked to a HTTP server (http)
  2. expose a public API for requesting inference actions.
  3. validate its input
  4. make actor-to-actor calls to an inference actor (I)
  5. translate internal results to public HTTP output

Inference Actor

The Inference Actor (I) shall

  1. await actor-to-actor calls to perform actions
  2. perform any necessary validation on an incoming call
  3. request inference processing from the inference engine (IE) and return results

Inference Engine Capability Provider

The Inference Engine Capability Provider (IE) shall

  1. expose a WASI-NN like style contract to make inference engine requests
  2. use a model path to fetch model data from a bindle server
  3. interact with some form of inference engine via Rust crate

Bindle Server

The bindle server shall

  1. Be deployed "out of the box" as is as a standalone entity for storing/exposing models
  2. reference the respective model via a model path

Illustration of a corresponding application

An incoming request (1) at the HTTP server (http) is forwarded to the Inference API actor (IAPI) where the input of the request is validated and routed to the Inference actor (I). The Inference actor (I) triggers an inference processing at the Inference Engine (IE). If the Inference Engine did not yet download the corresponding model, it does so by providing a model path (5) to a bindle server and returning a model (6). The inference result is forwarded (7) to the Inference actor (I) where it is routed (8) back to the Inferenc API actor (IAPI) and finally provided (9) as a response to the request (1) to the HTTP server (http).

most basic design

legend for most basic design

The model path can be defined in the link definition for the link between the Inference actor (I) and the Inference Engine (IE) such that it is passed to the Inference Engine (IE) when the link is established. Additionally, a link name can be defined in the link definition.

This allows a model to be addressed upstream, e.g. in the incoming request (1) of the HTTP server, by a human readable nick name and at the same time it can be referenced downstream from the Inference Engine (IE) in the bindle server.

machine-learning's People

Contributors

brooksmtownsend avatar finfalter avatar liamrandall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.