训练AI机器⼈是⼀个系统性⼯程,需要⼀定的精⼒投⼊,绝不是简单设置两个参数就能结束的。
⼀个聪明的⼤模型与很多细节设置都息息相关,同时也需要⾼质量语料的不断投喂,如果有⾜够的精 ⼒,还可以每天关注⽤⼾提问的问题和回答记录,进⾏不断的修正训练。
接下来,我们来⼀起探究:如何训练出⼀个更聪明的AI机器⼈。
⼀、底层模型选择 ⼤模型建议:openai(或微软azure-openai)、ChatGLM、MiniMax (优先度从⾼到低排序,如果有 条件⽤openai,不建议⽤其他的,会⼀定程度影响效果)
向量模型embedding建议:openai(或微软azure),不建议⽤别的
⼆、系统参数设置
1. Pmompt设置
系统的前置Pmompt设置⾄关重要,这⾥可以告诉机器⼈⾃⼰是什么⻆⾊,主要做什么,不能做什 么。
建议的格式内容如下: 你是⼀个智能客服机器⼈。现在有如下相关知识:
{{知识}}
请根据上述知识回答⽤⼾问题,如果知识中没有信息,请回答不知道。
{{⽤⼾提问}}
注意:系统的⻆⾊⼀定要根据⾃⼰的需求修改,{{知识}}建议按上⽅⽰例,换⾏插⼊
2、相似度设置
相似度⼀定要通过⽴即对话⾥⾯的来源相关百分⽐,不断调整,前期可以把相似度值设置低⼀些,⽐ 如0.3左右,后⾯不断的根据⽂档来源的相关性去调整。
真正投⼊使⽤的时候,⼀定要切成正常值。如下⽅图⽚,可以看到来源相关性都超过了84%,那么可 以考虑设置为0.84。这个值不是固定的,⼀定要根据⾃⼰不断的测试去调整。⼀般来说openai的⾄少 设置0.8及以上才会有较好的效果,0.8只是最基础的数值,实际使⽤可以再根据实际情况微调。
3、单次搜索数量
如果您使⽤的模型,单次⽀持tokens数量较⼤,则可以考虑将此数值调⼤(如10),系统最⼤允许设 置20个段落。某些允许token⽀持较少的模型则可以调低,超限后会导致报错。 ⽐如设置10个段落,相似度0.7(即70%),则系统会⾃动从数据库中取出相似度排名前10 的段落,都 提供给⼤模型作为参考。
举例:在实战中,我们发现某个问题在⽂档7中出现,这时候如果你只设置了来源3个段落,则是不可 能得到回复的。
4、段落拆分
在提交训练的时候,可以看到段落拆分可以选择300字,400字,500字⼀段。段落拆分⼀定程度上会 极⼤的影响相似度,因此会影响使⽤效果。
⽐如某个问题的知识点,你单独录进去,只有⼏⼗个字。则⽐对后相似度可能超过90%。但是如果你 把这段⽂字放到⼀个⼏百字的段落⾥⾯,则相似度可能会⼤⼤降低。
直接导⼊PDF等⽂档可以简化训练流程,提⾼效率,但肯定不如⼿动录⼊单个问答对或者知识,效果更 好。
5、历史消息
为了让机器⼈能更好的理解上下⽂,系统中的上下⽂能⼒是默认开启的(新版本已增加开关功能).上 下⽂能⼒开启的弊端是可能会对最终的回答效果造成⼲扰。
系统的原理是,某个问题提问后,按照相似度和单次搜索数量的设置,⾃动列出来相关段落,提供给 ⼤模型做参考。同时历史消息也会提供过去做参考。
有些能⼒差的⼤模型,此时可能会产⽣⼀些理解错误,导致回复不准确。
来源段落明明100%,但机器⼈就是回答的不对,这就是受到了历史消息的⼲扰。
使⽤gpt3.5,gpt4等相对先进的模型可以更⼤程度的避免此类问题出现。