This post is co-authored by Anssi Kostiainen (Working Group Chair), Ningxin Hu and Chai Chaoweeraprasit (Web Neural Network API Editors), and Ping Yu (TensorFlow.js Core team).
Machine Learning (ML) is a branch of Artificial Intelligence. A subfield of ML called Deep Learning with its various neural network architectures enables new compelling user experiences for web applications. Use cases range from improved video conferencing to accessibility-improving features, with potential improved privacy over cloud-based solutions. Enabling these use cases and more is the focus of the newly launched Web Machine Learning Working Group.
While some of these use cases can be implemented in-device in a constrained manner with existing Web APIs (e.g. WebGL graphics API or in the future WebGPU), the lack of access to platform capabilities such as dedicated ML hardware accelerators and native instructions constraint the scope of experiences and leads to inefficient implementations on modern hardware.
With these design goals in mind, a W3C Community Group started incubating work in 2018 for a possible Web Neural Network API, in response to encouraging feedback from a TPAC breakout session. Starting October 2018, this Community Group identified key use cases working with diverse participants including major browser vendors, key ML JS frameworks, interested hardware vendors, and web developers. After identification of the key use cases, the group decomposed the key use cases into requirements and started drafting the Web Neural Network API specification in mid-2019. The aim of this use case-driven design process was to put user needs first.
“Having access to the native ML accelerators, machine learning frameworks such as TensorFlow.js can greatly improve model execution efficiency and truly democratize ML for web developers.” – Ping Yu, TLM for TensorFlow.js at Google
“The early empirical results from the Web Neural Network API implementations demonstrate tremendous power & performance improvements of the Web AI workloads. Through access to the full native AI capabilities of the modern heterogeneous hardware, the Web Neural Network API enables a whole new transformative class of intelligent user experiences on the Open Web Platform across a variety of hardware, software, and device types.” – Ningxin Hu, Principal Engineer, Web Platform Engineering at Intel
W3C organized a workshop on Web and Machine Learning over the course of August and September 2020. This workshop brought together web platform and machine learning practitioners to survey the broader intersection of Web technologies and Machine Learning, and one of the conclusions of the Workshop was to propose that a new W3C Working Group should be formed to standardize the Web Neural Network API, graduating from its incubation stage. As of 2021, the Community Group continues its incubation function working in parallel with the Working Group, similarly to e.g. W3C’s WebAssembly and WebGPU efforts.
“The Web Neural Network API is a very important step toward the future of the Intelligent Web where AI is infused into the user’s daily web experiences. With the current advances and the pace of innovations in the AI hardware landscape, it’ll help connect those experiences from the clouds and make them personal to the users through seamless native hardware performance on the edge devices across the entire web. That’s the future worth dreaming about!” – Chai Chaoweeraprasit, Principal Engineering Lead, Machine Learning and Compute Platform at Microsoft
The Web Machine Learning Working Group plans to publish the First Public Working Draft of the Web Neural Network API during the first half of 2021 and welcomes new participants from the diverse W3C community to take part in helping identify new use cases, documenting ethical risks and their mitigations, contributing to technical work, conducting wide reviews in privacy, security, accessibility, and other important areas to ensure the perspectives of the diverse web community are heard. – which given some of the ethical impact of Machine Learning algorithms will be particularly critical to the work of the group. Join us!
We would like to thank all the W3C Community Group and W3C workshop participants for their contributions that have helped shape this work, and W3C for providing a venue to advance this cross-industry effort toward wide adoption.