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

Building an extensible web platform for ML, one abstraction at a time #109

Open
anssiko opened this issue Sep 24, 2020 · 1 comment
Open
Labels
Discussion topic Topic discussed at the workshop User's Perspective Machine Learning Experiences on the Web: A User's Perspective

Comments

@anssiko
Copy link
Member

anssiko commented Sep 24, 2020

Building ML experiences using the web platform-provided built-in low-level APIs and capabilities (WebGL, WebGPU, Wasm, WebNN) require domain-specific knowledge. JS libraries and frameworks have emerged to fill in the gap providing more approachable programming interfaces that not only increase developer productivity but also unlock ML in new areas such as education, learning, and accessibility.

TensorFlow.js and ML5.js represent two such higher-level abstractions. ML5.js provides the highest-level abstraction built around popular models for image, sound and text. ML5.js sits atop TensorFlow.js that in turn abstracts out low-level web-platform APIs to provide constructs ML practitioners are familiar with.

TensorFlow.js was discussed in the talk by @jasonmayes and talk by @annxingyuan. ML5.js was introduced in the talk by @yining1023.

Web platform has been incubating a few APIs that surface high-level abstractions, namely Accelerated Shape Detection in Images and Web Speech API (discussed by @kdavis-mozilla in his talk). These APIs are agnostic with respect to low-level implementation details and have been stuck in the incubation phase in part due to lack of interoperability and privacy issues.

Questions:

  • Are we in agreement that advancing with standardization of low-level capabilities e.g. WebNN API is the pragmatic first step? Should we in addition consider standardizing higher-level abstractions in parallel e.g. Model Loader API, possibly others inspired by learnings from JS libraries and frameworks?
  • What are the implications to user's privacy of focusing on the low-level capabilities first? See also the Extensible Web Manifesto.
@anssiko anssiko added the User's Perspective Machine Learning Experiences on the Web: A User's Perspective label Sep 24, 2020
@wchao1115
Copy link

While much of the discussion has been on high-level abstraction in the framework, the hardware ecosystems have also become an active area of ML development in the past many years. Evidently much of this development have been concentrated at the OS layer with more hardware vendors surfacing their underlying architectures and performance novelties for ML through the operating system APIs. Having a web standard facilitating this exposure in a browser and operating system-agnostic way will be a key foundation for ML on the web for years to come. I believe this is the right time for the web community to become a stakeholder in this development and establish this standard with WebNN.

A good news is that most applications of ML today are not tied to high-level format. The first-order problems seem to be model deployment, adaptability, reliability and performance. The web will organically sort out what formats to last based on practicality and usefulness of experience.

@anssiko anssiko added this to the 2020-09-29 Live Session #4 milestone Sep 28, 2020
@dontcallmedom dontcallmedom added the Discussion topic Topic discussed at the workshop label Oct 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion topic Topic discussed at the workshop User's Perspective Machine Learning Experiences on the Web: A User's Perspective
Projects
None yet
Development

No branches or pull requests

4 participants
@dontcallmedom @anssiko @wchao1115 and others