Page 140 - 2025年第56卷第1期
P. 140
本地知识库利用 Embedding 模型对文档进行向量化, 构建向量知识库。 在查询时, 将问题进行向
量化并与向量知识库进行匹配, 筛选出前 N 条与用户提问相近内容, 实现问题的查询。 本文选取 M3E
[28] [29] 作为本地知识库的向量化和相似度检索工具。 其中, M3E Model 是 Moka 开源, 是
Model 和 FAISS
经两千万中文语句训练的 Embedding 模型, 具备优秀的中文向量化能力; FAISS 是 Meta 开发的相似度
检索工具, 可以实现 10 亿毫秒级检索。 灌浆工程本地知识库构建与知识检索流程如图 6 所示。
图 5 LoRA 微调流程 图 6 灌浆工程本地知识库构建与知识检索流程
在通用问题回答时, 基于 LangChain 提供
的提示词模板可以直接形成提示工程, 随后调
用灌浆 LLM 模型, 完成知识服务。 针对特定
知识库时, 首先使用 LangChain 将问题进行向
量化, 并与本地向量库进行相似度匹配, 筛选
出前 N 条 与 问 题 相 近 文 本 块 ( Text Chunks),
然后通过构造私有提示词模板, 利用灌浆 LLM
的摘要抽取能力进行问题语言的进一步生成,
以保证模型针对特定工程或知识库问题回答的
能力。 基于 LangChain 的灌浆工程知识服务流
图 7 基于 LangChain 的灌浆知识服务流程
程如图 7 所示。
5 实验与分析
5.1 实验内容与超参数设置 在当下 LLM 开源社区, 由于训练语料、 架构的差异, 各种模型基座呈
现出不同优势。 本研究以中文为应用背景, 为筛选出合适的中文模型基座, 选取 ChatGLM 3 - 6B -
Base [30] 、 Qwen-7B-Base [27] 和 Baichuan 2-7B-Base [31] 模型作为通用的中文 LLM 基座进行大量微调实
验, 并采用专业性和通用性测试筛选最佳的灌浆领域模型。 上述 3 个模型均为国内厂商发布的 100 亿
参数内的开源模型基座, 并在中文任务中取得了较好的效果, 可在消费级 GPU 上注入灌浆知识, 并
兼顾计算消耗与模型性能。
本实验采用消费级服务器进行实验, 其具体环境配置如下: 系统, 64 位 Ubuntu 16.04 LTS; CPU,
Intel( R) Xeon ( R) Gold 6132 CPU @ 2. 6 GHz × 45; 内 存, 128GB RAM; GPU: NVIDIA QUADRO
RTX8000 48GB; Python 版本, 3.10.12; Cuda 版本, 11.7; Pytorch 版本, 1.13.1。
LoRA 微调时, 使用 AdamW 优化器和 WarmupLR 调度器, 训练参数配置如表 1 所示。 此外, 为获
取合适的指令微调参数, 本研究对不同 LoRA Rank 和 LoRA Alpha 进行了丰富的实验。 实践中, LoRA
— 1 3 5 —