前沿探索
大语言模型在无线通信知识管理领域的实践探索
本次实践聚焦于检索生成增强技术,完成无线通信知识库问答方案的总体设计,并设计测评方案,评估出大语言模型、嵌入模型和重排序模型的最佳组合。

文/华为无线技术实验室:侯宏伟,马驰翔,杜笠弘,李俊辉
1 大语言模型的发展
大语言模型(Large Language Model,LLM)的发展历史可以追溯到2005年,当时主要是使用大型n-gram模型进行机器翻译。随后,2017年,Transformer架构的提出彻底改变了自然语言处理(Natural Language Processing,NLP)领域,这种基于注意力机制的新型网络架构,使得模型在多个任务上取得了显著的性能提升。到了2018年和2019年,BERT模型的出现进一步推动了预训练语言模型(Pre-trained Language Model,PLM)的发展。BERT通过双向编码器的方式,有效地利用了左右两侧的上下文信息,从而在多个NLP任务上达到了新的最佳性能。紧接着,RoBERTa模型的提出,对BERT进行了优化,通过调整超参数和训练数据的大小,实现了更高的性能。
2020年,GPT-3的发布标志着大语言模型的一个重要里程碑,它展示了通过增加模型规模来提高语言模型的泛化能力和少样本学习能力的可能性。此外,GPT-3还能生成难以与人类作品区分的新闻文章样本,显示了其在文本生成方面的强大能力。
近年来,大语言模型不仅在传统的文本处理任务上表现出色,还开始被应用于多模态任务,如结合图像和文本的任务。此外,随着技术的不断进步,大语言模型在保持知识更新、适应不断变化的世界知识方面也面临新的挑战和研究方向。
总体来看,大语言模型的发展经历了从简单的统计模型到复杂的神经网络模型,再到现在的大规模预训练模型的演变过程。这一过程不仅涉及算法和架构的创新,还包括对模型训练、评估和应用等方面的深入研究。未来,大语言模型的发展可能会更加注重模型的可解释性、效率以及如何更好地融合和处理多种类型的数据。
2 大语言模型在知识管理领域的典型技术
大语言模型的出色能力使得其在知识管理领域可以有很大发挥空间,但是也同样面临一些严峻挑战。第一,为了最大化可访问性和适用性,大语言模型采用了互联网上的通用数据进行训练,对广泛且通用数据的侧重导致在它专业领域中的表现不尽如人意。第二,大语言模型容易生成虽具说服力但不准确的回应,这种现象被称为“幻觉”,可能会误导用户。
为了解决大语言模型在知识管理领域遇到的挑战,业界主要有两种解决方案:微调(Fine-Tuning)和检索增强生成(Retrieval Augmented Generation,RAG)。
2.1 微调
大模型的微调是一种机器学习技术,用于在预训练的大型模型基础上,通过少量的特定任务数据进行再训练,以适应新的或特定的应用场景。这种方法通常涉及在预训练模型的基础上添加一个或多个输出层,并使用特定任务的数据集进行进一步训练,从而使模型能够更好地理解和执行该任务。微调的目的是利用预训练模型已经学到的通用知识,避免从头开始训练模型所需的大量计算资源和时间。例如,BERT模型就是通过在大量文本数据上预训练,然后在特定任务上进行微调,实现了在多个自然语言处理任务上的突破性性能提升。
2.2 检索增强生成
检索增强生成是一种结合了预训练的参数化记忆(如大型语言模型)和非参数化记忆(如Wikipedia的密集向量索引)的方法,用于提升语言生成任务的性能。这种方法通过在生成过程中动态地从外部知识资源中检索信息,以提高生成内容的准确性、多样性和事实性。RAG模型通常包括两个部分:一个大语言模型作为参数化记忆,以及一个访问非参数化记忆(如密集向量索引)的检索器。
2.3 RAG和微调的优缺点对比
正如所说,两种技术方案可以从6大维度进行对比:动态数据,外部知识,模型定制化,幻觉减少,透明度和技术实现难度。
我们希望利用大语言模型的能力赋能无线通信领域的知识管理,RAG在动态数据、外部知识、幻觉减少、透明度、技术实现难度方面更有优势,因此选择采用RAG这条技术路线。
表 1 RAG 和微调优缺点对比

3 实践方案
3.1 无线通信知识库问答方案总体设计
整个方案包含两个部分:第一部分是离线构建无线通信知识库环节;第二部分是用户在线问答环节。
3.1.1 离线构建无线通信知识库
离线构建无线通信知识库环节的整体过程如图1的离线部分所示。首先,用户可以上传各类文档,包括但不限于代码文档、3GPP协议等。接着,对用户上传的文档进行解析,清洗,切片。之后可以利用大语言模型对每个切片生成问答对。接下来,对问答对和原始切片数据建立向量索引和关键词索引,其中构建向量索引的过程用到了嵌入模型(Embedding Model)。然后将索引建立完成的切片和问答对都放入数据库。向量数据放入向量数据库,原始数据放入普通数据库。注意,生成问答对的环节是可选的,不是必须的。

图1 大语言模型在无线通信知识管理领域的实践探索设计图
3.1.2 在线问答
在线问答环节的整体过程如图1的在线部分所示。首先用户在输入框中输入问题进行提问,接着大语言模型可以对用户的提问进行意图识别。不同的意图可以调用不同的无线通信知识库或者进行不同的流程处理。这个意图环节部分是可选的,不是必须的。之后利用混合检索从数据库中召回和用户问题最相关的前K个知识片段。接着,利用重排序模型(Rerank Model)对召回的K个知识片段,结合用户的提问进行进一步排序,得到最相关的N个知识片段。然后,将N个知识片段和用户的提问,按照提示词模板的格式进行重新整理,放入LLM中。最后大语言模型根据输入给出相应的回答和回答所依赖的无线通信知识库片段。
3.1.2.1混合检索
在线回答环节提到的混合检索包括语义检索和关键词检索。其中语义检索利用嵌入模型将用户的提问进行向量化,然后将问题向量和向量数据库里面的向量进行匹配,召回语义相近的K个知识片段。关键词搜索指的是利用关键词从数据库中进行搜索。
语义检索能够实现复杂语义的文本检索,并且具有以下优势:
- 多语言理解能力:实现跨语言的理解,例如可以将中文输入匹配到英文内容。
- 多模态理解能力:支持文本、图像以及音视频等不同格式内容的相似匹配。
- 强大的容错性:能够处理拼写错误以及模糊不清的描述。
尽管语义检索在上述应用场景中展现出显著的优势,但在特定情况下可能效果不尽人意。例如:
- 当搜索特定的人名或物品名称时(如查询“华为Mate60”,使用语义检索可能会返回“Mate50”等相关词条);
- 搜索缩写词或简短短语(如“LLM”);
- 这些局限性恰恰是传统关键词搜索所擅长的领域,传统关键词搜索优势在于:
- 精确匹配:能够准确匹配产品名称、人名等。
- 简短字符的快速检索:当用户仅输入几个关键字时,也能高效检索(尽管这在向量检索中效果不佳)。
- 低频词汇的强匹配能力:低频词汇在语言中往往承载更重要的含义,比如在“你想跟我去喝咖啡吗?”这句话中,“喝”、“咖啡”比“你”、“想”、“吗”具有更显著的意义。
在文本搜索的多种场景中,最关键的是确保能够呈现出与查询最相关的结果。向量检索与关键词检索各自在检索技术中占据独特的优势。混合检索技术正是结合了两者的优点,并有效弥补了各自的不足。
3.1.2.2重排序
混合检索通过结合多种检索技术的优势,致力于提升搜索结果的召回效率。为了使来自不同检索系统的结果可以进行有效整合,采用了数据归一化策略:即将数据统一转换至一个标准范畴或分布模式,以便于后续的比对、分析与处理,并统一交予大型模型处理。此过程中,至关重要的一环是引入评分系统,即重排序模型。
重排序模型的作用在于通过衡量候选文档列表与用户查询语义的相符度,并据此进行重排,从而优化语义排序结果。该模型基于计算用户问题与每项候选文档之间的相关性分数,并按此相关性由高至低排列文档列表。
重排序不仅在汇集多个检索系统结果时发挥作用,即便在单一检索模式下,通过在关键词检索后加入语义重排序的步骤同样能显著提升文档的召回率。此外,为了提高计算效率,多数向量数据库通常会在某种程度上牺牲准确性。这会导致其检索结果具备一定的不确定性,召回的知识片段不一定是按照和用户的提问相关性从高到低排序的。因此,原始返回的最相关TopK结果可能并非最为精确,这就需要借助重排序模型对结果进行进一步的优化。
重排序模型并非检索技术的替代,而是一种强化现有检索系统的辅助手段。它的优势在于提供了一种简便且复杂度低的方式,不仅允许将语义相关性整合至现行的搜索系统,还免去了对基础设施的重大修改。
3.2 模型组合测评
在图1的设计图中用到了三类模型:大语言模型,嵌入模型和重排序模型。我们选择采用开源模型进行本地部署,利用本地文档构建无线通信知识库。
3.2.1 模型选择
3.2.1.1大语言模型的选择
参考大语言模型的榜单“LMSYS Chat bot Arena”,我们挑选了三款大语言模型:Llama-3-70b-Instruct、Command R+和Qwen1.5-110B-Chat。这三款大语言模型都支持中文和英文。
3.2.1.2嵌入模型的选择
参考嵌入模型的榜单“Massive Text Embedding Benchmark(MTEB)Leaderboard”,主要关注“Retrieval”指标。
针对中文语言,我们挑选4款嵌入模型:360Zhinaosearch、stella-mrl-large-zh-v3.5-1792d、PEG和bceembedding-base_v1。
针对英文语言,我们同样挑选了4款嵌入模型:SFR Embedding-Mistral、gte-large-en-v1.5、GritLM-7B和bce-embedding-base_v1。
3.2.1.3重排序模型的选择
参考,我们选择了两款重排序模型:bgereranker-v2-gemma和bce-reranker-base_v1。这两个模型都支持中英文。
3.2.1.4模型组合
我们对中英文分别进行测评,挑选出最佳中文模型组合和最佳英文模型组合。对于中文,LLM有3种候选,嵌入模型有4种候选,重排序模型有2种候选,因此总计24种模型组合;对于英文,LLM有3种候选,嵌入模型有4种候选,重排序模型有2种候选,因此总计24种模型组合。采用vLLM运行LLM,采用Xinference运行嵌入模型和重排序模型。
3.2.2 测评方式
我们分别构建了中文和英文数据集。数据集来源为开源项目RGB。中文数据集采用zh_refine.json文件;英文数据集采用en_refine.json文件。每条数据的格式如图2所示。

图2 原始数据集格式
3.2.1.4模型组合我们对中英文分别进行测评,挑选出最佳中文模型组合和最佳英文模型组合。对于中文,LLM有3种候选,嵌入模型有4种候选,重排序模型有2种候选,因此总计24种模型组合;对于英文,LLM有3种候选,嵌入模型有4种候选,重排序模型有2种候选,因此总计24种模型组合。采用vLLM运行LLM,采用Xinference运行嵌入模型和重排序模型。3.2.2测评方式我们分别构建了中文和英文数据集。数据集来源为开源项目RGB。中文数据集采用zh_refine.json文件;英文数据集采用en_refine.json文件。每条数据的格式如图2所示。
测评框架采用Ragas。Ragas的测评数据需要满足一定的格式,所需格式如图3所示。

图3 Ragas 测评数据格式
其中“question”表示本次的提问,“ground_truths”表示本次提问对应的正确答案,这两个字段的内容都可以从zh_refine.json或者en_refine.json中获取。“answer”和“contexts”来自于大语言模型给出的回答。为了得到这两个字段,我们提供给大语言模型的提示词模板格式如图4所示。
对以上数据集和中英文模型组合分别进行测评。
3.2.3 测评结果
我们关注faithfulness、answer_relevancy、context_precision和context_recall四个测评指标,每个指标的详细含义可以参考。
3.2.3.1中文测评结果
中文一共有24种模型组合。将faithfulness、answer_relevancy、context_precision和context_recall四个测评指标评分进行累加,得到每个组合的总分。

图4 提示词模板格式
图5横坐标为各个模型组合的名字,其格式为“zh_x_y_z”。“x”代表LLM的名字,序号0表示Command R+,序号1表示Llama-3-70b-Instruct,序号2表示Qwen1.5-110B-Chat;“y”代表嵌入模型的名字,序号“0”表示stella-mrl-large-zh-v3.5-1792d,序号“1”表示bceembedding-base_v1,序号“2”表示360Zhinao-search,序号“3”表示PEG;“z”代表重排序模型的名字,序号0表示bce-reranker-base_v1,序号1表bge-reranker-v2-gemma。
从图中可以看出,中文最佳的模型组合为:Command R+、stella-mrl-large-zh-v3.5-1792d和bge-reranker-v2-gemma。采用该模型组合进行落地实践,用于中文应用场景。
3.2.3.2英文测评结果
英文一共有24种模型组合。将faithfulness、answer_relevancy、context_precision和context_recall四个测评指标评分进行累加,得到每个组合的总分。
图6横坐标为各个模型组合的名字,其格式为“en_x_y_z”。“x”代表LLM的名字,序号0表示Command R+,序号1表示Llama-3-70b-Instruct,序号2表示Qwen1.5-110B-Chat;“y”代表嵌入模型的名字,序号0表示SFR-Embedding-Mistral,序号1表示bceembedding-base_v1,序号2表示gte-large-en-v1.5,序号3表示GritLM-7B;“z”代表重排序模型的名字,序号0表示bce-reranker-base_v1,序号1表bge-reranker-v2-gemma。


图7 无线通信知识库问答方案落地
从图中可以看出,英文最佳的模型组合为:Llama-3-70b-Instruct、SFR-Embedding-Mistral和bce-rerankerbase_v1。采用该模型组合进行落地实践,用于英文应用场景。
3.3 方案落地效果
我们采用Dify作为落地无线通信知识库问答方案的底层框架,采用上一章节挑选出的最佳模型组合,利用华为内部文档构建无线通信知识库,采用工作流将RAG各个环节串联起来,最终构建出一个大模型应用软件。
在整个环节中,“问题分类器”承担意图识别的职责:如果用户的提问涉及到无线通信领域的问题,大模型应用软件就依次进行RAG的各个环节,直到给出用户问题的答案;如果用户的提问是其他领域的问题,大模型应用软件就拒绝回答,并且给出礼貌回复。
3.3.1 无线通信领域相关问题
从图8的提问可以看出,用户的提问涉及到5G通信领域的问题,大模型应用软件依次进行了RAG的各个环节,最终给出了用户问题的答案,并且给出相关的文献材料。
3.3.2 其他领域的问题
图9的提问不属于5G通信领域,大模型应用软件拒绝回答,并且给出了礼貌回复。

图8 大模型应用回答5G 通信领域相关问题

图9 大模型应用回答其他领域相关问题
4 未来展望
RAG通过结合大语言模型和数据库,大幅减少了生成过程中的“幻觉”现象,但是仍然有一些挑战需要克服。本章主要介绍RAG当前的挑战和未来RAG面临的研究方向。
- 多模态数据
在企业的数字资产中,PPT和PDF文件的比重较高,其中包含大量的图片、表格等非结构化数据,纯文字类型的占比极少。目前,大型语言模型最稳定的信息获取方式还是以纯文字为主。在应用模型时,如何确保其能够准确、稳定地从非结构化数据(如图片和表格)中提取关键信息,是提升模型性能的重要方向。
- RAG链路组件多,超参数多
RAG在应用时通常包含多种组件,Llama Index的RAG组件细分就有80多个,针对不同场景有多种解决方案。这导致RAG应用开发容易变成一项“调参工程”:切片方式、召回方式、前处理、后处理、路由等众多参数都需要调整和优化。如此庞大的参数空间给开发者和研究人员带来了挑战,如何在众多组件和参数中找到最佳组合,需要大量的实验和试错。这同时也凸显了简化RAG应用开发流程、提高开发效率的重要性。
- 与现有企业知识库和搜索引擎结合
RAG并不需要从零开始打造知识库,它可以很好地融合现有的企业搜索引擎(如Elasticsearch搜索)和关键词搜索引擎。但是,为了更好地适应大型语言模型的需要,需要对接口进行定制化设计。其中,需要关注的重点是解决上下文窗口限制、简化语言表达、减少接口参数数量并确保易于理解。通过量身定制接口,可以提升大型语言模型和搜索引擎之间的兼容性,从而充分发挥RAG模型的潜力,更有效地利用企业的知识库和数据资源。
- 缺乏时间属性
现有的RAG策略可能面临一个问题:数据库中存在相互矛盾的数据集。例如,企业政策文档的更新可能会导致旧规则和新规则的冲突。当前的RAG召回策略没有考虑时间属性,在进行向量召回时,可能会同时召回矛盾的知识片段,进而导致大型语言模型给出错误答案。为解决此问题,未来的RAG策略可以引入数据的时间属性。在向量召回时,对更新的、更具相关性的数据给予更高的召回分数,这有助于减少矛盾知识片段被同时召回的可能性。此外,在模型训练和应用时,增加对时间属性的关注,也有助于提升模型的准确性和适应性。
- 针对领域数据微调嵌入模型和重排序模型
开源的嵌入模型和重排序模型大多数是基于通用领域的语料进行训练得到的,在专用领域,比如无线通信领域,可能就无法发挥出最佳性能,RAG的召回过程可能无法召回最相关的语料。为此,针对专用领域的数据进行进一步微调,进一步提高专用领域RAG的性能。
5 结语
近年来,大语言模型的突破性进展开启了一轮技术创新热潮,也为知识管理领域带来了广阔的发展前景。本文首先阐述了大语言模型的发展历程,之后又介绍了在知识管理领域的挑战和常用技术方案,包括微调和检索增强生成。随后,本文将重点转向检索生成增强技术,并阐述了实践方案的总体设计。通过精心设计评估方案,根据评估结果,选取了大语言模型、嵌入模型和重排序模型的最佳组合。最终,我们成功利用多种开源工具将无线通信知识库问答的大模型应用落地实现。检索增强生成技术通过整合大语言模型和数据库,显著减少了生成回答时的“幻觉”现象。然而,正如本文所讨论的,检索生成增强技术在实际应用中也面临一些挑战,如多模态数据处理、超参数选择的复杂性,以及如何顺利融合现有企业知识库和搜索引擎等。
总的来说,本文展示了检索增强生成技术在无线通信知识管理领域的巨大潜力。尽管未来仍有进一步完善的空间,但当前成果已经为提升大语言模型在无线通信知识管理中的应用效果和价值奠定了坚实基础。