W3C

– DRAFT –
WebML WG Teleconference – 10 June 2021

10 June 2021

Attendees

Present
Anita_Chen, Anssi_Kostiainen, Chai_Chaoweeraprasit, Dominique_Hazael-Massieux, Ganesan_Ramalingam, Geun-Hyung, Geun-Hyung_Kim, Ningxin_Hu, Piyush_Chauhan, Rachel_Yager, Rafael_Cintron, Rafael_Citron, Rohit_Hegde, Rohit_Rehde, Wonsuk_Lee
Regrets
-
Chair
Anssi
Scribe
Anssi, anssik, dom

Meeting minutes

Intros

Anssi: work for Intel, been involved in Web standards & technologies for quite some time
… started the Machine Learning CG 2 years ago
… lucky to have this talented people in incubation, now bringing it to formal standardization

Dom: part of W3C technical staff, involved in setting up the Web & ML workshop, also helping chartering the WG

Anita: I work for Fraunhofer Fokus in Berlin; attended the ML workshop last fall - hear to listen to any updates

Chai: I work for Microsoft, my team built the ML platform for windows - Windows AI technology
… I've been involved in the CG 18 months ago, glad to be able to contribute

Rachel: I'm a W3C evangelist and also manage the W3C NY Metro chapter
… my professional interest is revolving around the big data domain
… involved in ML algorithms, would like to see how to contribute to the group and use it in future applications

Ningxin: work for intel, based in Shanghai; from the Web Platform engineering team, closing the gap with native
… I'm co-editing the WebNN API with Chai - happy to work with you all

Ping: from Google, work on tensorflow.js; been working closely with Ningxin on performance and WebGPU backend
… very glad to be part of this WG to advance ML on the Web

Rafael: I'm a developer on the edge browser team
… I also represent Microsoft at the WebGL, WebGPU and Immersive Web and Color on the Web groups in W3C

Rohit: Frauenofer Fit in Bonn in Germany; involved in ML algorithms; have been involved in accessibility topics, glad to join this group

Wonsuk: from ETRI, a government research institute in South Korea
… involved in a couple of projects, incl around AI & data
… the Web is a major ecosystem in IT - interested in Web ML APIs standardization

Anssi: good split of CG old timers and new comers

Welcome to the Web Machine Learning Working Group

Anssi: welcome to our first teleconference as a WG!
… we'll start with a few orientation topics for the group

Where we are, who we are, what are our plans for the next few months

Anssi: Where we are: this WG standardizes work incubated in the CG over the past 2 years
… that's what our charter sets us to do
… Who we are: we've just heard a round of introductions, with a diverse set of people: browser, hardware, ISV, research & others
… we are open for anyone to join - if you know people in your communities who would help further this work, please let them know
… I expect most of the participants from the CG to become part of the WG
… We're still onboarding new people
… we're also opened to invited experts - people not affiliated with a Member organization e.g. unaffiliated individuals - we can help with getting them on board
… in terms of other stakeholders, we will work with experts from so-called "horizontal" groups: security, privacy, accessibility, internationalization, architecture
… throughout our standardization journey, we will interact with these experts to help ensure our work fulfills the expectations in these spaces

Anssi: with regard to our plans for the next few months, Working Groups are in the business of advancing their specs along the W3C Recommendation track
… this starts with a "First Public Working Draft" and ends at the final stage, a W3C Recommendation

W3C Recommendation Track

Anssi: when it is “done”
… a substantial amount of work needs to be done between these two stages
… we're hoping to hit soon the first milestone, the FPWD

Dom: Our deliverables:
… 1) Web Neural Network API

Anssi: our key deliverable in this group is the Web Neural Network API

Dom: 2) Model Loader API (tentative, subject to agreement on model format)

Anssi: The model loader API has a dependency on having an agreed upon model format

Dom: 3) Ethical issues associated with ML on the Web (Working Group Note aka informative)

Anssi: we want to ask everyone's help in finding people in your communities that can help with these ethical considerations

Dom: for CG old timers, the work happens in a similar fashion, a bit more formalism and attention to the broader W3C community
… some additional scrutiny from the W3C community
… for WG newcomers, existing background from people working on these topics for the past couple of years
… with Anssi, we're committed to get you up to speed with this work, and answer any questions you have
… please do interrupt and let us know!
… let us know whenever you feel lost and we'll help you out

Introduction to the Web Neural Network API aka WebNN API

Rachel: is there any information about next phase work in terms of algorithmic approaches?
… beyond neural networks

Anssi: our current charter defines our technical scope
… we have 1 normative deliverable - the WebNN API
… we will continue to evolve it as part of the WG, improving it to meet the needs of the API customers
… Another spec we mentioned is the model loader API - not yet ready for WG, but incubated in the CG
… if we identify promising work beyond that before the end of our current charter, we can always recharter
… this charter is very focused to push for timely progress
… if you have proposals in mind for new work, the CG has a process to identify these new ideas

https://github.com/webmachinelearning/proposals/

<Zakim> wonsuk, you wanted to discuss position of other browser vendors

Wonsuk: we have Intel, Google & Microsoft - a good starting point in terms of browser vendors
… but we need to bring more browser vendors into the group
… do you know the position of other vendors for this activity?

Anssi: the charter was reviewed by the W3C membership, and noone objected to the latest version of it
… The CG had representatives from all 4 major browser vendors
… I can't speak for other vendors, but I would expect all of them to join eventually
… clearly an important question given that one of our success criteria will be to demonstrate independent implementation of our technologies
… in the case of our API, the landscape is a bit different from other specs, given that the API may need to build on different OS backends and different supporting hardware
… once we get to the stage of demonstrating interop, we may build upon that distinct landscape

Dom: currently not Apple or Mozilla have not joined the WG yet
… we see participation in line with momentum with developers, other stakeholders, it is sometimes a chicken and egg problem
… we want to make sure the work we develop does work for other vendors
… as for implementation experience, Anssi described some ways how to demonstrate interop beyond traditional assessment
… my preference is interop across several axis, including browser vendors
… the advice I give to WGs for demonstrating interop is how confident other groups are what we have done can be implemented by different people with different perspectives
… this can be done with a good level of trust and honesty, it is about building the web for its long-term future
… in the end the Director will review the assessment, but we need to answer the questions in the end, how confident we are the think we build fulfills the promise of the web

Introduction to the Web Neural Network API aka WebNN API

WebNN Explainer

Anssi: Chai, would you mind giving a high level view of what WebNN is?

Chai: this work has emerged from a necessity: if we look at the ecosystem on windows, mac, mobile phones,
… we're seeing a lot of hardware innovation to enable high-speed AI
… in my day job, I interact quite a lot with hardware vendors that are pushing innovations toward better UX
… but there is a gap between these innovations and what the Web can do today with it
… we see WebNN as the bridge for that gap
… The goal is to enable native performance & native support in Web browsers without having to deal with the complexity of the underlying OS/hardware/software combination
… WebNN is trying to achieve this: enabling running ML models across browsers & platforms as seamlessly as possible
… WebNN is thus an abstraction of ML that can be recognized across industry & platforms
… there is a lot of overlap and commonality across the innovations that are happening
… which WebNN tries to represent to provide access to this innovation to Web developers

Anssi: the WebNN Explainer is a great read, a high level view of what the API is - a great starting point before diving into the spec

Demystify the transition process from CG to WG, CG work adoption

Anssi: In short, as Dom already said, we try to make this transition as seamless and transparent for folks who are transitioning from the CG to WG
… Dom and I will try to take care of as much of the procedural aspects
… for existing CG participants that haven't joined the WG, now is the time to do to make sure you can continue contributing
… In terms of transition, we will issue a Call for Consensus today to formally adopt the WebNN API in the Working Group and publish it as a First Public Working Draft, with a targeted release toward the end of June
… I'll work with Dom to prepare the specification for publication

Dom: First Public Working Draft does not mean WebNN API is ready, it signals the WG agrees this is the right direction of work
… it also starts Patent Policy considerations, Call for Exclusions for participants
… to allow publication of the spec on Royalty-Free basis

Anssi: we are confident that the spec meets the bar for FPWD - we even have already exceeded some expectations (e.g. already got some privacy review, TAG review)

Collaboration model with the WebML CG and other W3C groups

Anssi: we are expected to collaborate with the WebML Community Group
… I expect most if not all of the key contributors to participate in both groups
… we're working under the same github organization, sharing a mailing list, etc
… In terms of other W3C groups, our charter lists other groups we want to work with
… - GPU for the Web WG - WebGL & WebGPU are closely related technologies to our work, e.g. ML frameworks often have backends on top of WebGL/WebGPU
… - WebAssembly - another backend in particular for CPU
… - WebRTC is mentioned given the media processing APIs that would benefit from ML technologies
… - the Technical Architecture Group - most specifically for their work on ethical design principles
… This autumn, there will a W3C TPAC meeting and we hope to organize joint meetings with some of these groups
… to ensure we're building a cohesive Web platform

Meetings and TPAC vF2F

Anssi: The CG had been using this biweekly slot we're using today - Thursdays at 1400 UTC
… we'll run a poll to see if that timeslot is still the best option
… we have a very wide geographic distribution, so there are only a limiter number of possibilities that can work
… W3C runs a general yearly meeting called TPAC
… this year again, it will be fully virtual
… it's an opportunity for joint meetings with other groups, breakouts on dedicated topics

Planned first key WG milestones:

Anssi: After this call, I'll start a call for consensus (CfC) to adopt WebNN API to publish as a FPWD, with a target date of June 24
… a CfC is a way to check the group and the community has no concerns with that adoption

Web Machine Learning website

W3C WG home

Instructions for joining

WebNN API spec

WebNN API explainer

WebNN API - new proposals

Anssi: for new people, this should be a good way to see how we handle our day-to-day work

Issue #156

PR #174

Anssi: this particular item is a follow up item from a previous CG call
… Ningxin submitted a pull request for sync build & compute and require pre-allocated output buffers in compute
… This is the op-level pre-allocation use case described in pull request #174, based on the issue describe in #156
… I would like to call Ningxin to describe the 3 main changes in this pull request
… The pull request has been reviewed already quite extensively, hopefully can be merged after the call

Anssi: Ningxin to talk us through the three key changes:
… 1) Change MLGraphBuilder.build and MLGraph.compute to sync API.
… 2) Change MLGraph.compute to require pre-allocated output buffers.
… 3) Simplify the the input / output resources binding by MLResource. Leave MLInput only for dynamic input shape case.

Ningxin: the PR is built from a previous PR where we had lots of good discussions
… this is focusing on the WASM use case and the Operation-level use case
… during the discussion, we found this is quite useful, not only for op-level execution
… but also for other use cases - e.g. in tensorflow-lite WASM
… the feature in this PR will be useful also for graph-level execution
… The PR includes 2 major changes:
… change the MLGraphBuilder.build and MLGraph.compute APIs as synchronous APIs
… the motivation is that synchronous APIs are easier to use, and more importantly, the WASM APIs are expecting a sync API
… Ping mentioned in #156 - tensorflow.js shared a way to avoid blocking the main thread with a sync API using Web workers
… The second change is to require to pre-allocate output buffers for the compute API
… This is also based on the needs from ML frameworks
… most of the WASM libraries will prepare output buffers and will expect the compute APIs to put the output in the WASM memory
… for the GPU, creating GPU resources on the fly is very expensive - so it's also good for the GPU usage
… Another change is to simplify the resources binding

Anssi: Rafael, any thought? We've had reviews from Ping & Chai

Rafael: haven't looked in details into it, but reading the discussion, it looks good to me

Anssi: OK, shall we it merge it then?

Rafael: no concern for me; we can fix problems later if needed

Resolution: Merge https://github.com/webmachinelearning/webnn/pull/174

AOB

Anssi: we will defer the remaining items to our next call - schedule to be confirmed given starting vacation schedules

Anssi: Thank you all for joining today!

Summary of resolutions

  1. Merge https://github.com/webmachinelearning/webnn/pull/174
Minutes manually created (not a transcript), formatted by scribe.perl version 136 (Thu May 27 13:50:24 2021 UTC).

Diagnostics

Succeeded: s/shops/shop/

Succeeded: i/Anssi: work for Intel/Topic: Intros

Succeeded: s/Introduction to the Web Neural Network API aka WebNN API//

Succeeded: s/WG/CG/

Maybe present: Anita, Anssi, Chai, Dom, Ningxin, Ping, Rachel, Rafael, Rohit, Wonsuk