PROPOSED Web Machine Learning Working Group Charter

PROPOSED

This is a PROPOSED charter, currently under W3C AC Review.

Any text rendered like this refer to content that must be updated when the final charter is published at the latest (e.g., adjusting hyperlinks).

This proposed 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 learning inference in the browser.

Join the Web Machine Learning Working Group.

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

Start date [dd monthname yyyy] (date of the "Call for Participation", when the charter is approved)
End date CFP + 2 years
Charter extension See Change History.
Chairs Anssi Kostiainen (Intel)
Team Contacts Dominique Hazaël-Massieux (0.1 FTE)
Meeting Schedule Teleconferences: bi-weekly
Face-to-face: we will meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of the participants, usually no more than 3 per year.

Motivation and Background

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 browser's sandbox. Local processing also enables machine learning use cases that require low latency, such as object detection in immersive web experiences.

Currently, machine learning inference in the browser uses the WebGL graphics API with limited or no access to platform capabilities beneficial for ML such as CPU parallelism, general-purpose GPU, or dedicated ML hardware accelerators.

Scope

The Web Machine Learning Working Group develops a Web API aiming to expose generic capabilities to the Web required to provide close-to-native machine learning performance in the browser.

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

Out of Scope

The scope is limited to development of interfaces that expose inference capabilities of the modern platforms beneficial or purpose-built for ML. Training capabilities are out of scope due to limited availability of respective platform APIs.

    Deliverables

    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.

    Normative Specifications

    The Working Group will deliver the following W3C normative specifications:

    Web Neural Network API

    This specification defines an API to enable neural network inference that can take advantage of hardware acceleration.

    Draft state: Adopted from Web Machine Learning Community Group

    Expected completion: [CR Q1 2022]

    Tentative Specifications

    Depending on the Community Group progress, this Working Group may deliver the following W3C normative specifications after sufficient incubation in the Community Group:

    Model Loader API

    This specification defines an API to load a custom pre-trained machine learning model.

    Draft state: Explainer

    Expected completion: [N/A]

    Other Deliverables

    Other non-normative documents may be created such as:

    • Use case and requirement documents;
    • Test suite and implementation report for the specification;
    • Primer or Best Practice documents to support web developers when designing applications.

    Timeline

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

    Success Criteria

    In order to advance to Proposed Recommendation, each normative specification is expected to have at least two independent implementations of every feature defined in the specification.

    Each specification should contain a section detailing all known security and privacy implications for implementers, Web authors, and end users.

    There should be testing plans for each specification, starting from the earliest drafts.

    Each specification should contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.

    To promote interoperability, all changes made to specifications should have tests.

    Coordination

    For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, performance, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering CR and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.

    Additional technical coordination with the following Groups will be made, per the W3C Process Document:

    W3C Groups

    Machine Learning for the Web Community Group
    The Machine Learning for the Web Community Group developed the Web Neural Network API adopted by this Working Group. It is expected that the Community Group will continue drive technical work around other specifications in its scope. This Working Group will work with the Machine Learning for the Web Community Group on shaping the Tentative Specifications being worked on in the Community Group for the Recommendation track.
    GPU for the Web Working Group
    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.
    WebAssembly Community Group
    The WebAssembly Community Group incubates a proposal for a 128-bit SIMD support in WebAssembly that can be used to implement traditional machine learning algorithms efficiently. The Web Machine Learning Working Group should coordinate with this group to avoid overlap.

    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.

    Participation

    To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the (Working|Interest) Group. There is no minimum requirement for other Participants.

    The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in Communication.

    The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.

    Participants in the group are required (by the W3C Process) to follow the W3C Code of Ethics and Professional Conduct.

    Communication

    Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed on a public repository and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.

    Information about the group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the Web Machine Learning Working Group home page.

    Most Web Machine Learning Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.

    This group primarily conducts its technical work on GitHub issues. The public is invited to review, discuss and contribute to this work.

    The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.

    Decision Policy

    This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 3.3). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.

    However, if a decision is necessary for timely progress and consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote and record a decision along with any objections.

    To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email, GitHub issue or web-based survey), with a response period from one week to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.

    All decisions made by the group should be considered resolved unless and until new information becomes available or unless reopened at the discretion of the Chairs or the Director.

    This charter is written in accordance with the W3C Process Document (Section 3.4, Votes) and includes no voting procedures beyond what the Process Document requires.

    Patent Policy

    This Working Group operates under the W3C Patent Policy (Version of 15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis. For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.

    Licensing

    This Working Group will use the W3C Software and Document license for all its deliverables.

    About this Charter

    This charter has been created according to section 5.2 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.

    Charter History

    The following table lists details of all changes from the initial charter, per the W3C Process Document (section 5.2.3):

    Charter Period Start Date End Date Changes
    Initial Charter [dd monthname yyyy] [dd monthname yyyy] none