假设有人使用大量数据和GPU创建并保存了一个Tensorflow模型。如果现在想要用这个保存的模型对一小块数据进行单次预测,是否仍然需要当初创建模型时使用的巨大计算资源呢?
更一般地说,我在思考生成深度学习模型所需的规模和计算资源与使用该模型进行预测之间的关系。
这个问题很重要,因为如果使用Google云计算,使用大型计算机的成本会更高。如果可以用大型计算机训练模型,然后用较小的计算机运行预测应用,就能节省很多钱。
回答:
预测所需的资源取决于模型的大小,而非训练设备。
如果模型有2000亿个变量,你将无法在工作站上运行它(因为内存不够)。
但是,即使模型是在GPU或TPU上训练的,你也可以毫无问题地使用只有1000万个变量的模型。
每个变量占用4到8字节。如果你有8GB的内存,你可能会运行一个拥有数亿变量的模型。
预测是快速的(假设你有足够的内存)。训练模型所需的资源增长很快。即使你的模型较小,在GPU/TPU上训练也是高效的。