HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

为什么大型机器学习模型必须缩小 ?

  • 2021-05-12
  • 本文字数:1387 字

    阅读完需:约 5 分钟

为什么大型机器学习模型必须缩小 ?

更大的规模不一定更适合机器学习。但是,随着研究人员相互竞争追求最先进的基准,深度学习模型和训练它们的数据集不断扩展。不管它们如何突破,更大的模型都会对预算和环境产生严重的影响。


比如 GPT-3,一个在去年夏天推出的大受欢迎的自然语言处理模型,据说花了1200 万美元用于训练。更有甚者,马萨诸塞大学阿默斯特分校(UMass Amherst)的研究人员发现,训练大型人工智能模型所需的计算能力能够产生 60 多万磅的二氧化碳排放——是普通汽车寿命周期排放量的 5 倍。


目前,没有迹象表明,以机器学习行业的发展速度,计算密集型工作将会放缓。OpenAI 的研究显示,深度学习模型的计算能力在 2012 到 2018 年间增长了惊人的 30 万倍,超过了摩尔定律。这个问题不仅仅是训练这些算法,而是要在生产环境下运行它们,或者说在推理阶段。对很多团队而言,由于纯粹的成本和资源的限制,深度学习模型的实际应用仍然遥不可及。


幸好,研究人员发现了一些新的方法来缩小深度学习模型,并通过更智能的算法来优化训练数据集,使得模型在生产环境下运行得更快,计算量也更少。就连业界的一个峰会也专门讨论低功耗、微型机器学习。剪枝(Purning)、优化(Quantization)和迁移学习(Transfer Learning)就是三种具体的技术。这些技术可以让那些无法投资数百万美元把模型转换成生产环境的组织实现机器学习的民主化。对“边缘”用例来说,这一点尤为重要,因为大型专用人工智能硬件在物理上并不切实际。


第一种技术,即剪枝,是近几年来研究的热点之一。包含“深度压缩”(Deep Compression)和“彩票假说”(Lottery Ticket Hypothesis)在内的高引用文献表明,可以在不损失正确性的情况下消除神经网络中“神经元”之间一些不必要的连接,有效地使模型更小、更容易在资源有限的设备上运行。最新的论文进一步验证并完善了早期的技术,以开发出更小的模型,使其达到更高的速度和正确度。对某些模型,比如ResNet,可以在不影响正确性的情况下剪枝 90% 左右。


第二种技术,即优化,也正在逐步普及。优化涉及许多不同的技术,它们可以将大的输入值转换为小的输出值。换句话来说,在硬件上运行神经网络可以产生上百万次乘和加运算。减少这些数学运算的复杂性有助于减少内存需求和计算成本,这将大大提高性能。


最后,虽然这不是一种缩小模型的技术,但是迁移学习能够在有限的数据中帮助训练一个新模型。迁移学习以预训练模型作为起点。通过有限的数据集,模型的知识可以“迁移”到一个新的任务中,而无需从头再来训练原始模型。在训练模型时,这是一种减少计算能力、能源和资金的重要方法。


最重要的启示是,模型可以(也应该)尽可能地优化,使其在较少的计算量下运行。在不牺牲性能和正确性的情况下,寻找减小模型大小和相关计算能力的方法将是机器学习的下一大突破。


如果能有更多人在生产环境中低成本地使用深度学习模型,我们就能真正看到现实世界中创新的新应用。这些应用可以在任何地方运行,甚至是在最小的设备上,以达到做出即使决定所需的速度和正确性。或许,小型模型最好的效果是整个行业能够减少其环境硬件,而不是每六年增加 30 万倍。


作者介绍:


Sasa Zelenovic,Neural Magiic 团队成员,帮助数据科学家发现开源、廉价的硬件加速器替代品,以实现深度学习性能。


原文链接:


https://www.datasciencecentral.com/profiles/blogs/honey-i-shrunk-the-model-why-big-machine-learning-models-must-go

2021-05-12 10:001435
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 532.9 次阅读, 收获喜欢 1976 次。

关注

评论

发布
暂无评论
发现更多内容

编辑FAQ常用问题网页的Tips

Baklib

接口测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock

霍格沃兹测试开发学社

接口测试实战| GET/POST 请求区别详解

霍格沃兹测试开发学社

EMQ亮相服贸会:夯实IoT数字底座,加速迈向工业4.0时代

EMQ映云科技

物联网 IoT 工业4.0 服贸会 9月月更

Groq:从头设计一个张量流式处理器架构

OneFlow

人工智能 深度学习 处理器

接口测试该怎么做?持证上岗的Charles,可以帮你做什么?

霍格沃兹测试开发学社

SpringFramework初识

十八岁讨厌编程

spring 后端 9月月更

走向云原生数据库,告别 Microsoft SQL Server,迎接 Babelfish

亚马逊云科技 (Amazon Web Services)

数据库 云原生

DolphinScheduler&RocketMQ 联合 Meetup 即将重磅开启,集中展示任务调度与消息队列能力!

阿里巴巴云原生

阿里云 RocketMQ 云原生 DolphinScheduler

测试需求平台4-Flask实现API服务入门实战

MegaQi

测试平台开发教程 9月月更

系统设计 - 高可用思想简介

三叶草

高可用 SLA 高可用设计

做好产品手册,发现优质顾客

Baklib

【JS】DOM键盘事件--div元素-设置键盘事件--失效的额外处理踩坑

Sam9029

JavaScript DOM 9月月更 键盘事件

快速安全的将 Azure SQL 迁移到云原生数据库 Amazon Aurora

亚马逊云科技 (Amazon Web Services)

数据库 云原生

跟着卷卷龙一起学Camera--AE

卷卷龙

ISP 9月月更

关于CMDB建设思路的一点思考

穿过生命散发芬芳

CMDB 9月月更

ChatOps新型运维协作介绍

阿泽🧸

ChatOps 9月月更

接口测试框架实战 | 流程封装与基于加密接口的测试用例设计

霍格沃兹测试开发学社

接口测试框架实战(一) | Requests 与接口请求构造

霍格沃兹测试开发学社

接口测试框架实战(二)| 接口请求断言

霍格沃兹测试开发学社

万字长文!教你如何拆解一款 App

产品海豚湾

产品经理 产品设计 竞品分析 B端产品 9月月更

接口测试项目实战与经典面试题解析,挑战 BAT 大厂必会!

霍格沃兹测试开发学社

数字化转型-数据资产管理

小鲸数据

数据资产 数字化 数据价值 数据管理 数据资产管理

做好企业的内部知识管理的方法

Baklib

[MyBatisPlus]标准数据层开发(CRUD、分页)

十八岁讨厌编程

Java 后端开发 9月月更

亮点抢先看|StarRocks Summit Asia 2022 全议程公布!

StarRocks

数据库

挑战30天学完Python:Day2 夯实基础-变量和内置函数

MegaQi

9月月更 挑战30天学完Python

Java进阶(十七)ArrayList与LinkedList的区别

No Silver Bullet

Java ArrayList linkedlist 9月月更

接口管理工具YApi怎么用?颜值高、易管理、超好用

霍格沃兹测试开发学社

【从零开始学爬虫】采集谷歌网页列表数据

前嗅大数据

大数据 数据采集 爬虫软件 爬虫教程 互联网+

[SpringBoot系列]基础过渡与夯实(基础配置)

十八岁讨厌编程

Java 后端开发 9月月更

为什么大型机器学习模型必须缩小 ?_AI&大模型_Sasa Zelenovic_InfoQ精选文章