0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Google开源了一款名为TensorFlow Federated的框架

电子工程师 来源:lp 2019-03-11 09:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

【导语】据了解,全球有 30 亿台智能手机和 70 亿台边缘设备。每天,这些电话与设备之间的交互不断产生新的数据。传统的数据分析和机器学习模式,都需要在处理数据之前集中收集数据至服务器,然后进行机器学习训练并得到模型参数,最终获得更好的产品。

但如果这些需要聚合的数据敏感且昂贵的话,那么这种中心化的数据收集手段可能就不太适用了。

去掉这一步骤,直接在生成数据的边缘设备上进行数据分析和机器学习训练呢?

近日,Google 开源了一款名为 TensorFlow Federated (TFF)的框架,可用于去中心化(decentralized)数据的机器学习及运算实验。它实现了一种称为联邦学习(Federated Learning,FL)的方法,将为开发者提供分布式机器学习,以便在没有数据离开设备的情况下,便可在多种设备上训练共享的 ML 模型。其中,通过加密方式提供多一层的隐私保护,并且设备上模型训练的权重与用于连续学习的中心模型共享。

传送门:https://www.tensorflow.org/federated/

实际上,早在 2017 年 4 月,Google AI 团队就推出了联邦学习的概念。这种被称为联邦学习的框架目前已应用在 Google 内部用于训练神经网络模型,例如智能手机中虚拟键盘的下一词预测和音乐识别搜索功能。

图注:每台手机都在本地训练模型(A);将用户更新信息聚合(B);然后形成改进的共享模型(C)。

DeepMind 研究员Andrew Trask 随后发推称赞:“Google 已经开源了Federated Learning……可在数以百万计的智能手机上共享模型训练!”

让我们一起来看看使用教程:

从一个著名的图像数据集 MNIST 开始。MNIST 的原始数据集为 NIST,其中包含 81 万张手写的数字,由 3600 个志愿者提供,目标是建立一个识别数字的 ML 模型。

传统手段是立即将 ML 算法应用于整个数据集。但实际上,如果数据提供者不愿意将原始数据上传到中央服务器,就无法将所有数据聚合在一起。

TFF 的优势就在于,可以先选择一个 ML 模型架构,然后输入数据进行训练,同时保持每个数据提供者的数据是独立且保存在本地。

下面显示的是通过调用 TFF 的 FL API,使用已由 GitHub 上的“Leaf”项目处理的 NIST 数据集版本来分隔每个数据提供者所写的数字:

GitHub 传送链接:https://github.com/TalwalkarLab/leaf

#Loadsimulationdata.source,_=tff.simulation.datasets.emnist.load_data()defclient_data(n):dataset=source.create_tf_dataset_for_client(source.client_ids[n])returnmnist.keras_dataset_from_emnist(dataset).repeat(10).batch(20)#WrapaKerasmodelforusewithTFF.defmodel_fn():returntff.learning.from_compiled_keras_model(mnist.create_simple_keras_model(),sample_batch)#Simulateafewroundsoftrainingwiththeselectedclientdevices.trainer=tff.learning.build_federated_averaging_process(model_fn)state=trainer.initialize()for_inrange(5):state,metrics=trainer.next(state,train_data)print(metrics.loss)

除了可调用 FL API 外,TFF 还带有一组较低级的原语(primitive),称之为 Federated Core (FC) API。这个 API 支持在去中心化的数据集上表达各种计算。

使用 FL 进行机器学习模型训练仅是第一步;其次,我们还需要对这些数据进行评估,这时就需要 FC API 了。

假设我们有一系列传感器可用于捕获温度读数,并希望无需上传数据便可计算除这些传感器上的平均温度。调用 FC 的 API,就可以表达一种新的数据类型,例如指出 tf.float32,该数据位于分布式的客户端上。

READINGS_TYPE=tff.FederatedType(tf.float32,tff.CLIENTS)

然后在该类型的数据上定义联邦平均数。

@tff.federated_computation(READINGS_TYPE)defget_average_temperature(sensor_readings):returntff.federated_average(sensor_readings)

之后,TFF 就可以在去中心化的数据环境中运行。从开发者的角度来讲,FL 算法可以看做是一个普通的函数,它恰好具有驻留在不同位置(分别在各个客户端和协调服务中的)输入和输出。

例如,使用了 TFF 之后,联邦平均算法的一种变体:

参考链接:https://arxiv.org/abs/1602.05629

@tff.federated_computation(tff.FederatedType(DATASET_TYPE,tff.CLIENTS),tff.FederatedType(MODEL_TYPE,tff.SERVER,all_equal=True),tff.FederatedType(tf.float32,tff.SERVER,all_equal=True))deffederated_train(client_data,server_model,learning_rate):returntff.federated_average(tff.federated_map(local_train,[client_data,tff.federated_broadcast(server_model),tff.federated_broadcast(learning_rate)]))

目前已开放教程,可以先在模型上试验现有的 FL 算法,也可以为 TFF 库提供新的联邦数据集和模型,还可以添加新的 FL 算法实现,或者扩展现有 FL 算法的新功能。

据了解,在 FL 推出之前,Google 还推出了 TensorFlow Privacy,一个机器学习框架库,旨在让开发者更容易训练具有强大隐私保障的 AI 模型。目前二者可以集成,在差异性保护用户隐私的基础上,还能通过联邦学习(FL)技术快速训练模型。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Google
    +关注

    关注

    5

    文章

    1801

    浏览量

    60262
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136230
  • 数据集
    +关注

    关注

    4

    文章

    1230

    浏览量

    26044

原文标题:让数百万台手机训练同一个模型?Google把这套框架开源了

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能AI必备的5开源软件推荐!

    开发领域里几乎“人手必备”的软件——它们不仅让学习更轻松,也让产品更快落地。 TensorFlow:深度学习界的“老将” 提起智能算法的训练框架TensorFlow 几乎是绕不开
    的头像 发表于 11-19 15:35 136次阅读
    人工智能AI必备的5<b class='flag-5'>款</b><b class='flag-5'>开源</b>软件推荐!

    开源鸿蒙技术大会2025丨开源鸿蒙应用开发再提速,跨平台框架PMC(筹)正式启动孵化

    9月27日,开源鸿蒙技术大会2025在长沙国际会议中心盛大举办。大会现场,开源鸿蒙跨平台框架PMC(筹)正式启动孵化,标志着开源鸿蒙在应用开发基础设施建设层面迎来重大里程碑,也为整个行
    的头像 发表于 11-10 18:15 1085次阅读
    <b class='flag-5'>开源</b>鸿蒙技术大会2025丨<b class='flag-5'>开源</b>鸿蒙应用开发再提速,跨平台<b class='flag-5'>框架</b>PMC(筹)正式启动孵化

    NVIDIA助力新代机器人开发开源框架

    今年的 ROSCon 在新加坡举办,并于 10 月 29 日顺利闭幕。大会吸引全球机器人操作系统(ROS)领域开发者的关注。ROS 是目前全球应用最广泛的机器人开发开源框架
    的头像 发表于 11-06 11:55 630次阅读

    灵动微电子最新最火热的一款芯片推荐

    希望找一款灵动微电子最新最火热的一款芯片,我们想做个图形化的界面配置,供大家以后直接创建工程,用国产工具McuStudio做,McuStudio支持任何内核任何厂家的芯片,希望大家有推荐的型号可以发给我
    发表于 10-29 17:15

    Made with KiCad(138):AnyShake Explorer一款开源、专业级的地震监测系统

    “  AnyShake Explorer 是一款开源、专业级的地震监测系统。在个“黑箱”、价格高昂的系统已成常态的领域,Explorer 改变了这切。 ”   Made with
    的头像 发表于 08-11 11:19 1725次阅读
    Made with KiCad(138):AnyShake Explorer<b class='flag-5'>一款</b><b class='flag-5'>开源</b>、专业级的地震监测系统

    TuyaOpen开源框架+地瓜RDK X5开发板=激光雷达避障、人体追踪的智能小车

    OriginBot是一款智能机器人开源套件,搭载地瓜RDKX5开发板,通过完全开源的TuyaOpen开发框架(点击查看TuyaOpen能开发哪些AI硬件?),能够实现激光雷达避障、智能
    的头像 发表于 06-26 18:35 1269次阅读
    TuyaOpen<b class='flag-5'>开源</b><b class='flag-5'>框架</b>+地瓜RDK X5开发板=激光雷达避障、人体追踪的智能小车

    ENNOID-BMS#基于 STM32一款开源的可配置电池管理系统

    ENNOID-BMS ENNOID-BMS 是一款开源的可配置电池管理系统,由个基于 STM32 微控制器的母板通过 ISOSPI 接口连接多个模块化从板组成。ENNOID-BMS能够监控对任何
    的头像 发表于 06-06 17:55 1203次阅读
    ENNOID-BMS#基于 STM32<b class='flag-5'>一款</b><b class='flag-5'>开源</b>的可配置电池管理系统

    开源分享】Made with KiCad(128):CANBoard V2 开源一款支持CAN的简单IO板

    CANBoard 是一款支持 CAN 的简单 IO 板,专门设计用于方向盘/按钮盒/面板等设备。 Made with KiCad 系列将支持新的展示方式:点击查看 即可动态查看设计的原理图
    发表于 06-03 14:17

    Made with KiCad(128):CANBoard V2 开源一款支持CAN的简单IO板

    “  CANBoard 是一款支持 CAN 的简单 IO 板,专门设计用于方向盘/按钮盒/面板等设备。 ” Made with KiCad 系列将支持新的展示方式。直接将以下链接复制到浏览器中(或
    的头像 发表于 05-27 17:37 1105次阅读
    Made with KiCad(128):CANBoard V2 <b class='flag-5'>开源</b><b class='flag-5'>一款</b>支持CAN的简单IO板

    KaihongOS笔记本电脑开发实战第九节:全功能TypeC驱动框架适配

    连接、全智能时代搭建个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。 KaihongOS: 深开鸿基于开源鸿蒙打造的国产化操作系统,是一款面向全场景分布式的智能终端操
    发表于 05-19 18:29

    AlphaEvolve:一款基于Gemini的编程Agent,用于设计高级算法

    构思创新理念。如今,Google步扩展这些能力,将其应用于解决数学基础领域和现代计算中高度复杂的难题。 AlphaEvolve 是一款由大语言模型驱动的进化式编程代理,致力于通用算法的发现与优化。该平台将 Gemini 模
    的头像 发表于 05-19 11:19 1465次阅读
    AlphaEvolve:<b class='flag-5'>一款</b>基于Gemini的编程Agent,用于设计高级算法

    如何开发一款Google Find My Tag?

    My 网络的配件(如 AirTag)。通过结合 GPS、蓝牙和众包网络,Find My 提供高精度的定位功能,同时保护用户隐私 Google Find My网络同样也是由数亿台运行较新版本
    发表于 03-05 17:39

    经久不衰的数据可视化工具!

    不够友好。 2.云端数据可视化工具 · Google Data Studio:作为一款免费的云端数据可视化工具,Google Data Studio 允许用户将各种数据源(如Goog
    发表于 01-19 15:24

    一款Cursor开源替代工具之Roo-Cline

    本文将介绍一款 Cursor 的开源替代工具。 Roo-Cline 是个在 IDE 中运行的自主编码 Agent,属于 Cline 的分支,针对速度和灵活性进行了优化,主要特点如下: 命令、写入
    的头像 发表于 01-09 10:27 5945次阅读
    <b class='flag-5'>一款</b>Cursor<b class='flag-5'>开源</b>替代工具之Roo-Cline

    用于SLAM中点云地图综合评估的开源框架

    在SLAM中评估大规模的点云地图仍颇具挑战,主要原因在于缺乏统、稳健且高效的评估框架。本文提出了MapEval,这是个用于点云地图综合评估的开源
    的头像 发表于 12-13 11:18 1398次阅读
    用于SLAM中点云地图综合评估的<b class='flag-5'>开源</b><b class='flag-5'>框架</b>