17、神经网络的性能以及那些框架存在的意义

前几节,我们介绍了推理和训练的大致过程,以及训练过程中要用损失函数来作为评判预测值和真实值差距的标准。

在很多时候,一个神经网络从开始训练到训练完成是要经过很长的时间的,这是因为模型需要不断的校正自己学习到的参数,直到最终loss值降为0。

如果一轮迭代训练耗时增加一分钟,那么1万轮迭代可能会增加更多的时间,而实际上很多大型的模型训练迭代次数可能要远高于这个轮次。

所以说一个模型的性能在训练过程中会显得很重要。

有一个故事,据说 OpenAI 在训练初代GPT的时候,专门派了几个工程师在电脑旁值守。

因为当时的GPU性能并没有那么好,导致训练时间被拉的很长,再加上 GPT 模型参数量巨大,因此如果训练过程出了任何一个问题,导致程序崩溃,需要从头再来的话,花费的代价是很大的。

而雇佣几个工程师在电脑旁值守,一旦发现问题就及时保存当时学习到的参数,然后下一次训练时可以从这个保存点继续往后训练,可以大大节省训练成本。

神经网络运行的性能不光对训练重要,对推理过程也是一样。

一个常用的场景是,如果我们用GPT来对话,我们输入一句话,GPT 返回给我们一句话,这个过程就是一次推理。

如果这个过程耗时很长,用户体验就会很差,我们很可能就不会等待,也就不会再使用这个模型了。

像是工业场景中对于极致性能的要求就更加严苛,比如自动驾驶中汽车识别图像需要做到微妙级甚至更低的一个推理延时。

推理框架

为了提高神经网络推理的性能,人们就

你可能感兴趣的:(CV视觉算法入门与调优,神经网络,人工智能,深度学习)