Thanks Kaustubha and Chrome team for looking into it. I am excited to work 
with you on the security and privacy review. We'll discuss your follow-up 
questions within the W3C WebML WG and get back to you.

Regards,
-ningxin

On Tuesday, January 11, 2022 at 10:38:48 PM UTC+8 kaust...@chromium.org 
wrote:

> Hi Ningxin,
>
> I am part of a group of Security & Privacy reviewers within the Chrome 
> team who recently reviewed your explainer and design doc. We have some 
> follow-up questions for you, which I will send to your list of email 
> contacts off-thread. We will report back on any findings/recommendations on 
> this thread after our review is complete.
>
> Thank you,
> Kaustubha Govind
>
>
> On Tuesday, November 30, 2021 at 9:11:17 PM UTC-5 ningxin hu wrote:
>
>> Contact emails 
>>
>> ningx...@intel.com, wc...@microsoft.com, rafael....@microsoft.com 
>>
>>  
>> Explainer 
>>
>> https://github.com/webmachinelearning/webnn/blob/main/explainer.md
>>
>>  
>> Specification 
>>
>> https://www.w3.org/TR/webnn/
>>
>>  
>> Design docs 
>>
>>
>> https://docs.google.com/document/d/1KDVuz38fx3SpLVdE8FzCCqASjFfOBXcJWj124jP7ZZ4/edit?usp=sharing
>>
>>  
>> Summary 
>>
>> Construct and execute computational graphs that are at the heart of 
>> neural networks, taking advantage of on-device hardware acceleration. 
>> Currently, JavaScript frameworks must repurpose web APIs like WebGL, WebGPU 
>> and WebAssembly for the individual compute operations when executing 
>> computational graphs. The WebNN API allows JavaScript frameworks to access 
>> the native operating system machine learning APIs and the hardware 
>> accelerators underneath for the best performance and reliability of results.
>>
>>  
>> Blink component 
>>
>> Blink>WebML 
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebML>
>>
>>  
>> Motivation 
>>
>> Deep Learning, a subfield of Machine Learning (ML), with its various 
>> neural network architectures enables new user experiences for web 
>> applications that range from improved video conferencing to 
>> accessibility-improving features, with potential for improved privacy over 
>> cloud-based solutions. Key neural network-based use cases that apply to a 
>> wide range of web applications include e.g., face detection, semantic 
>> segmentation, style transfer, super resolution, image captioning, machine 
>> translation, and noise suppression. While some of these use cases can be 
>> implemented in a constrained manner with existing Web APIs (e.g. WebGL, 
>> WebGPU and WebAssembly), the lack of access to platform capabilities 
>> beneficial for ML such as dedicated ML hardware accelerators constraints 
>> the scope of experiences and leads to inefficient implementations on modern 
>> hardware. This disadvantages the web platform in comparison to native 
>> platforms.
>>
>>  
>> Initial public proposal 
>>
>>
>> https://discourse.wicg.io/t/api-set-for-machine-learning-on-the-web/2491/10
>>
>>  
>> TAG review 
>>
>> https://github.com/w3ctag/design-reviews/issues/570
>>
>>  
>> TAG review status 
>>
>> Issues addressed
>>
>>  
>> Risks 
>>
>>  
>> Interoperability and Compatibility 
>>
>> All major browser vendors participated in the Community Group [1] that 
>> successfully completed the incubation of this API and graduated it to the 
>> Working Group [2] for standardization.
>>
>>  
>>
>> A well-attended W3C workshop [3] that brought together browser vendors 
>> and machine learning practitioners reviewed the API and recommended it for 
>> standardization.
>>
>>  
>>
>> Public support from Edge and Microsoft [4] with key contributors involved 
>> in the work.
>>
>>  
>>
>> Significant interest and positive feedback from machine learning JS 
>> frameworks in using WebNN when it is available, see e.g. 
>> TensorFlow.js/TensorFlow-Lite Web [5] and OpenCV.js [6].
>>
>>  
>>
>> An interoperability risk is to define the core operators that can be 
>> implemented cross-platforms and support the breadth of ML JS frameworks, 
>> however the members of the working group have experience defining and 
>> testing such interoperable machine learning operator set.
>>
>>  
>>
>> [1]: https://www.w3.org/groups/cg/webmachinelearning
>>
>> [2]: https://www.w3.org/groups/wg/webmachinelearning
>>
>> [3]: https://www.w3.org/2020/06/machine-learning-workshop/
>>
>> [4]: 
>> https://www.w3.org/blog/2021/04/w3c-launches-the-web-machine-learning-working-group/
>>
>> [5]: https://github.com/tensorflow/sig-tfjs/pull/2
>>
>> [6]: https://github.com/opencv/opencv/pull/20406
>>
>>  
>>
>> Gecko: No signal
>>
>> WebKit: No signal
>>
>> Web developers: Positive (https://github.com/tensorflow/sig-tfjs/pull/2) 
>> The RFC of WebNN Delegate for TensorFlow Lite Web got good feedback and 
>> approval.
>>
>>  
>> Ergonomics 
>>
>> The WebNN graph building (MLGraphBuilder.build [1]) and execution 
>> (MLGraph.compute [2]) APIs are synchronous. This is required to implement a 
>> backend for Wasm-based ML frameworks, such as ONNX Runtime Execution 
>> Provider [3], TensorFlow Lite Delegate [4] and OpenCV.js DNN backend [5]. 
>> These frameworks are written in C++ and expect calling sync APIs in its 
>> backend implementation. To avoid blocking the main thread, the good 
>> practice is to use these async APIs in a worker context. WebML working 
>> group is collecting feedback about whether to restrict the sync APIs to 
>> only exist in workers [6] and support async APIs [7].
>>
>>  
>>
>> [1]: https://www.w3.org/TR/webnn/#dom-mlgraphbuilder-build 
>>
>> [2]: https://www.w3.org/TR/webnn/#dom-mlgraph-compute  
>>
>> [3]: 
>> https://onnxruntime.ai/docs/execution-providers/add-execution-provider.html
>>  
>>
>> [4]: https://www.tensorflow.org/lite/performance/implementing_delegate  
>>
>> [5]: https://github.com/opencv/opencv/pull/20406
>>
>> [6]: https://github.com/webmachinelearning/webnn/issues/229
>>
>> [7]: https://github.com/webmachinelearning/webnn/issues/230 
>>
>>  
>> Activation 
>>
>> Developers could use webnn-polyfill [1] immediately. The machine learning 
>> JS frameworks with WebNN backend would make it easier to use.
>>
>>  
>>
>> [1]: https://github.com/webmachinelearning/webnn-polyfill
>>
>>  
>>
>> *Ethical*
>>
>> The WebNN API spec incorporates ethical considerations. The group is 
>> working on a complementary document [1] that outlines ethical issues 
>> associated with using Machine Learning on the Web and discusses how 
>> implementers and web developers can mitigate associated risks.
>>
>>  
>>
>> [1]: https://webmachinelearning.github.io/ethical-webmachinelearning/ 
>>
>>  
>> Debuggability 
>>
>> Warnings and errors are exposed via dev tools. Specialized tools for 
>> debugging are TBD.
>>
>>  
>> Is this feature fully tested by web-platform-tests 
>> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
>> ? 
>>
>> Not yet. Working in progress, e.g., WebNN IDL test merged in wpt [1]
>>
>>  
>>
>> [1]: https://github.com/web-platform-tests/wpt/pull/31201
>>
>>  
>> Flag name 
>>
>> --enable-webnn
>>
>>  
>> Requires code in //chrome? 
>>
>> False
>>
>>  
>> Tracking bug 
>>
>> https://bugs.chromium.org/p/chromium/issues/detail?id=1273291
>>
>>  
>> Estimated milestones 
>>
>> TBD
>>
>>  
>> Link to entry on the Chrome Platform Status 
>>
>> https://www.chromestatus.com/feature/5738583487938560
>>
>>  
>>
>> This intent message was generated by Chrome Platform Status 
>> <https://www.chromestatus.com/>.
>>
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4334dba2-c3df-4458-871e-5b9eb4ba6de0n%40chromium.org.

Reply via email to