14:00:18 RRSAgent has joined #webmachinelearning 14:00:22 logging to https://www.w3.org/2023/03/30-webmachinelearning-irc 14:00:22 RRSAgent, make logs Public 14:00:23 please title this meeting ("meeting: ..."), anssik 14:00:23 ningxin_hu has joined #webmachinelearning 14:00:23 Meeting: WebML WG Teleconference – 30 March 2023 14:00:29 Chair: Anssi 14:00:34 Agenda: https://github.com/webmachinelearning/meetings/blob/main/telcons/2023-03-30-wg-agenda.md 14:00:53 Scribe: Anssi 14:01:02 scribeNick: anssik 14:01:04 zkis has joined #webmachinelearning 14:01:11 Regrets+ Dominique_Hazael-Massieux 14:01:34 ghurlbot, this is webmachinelearning/webnn 14:01:34 anssik, OK. 14:01:36 Present+ Anssi_Kostiainen 14:01:41 Present+ Ningxin_Hu 14:01:45 Present+ Zoltan_Kis 14:02:26 Present+ Chai_Chaoweeraprasit 14:04:36 Present+ Rafael_Cintron 14:04:44 RRSAgent, draft minutes 14:04:45 I have made the request to generate https://www.w3.org/2023/03/30-webmachinelearning-minutes.html anssik 14:04:52 RafaelCintron has joined #webmachinelearning 14:05:11 chai has joined #webmachinelearning 14:05:46 Topic: Web Neural Network API W3C Candidate Recommendation published 14:05:56 -> Web Neural Network API CR, 30 March 2023 https://www.w3.org/TR/2023/CR-webnn-20230330/ 14:06:10 -> W3C invites implementations of Web Neural Network API https://www.w3.org/blog/news/archives/9868 14:06:29 -> ▶️ Clapping Sound Effects https://www.youtube.com/watch?v=jDOrc8FmDy4 14:06:33 🎉 14:07:16 Cheers! 14:07:21 anssik: Thank you to all the WG participants for your hard work that made this publication possible! 14:07:37 ... this has been a collaboration between lead implementers (thank folks at Microsoft and Google!), 14:08:00 ... interoperability at its heart (thanks spec and wpt contributors across companies!), 14:08:24 ... with feedback from early adopters, web developers, other WGs (thanks WebGPU WG, WebRTC WG!) informing the effort. 14:08:46 ... Now is a time to celebrate. It is no small feat to hit CR so it is OK to be a little proud :) 14:08:59 ... Then, about the next steps. 14:09:21 ... As a concrete first next step, we should configure Echidna to again allow publications in this post-CR world 14:09:33 ... This commit disabled publications temporarily https://github.com/webmachinelearning/webnn/commit/00d3cdd721e7918206808fcc318b27cbf714b4f5 14:09:50 ... I assume Dom can help configure Echidna the right way 14:10:10 ... about the new spec maturity levels on the W3C Rec Track in this post-CR state, my take: 14:11:06 ... for "corrections that do not affect conformance" incl. editorial enhancements we publish a CR Draft: 14:11:11 -> CR Draft https://www.w3.org/2021/Process-20211102/#publishing-crud 14:11:30 ... for "corrections that may [...] affect conformance" or add "new features" we published (a new) CR Snapshot 14:11:35 -> CR Snapshot https://www.w3.org/2021/Process-20211102/#publishing-crrs 14:11:52 ... OTOH, the W3C Process guidance is "a Candidate Recommendation Snapshot should not be published more often than approximately once every 6 months." 14:12:23 ... so my understanding is we should set Echidna to auto-publish CR Drafts similarly to WDs earlier and should put a clock running and ~6 months from now publish a new CR Snapshot 14:12:57 ... and prior to CR Snaphot we should seek wide review for any substantive changes made since this initial CR. We only request review for the delta, so more light weight. 14:13:09 RRSAgent, draft minutes 14:13:11 I have made the request to generate https://www.w3.org/2023/03/30-webmachinelearning-minutes.html anssik 14:14:30 q? 14:14:44 Topic: WebNN - WebIDL and Infra standard conventions 14:15:41 anssik: Zoltan has worked on editorial enhancements to align the spec with WebIDL and Infra standard conventions. Now that the CR is out we plan to start integrating these 14:16:09 Subtopic: The constant() method steps 14:16:14 -> Spec: Create an operand for a graph constant https://www.w3.org/TR/webnn/#dom-mlgraphbuilder-constant 14:16:19 -> Spec: Create a single-value operand from the specified number of the specified type https://www.w3.org/TR/webnn/#dom-mlgraphbuilder-constant-value-type 14:16:23 ... PR #365 14:16:24 https://github.com/webmachinelearning/webnn/issues/365 -> Pull Request 365 Add the constant() method steps. (zolkis) 14:17:07 Zoltan: thanks Ningxin for reviewing this PR and improving it! 14:17:26 ... ready for review, needs two approvals 14:18:01 ... constants will add two forms, dependency on MLOperand, MLActivation not needed here 14:18:34 ... completed algorithms for all the ops in the spec and have ~50 PRs ready 14:18:49 ... bikeshed builds OK, all dependencies addressed 14:20:34 [ Zoltan sharing a preview of the improved constant() ] 14:21:16 Zoltan: we keep track of platform objects for given operands and track reference to operand 14:21:32 ... we should add arch diagram to the spec to help explain this 14:22:18 ... not detailing the algorithms per se e.g. for conv2d just say what to do with inputs and how to get outputs, that is what we want to accomplish with this 14:22:40 ... some algorithms are long such as concat() 14:22:59 ... we can factor out parts of the algorithms as needed 14:23:20 ... lstm() is more challenging one 14:23:42 ... asking for feedback how to split this work to make it easy for reviewers, one PR per op or multiple ops per PR? 14:23:51 anssik: thanks Zoltan! 14:23:54 q? 14:27:07 q+ 14:27:11 ack chai 14:27:33 chai: my only recommendation for this type of change to get it in sooner rather than later 14:29:12 ... because the change affects the overall style and structure of the document, we should get this in soon before we add more content so new changes can follow this modernized convention 14:30:02 Zoltan: the PRs submitted minimize changes so some of the visual changes presented are not in PRs 14:30:35 ... Chai, do you prefer to add visual enhancements first? 14:32:13 Chai: you should look at the changes in two categories: 1) any styling or structure changes that affect every op, do this first 2) enhancing each op that need to be enhanced, this you can group as another category 14:32:43 ... otherwise people who want to add new PRs will be blocked on not conforming with the latest styling or structural changes 14:33:12 Zoltan: if I change one method at a time e.g. constant() it does not block adding another op with different styling 14:33:30 Chai: you should keep presentation consistent within the entire specification 14:33:47 ... if new ops are added, then you'd need to re-style those new ops added 14:33:49 q+ 14:33:59 ... prefer styling to be integrated as soon as possible 14:34:21 +1 to make the structure change first 14:34:28 Zoltan: issue is if no algorithms or internal slots are defined then we'd have empty algorithm and internal slot boxes 14:34:55 Chai: if those are optional, then that can wait, I'm waiting about style changes that apply broadly 14:35:05 the algorithm and internal slots to be added could be placeholders there 14:35:20 ... anything that is a style change should land as soon as possible 14:36:27 q? 14:36:49 ack ningxin_hu 14:37:04 ningxin_hu: thanks Zoltan for this great work, I like the updated visuals! 14:37:33 ... I vote for Chai's opinion, make structure changes first, layout each method in this style you have 14:38:58 ... I like the algorithm boxes, if not defined yet suggest to make them placeholders 14:39:37 ... e.g. lstm could be many PRs, for style changes I recommend land it in one PR 14:39:48 Zoltan: do you like algorithm box like presented? 14:40:34 Present+ Dom 14:40:45 Dom: prefer to have steps name inside the box 14:41:20 Zoltan: Arguments and returns now in prose, options inside the arguments and returns section 14:41:34 ... should I move those out to proper definitions of dictionaries? 14:42:04 ... this would be for most algorithms the whole thing, without this I will just change with the styling 14:46:52 ningxin_hu: I think moving options out improves readability 14:47:28 ... options are kind of a type definition, moving it out into a separate section I think will improve it and can be reused by other adjesent ops 14:47:45 s/adjesent/adjecent 14:48:08 q+ 14:48:15 Zoltan: I can prep a PR for review and import it to other branches I have 14:48:48 That's a significant effort, thanks so much Zoltan 14:49:38 ack chai 14:49:57 Chai: thanks for this, it is great! 14:50:10 ... on the algorithm section, some can be auto-generated perhaps 14:50:26 Zoltan: I tried it actually 14:50:48 Chai: we're going to add more ops in the future, if we need to add this boilerplate and stay consistent it is a huge amount of work 14:51:02 ... it depends on how complex the op is going to be 14:51:09 ... very hard to keep them consistent 14:51:34 ... need to factor things out and generate common prose 14:51:47 Zoltan: we should refactor things out and reuse whenever possible 14:51:55 ... now I think you see the big picture 14:53:05 ... this will still be pretty manual process, so need to see what can be factored out, we should do automation exploration 14:53:26 Chai: if the doc is in transient state or inconsistent it will be hard for others to add new things 14:53:53 [overtime, we can also add CI jobs to enforce consistency - I've done that in a number of cases in WebRTC] 14:53:57 Zoltan: once we get these PRs in them can borrow updated conventions 14:54:02 q? 14:54:07 q+ 14:54:46 Chai: optional visibility with
would be nice 14:55:04 ... original concern was it should be easy for editors to add new stuff 14:55:05 ack dom 14:55:28 dom: I have experiences with specs that add consistency checks as CI jobs once we know what we expect as input and what as output 14:55:47 ... Zoltan is willing to do the manual work now, let's try to get that done as soon as possible to not block the rest of the work 14:55:57 ... once we have that base established we look into automation opportunities 14:56:20 Zoltan: if we hide sections, is it better to hide algorithm, validation etc. 14:56:41 dom: parameter hiding sounds good, it is the most boring part 14:57:11 Zoltan: need to check if we can make the whole box disappear and auto-hide it 14:57:25 ... I got the feedback, we'll look at it next time with an updated PR 14:57:27 q? 14:58:24 Zoltan: I will ping you on an updated PR with visual enhancements and ping you all 14:58:27 q? 14:59:26 Zoltan: PR #365 is ready and welcomes more reviews! 14:59:27 https://github.com/webmachinelearning/webnn/issues/365 -> Pull Request 365 Add the constant() method steps. (zolkis) 15:00:10 i'll take a look 15:01:24 anssik: thanks Chai! 15:03:21 RRSAgent, draft minutes 15:03:22 I have made the request to generate https://www.w3.org/2023/03/30-webmachinelearning-minutes.html anssik 17:29:09 Zakim has left #webmachinelearning