如今,AI模型百花齐放,在业务场景中的使用是越来越多,那AI模型是如何集成到系统中的呢?这几年的集成方式又有何变化呢?
在一些早期系统中,模型比较简单,这时,真正在线上系统部署模型时,模型只是以算法的形式出现,模型参数作为算法所需要的“数据”,存储在内存或分布式缓存(如Redis)中。模型在推理运算时,从缓存中取出参数,再结合特征,完成模型预测推理运算。
这样的一些集成方式,多见于一些早期的推荐系统,模型也相对比较简单,如LR、FM、FFM等。这种方式将算法与参数分离,使其可以各自演化、迭代。如模型参数更新时,只需要更新缓存数据,系统可能并不需要上线。一定程度上的满足了工程上的需要。
但随着模型越来越复杂,以Redis缓存模型为代表的方式,逐渐不符合现代模型的需要。以PMML、sklearn为代表的模型框架的方式出现了。模型框架本身提供了多种模型的实现方式,
并提供了推理接口。业务系统集成时,将模型框架集成到系统当中。这时模型一般是以文件的形式存在。也可以满足一定程度上单独演化的需要。
但上述方式也有其问题,一方面模型以文件的形式集成到系统内,更新不方便。另一方面,模型的更新速度一般都比较快,一旦模型更新(结构或参数),系统就需要上线,非常不方便。
于是第三种方式出现了,即模型服务的方式。这种方式,模型以分布式API服务的形式,集成到系统中(如tensorflow-serving),模型的升级演化,不会影响业务系统的使用,非常方便。
但这种方式也有其问题,因为并不是所有的模型都是基于tensorflow开发的,随着pytorch的市场份额越来越高,其他框架的模型也越来越占主导地位。有的甚至都不一定都是基于python语言的。而且tensorflow的分布式扩展能力比较差,一旦流量上升后,难以支撑业务发展。
近几年,随着容器化和云计算技术的发展,新时代的云技术模型服务出现了。这种技术以AI模型市场(aimodelmarket.cn)为代表,以容器作为系统交割的基本单位,模型服务在容器中,方便扩展。模型的升级演化和业务系统分离,互不影响,同时又是跨语言的。而且得益于云计算技术,服务的扩展能力几乎是无限的。这就给业务系统的稳定性提供了极大的保障。
展望未来,我们希望随着像AI模型市场(http://aimodelmarket.cn)这样的服务的发展,越来越多的模型服务被开发出来,并实现服务商和业务方的分离,将极大的提高生产力。
标签:集成,方式,AI,模型,系统,演化 From: https://www.cnblogs.com/fishfl/p/16630942.html