Hyperas:用于 Keras 的 hyperopt 的简单包装器,使用简单的模板符号定义要调优的超参数范围。SIGOPT:可扩展的企业级优化平台。Ray-Tune:可扩展的分布式模型选择研究平台(专注于深度学习和深度强化学习)。Sweeps from Weights & Biases:参数并非由开发人员显式指定,而是由机器学习模型来近似和学习的。
2.6. 分布式训练
数据并行性:当迭代时间过长就使用它(TensorFlow 和 PyTorch 均支持)。
模型并行性:当模型不适合单 GPU 的情况下就是用它。
其他解决方案:
Ray
Horovod
3. 故障排除『有待完善』
4. 测试与部署
4.1. 测试与 CI/CD
与传统软件相比,机器学习生产软件需要更多样化的测试套件:
单元测试和集成测试
测试类型:
训练系统测试:测试训练管道。
验证测试:在验证集上测试预测系统。
功能测试。
持续集成:在将每个新代码更改推送到仓库后运行测试。
用于持续集成的 SaaS:
CircleCI、Travis
Jenkins、Buildkite
4.2. 网络部署
(1)由 预测系统 和 服务系统 组成
在考虑规模的情况下为预测服务。
使用 REST API 为预测 HTTP 请求提供服务。
调用预测系统进行响应
预测系统:处理输入数据,进行预测。
服务系统(Web 服务器):
(2)服务选项:
Docker
Kubernetes (现在最流行)
MESOS
Marathon
通过 模型服务 解决方案部署。
将代码部署为“无服务器函数”。
(3)模型服务:
Tensorflow 服务
MXNet Model 服务器
Clipper (Berkeley)
SaaS 解决方案 (Seldon,算法)
专门针对机器学习模型的网络部署。
用于 GPU 推理的批处理请求。
框架:Tensorflow 服务、MXNet Model 服务器、Clipper、SaaS 解决方案 (Seldon,算法)