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  —
   135   136   137   138   139   140   141   142   143   144   145