Skip to content

Commit 1fdb72b

Browse files
Merge pull request #19 from w3c/charter-next
[DRAFT] Web Machine Learning Working Group Charter
2 parents 3d2bbbd + 183f792 commit 1fdb72b

File tree

1 file changed

+91
-66
lines changed

1 file changed

+91
-66
lines changed

charter.html

+91-66
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,12 @@
9696
<h1 id="title">
9797
[DRAFT] Web Machine Learning Working Group Charter
9898
</h1><!-- delete PROPOSED after AC review completed -->
99-
<p><em>This is draft charter for a new W3C Web Machine Learning Working Group for discussion. It has no formal standing.</em></p>
99+
<p style="padding: 0.5ex; border: 1px solid green">
100+
This draft charter is available on <a href=
101+
"https://github.com/w3c/machine-learning-charter">GitHub</a>. Feel free
102+
to raise <a href=
103+
"https://github.com/w3c/machine-learning-charter/issues">issues</a>.
104+
</p>
100105
<p class="mission">
101106
The <strong>mission</strong> of the <a href="">Web Machine Learning
102107
Working Group</a> is to develop APIs for enabling efficient machine
@@ -108,12 +113,6 @@ <h1 id="title">
108113
Machine Learning Working Group.</a>
109114
</p>
110115
</div>
111-
<p style="padding: 0.5ex; border: 1px solid green">
112-
This proposed charter is available on <a href=
113-
"https://github.com/w3c/machine-learning-charter">GitHub</a>. Feel free
114-
to raise <a href=
115-
"https://github.com/w3c/machine-learning-charter/issues">issues</a>.
116-
</p>
117116
<section id="details">
118117
<table class="summary-table">
119118
<tr id="Duration">
@@ -175,6 +174,15 @@ <h1 id="title">
175174
</section>
176175
<section id=bg>
177176
<h2>Motivation and Background</h2>
177+
<p>
178+
Computer Vision enables computers to gain understanding from images
179+
or videos, Natural Language Processing enables interaction between
180+
computers and human languages, and Speech Recognition enables
181+
computers to recognize and translate spoken language into text.
182+
Bringing these experiences to the web in a privacy-preserving manner
183+
requires efficient machine learning inference capabilities built into
184+
the browser.
185+
</p>
178186
<p>Enabling Machine Learning inference in
179187
the browser (as opposed e.g. to in the cloud) enhances privacy, since input
180188
data such as locally sourced images or video streams stay within the
@@ -200,27 +208,38 @@ <h2>
200208
This Web API for neural network inference hardware acceleration:
201209
</p>
202210
<ul>
203-
<li>Allow to construct a neural network computational graph by common
204-
building blocks, including constant values and base operations such
205-
as convolution, pooling, softmax, normalization, fully connected,
206-
activation, recurrent neural network (RNN) and long short-term memory
207-
(LSTM);
211+
<li>Allows to construct a neural network computational graph by common
212+
building blocks required by well-known model architectures: constant
213+
values and base operations such as convolution, pooling, softmax,
214+
normalization, fully connected, and activation;
208215
</li>
209-
<li>Allow to compile the neural network to native optimized format
216+
<li>Allows to compile the neural network to native optimized format
210217
for hardware execution;
211218
</li>
212-
<li>Allow to setup input from various sources on the Web, e.g. array
219+
<li>Allows to setup input from various sources on the Web, e.g. array
213220
buffers, media streams, schedule the asynchronous hardware execution,
214221
and retrieve the output when hardware execution completes.
215222
</li>
216223
</ul>
224+
<p>
225+
This Working Group puts priority on building blocks required by
226+
well-known model architectures such as recurrent neural network
227+
(RNN), long short-term memory (LSTM) and transformers in the fields
228+
of Computer Vision, Natural Language Processing and Speech
229+
Recognition.
230+
</p>
217231
<p>
218232
The APIs in scope of this group will not be tied to any particular
219233
platform and will be implementable on top of existing major platform
220234
APIs, such as Android Neural Networks API, Windows DirectML, and
221235
macOS/iOS Metal Performance Shaders and Basic Neural Network
222236
Subroutines.
223237
</p>
238+
<p>
239+
For each high-level building block that decomposes into well-known
240+
lower-level operations, the APIs will informatively define a generic
241+
emulation path to allow for future extensibility.
242+
</p>
224243
<p>It may also work on a higher-level API to load a custom pre-trained Machine Learning model for inference in the browser.</p>
225244
<section id="section-out-of-scope">
226245
<h3 id="out-of-scope">
@@ -237,11 +256,14 @@ <h3 id="out-of-scope">
237256
algorithms.
238257
</p>
239258
<p>
240-
To avoid overlap with existing work, generic primitives used by
241-
traditional machine learning algorithms such as base linear algebra
242-
operations are out of scope. The WebGL and WebGPU shaders and
243-
WebAssembly SIMD are expected to address these requirements, see
244-
the Coordination section for details.
259+
To avoid overlap with existing work, alignment with the Basic
260+
Linear Algebra Subprograms (BLAS) interface is out of scope. The
261+
WebGPU shaders and WebAssembly SIMD are expected to address the
262+
BLAS compatibility requirement, see the Coordination section for
263+
details.
264+
</p>
265+
<p>
266+
Interoperability between the WebNN and WebGL APIs is out of scope.
245267
</p>
246268
<ul class="out-of-scope"></ul>
247269
</section>
@@ -253,14 +275,7 @@ <h2>
253275
<p>
254276
More detailed milestones and updated publication schedules are
255277
available on the <a href=
256-
"https://www.w3.org/wiki/[groupname]/PubStatus">group publication
257-
status page</a>.
258-
</p>
259-
<p>
260-
<i>Draft state</i> indicates the state of the deliverable at the time
261-
of the charter approval. <i>Expected completion</i> indicates when
262-
the deliverable is projected to become a Recommendation, or otherwise
263-
reach a stable state.
278+
"https://www.w3.org/groups/wg/webmachinelearning">group home page</a>.
264279
</p>
265280
<section id="normative">
266281
<h3>
@@ -272,21 +287,31 @@ <h3>
272287
</p>
273288
<dl>
274289
<dt id="webnn" class="spec">
275-
<a href="https://webmachinelearning.github.io/webnn/">Web Neural
276-
Network API</a>
290+
<a href="https://www.w3.org/TR/webnn/">Web Neural Network API</a>
277291
</dt>
278292
<dd>
279293
<p>
280294
This specification defines an API to enable neural network
281295
inference that can take advantage of hardware acceleration.
282296
</p>
283297
<p class="draft-status">
284-
<b>Draft state:</b> <a href=
285-
"https://webmachinelearning.github.io/webnn/">Adopted from Web
286-
Machine Learning Community Group</a>
298+
<b>Draft state:</b> Working Draft
299+
</p>
300+
<p>
301+
<b>Adopted Draft:</b> The <span class="todo">title, stable URL,
302+
and publication date of the <a href=
303+
"https://www.w3.org/Consortium/Process/#adopted-draft">
304+
Adopted Draft</a></span> which will serve as the basis for
305+
work on the deliverable.
306+
</p>
307+
<p>
308+
<b>Exclusion Draft:</b> The <span class="todo">title, stable
309+
URL, and publication date of the most recent <a href=
310+
"https://www.w3.org/Consortium/Process/#exclusion-draft">
311+
Exclusion Draft</a></span>.
287312
</p>
288313
<p class="milestone">
289-
<b>Expected completion:</b> [CR Q1 2022]
314+
<b>Expected completion:</b> Q1 2025
290315
</p>
291316
</dd>
292317
</dl>
@@ -315,7 +340,8 @@ <h3>
315340
</p>
316341
<p class="draft-status">
317342
<b>Draft state:</b> <a href=
318-
"https://webmachinelearning.github.io/model-loader/">Explainer</a>
343+
"https://webmachinelearning.github.io/model-loader/">Adopted from Web
344+
Machine Learning Community Group</a>
319345
</p>
320346
<p class="milestone">
321347
<b>Expected completion:</b> [N/A]
@@ -330,7 +356,14 @@ <h3>
330356
<h3>
331357
Other Deliverables
332358
</h3>
333-
<p>The Working Group will develop a <span id="ethical-issues">Working Group Note documenting ethical issues</span> associated with using Machine Learning on the Web, to help identify what mitigations its normative specifications should take into account.</p>
359+
<p>
360+
The Working Group develops <a href=
361+
"https://www.w3.org/TR/webmachinelearning-ethics/">Ethical
362+
Principles for Web Machine Learning</a> Working Group Note
363+
documenting ethical issues associated with using Machine Learning
364+
on the Web, to help identify what mitigations its normative
365+
specifications should take into account.
366+
</p>
334367
<p>
335368
Other non-normative documents may be created such as:
336369
</p>
@@ -344,19 +377,6 @@ <h3>
344377
</li>
345378
</ul>
346379
</section>
347-
<section id="timeline">
348-
<h3>
349-
Timeline
350-
</h3>
351-
<ul>
352-
<li>Q2 2021: First teleconference
353-
</li>
354-
<li>Q2 2021: FPWD for Web Neural Network API
355-
</li>
356-
<li>Q2 2022: CR for Web Neural Network API
357-
</li>
358-
</ul>
359-
</section>
360380
</section>
361381
<section id="success-criteria">
362382
<h2>
@@ -453,7 +473,8 @@ <h3 id="w3c-coordination">
453473
The GPU for the Web Working Group defines a WebGPU Shading
454474
Language that may be used to implement traditional machine
455475
learning algorithms efficiently. The Web Machine Learning Working
456-
Group should coordinate with this group to avoid overlap.
476+
Group should coordinate with this group to avoid overlap and
477+
to enable interoperability between the WebNN and WebGPU APIs.
457478
</dd>
458479
</dl>
459480
<dl>
@@ -469,7 +490,11 @@ <h3 id="w3c-coordination">
469490
to avoid overlap.
470491
</dd>
471492
<dt><a href="https://www.w3.org/groups/wg/webrtc">WebRTC Working Group</a></dt>
472-
<dd>The WebRTC Working Group defines the <code>MediaStream</code> interface and related media processing APIs that likely make use of Machine Learning capabilities afforded by the WebNN API.</dd>
493+
<dd>
494+
The WebRTC Working Group defines the <code>MediaStream</code>
495+
interface and related media processing APIs that enable integration
496+
with Machine Learning capabilities afforded by the WebNN API.
497+
</dd>
473498
<dt><a href="https://www.w3.org/2001/tag/">Technical Architecture Group</a></dt>
474499
<dd>Given the well-known ethical risks of bias in the use of Machine Learning, the Web Machine Learning Working Group will work with the Technical Architecture Group to ensure its work align with the <a href="https://w3ctag.github.io/ethical-web-principles/">W3C TAG Ethical Web Principles</a>.</dd>
475500
</dl>
@@ -479,21 +504,21 @@ <h3 id="external-coordination">
479504
External Organizations
480505
</h3>
481506
<dl>
482-
<dt>
483-
<a href="https://www.khronos.org/">Khronos</a>
484-
</dt>
485-
<dd>
486-
The Khronos WebGL Working Group defines a WebGL API that supports
487-
the OpenGL ES Shading Language (GLSL). The GLSL can be used to
488-
implement traditional machine learning algorithms efficiently.
489-
Furthermore, this group incubates a proposal for a WebGL 2.0
490-
Compute specification that aims to provide an efficient way to
491-
run general-purpose GPU (GPGPU) computing workloads such as
492-
machine learning algorithms in the WebGL context.
493-
</dd>
494507
<dt><a href="https://tc39.es/">ECMA TC39</a></dt>
495508
<dd>TC39 defines the JavaScript language whose primitives are key in how WebNN access data (e.g. <code>ArrayBuffer</code>). Possible work on <a href="https://github.com/tc39/proposal-operator-overloading#matrixvector-computations">operator overloading</a> would also impact possible evolutions of the WebNN API.</dd>
496509
</dl>
510+
<dl>
511+
<dt><a href="https://github.com/openxla">OpenXLA Project</a></dt>
512+
<dd>
513+
OpenXLA Project develops StableHLO, a portable ML compute
514+
operation set that makes frameworks easier to deploy across
515+
different hardware. WebNN API targets diverse hardware platforms
516+
and defines an operation set whose high-level operations can be
517+
decomposed to low level primitives that can map to StableHLO
518+
operations. Coordination and alignment between these two
519+
operation sets is beneficial to the open ML ecosystem.
520+
</dd>
521+
</dl>
497522
</section>
498523
</section>
499524
<section class="participation">
@@ -672,16 +697,16 @@ <h3>
672697
</tr>
673698
<tr>
674699
<th>
675-
<a class="todo" href="">Initial Charter</a>
700+
<a href="https://www.w3.org/2021/04/web-machine-learning-charter.html">Initial Charter</a>
676701
</th>
677702
<td>
678-
<i class="todo">[dd monthname yyyy]</i>
703+
2021-04-20
679704
</td>
680705
<td>
681-
<i class="todo">[dd monthname yyyy]</i>
706+
2023-04-30
682707
</td>
683708
<td>
684-
<i class="todo">none</i>
709+
Initial charter
685710
</td>
686711
</tr>
687712
</tbody>

0 commit comments

Comments
 (0)