91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FedJAX的庫結(jié)構(gòu)和內(nèi)容

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2021-11-08 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

聯(lián)邦學習是一種機器學習設(shè)置,允許多個客戶端(即移動設(shè)備或者整個組織,取決于正在參與的任務(wù))在一個中央服務(wù)器的編排下,協(xié)同訓練同一個模型,同時還能保持訓練數(shù)據(jù)的離散性。例如,通過聯(lián)邦學習,可以基于永遠不會從移動設(shè)備中消失的用戶數(shù)據(jù)訓練虛擬鍵盤語言模型。

要實現(xiàn)這點,聯(lián)邦學習算法首先需要初始化服務(wù)器中的模型,然后完成以下對于每一輪訓練而言都非常關(guān)鍵的三步:

1. 服務(wù)器將模型發(fā)送到一組采樣客戶端。

2. 這些采樣客戶端在本地數(shù)據(jù)中訓練模型。

3. 訓練完成之后,客戶端將更新后的模型發(fā)送到服務(wù)器,然后服務(wù)器將所有這些模型匯總在一起。

隨著人們對隱私和安全的日益注重,聯(lián)邦學習已成為一個尤為活躍的研究領(lǐng)域。對于這個日新月異的領(lǐng)域,能夠輕松將想法轉(zhuǎn)換為代碼、快速迭代,以及比較和復制現(xiàn)有基線的重要性不言而喻。

日新月異的領(lǐng)域

https://research.google/pubs/pub49232/

因此,我們很高興為大家介紹 FedJAX。FedJAX 是一個基于 JAX 的開源庫,適用于注重研究易用性的聯(lián)邦學習模擬。FedJAX 擁有適用于執(zhí)行聯(lián)邦算法、預打包的數(shù)據(jù)集、模型和算法以及高模擬速度的簡單基本模塊,旨在讓研究員能夠更快速、更容易地開發(fā)和評估聯(lián)邦算法。

FedJAX

https://github.com/google/fedjax

JAX

https://github.com/google/jax

在這篇文章中,我們將討論 FedJAX 的庫結(jié)構(gòu)和內(nèi)容。我們會證明,在 TPU 中,F(xiàn)edJAX 可通過 EMNIST 數(shù)據(jù)集的聯(lián)合平均,在幾分鐘內(nèi)就能訓練完模型。而通過 Stack Overflow 數(shù)據(jù)集的標準超參數(shù) (Hyperparameter),則需要將近 1 小時。

EMNIST

https://github.com/google/fedjax/blob/main/fedjax/datasets/emnist.py

聯(lián)合平均

https://fedjax.readthedocs.io/en/latest/fedjax.algorithms.html#module-fedjax.algorithms.fed_avg

Stack Overflow

https://github.com/google/fedjax/blob/main/fedjax/datasets/stackoverflow.py

庫結(jié)構(gòu)

FedJAX 注重易用性,因此僅引進了少量新概念。使用 FedJAX 編寫的代碼與學術(shù)論文用于描述新穎算法的偽代碼類似,因此極易上手。除此之外,雖然 FedJAX 提供了聯(lián)邦學習的基本模塊,但用戶可以將其替換為最基本的實現(xiàn)(僅使用 NumPy 和 JAX),并且仍然可以將整體訓練速度保持在一個合理的區(qū)間。

與學術(shù)論文用于描述新穎算法的偽代碼類似

https://github.com/google/fedjax/blob/main/README.md#quickstart

NumPy

https://numpy.org/

包含的數(shù)據(jù)集和模型

在當前聯(lián)邦學習研究領(lǐng)域,存在各種各樣常用的數(shù)據(jù)集和模型,例如圖像識別 (Image recognition)、語言建模 (Language modeling) 等。越來越多這樣的數(shù)據(jù)集和模型無需安裝即可直接用于 FedJAX,因此用戶無需從頭開始編寫預處理數(shù)據(jù)集和模型。這不僅有利于對不同的聯(lián)邦算法進行有效比較,還加速了新算法的開發(fā)。

目前,F(xiàn)edJAX 與以下數(shù)據(jù)集和示例模型一起打包:

EMNIST-62,一項字符識別任務(wù)

https://github.com/google/fedjax/blob/main/fedjax/datasets/emnist.py

Shakespeare,一項下一字符預測任務(wù)

https://github.com/google/fedjax/blob/main/fedjax/datasets/shakespeare.py

Stack Overflow,一項下一字詞預測任務(wù)

https://github.com/google/fedjax/blob/main/fedjax/datasets/stackoverflow.py

除了以上標準設(shè)置,F(xiàn)edJAX 還提供用于創(chuàng)建新數(shù)據(jù)集和模型的工具,這些新數(shù)據(jù)集和模型可以與庫的其余內(nèi)容共同使用。

工具

https://fedjax.readthedocs.io/en/latest/fedjax.html#federated-data

此外,F(xiàn)edJAX 支持聯(lián)合平均的標準實現(xiàn),也支持用于在分散式示例上訓練共享模型的其他聯(lián)邦算法,例如自適應(yīng)聯(lián)邦優(yōu)化器、不可知聯(lián)合平均以及 Mime,從而讓比較和評估現(xiàn)有算法變得更加簡單。

自適應(yīng)聯(lián)邦優(yōu)化器

https://fedjax.readthedocs.io/en/latest/fedjax.algorithms.html#module-fedjax.algorithms.fed_avg

不可知聯(lián)合平均

https://fedjax.readthedocs.io/en/latest/fedjax.algorithms.html#module-fedjax.algorithms.agnostic_fed_avg

Mime

https://fedjax.readthedocs.io/en/latest/fedjax.algorithms.html#module-fedjax.algorithms.mime

性能評估

我們在兩項任務(wù)上對自適應(yīng)聯(lián)合平均的標準 FedJAX 實現(xiàn)進行了基準測試:圖像識別任務(wù)(測試聯(lián)邦 EMNIST-62 數(shù)據(jù)集)和下一字詞預測任務(wù)(測試 Stack Overflow 數(shù)據(jù)集)。聯(lián)邦 EMNIST-62 數(shù)據(jù)集較小,由 3400 名用戶和他們創(chuàng)建的示例(共 62 個拉丁字母數(shù)字字符)構(gòu)成;而 Stack Overflow 數(shù)據(jù)集較大,由數(shù)百萬問題和答案構(gòu)成(這些問題和答案來自于擁有成千上萬名用戶的 Stack Overflow 論壇)。

自適應(yīng)聯(lián)合平均

https://openreview.net/pdf?id=LkFG3lB13U5

聯(lián)邦 EMNIST-62 數(shù)據(jù)集

https://github.com/google/fedjax/blob/main/fedjax/datasets/emnist.py

Stack Overflow 數(shù)據(jù)集

https://github.com/google/fedjax/blob/main/fedjax/datasets/stackoverflow.py

我們在專門用于機器學習的各種硬件上測量性能。對于聯(lián)邦 EMNIST-62,我們在 GPU (NVIDIA V100) 和 TPU(Google TPU v2 上的 1 個 TensorCore)加速器上對單一模型進行了 1500 輪訓練(每輪 10 個客戶端)。

對于 Stack Overflow,我們在 GPU (NVIDIA V100)、單核 TPU(Google TPU v2 上 1 個 TensorCore)及多核 TPU(Google TPU v2 上 8 個 TensorCore)上對單一模型進行了 1500 輪訓練(每輪 50 個客戶端)。其中,在 GPU 上使用 jax.jit,在單核 TPU 上僅使用 jax.jit,而在多核 TPU 上使用 jax.pmap。在下方圖表中,我們記錄了每輪訓練的平均完成時間、完整評估測試數(shù)據(jù)所需時間以及整體執(zhí)行時間(整體執(zhí)行包含訓練和完整評估)。

通過標準超參數(shù)和 TPUs,聯(lián)邦 EMNIST-62 的整個實驗可以在幾分鐘之內(nèi)完成,而 Stack Overflow.的實驗需要 1 小時左右的時間。

我們還評估了隨著每輪客戶端數(shù)量增加之后的 Stack Overflow 平均每輪訓練時長。通過比較圖表上 8 核 TPU 與單核 TPU 的平均每輪訓練時長,我們很容易就能發(fā)現(xiàn),如果每輪參與的客戶端數(shù)量較多,則使用多核 TPU 能極大縮短運行時間(對微分化的不公開學習等應(yīng)用來說非常有幫助)。

微分化的不公開學習

https://openreview.net/forum?id=BJ0hF1Z0b

結(jié)論和未來研究方向

在這篇文章中,我們介紹了 FedJAX 這種適用于研究、速度較快且簡單易用的聯(lián)邦學習模擬庫。我們希望 FedJAX 能推動聯(lián)邦學習的深入研究,同時引起人們對于該領(lǐng)域的更多關(guān)注。未來,我們計劃繼續(xù)發(fā)展現(xiàn)有算法集、聚合機制、數(shù)據(jù)集和模型。

歡迎各位隨時查閱我們的教程筆記本,或者親自體驗 FedJAX!

教程筆記本

https://fedjax.readthedocs.io/en/latest/

親自體驗 FedJAX

https://github.com/google/fedjax/blob/main/examples

若想進一步了解 FedJAX 及其與 Tensorflow Federated 等平臺的關(guān)系,請參閱我們的論文、README 或常見問題解答。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    14

    文章

    10268

    瀏覽量

    91536
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8555

    瀏覽量

    136999

原文標題:FedJAX:使用 JAX 進行聯(lián)邦學習模擬

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    cJSON是什么?

    cJSON是什么?cJSON是一個輕量級的json解析。使用起來非常簡單,整個非常地簡潔,核心功能的實現(xiàn)都在cJSON.c文件,非常適合閱讀源代碼來學習C語言。最近讀完這個的源
    發(fā)表于 01-29 07:13

    恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)

    管理系統(tǒng)(RDBMS),使用結(jié)構(gòu)化查詢語言(SQL)高效地組織和管理數(shù)據(jù)。它是全球最受歡迎的開源數(shù)據(jù)系統(tǒng)之一,廣泛應(yīng)用于網(wǎng)頁開發(fā)、電子商務(wù)和商業(yè)應(yīng)用。 常見用例? MySQL 是多種應(yīng)用的可靠選擇,包括: 網(wǎng)絡(luò)應(yīng)用:管理用戶認證和存儲網(wǎng)站
    的頭像 發(fā)表于 01-14 14:25 ?185次閱讀

    與標準C的區(qū)別

    因為針對Arm的嵌入式系統(tǒng),通常存儲(代碼)資源相對較小,為了使其能用上標準函數(shù),工程師就針對Arm嵌入式系統(tǒng),對標準C進行了優(yōu)化,以減小代碼量。 優(yōu)化標準,肯定會帶來一些差異,下面分享幾點
    發(fā)表于 12-09 07:49

    E203 代碼結(jié)構(gòu)梳理

    一、隊伍介紹 本篇為蜂鳥E203系列分享第五篇,本篇介紹的內(nèi)容是E203 代碼結(jié)構(gòu)梳理。 二、層次圖 三、模塊具體功能
    發(fā)表于 10-30 06:56

    訂單評價內(nèi)容采集接口技術(shù)解析

    基于常見技術(shù)場景,確保真實性和實用性。 1. 接口概述與核心功能 訂單評價內(nèi)容采集接口主要負責從數(shù)據(jù)中提取指定訂單的評價信息,包括文本評論、評分和用戶元數(shù)據(jù)。其核心功能包括: 數(shù)據(jù)查詢 :通過訂單ID或其他標識符精準定位
    的頭像 發(fā)表于 10-17 15:14 ?424次閱讀
    訂單評價<b class='flag-5'>內(nèi)容</b>采集接口技術(shù)解析

    HTTP開發(fā)必備:核心與httpplus擴展應(yīng)用示例全攻略

    HTTP開發(fā)的必備參考!本文匯總核心基礎(chǔ)操作與httpplus擴展高級特性,通過示例解析,讓你快速上手各類HTTP開發(fā)需求。
    的頭像 發(fā)表于 09-20 15:19 ?3209次閱讀
    HTTP開發(fā)必備:核心<b class='flag-5'>庫</b>與httpplus擴展<b class='flag-5'>庫</b>應(yīng)用示例全攻略

    Aisler 發(fā)布 Lovely Library:一個為 KiCad 打造的高質(zhì)量歐洲元器件

    “ ?看到 Aisler 的推文,覺得挺搞笑的,原來元器件也可以有地域之分;?不過對用戶來說,更多的高質(zhì)量器件一定會讓設(shè)計更高效。好東西還是要分享!? ” ? 以上的內(nèi)容翻譯如下: 我們很高
    的頭像 發(fā)表于 08-04 11:13 ?909次閱讀
    Aisler 發(fā)布 Lovely Library:一個為 KiCad 打造的高質(zhì)量歐洲元器件<b class='flag-5'>庫</b>

    數(shù)據(jù)數(shù)據(jù)恢復—服務(wù)器異常斷電導致Oracle數(shù)據(jù)故障的數(shù)據(jù)恢復案例

    Oracle數(shù)據(jù)故障: 某公司一臺服務(wù)器上部署Oracle數(shù)據(jù)。服務(wù)器意外斷電導致數(shù)據(jù)報錯,報錯內(nèi)容為“system01.dbf需要更多的恢復來保持一致性”。該Oracle數(shù)據(jù)
    的頭像 發(fā)表于 07-24 11:12 ?661次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復—服務(wù)器異常斷電導致Oracle數(shù)據(jù)<b class='flag-5'>庫</b>故障的數(shù)據(jù)恢復案例

    數(shù)據(jù)數(shù)據(jù)恢復—SQL Server數(shù)據(jù)被加密如何恢復數(shù)據(jù)?

    SQL Server數(shù)據(jù)故障: SQL Server數(shù)據(jù)被加密,無法使用。 數(shù)據(jù)MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?693次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復—SQL Server數(shù)據(jù)<b class='flag-5'>庫</b>被加密如何恢復數(shù)據(jù)?

    AD封裝安裝教程

    電子發(fā)燒友網(wǎng)站提供《AD封裝安裝教程.pdf》資料免費下載
    發(fā)表于 06-19 15:35 ?3次下載

    SQLSERVER數(shù)據(jù)是什么

    SQL Server 是由微軟公司開發(fā)的一款 關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS) ,用于存儲、管理和檢索結(jié)構(gòu)化數(shù)據(jù)。它是企業(yè)級應(yīng)用中廣泛使用的數(shù)據(jù)解決方案之一,尤其適用于Windows平臺,但也
    的頭像 發(fā)表于 05-26 09:19 ?1185次閱讀

    MySQL數(shù)據(jù)是什么

    MySQL數(shù)據(jù)是一種 開源的關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)存儲、管理和操作,廣泛應(yīng)用于Web
    的頭像 發(fā)表于 05-23 09:18 ?1238次閱讀

    PCB標準封裝文件

    PCB標準封裝文件
    發(fā)表于 05-22 17:43 ?10次下載

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    《程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)》重點闡述了三大方向內(nèi)容: 1. C語言學習中的痛點:針對當前工程師在C語言學習中的痛點,如指針函數(shù)與函數(shù)指針,如何靈活應(yīng)用結(jié)構(gòu)體等。從變量的三要素(變量的類型,變量的值和變量
    發(fā)表于 05-13 16:45

    AI知識的搭建與應(yīng)用:企業(yè)數(shù)字化轉(zhuǎn)型的關(guān)鍵步驟

    和應(yīng)用數(shù)據(jù),從而為AI應(yīng)用提供源源不斷的支持,幫助企業(yè)實現(xiàn)全面的數(shù)字化轉(zhuǎn)型。 ? AI知識的定義與作用 ? AI知識是一個由結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)組成的資源池,包含了企業(yè)的核心知識、
    的頭像 發(fā)表于 03-27 15:18 ?1342次閱讀