社区供稿|一键部署 Hugging Face 模型!LMDeploy 与 transformers 强强联合

1,270次阅读
没有评论

Hugging Face 平台在人工智能研究,尤其是自然语言处理领域产生深远影响,平台通过提供易用的接口、丰富的预训练模型和开源工具如 transformers,简化了语言模型的使用难度, 大大降低了 NLP 应用的开发门槛。另外该平台提供了一个开放、协作的生态系统,通过模型共享以及社区协作,加速了知识传播和技术创新,使得更广泛的人群能够受益于最新的自然语言处理进展,已然成为机器学习领域的“GitHub”。

面对当前火热的对话模型,尽管 transformers 抽象且统一的接口为训练以及验证阶段提供了便利,但在推理效率方面存在一些缺点。如其内部缺少对 KV-Cache 的管理,使得每轮对话都需要所有的历史进行预填充(prefill),增加了很多重复计算,显著减慢了推理效率。另外,其缺少一种有效的部署方式,对于只想基于大语言模型进行开发的人员并不十分友好。

针对这些问题,LMDeploy 进行了大量的工程开发以及优化,经过数轮迭代,目前不仅具备了稳定且高效的推理能力,也提供了十分简单的使用方式,可以很方便地使用 Hugging Face 上面热门的 transformer 模型,实现“一键部署”。

https://github.com/InternLM/lmdeploy

https://huggingface.co/internlm

https://huggingface.co/lmdeploy


一键部署 Hugging Face 模型

在 v0.0.14 版本之前,若想使用 LMDeploy(TurboMind 引擎)进行推理或者部署,需要先使用命令 lmdeploy convert 将模型离线转换为 TurboMind 推理引擎所支持的格式,转换后的模型可以更快地被加载,但对用户使用来说增加了一个转换的环节,不太友好。

如今,自 v0.1.0a0 版本起,LDMdeploy 增加了模型在线转换的能力。通过模型的在线转换,可以直接加载 Hugging Face 模型,实现一键部署。使用前,请务必安装最新的版本:

pip install 'lmdeploy[all]>=v0.1.0a0'

API Server

API Server 提供了兼容 OpenAI API 服务接口的 RESTful API,可直接作为使用 OpenAI API 程序的替代品。

lmdeploy serve api_server internlm/internlm-chat-20b --model-name internlm-chat-20b

运行命令后,在浏览器中输入 http://0.0.0.0:23333 可以打开 Swagger UI,浏览各个 API 的使用方法并进行测试。其中前三个与 OpenAI API 一致,最后一个为 LMDeploy 独有的交互模式推理接口,它会在服务端保留历史对话的信息,避免多轮对话时重复进行 Context Decoding,提高运行效率。具体使用方式可参考我们之前的文章

社区供稿|一键部署 Hugging Face 模型!LMDeploy 与 transformers 强强联合

WebUI

LMDeploy 提供了基于 Gradio 的 Web 交互界面,并且可以配合 API Server 使用,使 Web 服务与推理服务分离。具体使用方法,可以通过 lmdeploy server gradio -h 查看帮助信息。

lmdeploy serve gradio internlm/internlm-chat-20b --model-name internlm-chat-20b

社区供稿|一键部署 Hugging Face 模型!LMDeploy 与 transformers 强强联合

离线推理

以下展示使用 TurboMind 接口进行推理的例子:

# load modelfrom lmdeploy import turbomind as tmtm_model = tm.TurboMind.from_pretrained('internlm/internlm-chat-20b', model_name='internlm-chat-20b')generator = tm_model.create_instance()
# process queryquery = 'Hello! Today is sunny, it is time to go out'prompt = tm_model.model.get_prompt(query)input_ids = tm_model.tokenizer.encode(prompt)
# inferencefor outputs in generator.stream_infer( session_id=0, input_ids=[input_ids]): res, tokens = outputs[0]
response = tokenizer.decode(res.tolist())print(response)

部署 4bit 量化模型

随着自然语言处理领域中日益复杂的任务需求,以及人们对模型性能的不断追求,语言模型的参数量近来急剧膨胀。面对数以亿计的参数,大模型对存储以及推理带来了新的挑战。一个 7B 的模型,大约占 14G 的显存,然而大部分消费级显卡的显存都不够加载模型,更别说推理了。

面对这些棘手的问题,聪明的研究员们提出了多种量化算法,通过将高比特权重如 FP32/FP16 量化为低比特权重如 INT8/INT4,不仅节约了显存,也降低了访存成本,提高了运算速度。详细的原理可阅读我们之前的文章

LMDeploy 中实现了 AWQ 算法来对模型进行 4bit Weight Only 量化。与 GPTQ 算法相比,AWQ 算法在易用性和拓展性方面更具优势。相较于 AWQ 算法的官方版本,LMDeploy 进行了大量的工程优化,具有更快的速度。

构建量化模型

将浮点模型转化为 4bit 模型主要包含两个步骤:

  • 生成量化参数

  • 根据量化参数,量化模型权重

具体的命令如下:

# 1. 获取量化参数lmdeploy lite calibrate  --model $HF_MODEL                # 可填本地路径,或者HF的repo_id,如internlm/internlm-chat-20b  --calib_dataset 'c4'             # 校准数据集,支持 c4, ptb, wikitext2, pileval  --calib_samples 128              # 校准集的样本数,如果显存不够,可以适当调小  --calib_seqlen 2048              # 单条的文本长度,如果显存不够,可以适当调小  --work_dir $WORK_DIR             # 保存 Pytorch 格式量化统计参数和量化后权重的文件夹 # 2. 根据量化参数,量化模型权重lmdeploy lite auto_awq  --model $HF_MODEL                # 与步骤 1 一致  --w_bits 4                       # 权重量化的 bit 数  --w_group_size 128               # 权重量化分组统计尺寸  --work_dir $WORK_DIR             # 步骤 1 保存量化参数的目录

另外,InternLM 以及 LMDeploy 在 Hugging Face 上面上传了一些热门的量化好的大模型,并验证了量化后的精度,可以直接下载使用,模型列表也在持续增加中。


下载链接:

https://huggingface.co/internlm

https://huggingface.co/lmdeploy

社区供稿|一键部署 Hugging Face 模型!LMDeploy 与 transformers 强强联合

社区供稿|一键部署 Hugging Face 模型!LMDeploy 与 transformers 强强联合

使用量化模型

量化模型的使用方式与前文一致,以 internlm/internlm-chat-20b-4bit 为例。

API Server

lmdeploy serve api_server internlm/internlm-chat-20b-4bit --model-name internlm-chat-20b

WebUI

lmdeploy serve gradio internlm/internlm-chat-20b-4bit --model-name internlm-chat-20b

internlm/internlm-chat-20b-4bit Model Card Inference 的部分说明,使用的是V0.0.14之前的部署方式,即先离线转化为 TurboMind 的模型格式,再加载转换好的模型。

结语

2023 年是生成式人工智能爆发的一年,基于 transformer 的语言大模型与以往的模型相比,在上下文理解,通用性和多任务适应性方面展现出了显著的优势,在处理复杂 NLP 任务中成为主流选择。

本文由 Hugging Face 中文社区内容共建项目提供,稿件由社区成员投稿,经授权发布于 Hugging Face 公众号。文章内容不代表官方立场,文中介绍的产品和服务等均不构成投资建议。了解更多请关注公众号:如果你有与开源 AI、Hugging Face 相关的技术和实践分享内容,以及最新的开源 AI 项目发布,希望通过我们分享给更多 AI 从业者和开发者们,请通过下面的链接投稿与我们取得联系:

https://hf.link/tougao

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)

文心AIGC

2023 年 12 月
 123
45678910
11121314151617
18192021222324
25262728293031
文心AIGC
文心AIGC
人工智能ChatGPT,AIGC指利用人工智能技术来生成内容,其中包括文字、语音、代码、图像、视频、机器人动作等等。被认为是继PGC、UGC之后的新型内容创作方式。AIGC作为元宇宙的新方向,近几年迭代速度呈现指数级爆发,谷歌、Meta、百度等平台型巨头持续布局
文章搜索
热门文章
潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026 Jay 2025-12-22 09...
面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25

面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25

面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25 鹭羽 2025-12-13 22:37...
5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级 思邈 2025-12-10 14:28:37 来源:量子位 让更大规...
钉钉又发新版本!把 AI 搬进每一次对话和会议

钉钉又发新版本!把 AI 搬进每一次对话和会议

钉钉又发新版本!把 AI 搬进每一次对话和会议 梦晨 2025-12-11 15:33:51 来源:量子位 A...
商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1

商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1

商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1 十三 2025-12-15 14:13:14 ...
最新评论
ufabet ufabet มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง
tornado crypto mixer tornado crypto mixer Discover the power of privacy with TornadoCash! Learn how this decentralized mixer ensures your transactions remain confidential.
ดูบอลสด ดูบอลสด Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
Obrazy Sztuka Nowoczesna Obrazy Sztuka Nowoczesna Thank you for this wonderful contribution to the topic. Your ability to explain complex ideas simply is admirable.
ufabet ufabet Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
ufabet ufabet You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
ufabet ufabet Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
热评文章
读懂2025中国AI走向!公司×产品×人物×方案,最值得关注的都在这里了

读懂2025中国AI走向!公司×产品×人物×方案,最值得关注的都在这里了

读懂2025中国AI走向!公司×产品×人物×方案,最值得关注的都在这里了 衡宇 2025-12-10 12:3...
5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级 思邈 2025-12-10 14:28:37 来源:量子位 让更大规...
戴尔 x OpenCSG,推出⾯向智能初创企业的⼀体化 IT 基础架构解决方案

戴尔 x OpenCSG,推出⾯向智能初创企业的⼀体化 IT 基础架构解决方案

戴尔 x OpenCSG,推出⾯向智能初创企业的⼀体化 IT 基础架构解决方案 十三 2025-12-10 1...
九章云极独揽量子位三项大奖:以“一度算力”重构AI基础设施云格局

九章云极独揽量子位三项大奖:以“一度算力”重构AI基础设施云格局

九章云极独揽量子位三项大奖:以“一度算力”重构AI基础设施云格局 量子位的朋友们 2025-12-10 18:...
乐奇Rokid这一年,一路狂飙不回头

乐奇Rokid这一年,一路狂飙不回头

乐奇Rokid这一年,一路狂飙不回头 梦瑶 2025-12-10 20:41:15 来源:量子位 梦瑶 发自 ...