从0到1学习chatGPT

ChatGPT发展概况

1.1 ChatGPT的历史背景和发展历程

ChatGPT是由OpenAI团队开发的一种基于GPT模型的语言模型,旨在提供一种可用于多种自然语言处理任务的通用语言处理能力。GPT模型的起源可以追溯到2017年,当时Google推出了一种名为Transformer的模型,该模型在机器翻译任务中表现出了极佳的性能。在这种背景下,OpenAI团队开始尝试将Transformer模型应用于自然语言处理的其他领域。

在2018年初,OpenAI团队发布了第一个版本的GPT模型,该模型使用Transformer结构进行训练,并利用了大规模文本数据集进行预训练。该模型在各种自然语言处理任务中均表现出了出色的性能,例如文本生成、问答系统、文本分类等。在之后的一段时间内,OpenAI团队不断改进和优化GPT模型,发布了GPT-2、GPT-3等版本,性能不断提升,包括能够生成高质量的自然语言文章和进行复杂的自然语言推理等任务。

ChatGPT则是在GPT-3的基础上开发而来,它是一种特别针对对话系统的语言模型,旨在提供更加流畅、准确的对话体验,并支持多种不同类型的对话场景。ChatGPT在一定程度上解决了传统对话系统中出现的许多问题,例如对话流畅性、对话内容的连贯性和对话实时性等问题。

1.2 GPT模型的原理和结构

GPT模型是一种基于Transformer结构的语言模型,它主要分为两个阶段:预训练和微调。

在预训练阶段,模型使用大规模的文本数据集对模型进行训练,通过学习文本序列中的统计规律和语义关系来提取文本的表示,并将这些表示作为后续自然语言处理任务的输入。

在微调阶段,模型使用已标注的任务数据集对模型进行微调,以使其能够在特定任务上表现出良好的性能。

GPT模型的核心结构是Transformer结构,该结构主要包括自注意力机制、残差连接和前馈神经网络。自注意力机制用于提取输入序列中不同位置之间的关系,并对序列中的每个位置进行编码。

在GPT模型中,Transformer结构通过堆叠多个Encoder层实现。每个Encoder层都由自注意力机制、残差连接和前馈神经网络三部分组成,其中自注意力机制和残差连接是Transformer结构的核心组成部分。

自注意力机制的作用是在编码器中对输入序列进行编码。在自注意力机制中,输入序列中的每个位置都与序列中的其他位置进行交互,以便捕捉序列中的上下文关系。自注意力机制将输入序列分别映射到查询、键和值空间中,并计算序列中每个位置与其他位置的注意力分数,然后将注意力分数应用于值空间中的各个位置,得到加权和。这个加权和就是该位置的编码表示,其中权重由注意力分数决定。

残差连接是指将输入和输出连接起来,并在输入和输出之间添加一个标准化层。残差连接的目的是让模型可以学习更深层次的特征,同时避免深度模型中出现的梯度消失问题。

前馈神经网络是一个包含两个线性层和一个非线性激活函数的全连接神经网络。它用于在编码器中进行特征提取和转换,以便让模型更好地学习输入序列的表示。

2. 在我眼中的GPT

2.1 AI互联网时代开启

在我眼中的GPT,这是新一波互联网平台级的跃迁。

我们80后这代人,已经经历过两次互联网平台级跃迁,

• PC互联网时代:代表产品谷歌、百度、facebook等;

• 移动互联网时代:代表产品微信、滴滴、今日头条等;

我们看到了,当发生互联网平台级跃迁时,一定会带来更大的创业机会和机遇,当我们把下一个跃迁的互联网平台硬件时押宝在AR/VR设备时,GPT出现了,并以迅雷不及掩耳之势在全球开花。

其实我们都判断错了,第三次互联网平台级的跃迁并不是硬件,而是软件。

我们在一夜之间进入了AI互联网时代,现在所有大家在用的互联网产品,都将被AI重塑或被用AI加持过的产品取代。

2.2 一切都从0起步,你我都有机会成为弄潮儿

最近有很多新闻,都在讲AI会影响就业、很多人都很焦虑。在这我想说的是,与其焦虑变化不如拥抱变化。

为什么要将自己定死在被AI影响的那批人里呢?而不是AI为我所用成为弄潮儿的那批呢?我相信加入咱们星球并且大周末来听我分享的,一定是想成为弄潮儿的一份子!

在我看来,在国内我们的机会非常非常多,也非常非常大,因为GPT把国内几乎所有做人工智能的公司与我们普通人都拉回了差不多同样的起跑线。在人工智能应用层面,尤其是人机对话应用层面,大家现在几乎都处在同一起跑线,就看现在谁跑的快。

当然,还有一些不稳定因素,大家也懂,但我们要用发展的眼光看问题,不要怕东怕西,等万事俱备,还有你啥机会?现在就要尽快入局,至少先会用!

3. ChatGPT在考考中的应用实践

3.1 为什么会到用ChatGPT?

我公司是做培训行业的,主要给企业提供游戏化和数字化的培训考试服务。

在整个培训环节中,有一个最繁琐又必须要做的工作,就是出题、做题库、做试卷,给学员做效果检测。一般上述一条龙下来,至少需要个把小时。有没有可能说一句话就能把题出好,或者给一段材料系统自动给出需要的题目?这两个问题一直很困扰我,我相继拜访了火山引擎和讯飞都没有找到合适的解决办法。直至我遇到了ChatGPT!

讲真,我之前没太关注ChatGPT,我是在合肥出差完,回京前约了一个武汉的朋友,想去他那了解一下web3方面的内容,很巧的是他那天正好从上海回武汉,我俩正好坐了同一辆去武汉的高铁。于是我俩在高铁上就聊了起来。在聊的过程中,web3我没太记住,但唯独记住了他说他们公司几乎全员都在用ChatGPT而且ChatGPT写的代码还很6。

回京之后,我就开始研究,当然更大家现在遇到的问题一样,注册ChatGPT就很麻烦,使用时那就更有讲究了,好多地方都不能用。

我用ChatGPT聊了几次之后,我想要不要试试他的出题能力,还真别说,他真的能出出来,就是计算能力有点弱,答案也不全对,但这在我看来已经是巨大进步了,于是我着急研发团队,大胆的决定我们要用ChatGPT解决出题、出试卷问题。

3.2 实现过程

没有什么事是一帆风顺的,也没有什么事是大家都能理解和支持的,如果有,那一定不是什么有前途的事。

当我提出来这个在当时看来很大胆的方案时,我技术合伙人说,“强哥,这个没啥实际意义,出题的内容还不够准确,而且输出结果我们可能也控制不了”。

问题确实很多,但是在我看来,我们遇到了问题,其他人也会遇到,那我们为什么不试试呢?万一行呢?

对于这件事,我搞了个一言堂,这事必须干,而且还得干好!

最后,我们用ChatGPT+我们用已有数据训练的小模型以及一些控制和检测手段,最终完成了AI题库和AI试卷的功能开发,当前每天使用量有上万次。

3.3 最终效果

是不是看着还行。

做开拓的事,难是正常的,不被理解也是正常的,到底做不做的唯一标准就是方向对不对,方向对就要去试,不试你永远不知道对错,永远都无法成长。

4. ChatGPT其他的使用场景

在线教育:ChatGPT可以根据学生的提问,自动生成对应的解答,帮助学生快速获得学习资料。

金融服务:ChatGPT可以通过自然语言生成技术,实现智能化的客户服务和营销推广。

自动化客户服务:ChatGPT可以根据用户的问题,自动生成回答,从而实现自动化的客户服务。

智能聊天机器人:ChatGPT可以通过自然语言生成技术,实现智能化的聊天机器人。

智能音箱:ChatGPT可以根据用户的语音指令,自动生成回答,从而实现智能音箱的语音交互功能。

文本自动化处理:ChatGPT可以通过自然语言生成技术,自动生成文本内容,从而实现文本自动化处理。

文本翻译:ChatGPT可以通过自然语言翻译技术,实现跨语言的翻译服务。

除了上述应用案例外,ChatGPT还可以在智能推荐、情感分析、舆情监测、机器翻译、智能写作等领域得到广泛应用。随着GPT模型的不断优化和发展,ChatGPT在未来的应用场景和领域将会更加广泛和深入。

5. Prompt书写方法

5.1 基础4元素

  1. 模型的角色;

  2. 你的需求;

  3. 模型需要做什么内容;

  4. 模型的输出格式规则(如果有格式输入要求)。

5.2 四种常见模式

• 普通指令模式:在这种模式下,我们给模型提供一些信息,例如问题或关键词,模型需要生成与这些信息相关的文本。这种模式通常用于生成答案、解释或推荐等。特定信息可以是单个问题或多个关键词,具体取决于任务的要求。

• 格式化指令模式:在这种模式下,我们给模型提供一些明确的信息,模型需要根据这些信息生成特定格式的文本。这种模式通常用于生成类似于技术说明书、操作手册等。

• 代理人模式:在这种模式下,模型可以充当了一个代理,代表某个实体(例如人、角色、机器人等)与用户进行交互。这种模式通常出现在一些模拟场景,比如模拟面试官、模拟法官等。

• 模仿模式:在这种模式下,我们给模型提供一些示例文本,模型需要生成与示例文本类似的文本。这种模式通常用于生成类似于给定示例的文本,例如自动生成电子邮件、产品描述、新闻报道等。

  1. GPT3.5调参学习及训练

6.1 GPT3.5模型的结构和参数介绍

• max_tokens:用于控制生成文本的最大长度(以令牌数为单位)。对于生成的文本长度有严格限制的任务(如推荐系统中的短文本生成),可以设置较小的max_tokens值,以确保生成的文本符合预期的长度限制。而对于需要生成较长的文本(如文章生成),则可以增加max_tokens值以获得更多的生成文本。默认值为2048,设置范围为1到4096之间的整数。

• temperature:控制生成文本的多样性。较高的 Temperature 值会导致生成的文本更具有创造性和多样性,但是也可能会导致生成的文本不够准确和不可信。较低的 Temperature 值则会导致生成的文本更加保守和保险,但是可能会过于死板和缺乏新意。因此,在设置 Temperature 值时需要权衡准确性和多样性之间的平衡。(Temperature通常用于生成有趣、创意性的文本。)默认值为1,设置范围为0到2之间的浮点数。

• top_p:控制生成文本的多样性和保真度。Top_p 会根据生成文本的概率分布,只保留前面概率之和达到一定阈值的词语,然后再从中随机选择一个词语作为下一个生成的词语。较高的 Top_p 值会导致生成的文本更具有多样性,但是会牺牲一定的准确性和保真度。较低的 Top_p 值则会导致生成的文本更加保险和准确,但是可能会过于死板和缺乏新意。在设置 Top_p 值时,需要根据生成文本的任务类型和需求进行权衡。(Top_p通常用于生成技术文档、科学论文等需要准确性的文本。)默认值为1,设置范围为0到1之间的浮点数。

• presence_penalty,控制文本同一词汇重复情况。当此参数值大于0时,将鼓励模型生成不同的单词,并尽可能避免使用已经在之前生成的文本中出现过的单词。如果presence_penalty值越大,生成的文本中不同单词的数量可能越多。如果presence_penalty值为0,则不会考虑之前生成的单词,并且每次生成的单词概率分布都是相同的。 例如,在文本生成任务中,如果需要鼓励生成不同的单词,并且避免使用相同的单词,可以增大presence_penalty的值;默认值为0,设置范围为-2.0 和 2.0

• frequency_penalty,控制文本罕见词汇出现情况。当此参数值大于0时,将抑制模型生成频繁出现的单词,并鼓励生成罕见的单词。如果frequency_penalty值越大,生成的文本中罕见单词的数量可能越多。如果frequency_penalty值为0,则不会考虑单词的频率,并且每次生成的单词概率分布都是相同的。 如果需要鼓励生成罕见的单词,可以增大frequency_penalty的值。默认值为0,设置范围为-2.0 和 2.0。

• n:这个参数可以用于控制生成文本的连贯性和自然程度。指定使用n-gram模型进行文本生成的n的值。当n的值较小时,生成的文本会更加流畅和自然,但是可能会出现过多的复制文本。当n的值较大时,生成的文本会更加接近原始文本,但可能会出现矛盾或不连贯的情况。默认值为1,设置范围为1到5之间的整数

• stream:用于控制生成文本的输出方式。如果将stream参数设置为True,则文本将以流的方式输出,即在生成文本的同时输出文本,而不是等待文本生成完成后再输出。这个参数适用于需要及时输出文本的场景。默认值为False,设置范围为True或False。

• stop: 用于停止生成并返回结果。这个参数可以是单词或短语列表,当模型生成包含这些单词/短语的文本时,它将。这通常用于在生成过程中控制输出内容。用户可以自定义 "stop"参数, 具体应用能够节省比返回文本之后对结果进行筛选所需的时间更长时间和资源。

• logit_bias: 接受一个 json 对象,该对象将标记(由标记器中的标记 ID 指定)映射到从 -100 到 100 的关联偏差值。从数学上讲,偏差会在采样之前添加到模型生成的 logits 中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关令牌的禁止或独占选择。

6.2 GPT3.5模型的训练和调优实战

•Temperature参数

Temperature参数控制模型生成输出的多样性,越高的温度会导致更多的随机性和变化性,而越低的温度会导致更加确定性的输出。

例如,我们可以使用GPT3.5模型来生成一段关于冰淇淋的描述:

输入:请用一句话描述你最喜欢的冰淇淋。

输出(temperature=0.7):我最喜欢的冰淇淋是甜甜圈口味的,因为它有一种奶油的味道和淡淡的甜味。

输出(temperature=1.5):我最喜欢的冰淇淋是薯条口味的,因为它有一种非常独特的味道,有点咸、有点甜,但很好吃。

在这个例子中,我们可以看到,随着temperature的增加,生成的输出越来越随机和多样化,有时甚至不太符合语法和逻辑。

Top_p参数

Top_p参数控制生成输出时,只考虑概率分布的前几个最有可能的单词,从而保证输出的连贯性和合理性。例如,我们可以使用GPT3.5模型来生成一段描述“人工智能”的文本:

输入:请用一句话描述人工智能。

输出(top_p=0.8):人工智能是一种能够模拟人类智能和思维的技术,可以应用于各种领域,如医疗、金融、交通等。

输出(top_p=0.2):人工智能是一种能够模拟人类智能和思维的技术。

在这个例子中,我们可以看到,随着top_p参数的减小,生成的输出变得更加简洁和保守,但有时也会变得过于简单,缺乏细节和内容。

其余7个参数,我们有机会在星球跟大家再分享。

7.未来发展展望

1.基于GPT构建的应用将会百花齐放,应用场景更加丰富,人手一个AI助手的时代来临;

2.每个公司都会构建自己的垂直小模型,提高业务问题解决效率;

3.Prompt工程师、调参工程师市场缺口很大,催生一批新职业;

4.创业可能更容易,更拼想法和执行力;

5.GPT会从多个维度趋近并超越人类;

感谢大家在周末时间聆听我的分享!

最后更新于

这有帮助吗?