From 7d85c9361907276ce16ac97f24870c80f8ecd260 Mon Sep 17 00:00:00 2001 From: Anssi Kostiainen Date: Tue, 7 Jun 2022 17:15:27 +0300 Subject: [PATCH 1/2] Privacy Considerations refresh Add the following to Privacy Considerations: - Machine-specific artifacts - Device selection - Future device types Fix #85 Fix #175 Related #169 --- index.bs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/index.bs b/index.bs index 593be5f7..6643c1cd 100644 --- a/index.bs +++ b/index.bs @@ -436,6 +436,12 @@ Note: The group is WebGPU compilation cache considerations. +The WebGPU API identifies machine-specific artifacts as a privacy consideration. Given the WebNN API defines means to record an ML worload onto a WebGPU-compatible {{GPUCommandBuffer}}, compute unit scheduling may under certain circumstances introduce a fingerprint. However, similarly to WebGPU, such fingerprints are identical across most or all of the devices of each vendor, mitigating the concern. Furthermore, software implementations can be used to further eliminate such artifacts. + +The WebNN API defines two developer-settable preferences to help inform [[#programming-model-device-selection]] and allow the implementation better select the most appropriate underlying execution device for the workload. [=Device type=] preference indicates the kind of device and is either "cpu" or "gpu". If this preference cannot be satisfied, an {{OperationError}} exception is thrown, thus this preference can in some cases add two bits of entropy to the fingerprint. [=Power preference=] indicates preference as related to the power consumption and is considered a hint only and as such does not increase entropy of the fingerprint. + +If a future version of this specification introduces support for new a [=device type=] that can only support a subset of {{MLOperandType}}s, that may introduce a new fingerprint. + In general, implementers of this API are expected to be familiar with the WebGPU Privacy Considerations. Ethical Considerations {#ethics} From 5185b9fbc524a8a1409d1a691676dedfd8252644 Mon Sep 17 00:00:00 2001 From: Anssi Kostiainen Date: Thu, 16 Jun 2022 19:18:28 +0300 Subject: [PATCH 2/2] Clarify 'device type' is a normative type --- index.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.bs b/index.bs index 6643c1cd..e5780f76 100644 --- a/index.bs +++ b/index.bs @@ -438,7 +438,7 @@ Unlike APIs like WebGL, and WebGPU; this API does not intrinsically support cust The WebGPU API identifies machine-specific artifacts as a privacy consideration. Given the WebNN API defines means to record an ML worload onto a WebGPU-compatible {{GPUCommandBuffer}}, compute unit scheduling may under certain circumstances introduce a fingerprint. However, similarly to WebGPU, such fingerprints are identical across most or all of the devices of each vendor, mitigating the concern. Furthermore, software implementations can be used to further eliminate such artifacts. -The WebNN API defines two developer-settable preferences to help inform [[#programming-model-device-selection]] and allow the implementation better select the most appropriate underlying execution device for the workload. [=Device type=] preference indicates the kind of device and is either "cpu" or "gpu". If this preference cannot be satisfied, an {{OperationError}} exception is thrown, thus this preference can in some cases add two bits of entropy to the fingerprint. [=Power preference=] indicates preference as related to the power consumption and is considered a hint only and as such does not increase entropy of the fingerprint. +The WebNN API defines two developer-settable preferences to help inform [[#programming-model-device-selection]] and allow the implementation better select the most appropriate underlying execution device for the workload. [=Device type=] normatively indicates the kind of device and is either "cpu" or "gpu". If this type cannot be satisfied, an {{OperationError}} exception is thrown, thus this type can in some cases add two bits of entropy to the fingerprint. [=Power preference=] indicates preference as related to the power consumption and is considered a hint only and as such does not increase entropy of the fingerprint. If a future version of this specification introduces support for new a [=device type=] that can only support a subset of {{MLOperandType}}s, that may introduce a new fingerprint.