AWS让RoboMaker用户使用Kubeflow来加速机器人开发

AWS现在让云计算机器人服务AWS RoboMaker用户,以Kubeflow来调度机器人机器学习工作流程,通过新发布的Amazon SageMaker增强学习(RL)Kubeflow组件,用户可创建Kubeflow工作管线,更快地进行实验和管理机器人机器学习工作流程,且不需要每次为新任务重新构建端到端解决方案。Kubeflow让用户在Kubernetes上,简单地部署机器学习工作流程,并且达到可移植且可扩展的目的。

机器人领域需要集成多种技术,包括识别、传感、机器学习和增强学习等,才能完成包括组装、包装、传送、环境监测、救援和辅助手术等任务。增强学习是一种新兴技术,让机器人不需要复杂的训练资料,就能学习复杂的行为,并且在对长期目标进行优化的同时,也能良好地做出短期决策。

在AWS中有两个相关的服务,分别是SageMaker和AWS RoboMaker,分别提供不同角色使用,SageMaker供资料科学家使用,而AWS RoboMaker的用户则锁定机器人专家。SageMaker是一个全托管的服务,可以让用户快速构建、训练和部署机器学习模型,SageMaker RL则是创建在SageMaker基础上,提供好用的增强学习工具,能够简单地集成到任何模拟环境,而AWS RoboMaker是一个完整的云计算解决方案,可让开发人员大规模地模拟、测试和部署机器人应用程序。

要集成Amazon SageMaker和AWS RoboMaker,在机器人开发中结合机器学习工作流程并不容易,为了解决这个问题,AWS现在推出适用于Kubernetes的Amazon SageMaker RL组件,用户可以在Kubeflow工作管线中使用SageMaker RL组件,来启动平行化SageMaker训练和AWS RoboMaker模拟工作。

在Kubeflow工作管线中的SageMaker组件,可以简单地加载组件,并且使用Kubeflow工作管线SDK描述工作管线,接着SageMaker RL就会开始训练增强学习代理,而当训练完成,增强学习代理模型会被存储在Amazon S3存储桶中,用户就可以将模型下载到机器人中,并开始执行任务。

在典型的Kubeflow工作管线中,每个组件都会将用户逻辑封装在容器镜像文件中,因此用户可以将程序代码放进自定义容器镜像文件中,并将其推送到容器注册表中,当工作管线执行时,会在Kubeflow的Kubernetes集群节点上实例化组件容器,便能执行用户撰写的逻辑。

但是当用户在Kubeflow工作管线中使用SageMaker组件,而不是将逻辑封装在自定义容器中,用户只需要使用Kubeflow工作管线SDK加载组件,并且描述工作管线,在工作管线执行时,用户的指令会被转换成SageMaker工作或部署,这些工作会在SageMaker的全托管基础设施上执行,因此用户可以获得完整的SageMaker好处,包括使用竞价型训练服务和端点自动扩展等。

用户可以分开调度和模拟用的VPC,因为RL Estimator、AWS RoboMaker以及Kubeflow工作管线组件之间,不需要直接通信,这些组件会和AWS RoboMaker和SageMaker API交互,但不与工作本身交互。