Langchain-ChatGLM配置文件参数测试

1 已知可能影响对话效果的参数(位于configs/model_config.py文件):

# 文本分句长度 
SENTENCE_SIZE = 100# 匹配后单段上下文长度 
CHUNK_SIZE = 250 
# 传入LLM的历史记录长度 
LLM_HISTORY_LEN = 3 
# 知识库检索时返回的匹配内容条数 
VECTOR_SEARCH_TOP_K = 5 
# 知识检索内容相关度 Score, 数值范围约为0-1100,如果为0,则不生效,经测试设置为小于500时,匹配结果更精准 
VECTOR_SEARCH_SCORE_THRESHOLD = 0

其中可能对读取知识库影响较大的变量有CHUNK_SIZE(单段参考上下文的长度),VECTOR_SEARCH_TOP_K(知识库参考文段数量),和VECTOR_SEARCH_SCORE_THRESHOLD(知识库匹配内容需要达到的最小相关度)。本实验将通过向不同参数配置下的模型进行提问并对不同模型对各个问题的回答进行排名。最后,我们实验Friedman检验和Nemenyi后续检验分析不同模型的回答排名是否具有显著差别。

2 设计提问问题
模型的知识库使用书籍《深度学习入门:基于Python的理论与实现》作为知识库。对模型的提问涵盖一下类型:
知识型(K - knowledge):关于深度学习的一般知识,不一定需要依靠知识库内容回答,但是知识库提高的参考答案
内容型(C - context):关于书中具体内容的提问,必须依靠知识库才能回答
问题同时还可以分为以下两类:
普遍型(G - general):关于笼统的概念性知识问题,或者要求总结书中部分内容
细节型(S - specific):关于深度学习知识或书中内容技术细节进行提问

每一个问题都利用下面两个分类进行描述,例如KG代表知识普遍型问题,如“什么是深度学习”,CS代表内容细节型问题,如“书中手写数字识别示例使用了什么数据集作为训练数据集”。我们对每一分类设计5个问题,一共对模型提问20个问题。

设计问题
KG:
1 什么是深度学习
2 什么是神经网络
3 什么是卷积神经网络
4 简单介绍神经网络反向传播法
5 什么是神经网络的过拟合,如何避免过拟合
CG:
1 本书主要介绍了哪几种神经网络
2 书中介绍了哪几种更新神经网络参数的方法
3 书中介绍了哪几种常用的激活函数
4 书中介绍了哪几种设置神经网络权重初始值方法
5 书中介绍了哪几种抑制过拟合的方法
KS:
1 为什么神经网络权重初始值不能全部设为0
2 为什么计算权重梯度一般使用反向传播而不是数值微分
3 为什么只有非线性激活函数可以加深网络层数
4 卷积神经网络的卷积层和池化层分别有什么作用
5 为什么训练数据集和测试数据集要分开
CS:
1 书中建议解决分类问题的神经网络输出层使用什么激活函数
2 书中手写数字识别的示例程序使用什么数据集作为训练数据集
3 为什么书中手写数字识别的示例程序要对输入数据集进行批处理
4 书中讲到了batch normalization有哪些优点
5 书中讲到了哪些容易出现过拟合的条件

对于每一类问题,我们按照以下标准进行排名:
K问题:
1 答案正确性:模型的回答是否存在知识型错误
2 引用相关度:模型引用的原文内容是否和答案相关
C问题:
1 内容全面性:模型是否正确复述了书中全部的相关内容
2 原文契合度:模型是否编造和书中没有提到的内容(无论编造的部分是否正确)
3 引用相关度:模型引用的原文内容是否和答案相关

3 实验步骤
1 修改模型配置文件中的相关参数,启动langchain-ChatGLM的webui.py程序打开在线提问界面
2 在提问界面中,选择传入《深度学习入门:基于Python的理论与实现》pdf文件作为知识库。
3 将上面设计的20个问题依次传入模型,并保持模型的完整回答和原文引用保存
4 在不同参数配置下重复1-3步骤

实验组:

1 VECTOR_SEARCH_SCORE_THRESHOLD对对话效果影响
序号 CHUNK_SIZE VECTOR_SEARCH_TOP_K VECTOR_SEARCH_SCORE_THRESHOLD
1 250 5 0
2 250 10 0
3 500 5 0
4 250 5 500

回答得分
在这里插入图片描述

数据分析:
在使用Friedman检验和Nemenyi后置检验后(具体分析见excel文件模型对话打分)。四个模型在回答全部类型问题上的能力没有显著差别(p-value = 0.8368)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对于四个分类问题的回答(知识型,内容型,普遍型,细节型),四个模型答案依然没有显著差别。值得注意的是对于内容型问题,四个模型见差距较大,并且模型1和模型2,模型和模型3有较大的组间差距。但是这些差距在统计上不具有显著性(整体p-value=0.233, 模型1和模型2 Q test p-value=0.350,模型2和模型3 Q test p-value=0.350).

实验结论和参数调优建议:
langchain-ChatGLM模型结合本地知识库回答答案会受到CHUNK_SIZE, VECTOR_SEARCH_TOP_K,VECTOR_SEARCH_SCORE_THRESHOLD参数影响。但是这些参数变化对模型回答的总体准确性不具有显著影响。

另外值得注意的是,在第2,3组实验中,较高的CHUNK_SIZE和VECTOR_SEARCH_TOP_K使得模型回复内容明显较长,使得模型对服务器显存消耗明显增大。(在1,4组实验中显存一般会在15个问题左右时爆满,而在2,3组中只需要1到2个问题)。在实际应用中,这两个参数应该适当选取较低值,或者直接使用默认的初始值250和5

本实验可能存在以下漏洞:
1 在选择知识库数据时只使用了《深度学习入门:基于Python的理论与实现》这一本书进行测试。没有对大规模知识库进行测试,也没有测试在同一知识库传入不同题材文本是否会对模型进行干扰
2 LLM的回答完全由我个人打分排序,根据我本人对相关知识点和书中对应内容回忆以评分,具有一定主观性。另外由于无法进行双盲实验,我对不同模型的预期可能会对打分产生误差。
3 LLM回答会对历史对话进行参考。由于如果每一次问答都重启模型过于耗时耗力,本实验中只有在模型显存爆满时才会终止本轮对话,这使得模型的历史问题可能对模型回答有影响。

住:完整对话内容过长(差不多有10万字),没法在文章里展示出来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32824.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

艺术生必须掌握!ChatGPT艺术设计技巧

艺术生多掌握 ChatGPT艺术设计技巧,对艺术设计和创作绝对有莫大的裨益!让AI辅助到艺术创作的过程中,实现与AI共创,不但提高效率,还能拓宽设计思维。AI在2023年的头几个月发展趋势实在猛烈,相信今年必定是人…

李白号称诗仙,为何七律连有些二流诗人都敌不过?

诗仙、诗圣、诗鬼、诗豪、诗奴、诗魔,几千年诗坛,能有个名号当真是件很洋气、很了不得的事。而在这众多名号中,“诗仙”二字分量特别重。顶着“诗仙”之名,按道理水平自然要比一般的诗人高明不少,但事实上,…

唐代诗人梳理

一、诗人年代时间轴 唐代诗歌一般来说可以分为初唐、盛唐、中唐、晚唐四个时期。 二、各时期梳理 1、初唐 初唐诗坛的佼佼者是陈子昂。唐朝建立之初,占据诗坛的依然是南朝那种轻浮绮靡的宫体诗,直至唐高宗年间,生活遭遇、思想感情与宫廷诗…

李白、高适、杜甫,情义深深,抵不过乱世游离

李白,字太白,是唐朝浪漫主义诗人,被后人誉为“诗仙”,杜甫,字子美,唐代现实主义诗人,李白和杜甫合称为“李杜”。高适,字达夫,唐代诗人。李白,杜甫&#xff0…

唐代著名长诗TOP10

10、《茅屋为秋风所破歌》杜甫,171字 此诗是“诗圣”杜甫旅居成都草堂时所作,最能体现诗人忧国忧民的崇高思想境界,是杜诗中的典范之作。 9、《将进酒》李白,176字 此诗是“诗仙”李白于天宝十一年创作。已经五十多岁的李白与友人…

【acwing4408李白打酒】

acwing4408李白打酒 要点 状态转移一般都是从最后一步来考虑的题目中有动态变化的元素&#xff0c;这是转移的要点 思路&#xff1a;这是一道状态机题目&#xff0c;要把三种状态都用数组表示出来&#xff0c;所以要三维 #include <iostream> #include <cstring>…

开源一个古诗词项目(收录了58万古诗词和3.8万古诗词作者)

介绍&#xff1a; 最近在工作之余做了一个开源项目&#xff0c;使用uniappphp开发的古诗文项目&#xff0c;在网上爬取了古诗文58万篇&#xff0c;古诗文作者3.8万人&#xff0c;将这些数据进行了一些处理&#xff0c;让数据库更加的容易查找到自己喜欢的古诗文。 开源项目地…

那些理工生与古诗佬李白等的对饮“诗光”

那些理工生与古诗佬李白等的对饮“诗光” 古诗惊艳 那些理工生与古诗佬李白等的对饮“诗光” 举觞白眼望青天 皎如玉树临风前竹杖芒鞋轻胜马&#xff0c;谁怕&#xff1f;一蓑烟雨任平生。雾失楼台&#xff0c;月迷津渡人生如逆旅&#xff0c;我亦是行人黄河落天走东海&#xf…

“国风顶流”霸王茶姬,眺望书画诗酒的远方

一杯来自云南的原叶鲜奶茶&#xff0c;如何征服消费者的胃和心&#xff1f; 茶饮赛道素来竞争激烈&#xff0c;十年时间&#xff0c;行业从鲜奶茶卷到奶盖茶、水果茶、多料奶茶等一个又一个新品类。茶饮品牌如雨后春笋般涌现&#xff0c;甚至不少咖啡品牌都跨界而来&#xff0…

[图文]诗圣,诗仙,诗魔的风流事迹

核心提示&#xff1a;有道是自古才子多风流&#xff0c;诗与情素来就是水乳交融、形影不离的。更有趣的是&#xff0c;中国的诗人一向以骚客自居&#xff0c;这里的骚客原本有忧国忧民的意思在内 有道是“自古才子多风流”&#xff0c;诗与情素来就是水乳交融、形影不离的。更…

【唐诗学习】四、边塞诗派代表

四、边塞诗派代表 边塞诗派起源 盛唐是中国历史上一个空前的盛世&#xff0c;国库丰盈&#xff0c;社会十分安定&#xff0c;百姓的幸福指数高。 盛唐是中国历史上一个空前的盛世&#xff0c;国库丰盈&#xff0c;社会十分安定&#xff0c;百姓的幸福指数高。唐太宗以后的几个…

python古诗词风格分析_鉴赏古诗词语言风格

鉴赏古诗词语言风格 古诗词有哪些语言特点呢?了解古诗词的语言特点可以提高做题速度。以下是小编分享的鉴赏古诗词语言风格&#xff0c;欢迎大家阅读! 古诗词语言特点 1、形象生动。其特点是状物描形&#xff0c;使人读了富有实感&#xff0c;如入其境。 如宋祁的“红杏枝头春…

一个程序员的诗集【古诗篇】

一个程序员的诗集【古诗篇】 《键盘赋》 荧屏闪烁夜幕临&#xff0c;声声俱下雏形现。 莺莺燕语频繁道&#xff0c;忽闻几句糟粕语。 霓虹深处一点白&#xff0c;埋首伏案三人行。 屏灭灯熄蹒跚步&#xff0c;又闻莺莺燕语声。 《春秋.其一》 鸿鹄误入雁群中&#xff0c;嬉戏…

【唐诗学习】二、初唐诗词领路人

二、初唐诗词领路人 唐朝之前的主流诗人都是在宫廷混口饭吃&#xff0c;他们整天围着皇帝转&#xff0c;写的大多是宫廷奢靡的生活&#xff0c;还会拍皇帝马屁。主流诗人受前朝影响很大&#xff0c;就这么发展到了初唐。照这个剧情发展下去&#xff0c;诗歌迟早要完蛋。 可有些…

【唐诗学习】三、盛唐诗歌的老大哥

三、盛唐诗歌的老大哥 1. 李白的伯乐——贺知章 在聊盛唐诗人之前&#xff0c;我们要先了解一位出生在初唐的大诗人&#xff1a;贺知章 盛唐诗歌虽然是中国文学的巅峰&#xff0c;但它不是蹿天猴&#xff0c;这个顶点不是“噌”一下就上的&#xff0c;需要有个老大哥把初唐诗…

gitee项目部署步骤及克隆或提交仓库用户名密码错误解决

git项目部署 1、gitee官网 https://gitee.com/ 2、新建仓库 点击“新建仓库” 填写仓库进行&#xff0c;进行创建即可。 3、快速进入 当上一步仓库创建成功后&#xff0c;会自动进入如下图页面。 这时候找到我们项目-->打开cmd黑窗口或者在代码编辑器中打开我们需要部署…

甘特图:项目进度计划编制的工具

项目进度管理来自于对项目的监管和控制&#xff0c;这是在项目计划阶段就需要进行的工作&#xff0c; 对企业而言&#xff0c;项目代表着可观的收益&#xff0c;出于利益最大化地考虑&#xff0c;企业往往对项目管理投入大量的人力物力&#xff0c;以期达到最优的结果。 1、项…

甘特图怎么做项目进度计划

甘特图怎么做项目进度计划&#xff1f;首先我们先了解一下&#xff0c;什么是甘特图。 甘特图&#xff08;Gantt chart&#xff09;又称为横道图、条状图(Bar chart)&#xff0c;是由提出者亨利L甘特来命名的。甘特图通过条状图来显示项目&#xff0c;进度和其他时间相关的系统…

软件项目进度计划

软件项目进度计划 进度的基本知识任务定义任务关系历时估算历时估算的基本方法-传统定额估算法经验导出模型工程评估评审技术(PERT)预留分析Jones的一阶估算准则类比估算专家判断基于承诺的进度估算 历时估算的基本方法-敏捷敏捷历时估算 进度计划编排进度编制的基本方法超前(L…