发布时间:2025-12-09 16:20:29 浏览次数:18
2023年4月21日,复旦大学自然语言处理实验室正式开放MOSS模型,是国内首个插件增强的开源对话大语言模型。MOSS 相关代码、数据、模型参数已在 GitHub 和 Hugging Face 等平台开放,
项目地址:https://github.com/OpenLMLab/MOSS。
MOSS 对硬件要求还是较高,如果想本地部署的话,仍但需要非常大的开销。如果使用A100 或 A800 可以单卡运行,而使用NVIDIA 3090 只能并行多卡运行,GPU 显存至少需要 30GB。但如果想在消费级显卡上进行部署,就只能部署量化后的版本,如下图所示:
具体对应的模型版本如下:
moss-moon-003-sft-int4: 4bit量化版本的moss-moon-003-sft模型,约占用12GB显存即可进行推理。
moss-moon-003-sft-int8: 8bit量化版本的moss-moon-003-sft模型,约占用24GB显存即可进行推理。
moss-moon-003-sft-plugin-int4: 4bit量化版本的moss-moon-003-sft-plugin模型,约占用12GB显存即可进行推理。
moss-moon-003-sft-plugin-int8: 8bit量化版本的moss-moon-003-sft-plugin模型,约占用24GB显存即可进行推理。
由于本次实验所使用的配置如下:
CPU&内存:28核(vCPU)112 GB
操作系统:Ubuntu_64
GPU:NVIDIA Tesla P100
显存:16G
故选择 moss-moon-003-sft-int4 模型进行部署实验。
1、登录服务器,下载本仓库内容至服务器,进入MOSS目录
git clone https://github.com/OpenLMLab/MOSS.gitcd MOSS2、创建python3.8版本的conda环境,并进入
conda create --name moss python=3.8conda activate moss3、根据 requirements.txt 安装环境依赖
pip install -r requirements.txt4、安装使用量化模型所需的包(4/8-bit)
pip install triton5、安装gradio,以便可以使用基于Gradio的网页demo
pip install gradiopip install mdtex2html其中,mdtex2html 是因为运行时有报错缺少此包,故这里可以提前装好。
6、下载模型文件,这里直接从huggingface上下载到服务器
# 安装 huggingface_hubpip install huggingface_hub# 进入模型文件的指定位置cd /data/sim_chatgpt/然后使用下面代码,将模型文件安装到指定位置
from huggingface_hub import snapshot_downloadsnapshot_download(repo_id="fnlp/moss-moon-003-sft-int4", cache_dir="./moss-moon-003-sft-int4")下载完成后,得到model_path为:/data/sim_chatgpt/moss-moon-003-sft-int4/models–fnlp–moss-moon-003-sft-int4/snapshots/4e33058483a36ade9067f7f25f3127cb95386b01
这里有两种方式,一种是命令行,在服务器上直接运行;一种是网页版,可以通过链接在浏览器访问。
这里我们要运行 moss_cli_demo.py 文件,在运行前需要修改model_path,如下:
parser.add_argument("--model_name", default="/data/sim_chatgpt/moss-moon-003-sft-int4/models--fnlp--moss-moon-003-sft-int4/snapshots/4e33058483a36ade9067f7f25f3127cb95386b01"ValueError:
/data/sim_chatgpt/moss-moon-003-sft-int4/models–fnlp–moss-moon-003-sft-int4/snapshots/4e33058483a36ade9067f7f25f3127cb95386b01
is not a folder containing a .index.json file.
解决办法
将下面代码进行替换(注释掉)
运行时报错,如下图所示:
python: /project/lib/Analysis/Utility.cpp:136: bool mlir::supportMMA(mlir::Value, int): Assertion `(version == 1 || version == 2) && “Unexpected MMA layout version found”’ failed.
遇到问题:https://github.com/OpenLMLab/MOSS/issues/149
issue中有人提到:
解决方法如下
将triton换成auto-gptq,这样就绕过了triton验证.
另外,需要注意需要修改两个地方:
1、修改model
2、修改model_path
运行
python moss_cli_demo.py但我并没有尝试成功,一个原因在于,github链接中没有setup_env.py,只有setup.py,另一个原因是即使按照github链接中提供的安装方式,无法安装成功。
待更…
命令行版本成功后更新网页版部署