最近认识的人用Chat GPT的越来越多,和他们聊天时发现,许多时候Chat GPT并不能很好地解决他们的问题,详细询问后我意识到,如果大家了解Chat GPT相关的概念和原理,大部分问题还是可以避免或者解决的。
今天就跟大家分享下我所理解的Chat GPT相关的几个概念,这应该可以帮助大家更有效地使用它。
首先,我们使用时通常要先选择模型,那么怎么理解模型呢?
01 模型
模型,也就是LLM(大语言模型,Large Language Model),是底层实现AI聊天的技术,主要用于生成文本,所以也称之为Generative AI。
近半年比较流行的包括:
-
GPT-3.5,是Chat GPT官方网页应用默认使用的模型。
-
GPT-3.5-Turbo,Chat GPT官方网页开通Plus会员(20美元,折合约150人民币)后,即可使用GPT-3.5的Turbo加速版,响应速度更快。
-
GPT-4,Chat GPT最新一代已公开模型,有更强大的推理能力,同样需要Plus会员才可使用。
-
Claude 2,由原Open AI副总、GPT-3项目负责人2020年出走创办的Anthropic打造,其中初代Claude作为潜在的第一款真正意义的AI聊天工具,直接推动了ChatGPT的问世,所以是目前在综合能力上仅有的能与GPT系列抗衡的模型。
-
微软版本的Azure GPT,微软作为Open AI的大股东,拿GPT系列模型在自家的云服务Azure上做了一些商业化动作,Azure GPT和Open AI GPT能力基本保持一致。
当然,不同版本的GPT模型都提供了成熟的API,所以才会有像AIYAX(https://chat.aiyax.com)这样的众多第三方AI聊天服务。
那么,这么多模型有什么区别呢?
不同模型的主要区别包括三点:
推理能力(Reasoning Capability),指的是根据提示(Prompt)生成合理响应的能力。可以类比为人类的智商,推理能力越强,越可以快速、准确地帮我们生成内容。
响应速度,模型生成响应的速度,现在主流AI聊天服务都使用流式响应,表现出来就是响应是一个字一个字蹦出来的,这个蹦字的速度即是响应速度,比如GPT-3.5-Turbo的响应速度明显比GPT-3.5快。
支持上下文(context)的数量,比如GPT-4,有8k context和32k context之分。上下文越大,说明模型参考的聊天内容越多,理论上回答就更合理准确。
以上的三点可以帮助我们对比不同模型的优劣,其中第三点上下文我觉得可以扩展开谈一谈我的理解,因为它决定了一些聊天应用的隐含行为,了解它有助于大家对响应结果有更合理的期待。
02 上下文
前面提到了模型的一个特征就是上下文,比如比较流行的GPT-3.5-Turbo分为4k context和16k context,这里的4k或者16k指的是支持的上下文的最大token量。4k对应4000个token,16k对应16000个token,那么这里的token又是什么意思呢?
这里的token是NLP(自然语言处理,Natural Language Processing)中的语言单位,是最终模型要处理的内容。也就是说,我们的输入最终会转换为token交给模型处理,所以模型提供者会以token为单位来定义上下文的上限。
以中文为例,一个汉字转换为token后大约对应0.5-2个token,这会因模型而异,不同模型将语言转换为token的机制是可能不同的。
为什么说理解上下文可以有助于我们对结果有合理的期待呢?因为上下文主要包含三个部分:
-
系统提示,System Prompt
-
提示,Prompt,是聊天中的一问
-
响应,Completion,是聊天中的一答
其中系统提示只有一个,提示和响应一般成对出现并且是多个,组成一问一答的聊天。也就是说,聊天工具会尝试向模型发送同一聊天中的尽可能多的问答记录,但是不会超过该模型上下文的最大值,同时还要保留一定的token量给响应内容。
如果我们一直在同一个聊天中问问题,就会发现,回答出现了绕圈的现象:Chat GPT不记得前面的问题,也不记得自己前面的回答,这就是因为聊天太大了,前面的对话不会再作为上下文发送给模型。
还有一个典型问题是,我想让它生成一个1000字的文章,它总是生成一半就中断。这是因为上下文的大小包含要给出的响应的大小,如果上下文中给响应预留的token量小于1000字的token量,就会造成响应不足1000字即中断。
这种情况下,可以通过提示“继续”来让Chat GPT继续未完成的文章。同时,我们可以推理出,在4k context的GPT-3.5-Turbo模型中,是无法生成大于4000字的文章的。
另外,上下文包含的两种提示:系统提示和提示,它们又有什么区别呢?
03 提示
前面我们提到了系统提示和提示的一个区别:在一个聊天中系统提示只有一个,但提示会有多个。
另外它们的作用也是有所不同的,系统提示因为是一个聊天中的全局定义,所以它更侧重于定义角色、响应格式等,比如许多网站将Chat GPT包装成不同职业的聊天机器人,像律师、教师等,就是通过定义系统提示来实现的。
提示,或者说普通提示、用户提示,是用户每次输入的问题或者对问题/响应的描述、纠正等,更侧重于细节。
最后,与大家分享一个AIYAX里可以设置,但是Chat GPT官方网页没有显示的概念——温度。
04 温度
温度(Temperature),也称之为生成温度,是控制生成文本的随机性和创造力的一项重要参数。
生成温度参数通常设置在0到1之间,决定了生成文本的保守程度和多样性。较低的温度值(接近0)会使生成的文本更加保守和确定性,更加贴合训练数据的风格和结构。这种模式下,模型更趋向于选择概率最高的词,并且生成的文本更接近于训练数据样本中的表达方式。
相反,较高的温度值(接近1)会增加生成文本的多样性和冒险性。在这种模式下,模型更容易选择低概率的词汇和生成与训练数据不同的表达方式,以产生更具创造性和多样性的文本。
通过调整生成温度,可以根据应用场景的需求来调节生成文本的保守性和多样性。较低的温度可用于生成与训练数据相似、较为合理的文章,适用于需要比较保守和可控的应用,如文本编辑或技术写作。而较高的温度可用于创意类应用,如故事生成或新颖文本的产生。
因此,在使用GPT模型时,可以调整生成温度,以获得适合任务的文本生成结果。
不过,Chat GPT官方网页的温度设置一直是个谜,AIYAX之#秋实之美#前的默认生成温度是1,也就是说偏创意和随机,后面会调整为0.7,以覆盖更多的使用场景。
最后,希望这些分享可以对大家有所帮助。而你的关注和分享,就是对我最大的支持!
举报/反馈
原文链接:https://baijiahao.baidu.com/s?id=1774635066105887081&wfr=spider&for=pc