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