【智能家居科技】谁能取代Python?我使用Go来部署机器学习模型的原因( 二 )


此外 , 在Goroutines中使用计时器和代码来运行Cortex的自动缩放器 。 笔者已经撰写了一份完整的报告 , 关于如何在Cortex中实现副本级自动缩放 , 更简略的版本是Cortex计算排队和进行中的请求数 , 计算每个副本应处理的并发请求数 , 并适当地扩展 。
为此 , Cortex的监视功能需要以一致的间隔执行 。 Go的调度程序可确保其按预期进行监视 , 而Goroutines允许每个监视功能并行独立地执行每个API 。
在Python中实现所有这些功能可以使用asyncio之类的工具 。 但是 , Go让事情变得简单 , 这对我们来说非常有益 。
【智能家居科技】谁能取代Python?我使用Go来部署机器学习模型的原因
文章图片
4.Go有助于建立可靠的基础架构
最后一点 , Go可以帮助实现Cortex最重要的功能:可靠性 。
可靠性在所有软件中都非常重要 , 但是对于推理基础架构来说绝对至关重要 。 Cortex中的漏洞可能会严重影响推理程序 。
【智能家居科技】谁能取代Python?我使用Go来部署机器学习模型的原因
文章图片
图源:unsplash
虽然我们对每个发行版都进行了全面的测试 , 但是Go的静态类型和编译步骤可以初步防止漏洞 。 如果存在严重的漏洞 , 则很有可能在编译期间被捕获 。 对于一个小团队来说非常有帮助 。
Go对于漏洞零容忍的特性可能使它比Python更难入门 , 但是这些内部防护栏是第一道防线 , 它们有助于避免愚蠢的错误 。
【智能家居科技】谁能取代Python?我使用Go来部署机器学习模型的原因
文章图片
使用Python编写脚本 , 使用Go进行基础架构
Python对我们来说仍然是很重要的 , 它在Cortex中占有一席之地 , 尤其是在模型推断方面 。
Cortex支持将Python用于模型服务脚本 。 我们编写的Python将模型加载到内存中 , 进行推理前/后处理 , 并处理请求 。 但是 , 即使是Python代码也被打包到了Docker容器中 , 这些容器由Go编写的代码进行编排 。
【智能家居科技】谁能取代Python?我使用Go来部署机器学习模型的原因
文章图片
图源:unsplash
Python仍然是数据科学和机器学习工程中最受欢迎的语言 。 但在机器学习基础架构方面 , Go是更好的选择 。 事实上 , 除了Python之外 , 还有更多工具可以生产机器学习系统 , 等待我们去发现和尝试 。
【智能家居科技】谁能取代Python?我使用Go来部署机器学习模型的原因
文章图片
留言点赞关注
我们一起分享AI学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范