RedisAI: 深度学习部署的新选择

RayRay
RedisAI深度学习机器学习DockerRedis模块Github开源项目

RedisAI简介

RedisAI是Redis实验室和[tensor]werk合作开发的一个Redis模块,旨在将机器学习(ML)和深度学习(DL)带入Redis生态系统,使AI模型能够尽可能靠近数据存储的位置执行。这个项目的目标是为深度学习模型的生产部署提供一个简单而强大的解决方案。

RedisAI允许用户在Redis中存储张量(多维数组)、深度学习模型和执行脚本。它支持多种主流深度学习框架,包括TensorFlow、PyTorch和ONNX,使开发者能够无缝集成他们现有的AI/ML工作流。

RedisAI架构

RedisAI的主要特性

  1. 张量存储: RedisAI引入了新的数据结构来存储多维数组(张量),这些张量可以直接用作模型的输入或输出。

  2. 模型服务: 支持加载和执行来自TensorFlow、PyTorch和ONNX的预训练模型。

  3. 脚本执行: 通过TorchScript提供了在CPU或GPU上执行预处理和后处理操作的能力。

  4. DAG执行: 允许定义和执行包含多个操作的有向无环图(DAG),实现复杂的推理管道。

  5. GPU加速: 支持GPU执行,充分利用硬件加速能力。

  6. 扩展性: 利用Redis集群和Redis Sentinel,RedisAI可以轻松扩展到多节点部署。

为什么选择RedisAI?

与传统的深度学习部署方案相比,RedisAI提供了以下优势:

  1. 简化部署: 对于已经使用Redis的团队来说,RedisAI可以轻松集成到现有架构中,无需引入新的复杂组件。

  2. 性能优化: 通过将模型执行放在数据附近,RedisAI减少了数据移动,提高了推理性能。

  3. 灵活性: 支持多种深度学习框架,允许开发者使用他们熟悉的工具。

  4. 可扩展性: 利用Redis的分布式特性,RedisAI可以轻松扩展以处理大规模工作负载。

  5. 简化运维: 对于已经熟悉Redis运维的团队,RedisAI不需要学习新的复杂系统。

使用RedisAI

要开始使用RedisAI,您可以通过Docker快速设置一个开发环境:

docker pull redisai/redisai docker run -p 6379:6379 -it --rm redisai/redisai

或者,您可以从源代码构建RedisAI:

git clone https://github.com/RedisAI/RedisAI.git cd RedisAI bash get_deps.sh mkdir build cd build cmake -DDEPS_PATH=../deps/install .. make

构建完成后,您可以使用以下命令启动Redis服务器并加载RedisAI模块:

redis-server --loadmodule /path/to/redisai.so

RedisAI实战:图像分类示例

让我们通过一个简单的图像分类示例来展示RedisAI的强大功能。在这个例子中,我们将使用预训练的MobileNet模型来识别图像中的对象。

  1. 首先,我们需要设置预处理脚本:
def pre_process(image): image = image.float() image /= 255 return image
  1. 将此脚本保存到RedisAI:
import redisai as rai con = rai.Client(host='localhost', port=6379) with open('script.txt') as f: script = f.read() con.scriptset('preprocess', rai.Device.cpu, script)
  1. 加载预训练的MobileNet模型:
with open('mobilenet.pb', 'rb') as f: model = f.read() con.modelset('mobilenet', rai.Backend.tf, rai.Device.cpu, model, inputs=['input'], outputs=['MobilenetV2/Predictions/Reshape_1'])
  1. 执行推理管道:
import numpy as np from PIL import Image # 加载和预处理图像 image = Image.open('panda.jpg') image_tensor = rai.Tensor.from_numpy(np.array(image).astype(np.float32)) con.tensorset('image', image_tensor) # 执行预处理脚本 con.scriptrun('preprocess', 'pre_process', inputs=['image'], outputs=['processed_image']) # 运行模型 con.modelrun('mobilenet', inputs=['processed_image'], outputs=['output']) # 获取结果 result = con.tensorget('output')
  1. 解析结果:
import json with open('imagenet_classes.json') as f: classes = json.load(f) top_k = result.argmax(axis=1)[0][:5] for i in top_k: print(f"{classes[str(i)]}: {result[0][i]*100:.2f}%")

这个例子展示了如何使用RedisAI来执行一个完整的深度学习推理管道,包括数据预处理、模型执行和结果后处理。

RedisAI的未来发展

RedisAI团队正在积极开发新功能,以进一步增强其功能和性能:

  1. ONNX Runtime支持: 这将允许运行从几乎所有主流深度学习框架导出的模型,包括传统机器学习算法。

  2. 自动批处理: 提高大规模推理的效率。

  3. 动态后端加载: 允许在运行时动态加载和卸载AI后端。

  4. 与其他Redis模块集成: 例如与RediSearch和RedisTimeSeries的集成,为更复杂的AI应用场景提供支持。

  5. RedisAI Enterprise: 为企业级部署提供更多的管理和监控功能。

结论

RedisAI为深度学习模型的生产部署提供了一个强大而灵活的解决方案。通过将AI能力直接集成到Redis生态系统中,它简化了部署过程,提高了性能,并为开发者提供了极大的灵活性。无论您是在构建计算机视觉应用、自然语言处理系统,还是任何需要高性能AI推理的应用,RedisAI都可能成为您技术栈中的重要组成部分。

随着AI技术的不断发展和应用场景的日益复杂,RedisAI将继续进化,为开发者提供更多强大的工具和功能。我们期待看到更多创新的AI应用借助RedisAI的力量得以实现和部署。

如果您正在寻找一种简单而高效的方式来部署您的深度学习模型,RedisAI无疑值得一试。它不仅能够满足您当前的需求,还能为未来的扩展和创新提供坚实的基础。立即开始使用RedisAI,探索AI部署的新可能性吧!

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多