2. 介绍
模型权重共享工具用于在主机端部署大模型时降低存储与内存占用压力。
在主机端部署LLM(大语言模型)时,常见的多模型推理、模型并行以及分阶段执行等场景,通常需要同时加载多个已编译的模型文件。这些模型文件之间往往包含大量相同或高度相似的权重数据。然而,在传统部署方式下,各模型文件会分别保存完整权重,未对权重冗余进行消除,进而导致模型文件体积显著增大,占用大量主机端磁盘存储空间。为解决该问题,模型权重共享工具可于在主机端对多模型之间的冗余权重进行统一分析与消除,使共享权重仅保留一份,从而显著减少主机端的存储空间和内存占用,从而提升多模型部署场景下的资源利用效率。
该工具以编译后的模型文件作为输入,通过分析并提取可共享的权重数据,生成一组经过权重共享优化后的模型文件。生成的模型在功能和推理结果上与原模型保持一致,可直接用于后续推理流程,无需修改推理代码或运行时接口。
通过使用该工具:
可降低多模型部署场景下的主机端存储占用。
可减少模型加载时的内存消耗。
适用于由多个模型文件构成、且权重存在复用关系的大模型部署场景。
2.1. 模式介绍
2.1.1. Strip 模式
Strip 模式用于剥离可共享的模型权重数据,以减小模型体积。
在该模式下,工具会分析目标模型与前序输入模型之间的权重关系,识别可复用的权重数据,并将这些共享权重从目标模型中移除,仅保留必要的索引或引用信息。生成的输出模型不再包含完整权重数据,体积显著缩小,适合在与前序模型配合使用的场景下部署或分发。
2.1.2. Restore 模式
Restore 模式用于恢复被剥离的模型权重数据,生成完整可独立使用的模型。
在该模式下,工具会根据 Strip 模式生成的索引信息,从前序输入模型中重新加载对应的共享权重数据,并将其合并回目标模型中。最终生成的输出模型包含完整权重,不再依赖其他模型,可单独用于推理、转换或进一步处理。
3. 环境准备
3.1. 环境依赖
该工具支持平台如下:
Ubuntu 24.04(x86_64)
Ubuntu 22.04(x86_64)
Ubuntu 20.04(x86_64)
3.2. 运行环境
工具可在下面环境中运行:
软件平台Docker镜像:
软件平台提供的 Docker 镜像已预置工具运行所需环境。有关Docker镜像的安装与部署,参看《后摩大道® M50 软件平台快速入门》。
运行时开发工具包:
可使用运行时开发工具包
houmo_tcim_runtime_<target_hw>_${distro}_$arch-<release>.tar.gz。详情参看《后摩大道® M50 TCIM用户手册》。
3.3. Linux环境准备
工具使用前,执行下面指令配置运行环境:
将应用开发示例包拷贝到 可运行环境。
在
houmo-examples-xh2目录下,执行下面命令设置环境变量:source env.sh
在工具所在目录运行相关指令。工具路径如下:
软件平台Docker镜像:
工具位于 Python 安装路径下的
tcim_lite/bin目录中,具体路径可能为:/path/to/python/dist-packages/tcim_lite/bin/path/to/python/site-packages/tcim_lite/bin
运行时开发工具包:
通过 Python 安装运行时开发工具时,TCIM 运行时库位于:
/path/to/python/site-packages/tcim_lite/bin直接解压方式安装运行时开发工具时,TCIM 运行时库位于:
/path/to/houmo_tcim_runtime_xh2_linux_$arch-<release>/bin