魔搭社区牵手FastChat&vLLM,打造极致LLM模型部署体验

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: FastChat是一个开放平台,用于训练、服务和评估基于LLM的ChatBot。

引言

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


vLLM论文链接:

https://arxiv.org/pdf/2309.06180.pdf


继魔搭社区和vLLM展开合作后【魔搭牵手vLLM,提供更快更高效LLM推理服务】,最近魔搭社区继续FastChat展开合作,联合vLLM一起为中国开发者提供更快更高效的LLM推理和部署服务。开发者可以实现针对魔搭社区的大语言模型,使用vLLM作为FastChat中的推理引擎,提供高吞吐量的模型推理。


魔搭社区最新的镜像已经支持预装vLLM,魔搭官方镜像环境:

registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda11.8.0-py310-torch2.1.0-tf2.14.0-1.10.0


魔搭社区支持的模型列表:

模型结构

模型名称

实际的模型id样例

AquilaForCausalLM

Aquila

BAAI/AquilaChat2-34B, BAAI/Aquila2-34B, etc.

BaiChuanForCausalLM

Baichuan

baichuan-inc/Baichuan2-7B-Base, baichuan-inc/Baichuan2-13B-Base, etc.

ChatGLMModel

ChatGLM

ZhipuAI/chatglm2-6b, ZhipuAI/chatglm3-6b, etc.

InternLMForCausalLM

InternLM

internlm/internlm-7b, internlm/internlm-chat-7b, etc.

QWenLMHeadModel

Qwen

qwen/Qwen-1_8B-Chat, qwen/Qwen-7B-Chat, qwen/Qwen-14B-Chat,qwen/Qwen-72B-Chat,etc.

LlamaForCausalLM

LLaMa

modelscope/Llama-2-7b-ms,modelscope/Llama-2-13b-ms

modelscope/Llama-2-70b-ms,

etc.

YiForCausalLM

Yi

01ai/Yi-6B-Chat, 01ai/Yi-34B-Chat, etc.


魔搭社区最佳实践

环境配置与安装

本文主要演示的模型推理代码可在魔搭社区免费实例PAI-DSW的配置下运行(显存24G) :


第一步:点击模型右侧Notebook快速开发按钮,选择GPU环境

镜像选择:Ubuntu22.04-cuda11.8.0-py310-torch2.1.0-tf2.14.0-1.10.0



第二步:进入terminal环境



第三步:安装FastChat最新包

git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip install .


环境变量设置

在vLLM和FastChat上使用魔搭的模型需要设置两个环境变量:

export VLLM_USE_MODELSCOPE=True
export FASTCHAT_USE_MODELSCOPE=True


之后在需要填入模型id的地方使用魔搭的模型id即可。下面我们给出几个代码范例,来展示在vLLM+FastChat上如何快速地加载魔搭模型进行推理。


模型部署

使用FastChat实现发布model worker(s)

首先我们使用FastChat实现发布一个model worker(s),首先启动一个controller:

python -m fastchat.serve.controller



发布一个model worker(s),以vicuna模型和千问模型为例

#以vicuna-7B-v1.5为例,在A10运行
python -m fastchat.serve.model_worker --model-path AI-ModelScope/vicuna-7b-v1.5 --revision v1.0.0


#以qwen-1.8B为例,在A10运行
python -m fastchat.serve.model_worker --model-path qwen/Qwen-1_8B-Chat --revision v1.0.0



体验问答效果:



也可以使用命令行客户端启动服务

python3 -m fastchat.serve.test_message --model-name Qwen-1_8B-Chat --message hello


然后启动gradio服务,开始网页端WebUI的问答:


python3 -m fastchat.serve.gradio_web_server --host 0.0.0.0 --port 8000


使用FastChat和vLLM实现发布model worker(s)

可以结合FastChat和vLLM搭建一个网页Demo或者类OpenAI API服务器,首先启动一个controller:

python -m fastchat.serve.controller

然后启动vllm_worker发布模型。如下给出单卡推理的示例,运行如下命令:

千问模型示例:

#以qwen-1.8B为例,在A10运行
python -m fastchat.serve.vllm_worker --model-path qwen/Qwen-1_8B-Chat --trust-remote-code --dtype bfloat16



vicuna模型示例:

#以vicuna-7B-v1.5为例,在A10运行
python -m fastchat.serve.vllm_worker --model-path AI-ModelScope/vicuna-7b-v1.5 --trust-remote-code --dtype bfloat16


启动vLLM优化worker后,本次实践启动页面端demo展示:

python -m fastchat.serve.gradio_web_server --host 0.0.0.0 --port 8000


效果体验

让我们体验极致推理优化的效果吧!

中文案例(千问1.8B)

中文 00_00_00-00_00_30.gif


英文案例(vicuna-7B-v1.5)

英文 00_00_00-00_00_30.gif

目录
打赏
0
1
0
2
690
分享
相关文章
X-R1:3090也能训7B模型!开源框架X-R1把训练成本打下来了:10美元训出企业级LLM
X-R1 是一个基于强化学习的低成本训练框架,能够加速大规模语言模型的后训练开发。仅需4块3090或4090 GPU,1小时内完成训练,成本低于10美元。
58 5
X-R1:3090也能训7B模型!开源框架X-R1把训练成本打下来了:10美元训出企业级LLM
仅7B的模型数学推理能力完虐70B?MIT哈佛推出行动思维链COAT让LLM实现自我反思并探索新策略
Satori 是由 MIT 和哈佛大学等机构联合推出的 7B 参数大型语言模型,专注于提升推理能力,具备强大的自回归搜索和自我纠错功能。
81 6
仅7B的模型数学推理能力完虐70B?MIT哈佛推出行动思维链COAT让LLM实现自我反思并探索新策略
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
本教程演示如何在ACK中使用vLLM框架快速部署DeepSeek R1模型推理服务。
面向长文本的多模型协作摘要架构:多LLM文本摘要方法
多LLM摘要框架通过生成和评估两个步骤处理长文档,支持集中式和分散式两种策略。每个LLM独立生成文本摘要,集中式方法由单一LLM评估并选择最佳摘要,而分散式方法则由多个LLM共同评估,达成共识。论文提出两阶段流程:先分块摘要,再汇总生成最终摘要。实验结果显示,多LLM框架显著优于单LLM基准,性能提升最高达3倍,且仅需少量LLM和一轮生成评估即可获得显著效果。
64 10
面向长文本的多模型协作摘要架构:多LLM文本摘要方法
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
118 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
LLM2LLM:LLM2LLM:用 LLM 来增强 LLM !通过教师模型合成数据,增强学生模型的训练数据集
LLM2LLM 是一种创新的迭代数据增强技术,通过教师模型生成合成数据,显著提升大语言模型在数据稀缺任务中的性能。
220 90
LLM2LLM:LLM2LLM:用 LLM 来增强 LLM !通过教师模型合成数据,增强学生模型的训练数据集
LLM-Mixer: 融合多尺度时间序列分解与预训练模型,可以精准捕捉短期波动与长期趋势
近年来,大型语言模型(LLMs)在自然语言处理领域取得显著进展,研究人员开始探索将其应用于时间序列预测。Jin等人提出了LLM-Mixer框架,通过多尺度时间序列分解和预训练的LLMs,有效捕捉时间序列数据中的短期波动和长期趋势,提高了预测精度。实验结果显示,LLM-Mixer在多个基准数据集上优于现有方法,展示了其在时间序列预测任务中的巨大潜力。
122 3
LLM-Mixer: 融合多尺度时间序列分解与预训练模型,可以精准捕捉短期波动与长期趋势
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
978 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
LLM大模型最新消息2025.01
本文介绍了多个大模型训练和部署工具及教程。使用unsloth支持llama3,显存占用约8G;GPT4ALL加载训练好的大模型;llama.cpp进行4bit量化后可用CPU运行。MAID手机App和MLC软件可在安卓设备上本地运行大模型或调用API。FASTGPT用于客制化大模型和AI私有化客服。相关教程链接已提供。
129 12
基于Dify +Ollama+ Qwen2 完成本地 LLM 大模型应用实战
尼恩,一位拥有40年经验的老架构师,通过其丰富的行业经验和深入的技术研究,为读者提供了一套系统化、全面化的LLM大模型学习圣经。这套学习资料不仅帮助许多从业者成功转型,还助力多位工程师获得了高薪工作机会。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等