Hello TAG!
I'm requesting an updated TAG review of WebNN API - previous TAG review: #933
- Explainer¹: https://github.com/webmachinelearning/webnn/blob/main/explainer.md
- Specification: https://www.w3.org/TR/webnn/
- WPT Tests: https://github.com/web-platform-tests/wpt/tree/master/webnn
- User research: N/A
- Security and Privacy self-review²: https://github.com/webmachinelearning/webnn/blob/main/security-privacy.md
- GitHub repo: https://github.com/webmachinelearning/webnn/
- Primary contacts:
- Anssi Kostiainen, @anssiko, Intel (chair)
- Dominique Hazael-Massieux, @dontcallmedom, W3C (staff contact)
- Ningxin Hu, @huningxin, Intel (editor)
- Dwayne Robinson, @fdwr, Microsoft (editor)
- Organization/project driving the specification: W3C Web Machine Learning Working Group
- Multi-stakeholder support³: Participation by all major browser vendors. Implementation experience across major OSes, platform APIs and key JavaScript ML frameworks.
- Status/issue trackers for implementations⁴: Chrome Platform Status, Edge WebNN Developer Preview
Further details:
You should also know that...
Below is a summary of substantive changes since the previous TAG review in 2024 to assist you in this delta review.
Significant new features:
- Add 12 new operators ("Wave 3") to support well-known transformer models based on an analysis of top 20 downloaded Hugging Face models. The models comprise of a diverse set of tasks, including Small Language Models and Large Language Models, object detection, sentence similarity, feature extraction, speech recognition, image segmentation, text classification, and text generation. See issue, PR, presentation for details on these operators and motivation.
- Add
MLTensor interface that represents a tensor, an input or output to an MLGraph. Update MLContext interface with new createTensor(), readTensor(), writeTensor() methods, change compute() to dispatch() for scheduling the workload, add new destroy() method for MLContext, MLGraph, MLTensor. These changes allow buffer reuse, chained inference, better resource management with explicit destruction, and the opportunity to share memory with WebGPU, minimizing copies. See MLTensor Explainer for details.
Other substantial changes:
The group would like to seek TAG's explicit advise on the following:
Hello TAG!
I'm requesting an updated TAG review of WebNN API - previous TAG review: #933
Further details:
You should also know that...
Below is a summary of substantive changes since the previous TAG review in 2024 to assist you in this delta review.
Significant new features:
MLTensorinterface that represents a tensor, an input or output to anMLGraph. UpdateMLContextinterface with newcreateTensor(),readTensor(),writeTensor()methods, changecompute()todispatch()for scheduling the workload, add newdestroy()method forMLContext,MLGraph,MLTensor. These changes allow buffer reuse, chained inference, better resource management with explicit destruction, and the opportunity to share memory with WebGPU, minimizing copies. See MLTensor Explainer for details.Other substantial changes:
MLDeviceTypeabstraction based on implementation feedback, see Device Selection Explainer for detailsMLContext.lostattribute to signal context lost error at the earliest opportunity for improved debuggabilityopSupportLimits()to allow checking whether operators/types are supported before creating a graphFloat16Arrayby default, noteUint16Arrayworkaround informativelyMLOperandmethods into readonly attributes (dataType,shape) per Web Platform Design PrinciplesMLOperatorOptions.labelfor more diagnosable error messagesMLNumberfor specifying numeric inputs of any typeThe group would like to seek TAG's explicit advise on the following: