LLM 大模型学习必知必会系列 (三):LLM 和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM 和多模态模型高效推理实践
1.多模态大模型推理
LLM 的推理流程:
多模态的 LLM 的原理:
代码演示:使用 ModelScope NoteBook 完成语言大模型,视觉大模型,音频大模型的推理
环境配置与安装
以下主要演示的模型推理代码可在魔搭社区免费实例 PAI-DSW 的配置下运行(显存 24G) :
点击模型右侧 Notebook 快速开发按钮,选择 GPU 环境:
打开 Python 3 (ipykernel):
示例代码语言大模型推理示例代码
输出结果:
视觉大模型推理示例代码
输出结果:
音频大模型推理示例代码
输出结果:
2. vLLM+FastChat 高效推理实战
FastChat 是一个开放平台,用于训练、服务和评估基于 LLM 的 ChatBot。
FastChat 的核心功能包括:●优秀的大语言模型训练和评估代码。●具有 Web UI 和 OpenAI 兼容的 RESTful API 的分布式多模型服务系统。
vLLM 是一个由加州伯克利分校、斯坦福大学和加州大学圣迭戈分校的研究人员基于操作系统中经典的虚拟缓存和分页技术开发的 LLM 服务系统。他实现了几乎零浪费的 KV 缓存,并且可以在请求内部和请求之间灵活共享 KV 高速缓存,从而减少内存使用量。
FastChat 开源链接:https://github.com/lm-sys/FastChat
vLLM 开源链接:https://github.com/vllm-project/vllm
实战演示:
安装 FastChat 最新包 1
环境变量设置
在 vLLM 和 FastChat 上使用魔搭的模型需要设置两个环境变量:1
2.1 使用 FastChat 和 vLLM 实现发布 model worker(s)
可以结合 FastChat 和 vLLM 搭建一个网页 Demo 或者类 OpenAI API 服务器,
首先启动一个 controller:
然后启动 vllm_worker 发布模型。如下给出单卡推理的示例,运行如下命令:千问模型示例:
启动 vLLM 优化 worker 后,本次实践启动页面端 demo 展示:1
2.2 LLM 的应用场景:RAG
LLM 会产生误导性的 “幻觉”,依赖的信息可能过时,处理特定知识时效率不高,缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。正是在这样的背景下,检索增强生成技术(Retrieval-Augmented Generation,RAG)应时而生,成为 AI 时代的一大趋势。
RAG 通过在语言模型生成答案之前,先从广泛的文档数据库中检索相关信息,然后利用这些信息来引导生成过程,极大地提升了内容的准确性和相关性。RAG 有效地缓解了幻觉问题,提高了知识更新的速度,并增强了内容生成的可追溯性,使得大型语言模型在实际应用中变得更加实用和可信。
一个典型的 RAG 的例子:
这里面主要包括包括三个基本步骤:
索引 — 将文档库分割成较短的 Chunk,并通过编码器构建向量索引。
检索 — 根据问题和 chunks 的相似度检索相关文档片段。
生成 — 以检索到的上下文为条件,生成问题的回答。
RAG(开卷考试)VS. Finetune(专业课程学习)
版权声明: 本文为 InfoQ 作者【AI课程】的原创文章。
原文链接:【http://xie.infoq.cn/article/ea8e20228a9fd29637011ea45】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论