14:56:09 RRSAgent has joined #webmachinelearning 14:56:13 logging to https://www.w3.org/2025/08/14-webmachinelearning-irc 14:56:13 RRSAgent, make logs Public 14:56:14 please title this meeting ("meeting: ..."), anssik 14:56:16 Meeting: WebML WG Teleconference – 14 August 2025 14:56:21 Chair: Anssi 14:56:25 Agenda: https://github.com/webmachinelearning/meetings/blob/main/telcons/2025-08-14-wg-agenda.md 14:56:30 Scribe: Anssi 14:56:35 scribeNick: anssik 14:56:56 Present+ Anssi_Kostiainen 14:57:04 RRSAgent, draft minutes 14:57:05 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 14:58:20 Present+ Zoltan_Kis 14:59:20 Present+ Dwayne_Robinson 15:00:48 Present+ Ningxin_Hu 15:00:53 ningxin has joined #webmachinelearning 15:02:35 Mike_Wyrzykowski has joined #webmachinelearning 15:02:41 Present+ Reilly_Grant 15:02:55 Present+ Mike_Wyrzykowski 15:03:20 Present+ Ehsan_Toreini 15:03:42 RafaelCintron has joined #webmachinelearning 15:03:46 Present+ Brandon_Walderman 15:03:57 Present+ Rafael_Cintron 15:04:07 RRSAgent, draft minutes 15:04:08 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 15:04:50 dwayner has joined #webmachinelearning 15:04:55 anssik: hi all and welcome back after the summer break! 15:05:10 ... we'll start by welcoming our new participants, please welcome: 15:05:22 ... Johann Hofmann from Google and Ugar Acar from Depixen to the WebML WG 15:05:47 brwalder has joined #webmachinelearning 15:05:49 ... Brandon Walderman and Leo Lee from Microsoft and Khushal Sagar, David Bokan and Hannah Van Opstal from Google, Preety Kumar from Deque Systems and Jason McGhee, Laura Morinigo, Murad Aliyev and Timothy de Rosen as individual contributors to the WebML CG 15:05:56 Ehsan has joined #webmachinelearning 15:06:15 ... many of the new Community Group participants joined to contribute to the newly launched agentic web workstream that hosts discussions on WebMCP 15:06:38 ... I'm happy to see many new folks join us, including individual contributors with very relevant implementation experience from open-source agentic frameworks 15:07:32 Topic: TPAC 2025 F2F announced (Kobe, Japan, 10–14 Nov 2025) 15:08:00 anssik: I wanted to share the overall TPAC 2025 plan and gather feedback from you on how to avoid scheduling conflicts for participants 15:08:13 ... confirmed time available for the WebML community: 15:08:17 ... 10 November 2025, 09:00–16:45 Japan Standard Time 15:08:23 ... 11 November 2025, 09:45-18:00 Japan Standard Time 15:08:54 ... in the agenda you see Monday for WG and Tuesday for CG, but I'm proposing we'll use the time flexibly as to minimize scheduling conflicts for participants 15:09:17 ... I'm aware of Domenic's (Built-in AI APIs editor) scheduling conflict for Tuesday (overlap with WHATWG), any other known conflicts, anyone? 15:10:01 Reilly: this schedule seems OK 15:11:13 ... I'd propose we cover WebNN and selected Built-in AI APIs on Monday, continue any remaining WebNN topics and WebMCP on Tuesday 15:11:46 q? 15:11:53 ... TPAC registration is now open and I see many have already registered, thank you! 15:12:04 ... hotel has a discount price with a liberal cancellation policy for TPAC participants 15:12:18 ... please see the following links for more information, to register and book the hotel 15:12:20 -> TPAC 2025 overview https://www.w3.org/2025/11/TPAC/ 15:12:23 -> Registration https://www.w3.org/2025/11/TPAC/#registration 15:12:27 -> Hotel booking https://www.w3.org/2025/11/TPAC/venue.html 15:12:50 ... questions? 15:13:02 s/... questions?// 15:13:25 Topic: Agentic web workstream 15:13:31 gb, this is webmachinelearning/webmcp 15:13:31 anssik, OK. 15:13:43 anssik: the WebML Community Group initiated work on agentic web workstream and is now exploring a WebMCP proposal 15:14:09 ... WebMCP abstract: 15:14:17 Joshua_Lochner has joined #webmachinelearning 15:14:22 ... "Enabling web apps to provide JavaScript-based tools that can be accessed by AI agents and assistive technologies to create collaborative, human-in-the-loop workflows." 15:16:19 Brandon: good summary, would add that motivation to do MCP-style tools in browser is that it has access to state that separate MCP approaches don't, web pages have user identity and state, all this context is available 15:16:48 ... there are certain developer community, web is built for humans, this is not going aways anytime soon, WebMCP is an incremental step 15:17:15 -> WebMCP repo https://github.com/webmachinelearning/webmcp 15:17:15 -> WebMCP explainer https://github.com/webmachinelearning/webmcp/blob/main/docs/explainer.md 15:17:15 -> WebMCP proposal https://github.com/webmachinelearning/webmcp/blob/main/docs/proposal.md 15:18:38 anssik: the scope of work in this initial exploration phase is an explainer document and a high-level proposal that explores possible API shape without going into spec details 15:19:28 anssik: I also want to acknowledge two individual contributors Alex Nahas and Jason McGhee who both have developed early WebMCP prototypes and will provide additional implementation experience to the group 15:19:59 ... please check the OSS projects for more information: 15:20:05 -> https://github.com/MiguelsPizza/WebMCP 15:20:05 -> https://github.com/jasonjmcghee/WebMCP 15:20:11 zkis has joined #webmachinelearning 15:20:58 anssik: given the early proposal is shaping up this nicely, I plan to kick off the Community Group charter change process soon to allow the group advance to the more formal specification drafting stage when timely 15:21:09 ... if you've aware of folks interested in contributing to this agentic web development, please extend my invite to them to join the Community Group: 15:21:13 -> https://webmachinelearning.github.io/community/#join 15:21:21 anssik: questions, comments? 15:21:29 q? 15:22:01 Topic: Operator specific issues 15:22:09 gb, this is webmachinelearning/webnn 15:22:09 anssik, OK. 15:22:10 -> [operator specific] issues https://github.com/webmachinelearning/webnn/labels/operator%20specific 15:22:27 anssik: as usual, we've focused our issue discssion on operator specific issues 15:22:38 ... these issues are scoped to a single operator or small number of operators 15:22:43 ... these tend to reduce code complexity and improve maintainability 15:23:01 Subtopic: Simplify the operand layout support of conv2d and pooling 2d operations 15:23:08 anssik: issue #324 and PR #770 15:23:09 https://github.com/webmachinelearning/webnn/pull/770 -> Pull Request 770 Remove pool2d MLRoundingType - Simplify the operand layout support of conv2d and pooling 2d operations (by fdwr) 15:23:09 https://github.com/webmachinelearning/webnn/issues/324 -> Issue 324 Simplify the operand layout support of conv2d and pooling 2d operations (by huningxin) [feature request] [operator specific] [interop] 15:23:25 ... this PR was refreshed recently, thanks Dwayne for debugging the esoteric build errors with Dom! 15:23:36 ... in PR review there was a question from Ningxin: 15:23:49 ... "would dropping roundingType prevent us from supporting dynamic shape (specifying the concrete input shape at the inference time) in the future?" 15:24:54 Dwayne: might be easier for some models for high-level callers if you have this available, original concern was having two different ways and inconsistency 15:25:25 ... I don't think it'd prevent from supporting dynamic shapes? if so, there's a number of other small ops we need to consider too 15:25:42 ... e.g. resample has two different ways to do it 15:26:59 Ningxin: dynamic shape is an ongoing topic, discussed with JoshuaL and Transformers.js support where many models are freeDimension aka require dynamic shape 15:27:08 brwalder has left #webmachinelearning 15:27:16 ... some are image processing models, pooling is part of those models, the pool operator 15:27:41 ... if we need user code to specify the output size, it is hard to spec that at compilation time if the model is to be fixed at inference time 15:28:07 ... if we put an algorithm thesr that can be determined at inference time 15:28:35 ... agree with Dwayne supporting dynamic shapes should be a separate issue 15:28:44 Dwayne: did you have another bug related to this? 15:29:00 s/bug/issue 15:29:21 Dwayne: I will look at this after the meeting, for now we keep this in there 15:29:50 Subtopic: Support uint8/int8 input for resample2d 15:29:54 anssik: issue #872 15:29:54 https://github.com/webmachinelearning/webnn/issues/872 -> Issue 872 Support uint8/int8 input for resample2d (by huningxin) [operator specific] 15:30:15 anssik: a proposal from Dwayne to add uint8 to resample2d() allowed input data types 15:30:21 ... quoting: 15:30:25 "For uint8, currently resample2d is specified to take float16/float32, and so uint8 couldn't reach here anyway. Though, I agree that adding uint8 to WebNN resample makes sense (and maybe even int8), since most incoming pixel data is 8-bit, and this allows the graph to directly accept pixel data to apply any transformations to floating point, without requiring each caller to manually do that outside graph processing." 15:30:33 -> https://www.w3.org/TR/webnn/#constraints-resample2d 15:31:17 Dwayne: particularly useful for resample given most incoming pixel data is 8-bit, also many other ML APIs support this data type for this op 15:31:48 cross frameworks and native ML API support survey would be helpful 15:32:15 anssik: implementability to be surveyed, action on the group 15:32:59 Subtopic: Clarify 0D tensor supports axis-dependent operations 15:33:05 anssik: issue #873 15:33:06 https://github.com/webmachinelearning/webnn/issues/873 -> Issue 873 Clarify 0D tensor (rank of 0) support for axis-dependent operations (by miaobin) [operator specific] 15:33:12 anssik: Bin opened an issue: 15:33:31 ... "The current WebNN spec doesn't clearly specify whether 0D tensors (scalars) are supported as inputs for operations that take an axis input/parameter." 15:33:44 ... Dwayne explained: 15:33:55 "Operators that take exactly 1 axis like {split/argMin/argMax/gather/scatter/...} are incompatible with 0D inputs because the requirement that axis < input.rank can never be satisfied. 15:33:55 15:33:55 Operators that take 0 to N axes like reduceSum/reverse/... are compatible with 0D inputs, because passing axes=[] is a viable nop (like a memcpy of 0 bytes). However, passing an explicit axes=[0] with 0D input would be invalid because axis 0 is not < input.rank." 15:34:31 [ Dwayne summarizes the rationale ] 15:35:15 anssik: would it be helpful to document this rationale in the spec? 15:35:28 Dwayne: the spec should have allowed rank range for these ops 15:36:07 ... we should see all the spec tables and check anything with axis says 1 to N 15:36:10 same issue for concat, we should fix those rank range 15:36:26 q? 15:37:20 Subtopic: Normalize the behavior when NaN is used for minValue or maxValue of clamp operator 15:37:24 anssik: issue #874 15:37:27 https://github.com/webmachinelearning/webnn/issues/874 -> Issue 874 Normalize the behavior when NaN is used for minValue or maxValue of clamp operator (by wangw-1991) [operator specific] 15:37:46 anssik: Wei spotted inconsist behaviour in clamp across backends and hardware when NaN is used for MLClampOptions.minValue or MLClampOptions.maxValue 15:37:53 -> MLClampOptions.minValue https://www.w3.org/TR/webnn/#dom-mlclampoptions-minvalue 15:37:53 -> MLClampOptions.maxValue https://www.w3.org/TR/webnn/#dom-mlclampoptions-maxvalue 15:37:53 -> clamp() method steps https://www.w3.org/TR/webnn/#dom-mlgraphbuilder-clamp 15:38:19 anssik: and Dwayne proposed a solution to normalize the behaviour on the WebNN side by coercing minValue:NaN to -Infinity and maxValue:NaN to Infinity 15:38:30 ... similarly to as if these values were left out 15:39:06 anssik: is there a spec bug is the method steps 3 and 5 of https://www.w3.org/TR/webnn/#dom-mlgraphbuilder-clamp? do we want to flip the two Infinity return values? 15:39:42 "3. Let minValue be the options.minValue if given, or Infinity otherwise." 15:39:42 "5. Let maxValue be the options.maxValue if given, or -Infinity otherwise." 15:39:57 s/is the method steps/in the method steps 15:40:04 Dwayne: sound right 15:40:32 +1 15:40:43 already prototyped 15:41:05 anssik: the fix is already implemented, that's good 15:41:28 ... let's make the corresponding spec change 15:41:38 q? 15:41:42 Subtopic: Minimum data type set 15:41:48 anssik: issue #853 15:41:48 https://github.com/webmachinelearning/webnn/issues/853 -> Issue 853 The minimum data type set (by huningxin) [operator specific] 15:42:01 ... in this issue we agreed to "making tests for the intersecting opSupportLimits mandatory but anything else automatically skip" 15:42:17 ... wanted to acknowledge the great work done on WPT and discuss any related WPT changes to the agreed direction 15:42:25 -> recent WPT changes https://github.com/web-platform-tests/wpt/commits/master/webnn/conformance_tests 15:42:32 q+ 15:42:35 ack reillyg 15:43:30 Reilly: there's some WPT tests failing, these changes should be landing soon to fix this, excited to see this development 15:44:30 https://github.com/web-platform-tests/wpt/commit/81b01c77057ef501cd414c37ca6ed8249e4287a4 implements the first step of the minimum data type set 15:45:23 Topic: Wide review updates 15:45:28 Subtopic: New accessibility considerations 15:45:53 anssik: PR #869 reviewed and approved by the a11y group, also thanks to Dwayne for taking a look 15:45:53 https://github.com/webmachinelearning/webnn/pull/869 -> Pull Request 869 Add Accessibility Considerations (by anssiko) [a11y-tracker] 15:46:00 ... any further comments? 15:46:13 ... I'll squash and merge this PR 15:46:46 Subtopic: Future-proofing privacy considerations 15:46:51 anssik: issue #875 15:46:52 https://github.com/webmachinelearning/webnn/issues/875 -> Issue 875 Future-proofing privacy considerations of New API feature to identify feature support per operator (by sandandsnow) [privacy-tracker] 15:46:58 ... and comments in https://github.com/w3cping/privacy-request/issues/156#issuecomment-3070280341 15:47:00 https://github.com/w3cping/privacy-request/issues/156 -> CLOSED Issue 156 Web Neural Network API 2025-03-20 > 2025-06-20 (by anssiko) [CR] [REVIEW REQUESTED] 15:47:15 ... the context of this privacy feedback is opSupportLimits() API and its fingerprintability 15:47:58 "(1) the spec explicitly communicates that [opSupportLimits] capability doesn't add entropy, that it is just a more convenient way of discovering feature support information that can be inferred from the OS and browser version already" 15:47:58 15:47:58 "(2) To ensure the extension point for privacy controls are in place to prevent the capability from being used in the future for fingerprinting, etc." 15:48:38 ... my proposal would be to add informative text to https://www.w3.org/TR/webnn/#api-mlcontext-opsupportlimits along those lines to inform the reader and set the guardrails for possible future evolution of this specific API 15:48:51 ... I could craft a PR for review and update the privacy group and seek their review 15:48:56 ... comments? 15:49:18 q+ 15:49:23 ack RafaelCintron 15:50:20 RafaelCintron: I think any kind of limits or capability flags by definition add _some_ entropy, the question is how much entropy and how damaging it is, we don't what to allow identify on on specific machine you are, but could detect you're on a machine that has a CoreML backend 15:50:51 ... WebGPU and WebGL have a similar capability API consider "this machine can't do float16 in shaders" 15:51:10 ... entropy would be greater than zero but we'd do our best to minimize entropy increase 15:52:49 https://browserleaks.com/webgpu gives you a sense of the "capabilities" exposed by WebGPU. 15:53:02 Mike: WebGPU exposes buckets and it's up to the UA to decide how much granularity to expose, e.g. capabilities of lower-end devices in one bucket 15:53:28 q+ 15:54:26 ... in WebKit we use bucketing, also under-report capabilities to not allow websites to maximize capability use due to memory pressure 15:54:45 ack reillyg 15:55:24 Reilly: the other angle is, ensure the behaviour is well-specified so that differences don't add additional fingerprinting, I know this is challenging in WebGPU and graphics APIs 15:56:24 q? 15:56:29 Subtopic: Evaluate sustainability impact 15:56:34 anssik: issue #861 15:56:34 https://github.com/webmachinelearning/webnn/issues/861 -> Issue 861 Evaluate sustainability impact (by anssiko) [tag-needs-resolution] 15:56:39 ... wanted to update the group on recent developments at W3C related to sustainability 15:57:05 ... there's an intent to sign an agreement between the W3C and the Green Software Foundation (GSF) https://greensoftware.foundation/ that builds standards, tooling and best practices for green software 15:57:15 ... this collaboration is expected to kick off Q4-ish 15:57:29 ... most recently GSF has focused on carbon footprint of AI systems and published a report of their priorities 15:57:33 -> Workshop report: reducing the carbon footprint of AI systems https://greensoftware.foundation/articles/sci-for-ai-workshop-report 15:58:01 anssik: my suggestion for this issue is to let that colloboration properly kick off and then see if we could get those new experts join us to help evaluate the sustainability impact of WebNN-powered web 15:58:05 ... of course, the issue remains open for contributions from anyone 15:58:13 Everyone: please help move forward https://github.com/webmachinelearning/webnn/issues/815 15:58:14 https://github.com/webmachinelearning/webnn/issues/815 -> Issue 815 Query supported devices before graph compilation (by anssiko) [device selection] 15:58:20 q? 16:00:14 RRSAgent, draft minutes 16:00:16 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 16:00:41 q? 16:01:10 Present+ Joshua_Lochner 16:01:21 RRSAgent, draft minutes 16:01:22 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 16:03:33 s/… I'd propose /anssik: I'd propose 16:04:38 s/aways/away 16:05:18 s/you've/you're 16:05:40 s/discssion/discussion 16:06:21 s/prevent from/prevent us from 16:09:33 s/thesr/there 16:10:44 s/keep this in there/keep roundingType 16:12:12 s/corresponding spec change/corresponding spec change as proposed in the issue 16:14:03 s/… my proposal/anssik: my proposal 16:14:37 s/on on/on which 16:17:53 RRSAgent, draft minutes 16:17:55 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 16:18:38 s/I'd propose /anssik: I'd propose 16:18:40 RRSAgent, draft minutes 16:18:41 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 16:19:16 s/my proposal/anssik: my proposal 16:19:23 RRSAgent, draft minutes 16:19:25 I have made the request to generate https://www.w3.org/2025/08/14-webmachinelearning-minutes.html anssik 18:08:04 Zakim has left #webmachinelearning 18:20:28 zkis has joined #webmachinelearning 19:41:17 gb has joined #webmachinelearning