在本设计测试中,我们使用 BERT-Large 无大小写(全词掩码)预训练模型作为模型检查点。该模型包含 3.4 亿个参数。我们使用斯坦福问答数据集 (SQuAD) v1.1 数据集进行微调分析。用例要求按照英特尔架构 Model Zoo 在线存储库文档 中所述执行。为了展示使用可扩展端到端企业 AI 堆栈解决方案进行 BERT-Large 微调的性能和可扩展性,我们使用了潜在的英特尔优化,例如针对 oneDNN 优化的 TensorFlow 和用于分布式训练的 Horovod。Horovod 与英特尔® MPI 库 一起部署,进一步利用了英特尔在 MPI 层的优化。我们使用容器映像和一组 MPIJob 规范文件在 Kubeflow 的训练运算符上运行 BERT-Large 工作负载。
Kubeflow 是一个开源项目,致力于在 Kubernetes 集群之上提供易于使用的机器学习 (ML) 资源。有了 Canonical MAAS 和 Juju,设置 Kubernetes/Kubeflow 环境就变得相对简单。Juju 控制器可以根据支持的基础架构轻松地在单节点和多节点集群上部署 Kubernetes 集群。Kubeflow 简化了 TensorFlow 的安装,并且通过添加包含适当加速器 (Intel MKL) 的 Supermicro 系统,它可以为提交的 ML 作业提供加速性能。最后,Prometheus 用于事件监控和警报
在集群上运行 DNN 作业:容器、资源分配、调度论文和系统:KubeFlow、OpenPAI、Gandiva、HiveD