Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated review of WebNN API #933

Open
1 task done
dontcallmedom opened this issue Feb 15, 2024 · 6 comments
Open
1 task done

Updated review of WebNN API #933

dontcallmedom opened this issue Feb 15, 2024 · 6 comments
Assignees
Labels
Mode: breakout Work done during a time-limited breakout session Priority: urgent Progress: in progress Review type: horizontal review A review request from a WG seeking horizontal review to transition a document along the REC track Review type: small delta Topic: Machine Learning Not AI

Comments

@dontcallmedom
Copy link

dontcallmedom commented Feb 15, 2024

(extracted from #771 (comment))

I'm requesting an updated TAG review of WebNN API - previous TAG review: #771

Since the initial Candidate Recommendation Snapshot and the previous TAG review, the Working Group has gathered further implementation experience and added new operations and data types needed for well-known transformers webmachinelearning/webnn#375. In addition, the group has removed selected features informed by this implementation experience: higher-level operations that can be expressed in terms of lower-level primitives in a performant manner, and support for synchronous execution. The group has also updated the specification to use modern authoring conventions to improve interoperability and precision of normative definitions and is developing a new feature, a webmachinelearning/webnn#482, to improve performance and interoperability between the WebNN, WebGPU APIs and purpose-built hardware for ML.

The removal of support for synchronous execution is in-line with TAG's guidance (removal discussed in #531 and moving toward JSPI that is coming finally.

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • Relevant time constraints or deadlines: expecting to republish as Candidate Recommendation Snapshot in Q1 2024
  • The group where the work on this specification is currently being done: W3C Web Machine Learning Working Group
  • Major unresolved issues with or opposition to this specification:
  • This work is being funded by:

You should also know that...

[please tell us anything you think is relevant to this review]

We'd prefer the TAG provide feedback as open issues in our GitHub repo for each point of feedback

@anssiko
Copy link

anssiko commented Feb 29, 2024

We've issued a CfC to advance with the CR Snapshot publication mid-March noting in this CfC the TAG delta review is currently in flight. We expect this issue to be looked at in the context of the transition request.

As outlined in this issue, your earlier feedback (removal of sync APIs) has been addressed. The rest of the changes since your last review are evolutionary informed by implementation experience. Specifically, we are not expecting you to do another "full" review.

If the group doesn't hear any concerns from you it plans to proceed with the publication. Thank you for your review comments (#771 (comment)) that motivated the removal of the sync APIs.

@torgo torgo self-assigned this Mar 21, 2024
@maxpassion maxpassion self-assigned this Mar 21, 2024
@torgo torgo added Review type: horizontal review A review request from a WG seeking horizontal review to transition a document along the REC track Review type: small delta Topic: Machine Learning Not AI Mode: breakout Work done during a time-limited breakout session labels Mar 21, 2024
@torgo torgo added this to the 2024-03-25-week milestone Mar 21, 2024
@matatk
Copy link

matatk commented Apr 3, 2024

Thanks @anssiko, @dontcallmedom for the review request. We were wondering, could you clarify the changes around transformers? We note you've added new data types and operations in support of them (is there a list?) - did you also add/remove any transformers?

@matatk matatk added the Progress: pending external feedback The TAG is waiting on response to comments/questions asked by the TAG during the review label Apr 3, 2024
@dontcallmedom
Copy link
Author

the list of operators added (and the removal of a redundant one) is in webmachinelearning/webnn#478 (comment) based on the detailed analysis made in webmachinelearning/webnn#375 (comment)

@anssiko
Copy link

anssiko commented Apr 3, 2024

@matatk you may also find the updated use cases for transformers webmachinelearning/webnn#507 helpful -- these use cases motivated the new ops discussed in the above-mentioned issue, also linked from the SOTD.

To provide further context on the removal: one op (squeeze) was removed from the initial list of considered transformer ops because it was found out it can be expressed in terms of an existing lower-level op (reshape) in a performant manner. The emulation path for squeeze is presented informatively in the specification.

Please let us know if you have any further questions.

@plinss plinss removed this from the 2024-03-25-week:a milestone Apr 15, 2024
@plinss plinss added Progress: in progress and removed Progress: pending external feedback The TAG is waiting on response to comments/questions asked by the TAG during the review labels Apr 15, 2024
@plinss plinss added this to the 2024-04-15-week:a milestone Apr 15, 2024
@anssiko
Copy link

anssiko commented Apr 25, 2024

For full disclosure and to close the loop on this review:

A new CR Snapshot (history) was published recently. Thank you for your questions and reviews (plural). We've already received two rounds of reviews from the TAG given we've hit the CRS milestone twice for this spec and appreciate your insights and persistence in working with us as we further evolve this specification. We look forward to another delta review with you as appropriate.

If you have further review comments now or at any time do not hesitate to reach out to our group. We will consider all suggestions regardless of the spec milestone we're targeting. We're currently iterating on CRDs and plan to publish a new CRS approximately every 6-12 months.

@matatk
Copy link

matatk commented Apr 29, 2024

Hi @anssiko. Thank you for providing the context and info on recent changes, and for the publishing and cadence info. We are still looking into a few things on this review (noting that the 2024-04-29 version is now the current one, as you mentioned). We'll reply on this thread with any additional thoughts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mode: breakout Work done during a time-limited breakout session Priority: urgent Progress: in progress Review type: horizontal review A review request from a WG seeking horizontal review to transition a document along the REC track Review type: small delta Topic: Machine Learning Not AI
Projects
None yet
Development

No branches or pull requests

6 participants