作者:禅与计算机程序设计艺术
1.简介
随着人工智能技术的飞速发展,深度学习模型的训练数据越来越多、模型的复杂度也越来越高。例如,当年谷歌提出的“深度学习”,实际上就是一个极其庞大的网络。近几年,国内的各大互联网公司也在加紧研究这个方向。由于模型训练的数据量越来越大、计算资源越来越强,如何有效地处理海量数据的并行计算也是目前科研工作的重点。分布式模型存储技术是一种有效应对海量数据的并行计算方案。本文就分布式模型存储技术进行详细阐述,并基于Tensorflow框架给出例子实践。
2.基本概念及术语
模型文件划分
模型文件划分指的是将一个完整的机器学习或深度学习模型,划分成多个较小的文件,分别存储到不同的机器节点上。这样做的好处是可以充分利用集群资源,提升模型的加载速度,降低模型的存储压力。
模型文件一般包括两类文件:
参数文件:用于存储模型的参数值。可以是模型参数(权重值)、偏置项等;
向量化文件:用于存储模型的输入特征数据,以及对输入特征进行处理后的输出值。一般来说,向量化文件比参数文件更小,因此可以实现快速加载。
异步加载技术
异步加载技术指的是模型的加载过程不阻塞其他任务的执行,从而提升模型的加载速度。异步加载技术主要分为以下两种:
延迟加载:即等待用户真正需要用到模型时才加载模型。比如,用户第一次请求模型预测结果时,系统先把模型加载进内存,再进行预测;
懒加载:即后台运行的进程只负责加载
来源地址:https://blog.csdn.net/universsky2015/article/details/132899533