13:58:02 RRSAgent has joined #webmachinelearning 13:58:03 logging to https://www.w3.org/2022/09/22-webmachinelearning-irc 13:58:04 RRSAgent, make logs Public 13:58:05 please title this meeting ("meeting: ..."), anssik 13:58:40 Meeting: WebML WG Teleconference – 22 September 2022 13:58:45 Chair: Anssi 13:58:51 Agenda: https://github.com/webmachinelearning/meetings/blob/main/telcons/2022-09-22-wg-agenda.md 13:58:58 Scribe: Anssi 13:59:03 scribeNick: anssik 13:59:09 ghurlbot, this is webmachinelearning/webnn 13:59:09 anssik, OK 13:59:15 Present+ Anssi_Kostiainen 13:59:50 Regrets+ Dominique_Hazael-Massieux 14:00:08 RRSAgent, draft minutes 14:00:08 I have made the request to generate https://www.w3.org/2022/09/22-webmachinelearning-minutes.html anssik 14:00:46 bruce_dai has joined #webmachinelearning 14:00:49 ningxin_hu has joined #webmachinelearning 14:00:52 Present+ Bruce_Dai 14:00:59 Present+ Ningxin_Hu 14:01:36 Present+ Chai_Chaoweeraprasit 14:03:44 Jonathan has joined #webmachinelearning 14:03:56 Present+ Jonathan_Bingham 14:04:56 chai has joined #webmachinelearning 14:05:36 RRSAgent, draft minutes 14:05:37 I have made the request to generate https://www.w3.org/2022/09/22-webmachinelearning-minutes.html anssik 14:06:35 ghurlbot, this is webmachinelearning/webnn 14:06:36 anssik, OK 14:07:36 Present+ Rafael_Cintron 14:07:43 Topic: WebNN API Candidate Recommendation open issues 14:08:11 -> Current CR issues https://github.com/webmachinelearning/webnn/issues?q=is%3Aissue+is%3Aopen+label%3Acr 14:08:43 anssik: Review and discuss the current CR issues, work out a plan to address the issues prior to the expected CR publication. 14:08:52 Subtopic: Support asynchronous context creation 14:08:56 #272 14:08:57 https://github.com/webmachinelearning/webnn/issues/272 -> Issue 272 Support asynchronous context creation (huningxin) cr 14:09:10 anssik: Awaits W3C TAG recommendation on the design, no WG action required. 14:09:16 -> Delta review (to CR) of Web Neural Network API https://github.com/w3ctag/design-reviews/issues/771 14:09:17 RafaelCintron has joined #webmachinelearning 14:09:28 anssik: I submitted a "delta" TAG review request per our resolution 14:09:35 anssik: and asked TAG for a recommendation on three topics: 14:09:41 ... 1) Naming of the sync and async methods 14:09:53 ... 2) Sync/async API split design 14:10:18 ... 3) Decision to Drop support for WebGL and focused on WebGPU interoperability 14:10:29 brb 14:10:39 ... currently this TAG review issue is "untriaged" in the TAG tracker. 14:10:52 ... please check that the request I authored is accurate and let me know any corrections. 14:11:05 back 14:11:14 ... I asked TAG to deliver its recommendation by the end of Oct 2022 latest. 14:11:34 q? 14:12:03 it's accurate, thanks anssi 14:12:07 Subtopic: Web platform tests 14:12:17 -> Test plan https://github.com/webmachinelearning/webnn/issues/265#issuecomment-1246622380 14:12:49 anssik: WebNN CR readiness depends on web-platform-tests test suite to demonstrate implementation experience 14:13:40 anssik: Bruce published a test plan, this is a call for review 14:13:58 ... I noted Chai is close to producing an initial list of recommended ULP tolerance for the ops 14:14:08 ... any other contributions, please chime in on the issue. 14:14:11 q? 14:14:43 q+ 14:14:49 ack chai 14:15:11 chai: we are pretty close to producing a recommendation to fill in the blanks in Bruce's ULP table 14:15:24 ... some work in complex math related ops 14:15:49 ... ops such as conv and gemm require a ULP tolerance that is compexity of the environment 14:16:14 ... for those ops, it's not a single number, but depends on the test case, the size of conv filter, for example, the tolerance is a function of the complexity 14:16:25 ... we hope to stand the test of time principle 14:17:10 ... maybe even after the initial work, there may be cases we need to tweak the tolerances to accommodate future 14:17:32 ... tweaking too many times can be a bit messy, we're working on this to have it our end of this week early next week 14:18:21 anssik: test suite maintenance is a positive thing 14:18:22 q? 14:18:24 q+ 14:18:30 ack ningxin_hu 14:19:07 ningxin_hu: question regarding the ULP table, the comment mentions webnn-baseline to generate a reference 14:19:19 ... I'm not sure that table captures the gap in webnn-baseline implementation 14:19:32 ... there's a col on WTP and polyfill, no webnn-baseline status in there 14:19:39 ... should we capture that in the table? 14:20:34 q+ 14:20:55 bruce_dai: webnn-baseline for 1st wave ops have been implemented, my plan for WPT is to cover these 1st wave ops first 14:21:06 ningxin_hu: thanks for the update 14:21:19 ... we should include webnn-baseline in the plan to help give an overview 14:21:30 bruce_dai: I will update the table with a column for webnn-baseline 14:21:32 q? 14:21:34 ack chai 14:22:05 chai: ningxin_hu's questions is important, tolerance is relative to the baseline, in our case when we have the tolerance out, it is the delta to the ideal baseline 14:22:19 ... in DML, we implement the IDL baseline in double precision FP 14:22:30 ... the diff between the baseline gives us a fixed point 14:22:55 ... done with the tolerances, we're open to collaborate on the implementation of the baseline 14:23:13 ... this is an important point, we should not use an arbitrary impl on some platform as the baseline 14:23:13 q? 14:23:19 +1 14:24:22 anssik: bruce_dai clear on the next steps? 14:24:25 bruce_dai: yes thanks 14:24:35 Subtopic: Add method steps and normative algorithms to operations 14:24:42 #210 14:24:43 https://github.com/webmachinelearning/webnn/issues/210 -> Issue 210 Add method steps to operations (anssiko) cr 14:24:46 #211 14:24:47 https://github.com/webmachinelearning/webnn/issues/211 -> Issue 211 Define algorithms for dictionaries with lists as default values (anssiko) 14:26:05 q+ 14:26:09 ack ningxin_hu 14:26:44 ningxin_hu: I agree atomic PRs are preferred, so they will not conflict with others PRs 14:26:58 ... a good start could be internal slots and MLOperand interface and MLOperator interface 14:27:22 ... those internal slots we can define in the algorithm steps that describe how graph building happens 14:27:31 ... this proposal is based on implementation experience 14:27:56 ... we implement GraphBuilder in Chromium open source project and there we define internal slots, in implementation those are class members 14:28:21 ... we can write code to use these private members and do the wiring 14:28:48 anssik: starting with internal slot definitions sounds good 14:29:40 q? 14:29:45 q+ 14:29:50 ack ningxin_hu 14:30:51 ningxin_hu: another suggestion, because we want to use algorithm steps to specify the operation, we have a declarative them, in this transition we add algorithm steps, probably we can keep the both for a while to help the reviewer compare the declarative to the algorithmic prose 14:31:07 ... declarative should be ultimately replaced with algorithmic steps 14:32:29 anssik: some specs mark declarative as informative and make algorithmic steps normative, we could consider the same 14:32:30 q? 14:32:42 q? 14:33:08 Subtopic: Support for int8 quantized models 14:33:15 #128 14:33:15 https://github.com/webmachinelearning/webnn/issues/128 -> Issue 128 WebNN should support int8 quantized models (wchao1115) cr 14:33:25 anssik: I wanted to discuss the two design alternatives: 14:33:45 ... 1) quantized ops supported by a new device type (e.g. NPU) OR 14:33:51 ... 2) add support for all device types. 14:34:01 q? 14:34:27 ... Dom recommended last time: "it is good idea to evaluate whether our API can work with new device types such as NPUs, not sure if NPUs should be in CR release scope due to required implementation experience" 14:34:37 ... this suggests this feature might be too early to commit for CR 14:34:54 q+ 14:34:58 q? 14:35:05 ack chai 14:36:54 chai: I think we should at least try this feature, it is true quantized ops are implementable on CPUs today, NPU device type is a new one, if we run out of time can drop 14:37:43 anssik: can you help with the evaluation? 14:37:52 chai: can help with quantized ops and NPU device type 14:37:55 q? 14:38:44 Jonathan: I need to follow up with folks internally at Google 14:39:18 ... many teams at Google, some are interested in this feature and some are opposed 14:40:05 ... I think the WebNN API is great, in particular WebGPU team has not been very much involved and their position is less clear, I will dig more into this 14:40:19 q? 14:40:27 RRSAgent, draft minutes 14:40:27 I have made the request to generate https://www.w3.org/2022/09/22-webmachinelearning-minutes.html anssik 14:40:33 Topic: WebGPU Working Group review request and WebNN-WebGPU interop 14:41:14 anssik: I wanted to discuss WG's response to the WebGPU review request, focus on WebNN-WebGPU interop requirements and issues. 14:41:18 -> Review request https://lists.w3.org/Archives/Public/public-webmachinelearning-wg/2022Jul/0000.html 14:41:27 ... review DL is 15 Oct, see our earlier discussion: 14:41:31 -> 11 August 2022 discussion https://www.w3.org/2022/08/11-webmachinelearning-minutes.html#t08 14:41:51 ... silence is considered consent 14:41:58 about NPUs: some folks at Google had previously said that NPU support was the most compelling reason to create a new API like WebNN, and that CPU or GPU might not be sufficient given WASM+SIMD and WebGPU 14:42:08 ... we agreed that our response should focus on WebNN-WebGPU interop issues 14:42:15 #264 14:42:16 https://github.com/webmachinelearning/webnn/issues/264 -> Issue 264 CommandBuffer usage clarification: internal, external, both? (bbernhar) 14:42:34 -> gpuweb/issues/2500 https://github.com/gpuweb/gpuweb/issues/2500 14:43:23 ... Rafael, anything to report from discussion with Bryan on #264? Resolving that issue would help Ningxin deliver an update in https://github.com/gpuweb/gpuweb/issues/2500 14:43:35 q? 14:44:06 RafaelCintron: not much progress with Brian, last time WebGPU WG discussed this and are heads down with v1 14:44:16 ... they said, any feedback, let us know 14:44:34 ... the crux is, to implement WebNN, there needs to be a deep interaction between WebNN and WebGPU code 14:45:00 ... to have the API take GPUBuffers but them into graph and work beautifully, these systems will need to work nicely together 14:45:53 ... when we gain implementation experience we may need to change things, unclear how NPUs will work with GPUs, can we do transfers etc. 14:47:01 ... the last time this came up in WebGPU WG they postponed discussion post-V1, IIRC 14:47:56 s/Brian/Bryan 14:48:52 anssik: when will WebGPU API ship in Chrome? 14:49:15 RafaelCintron: no ship date, but "ASAP", new features are deferred to v.next now 14:49:42 anssik: all of WebGPU WG in agreement with v1 feature scope? 14:50:04 RafaelCintron: it seems so, it's a matter of how much to polish 14:50:55 ... there are some things to resolve, but pressure to ship, issues with interop with other APIs 14:51:00 q+ 14:51:04 ack ningxin_hu 14:51:44 ningxin_hu: WebGPU interop is post-v1, our spec has CommandBuffer interface for this feature, not sure how this would impact the CR target for this year? 14:52:14 ... should we make a branch without CommandBuffer interface to get to CR? 14:52:36 RafaelCintron: we should get the CR scope implemented and see what issues emerge, those things should block CR 14:53:23 q? 14:53:57 ningxin_hu: my concern is this interop does not have consensus of the WebGPU WG that owns the WebGPU API 14:56:27 ... for WebNN itself, we have control and can decide which features to add, this feature (CommandBuffer) has an external dependency 14:57:03 ... if interop feature has a dependency but not resolved, what does this mean? 14:59:11 anssik: how big an effort it would be to produce a WebNN-WebGPU interop implementation? 14:59:40 ningxin_hu: we have prototyped this for real-time video processing use case 15:00:05 ... we need WebNN and WebGPU implementation work closely, not one way dependency, but bi-directional interactions to ensure they work together 15:00:16 ... I believe I shared that earlier 15:01:21 ... related, WebGPU WG is also rechartering 15:01:26 -> WIP PR for WebGPU WG charter 2022-2024 changes https://github.com/gpuweb/admin/pull/18 15:01:36 ... we can influence this charter with our feedback e.g. we could be more explicit with our WebNN-WebGPU coordination expectations, currently reads 15:01:48 Web Machine Learning Working Group 15:01:48 15:01:48 This Working Group develops a dedicated low-level Web API for enabling efficient machine learning inference in the browser. 15:02:41 RRSAgent, draft minutes 15:02:41 I have made the request to generate https://www.w3.org/2022/09/22-webmachinelearning-minutes.html anssik 15:04:24 q? 17:27:05 Zakim has left #webmachinelearning