14:58:50 RRSAgent has joined #webmachinelearning 14:58:54 logging to https://www.w3.org/2024/03/21-webmachinelearning-irc 14:58:54 RRSAgent, make logs Public 14:58:55 please title this meeting ("meeting: ..."), anssik 14:59:00 Meeting: WebML WG Teleconference – 21 March 2024 14:59:09 Chair: Anssi 14:59:10 Agenda: https://github.com/webmachinelearning/meetings/blob/main/telcons/2024-03-21-wg-agenda.md 14:59:14 Scribe: Anssi 14:59:18 scribeNick: anssik 14:59:38 gb, this is webmachinelearning/webnn 14:59:38 anssik, OK. 14:59:42 Present+ Anssi_Kostiainen 14:59:47 Present+ Joshua_Bell 15:00:00 Present+ Rafael_Cintron 15:00:09 Present+ Dwayne_Robinson 15:00:10 Ningxin_Hu has joined #webmachinelearning 15:00:48 Regrets+ Ningxin_Hu 15:01:19 Regrets- Ningxin_Hu 15:01:23 Present+ Ningxin_Hu 15:01:47 Present+ Michael_Wyrzykowski 15:02:10 Present+ Bryan_Bernhart 15:02:17 Present+ Dominique_Hazael-Massieux 15:02:40 RRSAgent, draft minutes 15:02:42 I have made the request to generate https://www.w3.org/2024/03/21-webmachinelearning-minutes.html anssik 15:02:49 Topic: Announcements 15:02:49 Subtopic: Daylight Saving Time (DST) change 15:03:01 anssik: we're in the Daylight Saving Time (DST) transition period. This means in the US and Canada this meeting takes place today exceptionally at 8 AM. Next meeting will again be back at its normal US/Canada 7 AM. 15:03:12 ... PRC will be an hour earlier at 22 PM for the next ~6 months starting with the next meeting. 15:03:34 Subtopic: Documenting implementation status 15:03:43 anssik: issue #223 15:03:45 https://github.com/webmachinelearning/webnn/issues/223 -> CLOSED Issue 223 Documenting implementation status (by anssiko) [process] 15:03:48 -> Implementation Status of WebNN Operations https://webmachinelearning.github.io/webnn-status/ 15:04:10 anssik: Thanks to sustained major contributions by Belem we now have: 15:04:12 RafaelCintron has joined #webmachinelearning 15:04:14 ... - a detailed implementation status page that covers both browser implementations and JS ML framework integration status for the WebNN API 15:04:30 ... - upstreamed a schema-compliant subset of this data to the Browser Compat Data (BCD) repository used by MDN, caniuse.com, and more as a data source 15:04:39 ... - published contributing guidelines to help new contributors take part in this effort 15:04:53 ... Thank you all contributors! Details in the issue. Example caniuse.com entries: 15:04:57 -> caniuse.com conv2d https://caniuse.com/?search=conv2d 15:05:01 -> caniuse.com ML* https://caniuse.com/?search=ML 15:05:13 zkis has joined #webmachinelearning 15:05:23 present+ Zoltan_Kis 15:05:30 Present+ Zoltan_Kis 15:05:54 Topic: Understanding and managing the impact of ML models on the Web 15:06:14 -> https://www.w3.org/reports/ai-web-impact/ AI & the Web: Understanding and managing the impact of Machine Learning models on the Web 15:06:34 anssik: The W3C Team has documented its shared understanding of the current and expected systemic impact of AI and ML models in particular on the Web. We'll hear an introduction to this work that references and in part builds upon this group's efforts including WebNN API, Ethical Principles for Web Machine Learning, Hybrid AI exploration, and more. 15:06:38 -> Understanding and managing the impact of ML models on the Web https://www.w3.org/reports/ai-web-impact/ 15:06:47 -> Comments welcome via GitHub issues https://github.com/w3c/ai-web-impact/issues 15:06:53 q? 15:07:07 dom: thanks Anssi for inviting me to talk about this document 15:07:36 ... I'm tried to summarize many many conversations in this space, take systemic approach to this, not just one instantantion 15:07:40 McCool has joined #webmachinelearning 15:07:42 dwayner has joined #webmachinelearning 15:08:11 ... UA deployments may have broad long-lasting impact on the web as we know it, a classical example is AI generated content possibly polluting the web and making it harder to find quality content on the web 15:08:39 ... something that has existed for decades, creating challenges in that space, with AI the scale changes and creates a more systemic risk to look at 15:09:26 ... this document may be incomplete, also wrong in some cases, but wants to build a shared picture how AI is changing the web so we put in place the right mitigations and take the right actions to get the good parts of the AI and Web 15:09:47 ... specific focus of the doc is on ML models and a lot of it on LLMs and generative AI broadly speaking 15:10:41 ... as Anssi said, the doc refers to WebNN that offers some privacy mitigations for the web, builds upon the Ethical Principles work also deliverable of this WG, also noted Hybrid AI as a potential new way of handling privacy-preserving challenges 15:11:15 ... how this WG could help, please review the doc, identify bugs and gaps, even better because you're well connected who care about AI in your orgs, please help make sure these people also take a look and bring feedback 15:11:32 ... this will help build better shared understanding what this community needs to do and what W3C should drive forward 15:11:46 ... feedback via GH or directly to Dom via email 15:13:23 anssik: will this doc be a Living Docoment? 15:13:54 dom: for now Living Document, living plan is to share this in the upcoming AC meeting in Hiroshima next month 15:14:37 ... next big milestone around TPAC 2024 in California in September, expecting to organize a breakout session to say where we are, what has gained the most interest, come up with a roadmap for new work 15:14:49 ... a lot of this depends on what contributions we get from the community 15:15:18 ... we could also organize another W3C workshop, as you recall, this WG was created as a response to the first W3C Web & ML workshop 15:15:24 RRSAgent, draft minutes 15:15:26 I have made the request to generate https://www.w3.org/2024/03/21-webmachinelearning-minutes.html anssik 15:16:39 dom: we talked with Web & Network IG re where models are located, executed and how the data is handled 15:16:56 anssik: on a related note, thanks to everyone's feedback for the Hybrid AI proposal! 15:17:10 ... the project team has posted a summary of your comments and wants to acknowledge everyone's contributions 15:17:11 ... please check that the summary reflects your feedback: 15:17:15 -> https://github.com/webmachinelearning/proposals/issues/5 15:17:15 https://github.com/webmachinelearning/proposals/issues/5 -> Issue 5 Hybrid AI Exploration (by grgustaf) 15:17:29 anssik: as the next step the team will share a proposal for the initial prototype whose scope is informed by your feedback 15:17:47 Topic: MLBuffer update 15:18:18 anssik: Update to the group on the latest developments in the MLBuffer exploration, learnings from the implementation. Spec design discussion to resume informed by the implementation findings. 15:18:19 q? 15:18:44 Bryan: brief update, non-interop prototyping has been ongoing per original plan 15:19:09 ... will triage the corner cases once the prototyping finishes, going performance testing side by side 15:19:28 ... on the spec side there's some work that can be done in preparation, e.g. timeline issue, that'd help us get prepared 15:20:26 ... the prototype is expected to reach its first milestone in the next quarter 15:20:44 ... for spec working on timeline and interop 15:20:47 q? 15:21:01 -> Chromium implementation https://chromium-review.googlesource.com/c/chromium/src/+/5173676 15:21:48 Regrets+ Austin 15:22:24 Topic: Open issues and PRs 15:22:37 anssik: I see a lot of great progress in addressing open issues with many important PRs merged. 15:22:42 ... let's first catch up with PRs merged since our last meeting, get a debrief from the authors as appropriate, and see what remains for us to be discussed today 15:22:47 Subtopic: Debrief on PRs merged recently 15:22:55 anssik: these are the substantive PRs that were merged in the last two weeks: 15:23:03 - Content: Define operand concept, simplify graph connection steps #591 15:23:03 - reshape(): Remove "nullable" in prose description of newShape #601 15:23:03 - Styles: simplify algorithm markup, improve step & dfn visibility #594 15:23:03 - Content: Define output for gru() #600 15:23:03 - Content: Clarify the expected behavior for axes being empty #599 15:23:04 https://github.com/webmachinelearning/webnn/pull/601 -> MERGED Pull Request 601 reshape(): Remove "nullable" in prose description of newShape (by inexorabletash) 15:23:04 https://github.com/webmachinelearning/webnn/pull/594 -> MERGED Pull Request 594 Styles: simplify algorithm markup, improve step & dfn visibility (by inexorabletash) 15:23:04 https://github.com/webmachinelearning/webnn/pull/600 -> MERGED Pull Request 600 Content: Define output for gru() (by inexorabletash) 15:23:05 - Content: Define build() steps more rigorously #603 15:23:05 - Synchronously validate input operands/validations #605 15:23:05 - Drop definitions for "platform operator" and "platform operand" #606 15:23:05 https://github.com/webmachinelearning/webnn/pull/591 -> MERGED Pull Request 591 Content: Define operand concept, simplify graph connection steps (by inexorabletash) 15:23:06 - Bugfix: Add missing input operands and activations #609 15:23:06 - Bugfix: Updated the step of calculating output sizes by scales for resample2d #611 15:23:08 https://github.com/webmachinelearning/webnn/pull/599 -> MERGED Pull Request 599 Content: Clarify the expected behavior for axes being empty (by inexorabletash) 15:23:11 https://github.com/webmachinelearning/webnn/pull/605 -> MERGED Pull Request 605 Synchronously validate input operands/validations (by inexorabletash) 15:23:15 https://github.com/webmachinelearning/webnn/pull/603 -> MERGED Pull Request 603 Content: Define build() steps more rigorously (by inexorabletash) 15:23:18 https://github.com/webmachinelearning/webnn/pull/606 -> MERGED Pull Request 606 Drop definitions for "platform operator" and "platform operand" (by inexorabletash) 15:23:22 https://github.com/webmachinelearning/webnn/pull/609 -> MERGED Pull Request 609 Bugfix: Add missing input operands and activations (by inexorabletash) 15:23:25 https://github.com/webmachinelearning/webnn/pull/611 -> MERGED Pull Request 611 Bugfix: Updated the step of calculating output sizes by scales for resample2d (by BruceDai) 15:23:29 q+ 15:23:47 anssik: anything the authors of these PRs want to bring to the wider group's attention? 15:23:49 ack jsbell 15:24:03 jsbell: thanks everyone for the reviews! 15:24:20 ... build algorithm and programming model PR 15:24:38 ... issue #567 is worth debriefing on this call 15:24:38 https://github.com/webmachinelearning/webnn/issues/567 -> Issue 567 Can an MLGraphBuilder be reused? (by reillyeon) [question] 15:25:22 ... Reilly asked if the current behaviour is desirable? 15:26:09 ... If MLGraphBuilder can't be re-used, then input() can synchronously validate that input names are unique. 15:26:13 ... If MLGraphBuilder can be re-used, then at build() time the graph needs to be traversed to identify inputs connected to the outputs, and uniqueness validated then. 15:26:29 ... spec could be simplified if graph can't be reused 15:26:31 q? 15:26:57 MikeM: thinking of use cases for reusing graphs, progressive model download 15:27:18 ... updates in place would be convenient 15:27:49 q? 15:28:39 Occasional glitch slips through, but the team catches it 15:29:23 (comment: however, we could also rebuild graphs from scratch in case we need to do updates - so "freezing" a graph once it is compiled is not a blocker - but would be good to clarify behavior either way). 15:30:04 q? 15:30:27 q+ 15:30:32 ack jsbell 15:31:20 jsbell: in Chromium implementation inputs and constants are not allowed to be outputs? No-op graphs, are those allowed? 15:32:05 Subtopic: Define build() steps more rigorously 15:32:10 anssik: issues #448 #457 #552 15:32:11 https://github.com/webmachinelearning/webnn/issues/552 -> CLOSED Issue 552 Decide how to specify graph initialization (by a-sully) 15:32:11 https://github.com/webmachinelearning/webnn/issues/457 -> CLOSED Issue 457 Complete the build algorithms (by zolkis) 15:32:11 https://github.com/webmachinelearning/webnn/issues/448 -> CLOSED Issue 448 Add traversal algorithm to buildSync() (by zolkis) [bug] 15:32:23 ... PR #605 merged as noted, fixes all the above-mentioned issues 15:32:24 https://github.com/webmachinelearning/webnn/pull/605 -> MERGED Pull Request 605 Synchronously validate input operands/validations (by inexorabletash) 15:32:32 ... everyone good with this resolution? 15:32:55 "No-op graphs, are those allowed?" I didn't have a strong opinion either way on that, but conceptually a nop graph seems useful, if you have a pipeline that stitch together and have optional parts, but also you can trivially insert an identity operator into the empty graph to satisfy it. 15:33:14 q? 15:34:01 Subtopic: Synchronously validate input operands/activations 15:34:06 anssik: issue #572 15:34:07 https://github.com/webmachinelearning/webnn/issues/572 -> Issue 572 Synchronously validate input operands/activations (by inexorabletash) [bug] [question] 15:34:14 anssik: merged PRs #591 and #605 addressed parts of this issue 15:34:15 https://github.com/webmachinelearning/webnn/pull/591 -> MERGED Pull Request 591 Content: Define operand concept, simplify graph connection steps (by inexorabletash) 15:34:26 Remaining work in https://github.com/webmachinelearning/webnn/issues/572#issuecomment-1995338748 15:34:27 https://github.com/webmachinelearning/webnn/issues/572 -> Issue 572 Synchronously validate input operands/activations (by inexorabletash) [bug] [question] 15:34:34 ... Josh identified the following as remaining work: 15:34:40 - Rewording methods that vend MLActivations 15:34:40 - Standard phrasing for "be an operator for ..." 15:34:40 - Introducing "Validate arguments" section for each method 15:34:40 - Introducing "Calculate output shape" section for each method (maybe "output descriptor" is better?) 15:35:26 geoff has joined #webmachinelearning 15:36:14 Present+ Geoff_Gustafson 15:37:00 jsbell: do we want to introduce structure in op creation? We've done that on an ad-hoc basis, validating inputs and calculating outputs are intertwined 15:37:13 ... discussion on that issue welcome 15:37:32 q? 15:38:10 Subtopic: Core operator set 15:38:14 anssik: issue #573 15:38:15 https://github.com/webmachinelearning/webnn/issues/573 -> Issue 573 Core operator set (by philloooo) [question] [opset] 15:38:20 ... checking in to make sure we keep this issue on top of mind 15:38:30 ... Josh you mentioned on our previous meeting your folks are working on an additional contribution 15:38:37 ... would you like to discuss this today or should we defer this topic to a later meeting? 15:39:32 jsbell: we should defer, while important as additional implementations such as CoreML implementation is better fleshed out first 15:39:37 q? 15:39:50 Subtopic: Consider adopting new broadcasting rules 15:40:01 anssik: issue #590 15:40:02 https://github.com/webmachinelearning/webnn/issues/590 -> Issue 590 Consider adopting new broadcasting rules (by a-sully) [question] 15:40:07 ... a proposal from Austin to revisit broadcasting rules 15:41:00 ... the rationale for the proposal, WebNN specifies unidirectional and bidirectional broadcasting rules, only ONNX makes this distinction, some others don't e.g. NumPy, PyTorch, Tensorflow/XLA/StableHLO 15:41:48 Dwayne: technically NumPy and XLA do implement unidir but don't give it a name, I think we can carry this on in the issue 15:42:16 anssik: Dwayne asked for more info on BNNS and MPS behavior, maybe Mike_Wyrzykowski can help? 15:43:25 MikeW: I take a look at that 15:43:30 anssik: thanks! 15:43:32 q? 15:44:09 Subtopic: Is "validate graph resources" backwards? 15:44:14 anssik: issue #602 15:44:14 https://github.com/webmachinelearning/webnn/issues/602 -> Issue 602 Is "validate graph resources" backwards? (by inexorabletash) [question] 15:44:32 RafaelCintron has joined #webmachinelearning 15:44:36 anssik: Josh identified an issue in the validate graphs resources algorithms due to which compute() method does not fail if inputs are missing or unused 15:44:39 -> validate graph resources https://webmachinelearning.github.io/webnn/#validate-graph-resources 15:44:50 anssik: and offers two options as possible solutions: 15:44:51 ... 1) Invert the test - iterate over the descriptors, and verify that there are matching resources 15:44:56 ... 2) Make the test reflexive - the set of expected and passed resources must exactly match 15:45:03 q? 15:46:00 jsbell: well summarized, wasn't sure if the intent is to pass those input and only those inputs 15:46:29 q? 15:46:43 anssik: any other feedback? 15:47:03 Subtopic: Consider using label to allow better error handling for async errors 15:47:11 anssik: issue #585 15:47:12 https://github.com/webmachinelearning/webnn/issues/585 -> Issue 585 Consider adding node `label`s for more diagnosable error messages for async errors. (by philloooo) [feature request] 15:47:26 anssik: based on discussion this issue should be labeled "prototype implementation experience wanted" 15:47:35 ... any prototyping activity ongoing, anything to discuss for this? 15:47:48 q? 15:48:02 Dwayne: not aware of any implementation effort 15:48:11 jsbell: Google folks are not looking at this right now 15:48:31 ... we'll park this issue for the time being 15:48:48 Subtopic: Rename inputSize variables as inputRank in algorithms 15:48:52 anssik: issue #588 15:48:52 https://github.com/webmachinelearning/webnn/issues/588 -> Issue 588 Rename inputSize variables as inputRank in algorithms (by inexorabletash) [conventions] 15:48:58 ... small thing but removes ambiguity which is always a great thing in a spec 15:49:18 ... I suggest someone pushed out a PR for review to solicit comments 15:49:40 Dwayne: thank you Josh! 15:49:57 Subtopic: Consider alternate styling/linking for method argument definitions 15:50:01 anssik: issue #574 15:50:02 https://github.com/webmachinelearning/webnn/issues/574 -> Issue 574 Consider alternate styling/linking for method argument definitions (by inexorabletash) [question] [editorial] [conventions] 15:50:18 ... this globally applied styling proposal welcomes feedback, three options illustrated in the issue 15:50:26 ... these styling issues are a matter of taste, but please put your vote in! 15:50:32 ... it looks like option 1 is currently winning 15:50:44 q? 15:50:58 jsbell: I want to follow up with Bikeshed folks to make it easier for authors 15:51:17 ... so not jumping on this PR immediately 15:51:18 q? 15:52:02 Topic: Hybrid AI exploration update 15:52:13 -> Group's feedback summarized https://github.com/webmachinelearning/proposals/issues/5#issuecomment-2009681004 15:52:15 https://github.com/webmachinelearning/proposals/issues/5 -> Issue 5 Hybrid AI Exploration (by grgustaf) 15:52:31 MikeM: looked at all feedback, summarized that to build shared understanding 15:52:53 ... we have some prototyping ideas, want to emphasize this is exploratory phase so happy to course-correct per feedback 15:53:12 ... large models and download latency, cross-origin, built-in model reuse are big ticket issues 15:53:39 q+ 15:53:42 q? 15:53:44 ack jsbell 15:53:54 jsbell: thank you for your exploration here! 15:54:06 q+ 15:54:12 ... you probably saw Jason/Google's feedback on this issue 15:54:44 ... back in the day jQuery downloading worked with CDNs but no longer due to privacy improvements and especially for big models 15:55:01 ... we'll look at the issue tracker carefully and listen to your feedback 15:55:53 q? 15:56:46 MikeM: doing requirements gathering now and that's why this group's input is so important 15:56:47 q? 15:56:57 RRSAgent, draft minutes 15:56:59 I have made the request to generate https://www.w3.org/2024/03/21-webmachinelearning-minutes.html anssik 16:06:34 s/… we'll/MikeM: we'll 16:06:35 RRSAgent, draft minutes 16:06:37 I have made the request to generate https://www.w3.org/2024/03/21-webmachinelearning-minutes.html anssik 16:08:23 s/we'll look/MikeM: we'll look 16:08:25 RRSAgent, draft minutes 16:08:26 I have made the request to generate https://www.w3.org/2024/03/21-webmachinelearning-minutes.html anssik 16:10:22 s/I'm tried/I've tried 16:13:10 s/going performance/doing performance 16:17:08 s/pushed out/pushes out 16:20:27 RRSAgent, draft minutes 16:20:29 I have made the request to generate https://www.w3.org/2024/03/21-webmachinelearning-minutes.html anssik 16:26:29 zkis_ has joined #webmachinelearning 18:00:25 Zakim has left #webmachinelearning