机器学习模型越来越大,开发者应该如何部署?
作者头像
  • 在前线
  • 2020-03-02 21:42:46 3

引言

机器学习的发展引发了人们的乐观与悲观情绪。悲观者认为机器学习能够替代人类完成几乎所有任务,如驾驶车辆、接听电话、预订会议和回复邮件等。然而,现实是机器学习主要应用于特定领域,如视频推荐、商品推荐及时间预测等。尽管如此,OpenAI推出的GPT-2缩小了这种差距,使得模型更加通用。

超级模型的崛起

OpenAI的GPT-2是通用语言模型的一个里程碑。相较于ELMo,GPT-2的参数数量达到了15亿,是前者的10倍。随后,各大公司纷纷推出更大规模的模型,例如Salesforce的CTRL(16亿参数)、NVIDIA的Megatron(80亿参数)和谷歌的Meena(26亿参数)。这些模型不仅在自然语言处理领域取得了突破,也在计算机视觉领域展现了潜力,例如谷歌的NASNet(8890万参数)。

部署难题

随着模型规模的增加,部署到生产环境变得越来越困难。以GPT-2为例,它的大小超过5GB,需要大量的计算能力和内存。这意味着无法将其直接嵌入到应用程序中,尤其是移动应用。此外,GPT-2的单次预测需要占用CPU资源数分钟,即使使用GPU,也需要几秒钟的时间。因此,GPT-2是一个资源密集型且运行缓慢的系统,部署和扩展都面临挑战。

解决方案

1. 模型压缩

面对庞大的模型,一种有效的解决方案是通过“知识蒸馏”技术进行压缩。HuggingFace公司已经成功地创建了DistilGPT2,这个模型比原版GPT-2小33%,速度却快了一倍。这不仅提升了效率,还降低了硬件需求。

2. 云端部署

即使进行了模型压缩,仍然存在较大的模型。将模型部署到云端是一种常见的解决办法,这样设备可以根据需求进行查询。这种方法被称为“实时推理”,适用于大规模模型的部署。例如,AI Dungeon游戏就是通过这种方式部署的。不过,这需要具备一定的DevOps知识,以确保部署的稳定性和性能。开源项目如Cortex已经在这方面取得了一些进展,简化了模型部署流程。

3. 硬件加速

另一个重要的方向是硬件加速。更好的硬件可以显著提升模型的性能。例如,谷歌的TPU和NVIDIA的TensorRT等硬件加速工具,都能显著提高模型的运行速度和效率。

结论

尽管机器学习领域充满挑战,但随着技术的进步和基础设施的完善,这些问题有望逐步得到解决。未来,大型模型将在各种应用场景中发挥重要作用,推动行业的发展。

作者简介

Caleb Kaiser,Cortex Lab创始团队成员,曾在AngelList工作,后加入Cadillac。

关注与分享

关注我并分享此篇文章,私信我“支付材料”,即可免费获得InfoQ价值4999元迷你书!

    本文来源:图灵汇
责任编辑: : 在前线
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
开发者部署模型越来越机器应该如何学习
    下一篇