diff --git a/charter.html b/charter.html index a159a11..51de72c 100644 --- a/charter.html +++ b/charter.html @@ -96,7 +96,12 @@

[DRAFT] Web Machine Learning Working Group Charter

-

This is draft charter for a new W3C Web Machine Learning Working Group for discussion. It has no formal standing.

+

+ This draft charter is available on GitHub. Feel free + to raise issues. +

The mission of the Web Machine Learning Working Group is to develop APIs for enabling efficient machine @@ -108,12 +113,6 @@

Machine Learning Working Group.

-

- This proposed charter is available on GitHub. Feel free - to raise issues. -

@@ -175,6 +174,15 @@

Motivation and Background

+

+ Computer Vision enables computers to gain understanding from images + or videos, Natural Language Processing enables interaction between + computers and human languages, and Speech Recognition enables + computers to recognize and translate spoken language into text. + Bringing these experiences to the web in a privacy-preserving manner + requires efficient machine learning inference capabilities built into + the browser. +

Enabling Machine Learning inference in the browser (as opposed e.g. to in the cloud) enhances privacy, since input data such as locally sourced images or video streams stay within the @@ -200,20 +208,26 @@

This Web API for neural network inference hardware acceleration:

    -
  • Allow to construct a neural network computational graph by common - building blocks, including constant values and base operations such - as convolution, pooling, softmax, normalization, fully connected, - activation, recurrent neural network (RNN) and long short-term memory - (LSTM); +
  • Allows to construct a neural network computational graph by common + building blocks required by well-known model architectures: constant + values and base operations such as convolution, pooling, softmax, + normalization, fully connected, and activation;
  • -
  • Allow to compile the neural network to native optimized format +
  • Allows to compile the neural network to native optimized format for hardware execution;
  • -
  • Allow to setup input from various sources on the Web, e.g. array +
  • Allows to setup input from various sources on the Web, e.g. array buffers, media streams, schedule the asynchronous hardware execution, and retrieve the output when hardware execution completes.
+

+ This Working Group puts priority on building blocks required by + well-known model architectures such as recurrent neural network + (RNN), long short-term memory (LSTM) and transformers in the fields + of Computer Vision, Natural Language Processing and Speech + Recognition. +

The APIs in scope of this group will not be tied to any particular platform and will be implementable on top of existing major platform @@ -221,6 +235,11 @@

macOS/iOS Metal Performance Shaders and Basic Neural Network Subroutines.

+

+ For each high-level building block that decomposes into well-known + lower-level operations, the APIs will informatively define a generic + emulation path to allow for future extensibility. +

It may also work on a higher-level API to load a custom pre-trained Machine Learning model for inference in the browser.

@@ -237,11 +256,14 @@

algorithms.

- To avoid overlap with existing work, generic primitives used by - traditional machine learning algorithms such as base linear algebra - operations are out of scope. The WebGL and WebGPU shaders and - WebAssembly SIMD are expected to address these requirements, see - the Coordination section for details. + To avoid overlap with existing work, alignment with the Basic + Linear Algebra Subprograms (BLAS) interface is out of scope. The + WebGPU shaders and WebAssembly SIMD are expected to address the + BLAS compatibility requirement, see the Coordination section for + details. +

+

+ Interoperability between the WebNN and WebGL APIs is out of scope.

    @@ -253,14 +275,7 @@

    More detailed milestones and updated publication schedules are available on the group publication - status page. -

    -

    - Draft state indicates the state of the deliverable at the time - of the charter approval. Expected completion indicates when - the deliverable is projected to become a Recommendation, or otherwise - reach a stable state. + "https://www.w3.org/groups/wg/webmachinelearning">group home page.

    @@ -272,8 +287,7 @@

    - Web Neural - Network API + Web Neural Network API

    @@ -281,12 +295,23 @@

    inference that can take advantage of hardware acceleration.

    - Draft state: Adopted from Web - Machine Learning Community Group + Draft state: Working Draft +

    +

    + Adopted Draft: The title, stable URL, + and publication date of the + Adopted Draft which will serve as the basis for + work on the deliverable. +

    +

    + Exclusion Draft: The title, stable + URL, and publication date of the most recent + Exclusion Draft.

    - Expected completion: [CR Q1 2022] + Expected completion: Q1 2025

    @@ -315,7 +340,8 @@

    Draft state: Explainer + "https://webmachinelearning.github.io/model-loader/">Adopted from Web + Machine Learning Community Group

    Expected completion: [N/A] @@ -330,7 +356,14 @@

    Other Deliverables

    -

    The Working Group will develop a Working Group Note documenting ethical issues associated with using Machine Learning on the Web, to help identify what mitigations its normative specifications should take into account.

    +

    + The Working Group develops Ethical + Principles for Web Machine Learning Working Group Note + documenting ethical issues associated with using Machine Learning + on the Web, to help identify what mitigations its normative + specifications should take into account. +

    Other non-normative documents may be created such as:

    @@ -344,19 +377,6 @@

    -
    -

    - Timeline -

    -
      -
    • Q2 2021: First teleconference -
    • -
    • Q2 2021: FPWD for Web Neural Network API -
    • -
    • Q2 2022: CR for Web Neural Network API -
    • -
    -

    @@ -453,7 +473,8 @@

    The GPU for the Web Working Group defines a WebGPU Shading Language that may be used to implement traditional machine learning algorithms efficiently. The Web Machine Learning Working - Group should coordinate with this group to avoid overlap. + Group should coordinate with this group to avoid overlap and + to enable interoperability between the WebNN and WebGPU APIs.
    @@ -469,7 +490,11 @@

    to avoid overlap.
    WebRTC Working Group
    -
    The WebRTC Working Group defines the MediaStream interface and related media processing APIs that likely make use of Machine Learning capabilities afforded by the WebNN API.
    +
    + The WebRTC Working Group defines the MediaStream + interface and related media processing APIs that enable integration + with Machine Learning capabilities afforded by the WebNN API. +
    Technical Architecture Group
    Given the well-known ethical risks of bias in the use of Machine Learning, the Web Machine Learning Working Group will work with the Technical Architecture Group to ensure its work align with the W3C TAG Ethical Web Principles.

    @@ -479,21 +504,21 @@

    External Organizations

    -
    - Khronos -
    -
    - The Khronos WebGL Working Group defines a WebGL API that supports - the OpenGL ES Shading Language (GLSL). The GLSL can be used to - implement traditional machine learning algorithms efficiently. - Furthermore, this group incubates a proposal for a WebGL 2.0 - Compute specification that aims to provide an efficient way to - run general-purpose GPU (GPGPU) computing workloads such as - machine learning algorithms in the WebGL context. -
    ECMA TC39
    TC39 defines the JavaScript language whose primitives are key in how WebNN access data (e.g. ArrayBuffer). Possible work on operator overloading would also impact possible evolutions of the WebNN API.
    +
    +
    OpenXLA Project
    +
    + OpenXLA Project develops StableHLO, a portable ML compute + operation set that makes frameworks easier to deploy across + different hardware. WebNN API targets diverse hardware platforms + and defines an operation set whose high-level operations can be + decomposed to low level primitives that can map to StableHLO + operations. Coordination and alignment between these two + operation sets is beneficial to the open ML ecosystem. +
    +
    @@ -672,16 +697,16 @@

    - Initial Charter + Initial Charter - [dd monthname yyyy] + 2021-04-20 - [dd monthname yyyy] + 2023-04-30 - none + Initial charter