Aquarium华人CEO分享:机器学习在自动驾驶中落地,核心不是模型,是管道

Aquarium华人CEO分享:机器学习在自动驾驶中落地,核心不是模型,是管道
文章图片
作者PeterGao是Aquarium公司的联合创始人和首席执行官(CEO) , Aquarium公司建立了寻找和修复深度学习数据集问题的工具 。 在Aquarium之前 , Peter曾从事自动驾驶汽车、教育和社交媒体的机器学习 , 就职于Cruise等公司 。 本文是他结合数年在工业领域生产实践的经验 , 总结出关于深度学习的心得领会 。 作者|PeterGao编译|刘冰一【Aquarium华人CEO分享:机器学习在自动驾驶中落地,核心不是模型,是管道】编辑|陈彩娴
当我大学毕业后开始第一份工作时 , 我自认为对机器学习了解不少 。 我曾在Pinterest和可汗学院(KhanAcademy)有过两次实习 , 工作内容是建立机器学习系统 。 在伯克利大学的最后一年 , 我展开了计算机视觉深度学习的研究 , 并在Caffe上工作 , 这是最早流行的深度学习库之一 。 毕业后 , 我加入了一家名为“Cruise”的小型创业公司 , Cruise专门生产自动驾驶汽车 。 现在我在Aquarium , 帮助多家公司部署深度学习模型来解决重要的社会问题 。 这些年来 , 我建立了相当酷的深度学习和计算机视觉堆栈 。 与我在伯克利做研究的时候相比 , 现在有更多的人在生产应用程序中使用深度学习 。 现在他们面临的许多问题 , 与我2016年在Cruise所面临的问题是一样的 。 我有很多在生产中进行深度学习的经验教训想与你们分享 , 希望大家可以不必通过艰难的方式来学习它们 。 Aquarium华人CEO分享:机器学习在自动驾驶中落地,核心不是模型,是管道
文章图片
图注:作者团队开发第一个部署在汽车上的机器学习模型1将ML模型部署到自动驾驶车上的故事首先 , 让我谈谈Cruise公司有史以来第一个部署在汽车上的ML模型 。 在我们开发模型的过程中 , 工作流程感觉很像我在研究时期所习惯的那样 。 我们在开源数据上训练开源模型 , 将之集成到公司产品软件堆栈中 , 并部署到汽车上 。 经过几个星期的工作 , 我们合并的最终PR , 在汽车上运行模型 。 “任务完成了!”我心想 , 我们该继续扑灭下一场大火 。 我不知道的是 , 真正的工作才刚刚开始 。 模型投入生产运行 , 我们的QA团队开始注意到它的性能方面的问题 。 但是我们还有其他的模型要建立 , 还有其他任务要做 , 所以我们没有立即去解决这些问题 。 3个月后 , 当我们研究这些问题时 , 我们发现训练和验证脚本已经全部崩溃 , 因为自我们第一次部署以来 , 代码库已经发生了变化 。 经过一个星期的修复 , 我们查看了过去几个月的故障 , 意识到在模型生产运行中观察到的许多问题不能通过修改模型代码轻松解决 , 我们需要去收集和标记来自我们公司车辆的新数据 , 而不是依靠开放源码的数据 。 这意味着我们需要建立一个标签流程 , 包括流程所需要的所有工具、操作和基础设施 。 又过了3个月 , 我们运行了一个新的模型 , 这个模型是根据我们从车上随机选取的数据进行训练的 。 然后 , 用我们自己的工具进行标记 。 但是当我们开始解决简单的问题时 , 我们不得不对哪些变化可能产生结果变得更加敏锐 。 大约90%的问题是通过对艰难或罕见的场景进行仔细的数据整理来解决的 , 而不是通过深度模型架构变更或超参数调整 。 例如 , 我们发现模型在雨天的表现很差(在旧金山很罕见) , 所以我们标记了更多雨天的数据 , 在新的数据上重新训练模型 , 结果模型的表现得到了改善 。 同样 , 我们发现该模型在绿色视锥上的性能较差(与橙色视锥相比较少见) , 因此我们收集了绿色视锥的数据 , 经过了同样的过程 , 模型的性能得到了改善 。 我们需要建立一个可以快速识别和解决这类问题的流程 。 花费数个星期 , 这个模型的1.0版本组装好了 , 又用了6个月 , 新推出一个改进版本模型 。 随着我们在一些方面(更好地标记基础设施、云数据处理、培训基础设施、部署监控)的工作越来越多 , 大约每月到每周都能重新训练和重新部署模型 。 当我们从头开始建立更多的模型管道 , 并努力改善它们 , 我们开始看到一些共同的主题 。 将我们所学到的知识应用到新的管道中 , 更快更省力地运行更好的型号变得容易了 。 2保持迭代学习