机器学习平台提供【资源组】用于购买和管理资源,用户(通常是运维工程师或者负责资源购买及管理的人员)可以通过 包年包月 的方式以高性价比批量购买资源(如:10 台 Tesla-A100 的服务器),并将这部分资源池化为若干个队列。在不同的队列中处理不同业务的工作负载,在资源组到期之前用户可随时使用这部分资源,不会收取额外费用。
队列定义了用户能使用的资源(CPU、内存、GPU 等)配额,用户使用队列的配额创建工作负载。
机器学习平台上计算资源的基本单位。一个实例包含了一定数量的 CPU、内存以及 GPU,可以类比于一台虚拟机。训练任务或者在线服务都需要运行在某个实例之上,而实例将消耗某个队列的资源总量,不同的实例消耗的资源量不同,详见实例规格及定价。
训练和部署模型除了需要硬件计算资源外,还需要 Docker 镜像 作为运行环境,该环境中封装了程序运行所需的软件依赖项。机器学习平台的【镜像仓库】为用户提供了大量的预置镜像,当预置镜像无法满足需求时,用户可以选择将自己的镜像迁移到机器学习平台,或者在机器学习平台中构建自定义镜像,详细操作步骤可参考构建自定义镜像。
【开发机】是机器学习平台为开发者提供的在线编译、调试代码和模型开发的模块。开发机支持使用 WebIDE 在线开发,或通过 SSH 连接开发机远程开发,也提供了持久化的云盘存储服务和共享文件系统用于存储开发中的数据。开发机关机释放算力的同时还会保留用户之前的操作、下载的数据和配置环境,待用户下次开机后继续使用。具体的使用方法详见创建开发机。
机器学习平台的【自定义训练】模块为用户提供了灵活易用的机器学习训练环境。预置了 TensorFlowPS、PyTorchDDP、BytePS、MPI 多种分布式训练框架,用户无需关心底层机器调度和运维,上传代码和填写适量的参数即可快速发起分布式训练任务。
机器学习平台支持用户导入模型到【模型管理】模块进行托管。在机器学习项目的整个生命周期中用户产出的大量模型都能在【模型管理】中被方便地查看,用户通过模型的基本信息、评估指标,进而选出最佳的模型用于线上业务。
用户训练完模型之后需要部署成线上服务才能用于解决实际业务。机器学习平台的【在线服务】模块实现了模型的快速部署并提供完备的监控及日志。用户不仅能充分掌握服务的健康状况,还能通过日志、WebShell 等功能对问题进行详细深入的排查。
除了通过控制台页面之外,机器学习平台还封装了 命令行工具以及 OpenAPI,便于开发者在脱离控制台的情况下也能完成机器学习业务或者将机器学习平台的功能集成到下游的业务系统中。