运行此代码时,您应该会看到第一个请求返回结果。第二个请求返回相同的结果,但速度明显更快。例如,您可能会发现第一次调用耗时大约几十毫秒(取决于模型复杂度),而第二次调用可能只需几毫秒甚至更短。在我们基于轻量级模型的简单演示中,差异可能很小(因为模型本身速度很快),但对于更重的模型,效果会非常显著。
为了更好地理解这一点,让我们考虑一下我们实现的效果:
在实际实验中,缓存可以带来数量级的提升。例如,在电子商务中,使用 Redis 意味着可以在几微秒内为重复请求返回建议,而无需使用完整的模型服务流水线重新计算它们。性能提升取决于模型推理的成本。模型越复杂,缓存重复调用带来的收益就越大。这还取决于请求模式:如果每个请求都是唯一的,缓存将无济于事(无需从内存中提供重复请求),但许多应用程序确实会看到重叠请求(例如,热门搜索查询、推荐商品等)。
您也可以直接检查 Redis 缓存,以验证它是否存储了键。
在本文章中,我们演示了 FastAPI 和 Redis 如何协同工作以加速机器学习模型服务。 FastAPI 提供了一个快速且易于构建的 API 层来提供预测服务,而 Redis 则添加了一个缓存层,可显著降低重复计算的延迟和 CPU 负载。通过避免重复的模型调用,我们提高了响应速度,并使系统能够使用相同的资源处理更多请求。
全部评论
留言在赶来的路上...
发表评论