IRC log of webmachinelearning on 2022-01-12

Timestamps are in UTC.

05:01:31 [RRSAgent]
RRSAgent has joined #webmachinelearning
05:01:31 [RRSAgent]
logging to https://www.w3.org/2022/01/12-webmachinelearning-irc
05:01:33 [Zakim]
RRSAgent, make logs Public
05:01:34 [Zakim]
please title this meeting ("meeting: ..."), anssik
05:01:37 [anssik]
Meeting: WebML CG Teleconference – 12 Jan 2022
05:01:38 [Geun-Hyung]
Geun-Hyung has joined #webmachinelearning
05:01:42 [anssik]
Chair: Anssi
05:01:46 [anssik]
Agenda: https://github.com/webmachinelearning/meetings/blob/master/telcons/2022-01-12-cg-agenda.md
05:01:51 [Geun-Hyung]
present+
05:01:51 [ningxin_hu]
Present+ Ningxin_Hu
05:01:51 [anssik]
Scribe: Anssi
05:01:57 [anssik]
scribeNick: anssik
05:02:07 [Honglin]
Honglin has joined #webmachinelearning
05:02:14 [anssik]
Present+ Anssi_Kostiainen
05:02:31 [anssik]
Present+ Geunhyung_Kim
05:02:37 [anssik]
Present+ Bruce
05:02:42 [anssik]
Present+ Chai_Chaoweeraprasit
05:02:56 [anssik]
Present+ Honglin Yu
05:03:03 [anssik]
scribe+ Jonathan_Bingham
05:03:11 [RafaelCintron]
RafaelCintron has joined #webmachinelearning
05:03:22 [anssik]
Present+ Rafael_Cintron
05:03:28 [anssik]
Present+ Ganesan_Ramalingam
05:03:39 [anssik]
RRSAgent, draft minutes
05:03:39 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/12-webmachinelearning-minutes.html anssik
05:04:06 [ping_yu]
ping_yu has joined #webmachinelearning
05:04:15 [chai]
chai has joined #webmachinelearning
05:04:19 [anssik]
Present+ Ping Yu
05:04:28 [anssik]
Topic: Introductions
05:05:17 [anssik]
anssik: Welcome to 2022! We're now restarting CG calls given advances in Model Loader API
05:05:28 [anssik]
Present+ Jon_Napper
05:06:01 [anssik]
anssik: WebML CG and WG chair, Intel
05:06:42 [anssik]
Jon_Napper: leading ChromeOS ML intelligence team at Google
05:07:38 [anssik]
Present+ Andrew_Maylan
05:07:51 [anssik]
Andrew_Maylan: ChromeOS ML team at Google
05:08:21 [anssik]
Bruce: working with Ningxin, performance work, Intel
05:09:29 [anssik]
Geunhyung_Kim: explainability of ML is my interest, working for Gooroomee
05:10:23 [anssik]
Chai: Windows AI team lead at Msft, also WebNN API co-editor
05:12:00 [anssik]
Honglin_Yu: ChromeOS ML team at Google, Model Loader API spec and impl, exploring this space actively
05:12:39 [anssik]
Present+ Jiawei_Qian
05:12:55 [anssik]
Jiawei_Qian: prev handwriting recognition at Google
05:13:39 [anssik]
Jonathan_Binghan: product manager at Google, have worked with this CG for long, interested in both Model Loader API and WebNN API
05:13:49 [Jonathan]
Jonathan has joined #webmachinelearning
05:14:19 [anssik]
Mingming: working with Ningxin on WebNN impl, Intel
05:15:16 [anssik]
Ningxin: WebNN co-editor, Intel
05:16:35 [anssik]
Ping_Yu: TF.js lead, Google, have worked with Ningxin and others
05:17:26 [anssik]
RafaelCintron: Edge team at Msft, also representing Msft in a bunch of other W3C groups, e.g. IW, WebGPU, Color on the Web groups
05:17:50 [anssik]
Present+ Raviraj Pinnamaraju
05:18:08 [anssik]
Raviraj: enabling the stack on Chrome OS at Intel, working with Ningxin
05:21:07 [mingming]
mingming has joined #webmachinelearning
05:21:45 [anssik]
Topic: Model Loader API
05:21:52 [Jonathan]
My intro: Product manager for Web ML at Google
05:22:09 [qjw]
qjw has joined #webmachinelearning
05:22:37 [anssik]
https://github.com/webmachinelearning/meetings/blob/main/scribe-howto.md
05:23:12 [anssik]
Subtopic: Spec and implementation progress
05:23:26 [anssik]
-> https://github.com/webmachinelearning/model-loader/blob/main/explainer.md Updated explainer
05:23:33 [anssik]
-> https://webmachinelearning.github.io/model-loader/ Early spec draft
05:24:06 [anssik]
-> https://chromium-review.googlesource.com/c/chromium/src/+/3341136 Chromium prototype
05:24:23 [Andrew_Moylan]
Andrew_Moylan has joined #webmachinelearning
05:24:32 [Jon]
Jon has joined #webmachinelearning
05:24:55 [anssik]
Honglin: Chromium CL just my personal, not for review yet
05:25:31 [anssik]
... folks are welcome to review and make comments, final impl will be different
05:25:43 [anssik]
... will be split into multiple CLs
05:27:52 [anssik]
[Honglin presenting slides]
05:30:28 [anssik]
s/Honglin presenting slides/Honglin presenting slides: Update on Model Loader API
05:30:49 [chai]
Just a note for Anssi, you may want to add Rama (Ganesan Ramalingam) into the participant list as well
05:30:52 [anssik]
[slide 1]
05:31:17 [anssik]
Honglin: this is a brief on Model Loader API impl
05:31:21 [anssik]
[slide 2]
05:31:27 [anssik]
[slide 3]
05:32:08 [anssik]
[slide 4]
05:32:28 [anssik]
Honglin: similar context to WebNN, user can set the number of threads is a diff
05:32:32 [anssik]
[slide 5]
05:32:55 [anssik]
Honglin: ML loader corresponding to ML graph builder in WebNN
05:33:18 [anssik]
... this design is to handle the complexity of loading a model
05:33:33 [anssik]
[slide 6]
05:34:05 [anssik]
[slide 7]
05:34:30 [anssik]
... this is how the current prototype works, see the prototype CL
05:35:16 [anssik]
... all ML input and output relayed by the browser process
05:35:21 [anssik]
[slide 8]
05:36:07 [RafaelCintron]
q+
05:36:26 [anssik]
... we have benchmark results from MobileNet v2, even with CPU only the Model Loader API shows better performance than TF.js
05:36:33 [anssik]
... strong motivation to implement this API
05:36:34 [anssik]
q?
05:37:55 [anssik]
RafaelCintron: why a separate process? The render process is the most secure one
05:38:31 [anssik]
Honglin: good question, we want this to be extensible to various hardware, e.g. Pixelbook has a ML-specific accelerators, we want to be able to use them, easier if we run this in ML service
05:38:33 [chai]
q+
05:39:21 [anssik]
... possibly more safe than renderer, needs to be validated, renderer can do JIT complication, in ML service we can disable those system calls
05:39:24 [anssik]
q?
05:39:36 [anssik]
ack chai
05:41:08 [anssik]
Chai: understanding execution path would help me better understand the relative perf of inference performance
05:41:19 [RafaelCintron]
q+
05:41:24 [anssik]
q?
05:42:21 [anssik]
Honglin: this inference time, with 150 images, using a demo web site where we download these images and after DL we process the data and run inference in a for loop
05:43:04 [anssik]
Chai: usually when running execution, you'd execute the kernels, the question is what backend of TF.js is used for the benchmark
05:43:25 [anssik]
q?
05:46:10 [anssik]
Honglin: Wasm has limited CPU instructions supported, so ML service is compiled natively, this is the main reason
05:46:17 [anssik]
[slide 9]
05:46:22 [RafaelCintron]
q-
05:46:40 [anssik]
... results with quantized models still outperforms TF Lite
05:46:48 [anssik]
[slide 10]
05:47:12 [anssik]
... IPC cost is 7-10 ms, not small, consider improving this
05:47:16 [anssik]
[slide 11]
05:48:07 [anssik]
... 8 todos identified
05:48:41 [ningxin_hu]
IPC cost seems high, is it caused by marshalling and unmarshalling?
05:48:43 [anssik]
[slide 12]
05:49:28 [RafaelCintron]
q+
05:49:30 [anssik]
... graph shows how to reduce the identified IPC cost
05:49:44 [anssik]
... in theory, this reduces IPC cost in half, being explored
05:49:46 [anssik]
q?
05:49:52 [anssik]
[slide 13]
05:50:17 [anssik]
... 5 open questions
05:50:22 [anssik]
RRSAgent, draft minutes
05:50:24 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/12-webmachinelearning-minutes.html anssik
05:52:19 [anssik]
q?
05:52:53 [anssik]
Ningxin: IPC cost seems high, is it caused by marshalling and unmarshalling?
05:53:14 [anssik]
... does your prototype use shared memory to transfer tensors between processes
05:53:56 [anssik]
Honglin: marshall and unmarshall currently in prototype, considering alternatives
05:54:03 [anssik]
ningxin_hu: will follow up with you offline for this
05:54:04 [anssik]
q?
05:54:08 [anssik]
ack RafaelCintron
05:54:37 [anssik]
RafaelCintron: how tied ChromeOS is to this ML service? Are you open to different inference engines besides TF Lite on Chrome OS
05:55:04 [anssik]
Andrew_Moylan: I think yes
05:55:21 [anssik]
RafaelCintron: how tied ChromeOS is to this, is this ChromeOS only API?
05:56:18 [anssik]
Jonathan: Honglin's work currently depends on ChromeOS, but we understand that is not a web standards and are talking to Chrome browser team and I think it is not in Chromium, but in Chrome, and we can coordinate with Msft to ensure ML service can be implemented also on other OSes
05:56:34 [chai]
q+
05:56:46 [anssik]
RafaelCintron: I'm somewhat familiar with ML service and thought it is not so tied to TF Lite
05:56:51 [anssik]
q?
05:57:06 [anssik]
RafaelCintron: that'd be good for any browser that is cross-process
05:57:20 [anssik]
... even our first party like Office care about cross-platform, not just Windows
05:57:38 [anssik]
... how many processes can be created, thinking of malicious usage
05:57:59 [anssik]
Honglin: we can limit the max number of processes
05:58:26 [anssik]
... each model instance runs in a dedicated process, if the web page loads 10 models there's 10 processes, we'll limit the max number of processes
05:59:01 [anssik]
q?
06:00:25 [anssik]
Subtopic: Dependencies, coordination topics with WebNN API
06:00:40 [anssik]
Honglin: we have discussed shareable structs, haven't yet started code reuse
06:01:21 [anssik]
... have discussed the frontend, backends needs to be explored
06:01:22 [anssik]
q?
06:02:15 [anssik]
Topic: Meeting cadence
06:02:34 [anssik]
anssik: first, does this meeting slot work as a recurrent one to folks?
06:02:42 [anssik]
https://github.com/webmachinelearning/meetings/blob/main/telcons/2022-01-12-cg-agenda.md
06:03:34 [anssik]
[agreement]
06:03:46 [Jonathan]
anyone who would object isn't here, lol
06:03:57 [anssik]
... I propose we do either bi-weekly (to match WG) or monthly?
06:04:05 [anssik]
... or on a need basis?
06:05:50 [anssik]
Honglin: no opinion yet on cadence
06:06:05 [anssik]
Jonathan: having a recurring meeting would be valuable
06:06:32 [anssik]
... maybe next in two weeks and then once a month?
06:07:32 [anssik]
RRSAgent, draft minutes
06:07:32 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/12-webmachinelearning-minutes.html anssik
06:07:49 [anssik]
[agreement]
06:07:53 [anssik]
q?
06:08:32 [anssik]
ack chai
06:09:22 [anssik]
Chai: interop between the two APIs is a great target
06:09:48 [anssik]
... reuse of API contracts is even more useful than reuse of code
06:10:21 [anssik]
RRSAgent, draft minutes
06:10:21 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/12-webmachinelearning-minutes.html anssik
06:12:28 [anssik]
s/recurrent/recurring
06:15:58 [anssik]
anssik: Thanks for joining everyone, thanks Honglin for the great presentation!
06:20:53 [anssik]
s/for review yet/for official review yet/
06:26:56 [anssik]
s/[Honglin presenting slides: Update on Model Loader API]/Slideset: https://lists.w3.org/Archives/Public/www-archive/2022Jan/att-0000/Update_on_Model_Loader_API.pdf
06:27:01 [anssik]
RRSAgent, draft minutes
06:27:01 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/12-webmachinelearning-minutes.html anssik
06:42:16 [anssik]
Present+ Mingming
06:42:19 [anssik]
RRSAgent, draft minutes
06:42:19 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/01/12-webmachinelearning-minutes.html anssik
07:21:01 [zkis]
zkis has joined #webmachinelearning
09:53:21 [Zakim]
Zakim has left #webmachinelearning