在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

FedJAX的庫結構和內容

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

掃碼添加小助手

加入工程師交流群

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

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

1. 服務器將模型發送到一組采樣客戶端。

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

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

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

日新月異的領域

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

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

FedJAX

https://github.com/google/fedjax

JAX

https://github.com/google/jax

在這篇文章中,我們將討論 FedJAX 的庫結構和內容。我們會證明,在 TPU 中,FedJAX 可通過 EMNIST 數據集的聯合平均,在幾分鐘內就能訓練完模型。而通過 Stack Overflow 數據集的標準超參數 (Hyperparameter),則需要將近 1 小時。

EMNIST

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

聯合平均

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

庫結構

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

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

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

NumPy

https://numpy.org/

包含的數據集和模型

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

目前,FedJAX 與以下數據集和示例模型一起打包:

EMNIST-62,一項字符識別任務

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

Shakespeare,一項下一字符預測任務

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

Stack Overflow,一項下一字詞預測任務

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

除了以上標準設置,FedJAX 還提供用于創建新數據集和模型的工具,這些新數據集和模型可以與庫的其余內容共同使用。

工具

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

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

自適應聯邦優化器

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

不可知聯合平均

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

性能評估

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

自適應聯合平均

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

聯邦 EMNIST-62 數據集

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

Stack Overflow 數據集

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

我們在專門用于機器學習的各種硬件上測量性能。對于聯邦 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。在下方圖表中,我們記錄了每輪訓練的平均完成時間、完整評估測試數據所需時間以及整體執行時間(整體執行包含訓練和完整評估)。

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

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

微分化的不公開學習

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

結論和未來研究方向

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

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

教程筆記本

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

親自體驗 FedJAX

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

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

責任編輯:haq

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

    關注

    13

    文章

    9753

    瀏覽量

    87582
  • 機器學習
    +關注

    關注

    66

    文章

    8499

    瀏覽量

    134334

原文標題:FedJAX:使用 JAX 進行聯邦學習模擬

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AD封裝安裝教程

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

    SQLSERVER數據是什么

    SQL Server 是由微軟公司開發的一款 關系型數據管理系統(RDBMS) ,用于存儲、管理和檢索結構化數據。它是企業級應用中廣泛使用的數據解決方案之一,尤其適用于Windows平臺,但也
    的頭像 發表于 05-26 09:19 ?358次閱讀

    MySQL數據是什么

    MySQL數據是一種 開源的關系型數據管理系統(RDBMS) ,由瑞典MySQL AB公司開發,后被Oracle公司收購。它通過結構化查詢語言(SQL)進行數據存儲、管理和操作,廣泛應用于Web
    的頭像 發表于 05-23 09:18 ?355次閱讀

    程序設計與數據結構

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

    云數據是哪種數據類型?

    云數據是一種部署在虛擬計算環境中的數據,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據服務。云數據主要分為兩大類:關系型數據
    的頭像 發表于 01-07 10:22 ?477次閱讀

    HAL和標準的區別 HAL與CMSIS的關系

    在嵌入式系統開發中,HAL(硬件抽象層)和標準是兩種常用的軟件,它們在功能和使用場景上有所不同。 1. 標準 標準,通常指的是C語
    的頭像 發表于 12-02 14:02 ?3100次閱讀

    如何快速入門HAL編程 HAL與裸機編程的比較

    。 選擇開發環境和工具 : 下載并安裝適用于目標微控制器的IDE(如STM32CubeIDE)。 配置開發環境,包括編譯器、調試器等。 學習HAL文檔和教程 : 閱讀官方HAL文檔,了解HAL
    的頭像 發表于 12-02 11:39 ?1059次閱讀

    支持外擴sd卡功能的串口數據模塊

    往期文章介紹了LS10串口數據模塊的SQL數據庫存取功能,片內容量測試如下: 容量測試,分享如下: 表格結構(sn int primary key not null,id int,p1 int
    發表于 11-23 09:50

    AIGC與傳統內容生成的區別 AIGC的優勢和挑戰

    、AIGC與傳統內容生成的區別 數據類型與處理 : AIGC主要面向非結構化數據的生成,如自然語言文本、圖像、音頻、視頻等。這類數據規模更大,內在結構更復雜,對處理技術提出了更高要求。 傳統
    的頭像 發表于 11-22 16:04 ?1368次閱讀

    多維表格數據Teable的適用場景?

    Teable多維表格數據是一款功能強大的云端數據和協作工具,結合了電子表格的靈活性和數據的強大功能,適用企業內部項目管理 數據收集與整理 內容管理與創意協作 客戶關系管理 項目跟
    的頭像 發表于 10-31 15:48 ?797次閱讀

    AIGC與傳統內容生成的區別

    AIGC : 主要面向非結構化數據的生成,如自然語言文本、圖像、音頻、視頻等。 這類數據規模更大,內在結構更復雜,對處理技術提出了更高要求。 傳統內容生成 : 主要處理結構化數據,如
    的頭像 發表于 10-25 15:13 ?1186次閱讀

    labview選擇結構和讀寫保存文件

    有一個選擇結構有4個分支,其中一個分支為添加,想要在這個分支結構中向多列表表框中添加內容(已實現)并將這些內容輸出為txt文件然后與原本的txt文件
    發表于 10-22 14:50

    架構師日記-從數據發展歷程到數據結構設計探析

    一 數據發展史 起初,數據的管理方式是文件系統,數據存儲在文件中,數據管理和維護都由程序員完成。后來發展出樹形結構和網狀結構的數據,但都存在著難以擴展和維護的問題。直到七十年代,關
    的頭像 發表于 09-25 11:20 ?1114次閱讀
    架構師日記-從數據<b class='flag-5'>庫</b>發展歷程到數據<b class='flag-5'>結構</b>設計探析

    擺脫自建的繁瑣,EDA元件轉cadence原理圖封裝實戰技巧

    擺脫自建的繁瑣,EDA元件轉cadence原理圖封裝實戰技巧
    的頭像 發表于 08-24 12:29 ?6319次閱讀
    擺脫自建<b class='flag-5'>庫</b>的繁瑣,EDA元件<b class='flag-5'>庫</b>轉cadence原理圖封裝<b class='flag-5'>庫</b>實戰技巧

    數據數據恢復—SqlServer數據底層File Record被截斷為0的數據恢復案例

    SQL Server數據的數據無法被讀取。 經過數據數據恢復工程師的初步檢測,發現SQL Server數據文件無法被讀取的原因是底層File Record被截斷為0,無法找到文件開頭,而且數據表
    的頭像 發表于 07-26 11:27 ?714次閱讀
    數據<b class='flag-5'>庫</b>數據恢復—SqlServer數據<b class='flag-5'>庫</b>底層File Record被截斷為0的數據恢復案例
    主站蜘蛛池模板: 欧美黄色大片免费观看 | 在线资源天堂 | 女人被狂躁视频网站免费 | 日韩欧美卡通动漫在线观看 | 最好看的2019中文字幕免费高清 | 午夜一级毛片看看 | 91精品啪在线观看国产日本 | 2018天天拍拍拍免费视频 | fenfencao在线观看免费视频 | 女69porin18| 热久久综合这里只有精品电影 | 韩国三级理论在线观看视频 | 亚洲男人天堂网址 | 婷婷六月综合网 | 日日日日人人人夜夜夜2017 | 1024免费看片 | 深夜看片在线观看18 | 诱人的老师bd高清日本在线观看 | 国产成人夜间影院在线观看 | 黄色网址中文字幕 | 在线激情网址 | 日韩免费毛片全部不收费 | 午夜片在线 | 99se亚洲综合色区 | 爱爱免费网站 | 久久久久国产精品免费免费不卡 | 欧美一二 | 欧美成人免费午夜全 | 大又大又粗又爽又黄毛片女人 | 一级视频在线免费观看 | 免费艹逼视频 | 高清影院在线欧美人色 | 亚洲插 | 婷婷丁香在线 | 日日碰狠狠添天天爽五月婷 | 337p亚洲精品色噜噜狠狠 | 日本三级全黄三级a | 狠狠干狠狠操视频 | 性欧美黑人 | 亚洲香蕉国产高清在线播放 | 青草青青视频 |