介绍
2024 年 1 月 17 日,新一代大语言模型书生·浦语 2.0(InternLM2)正式发布。相比于第一代 InternLM,InternLM2 在推理、对话体验等方面的能力全面提升,工具调用能力整体升级,并支持 20 万字超长上下文,实现长文对话'大海捞针'。
InternLM2 包含 InternLM2-7B 和 InternLM2-20B 两种模型规格(20B 模型比 7B 模型功能更强大),每种规格又根据不同的应用场景,分为以下四种模型:InternLM2-Base、InternLM2、InternLM2-Chat-SFT 和 InternLM2-Chat。其中 InternLM2 是官方推荐使用的基础模型,InternLM2-Chat 是官方推荐使用的对话模型。下文主要介绍 InternLM2-Chat-7B 模型的部署和使用。
| 模型 | HuggingFace | ModelScope |
|---|---|---|
| InternLM2-Chat-7B | internlm/internlm2-chat-7b | Shanghai_AI_Laboratory/internlm2-chat-7b |
| InternLM2-Chat-20B | internlm/internlm2-chat-20b | Shanghai_AI_Laboratory/internlm2-chat-20b |
环境准备
部署大模型需要充足的算力资源。建议租用配备高性能 GPU 的云服务器实例。InternLM2-Chat-7B 模型消耗显存约 20 GB(受实际参数配置影响),因此租用一张 RTX 3090 或者 RTX 4090 的 GPU 实例通常能满足运行条件。若使用多卡部署,可进一步降低单卡显存压力。
系统环境建议如下:
- 操作系统:Ubuntu 20.04 或 CentOS 7 及以上版本。
- Python 版本:建议 Python 3.8 或更高版本。
- CUDA 驱动:确保已安装与 PyTorch 版本兼容的 NVIDIA CUDA Toolkit。
- 依赖管理:建议使用
conda或venv创建独立虚拟环境,避免依赖冲突。
模型部署&使用
页面交互方式
提供两种主要的页面交互部署方式,选择其中一种即可。这两种方式本质区别在于前端框架不同,后端服务逻辑一致。
Gradio
Gradio 是一个用于快速构建机器学习演示界面的 Python 库。LMDeploy 封装了 Gradio 接口,通过脚本即可一键部署。
启动命令中的关键参数含义如下:
tp(tensor_parallel_size):表示使用几张 GPU 来并行运行一个模型。例如tp=1表示单卡,tp=2表示双卡。max_batch_size:批处理大小。该参数值越大,吞吐量越高,但会占用更多显存。需根据显存容量调整。cache_max_entry_count:设置 k/v 缓存大小,直接影响显存占用。当值为 0~1 之间的小数时,表示 k/v block 使用的内存百分比;当值 >1 时,表示 k/v block 数量。server_name:监听地址,0.0.0.0表示允许外部访问。server_port:服务端口,默认为 8888。- 模型路径:本地存储模型的路径,如
./internlm2-chat-7b。
具体操作步骤如下:
- 通过 SSH 终端连接到服务器实例,新建 脚本文件。


