Closed Bug 1462109 Opened 2 years ago Closed Last year

Federated Learning client

Categories

(Data Platform and Tools :: General, enhancement, P1)

enhancement
Points:
3

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: fhartmann, Assigned: fhartmann, Mentored)

References

Details

(Whiteboard: [DataPlatform])

Attachments

(3 files, 9 obsolete files)

To train a Federated Learning model, clients need to periodically talk to a server and report their proposed model updates.
For our application, this client part needs to work in Firefox.
Whiteboard: [DataPlatform]
Points: --- → 3
Priority: -- → P1
We decided to implement the client-side part using an addon.
A first minimal working version of it can be found on GitHub [1].

It was implemented as a WebExtension.
Because some legacy addon APIs are necessary to make it work, there are some experiment APIs in the WebExtension.

The model tries to predict what history suggestion users are going to click on.
To do this the frecency algorithm [2] is used.
Federated learning is going to optimize the weights used in that algorithm.

[1] https://github.com/florian/federated-learning-addon
[2] https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Frecency_algorithm
The draft of the addon is now fully functional.
Shield study related parts and Telemetry was added as well.
The first version is now being reviewed on GitHub [1].

[1] https://github.com/florian/federated-learning-addon/pull/1
Attached file data_review.txt
Attachment #8988354 - Flags: review?(chutten)
Comment on attachment 8988354 [details]
data_review.txt

DATA COLLECTION REVIEW RESPONSE:

    Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?

Yes.

    Is there a control mechanism that allows the user to turn the data collection on and off?

Yes. Standard Telemetry mechanisms apply.

    If the request is for permanent data collection, is there someone who will monitor the data over time?

N/A, time-bound study.

    Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under? **

Category 2.

    Is the data collection request for default-on or default-off?

Default-on.

    Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?

No.

    Is the data collection covered by the existing Firefox privacy notice? 

Yes.

    Does there need to be a check-in in the future to determine whether to renew the data?

No, the time bound of the study is firm.

---
Result: datareivew+
Attachment #8988354 - Flags: review?(chutten) → review+
Attached file federated_learning_awesome_bar-1.0.zip (obsolete) —
This is the addon that needs to be signed.
Flags: needinfo?(rdalal)
Flags: needinfo?(rdalal)
Attached file federated_learning_awesome_bar-1.0.zip (obsolete) —
This is the addon that needs to be signed.
It now has a @shield.mozilla.org ID.
Attachment #8990101 - Attachment is obsolete: true
Attachment #8990104 - Attachment is obsolete: true
Flags: needinfo?(rdalal)
Flags: needinfo?(rdalal)
The code review was completed and we submitted the addon to QA now.
Attached file federated_learning_awesome_bar-1.0.zip (obsolete) —
QA asked for an easier way to change the study variation, so this build adds that functionality.
Flags: needinfo?(rdalal)
Attachment #8991067 - Attachment is obsolete: true
Attachment #8990109 - Attachment is obsolete: true
Attachment #8990110 - Attachment is obsolete: true
Attached file federated_learning_awesome_bar-1.0.zip (obsolete) —
QA asked for an easier way to change the study variation, so this build adds that functionality.
Flags: needinfo?(rdalal)
Attached file federated_learning_awesome_bar-1.0.xpi (obsolete) —
This version of the addon fixes two bugs that QA found [1, 2].

[1] https://github.com/florian/federated-learning-addon/issues/7
[2] https://github.com/florian/federated-learning-addon/issues/9
Flags: needinfo?(rdalal)
Attachment #8991068 - Attachment is obsolete: true
Attachment #8991069 - Attachment is obsolete: true
Flags: needinfo?(rdalal)
This version properly resets the changed prefs when it is uninstalled or disabled.
Flags: needinfo?(rdalal)
Attachment #8991692 - Attachment is obsolete: true
Attachment #8991693 - Attachment is obsolete: true
Flags: needinfo?(rdalal)
The addon was deployed to users two days ago.
So far it seems like everything is working nicely.
There could be future improvements though, like a better way of fetching a model after the user just got an internet connection again.
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.