你是否曾经想过与一款人工智能(AI)进行对话,它可以回答你的问题、讲笑话、写故事,甚至调试代码?如果是这样,你可能想要尝试一下ChatGPT,这是由OpenAI开发的一款可以进行交互式对话的聊天机器人。
什么是ChatGPT?
ChatGPT是一款使用名为GPT-3.5的大型语言模型生成响应的聊天机器人。语言模型是一种可以预测文本序列中下一个单词或单词组的系统。例如,给定句子“天空是”,语言模型可能会预测“蓝色”、“多云”或“落下”。
ChatGPT是GPT-3.5的一个特殊版本,经过了仔细的人工调整,以使其在对话任务中表现更好。人工调整意味着使用额外的数据和反馈来调整现有模型的参数。在这种情况下,ChatGPT是通过监督学习和强化学习技术进行调整的。
监督学习是指向模型提供正确输入和输出示例的过程。对于ChatGPT,这涉及到编写对话的人类训练者,他们扮演了用户和AI助手的双重角色。他们还使用模型本身的建议来帮助他们编写逼真的响应。
ChatGPT如何使用Token?
Token是语言模型用于处理和生成文本的文本单位。例如,单词是Token,但标点符号、空格、数字、表情符号和特殊符号也是Token。
ChatGPT以几种方式使用Token来理解和生成语言:
ChatGPT通过预先训练生成了一个Token列表和一些不同Token之间的关系参数,在用户输入一段话后,它使用一个分词算法将每个输入的单词拆分成Token。例如,“Helloworld!”将被拆分为三个Token:[“Hello”,“world”,“!”]。“I’mhappy”将被拆分为四个Token:[“I”,“'”,“m”,“happy”,“”].
它为每个Token分配一个嵌入向量(由数字列表组成),表示其含义和上下文。它将每个Token的嵌入向量馈送到神经网络层(数学函数)中,从左到右顺序处理它们。它为每个Token输出一个嵌入向量,代表它应该接下来生成的内容。它使用解码算法将每个输出嵌入向量转换为一个Token。例如,输出嵌入向量[0.2,-0.1,…]可以解码为“。”(一个句号)。输出嵌入向量[0.9,-0.4,…]可以解码为“?”(一个问号)。之后它将这些输出Token连接成一组回应,并反向解码成人类的语言。
简而言之,ChatGPT通过一个复杂的列表和大量的参数来“预测”每个输入的Token组合之后应该“出现”哪些新的Token,同时还能够通过两外的参数去识别上下文关系,语句的情感参数等调整这个“预测”。
输入:你好吗?输出:我很好,谢谢。你呢?
输入会被分成四个Token:[“你好”,“吗”,“?”]。每个Token都会根据其含义和上下文被分配一个嵌入向量。
第一个Token的嵌入向量会被输入神经网络层并产生一个输出嵌入向量,该向量预测了在“你好”之后应该出现什么。该输出嵌入向量会被解码为“I”(一个代词)。
第二个Token的嵌入向量会与上一个输出嵌入向量一起被输入神经网络层,并产生另一个输出嵌入向量,该向量预测了在“你好我”之后应该出现什么。该输出嵌入向量会被解码为“'”(一个撇号)。
这个过程会一直持续到所有输入Token都被处理并且所有输出Token都被生成。
最终响应将通过连接所有输出Token而形成:[“我”,“'”,“m”,“好”,“,”,“谢谢”,“。”,“和”,“你”,“?”]->我很好,谢谢。你呢?
除此之外还有专门的未知[“unk”]Token用来代表不在Token列表的内容(如用户输入自造词或者拼写错误较为严重的单词),ChatGPT具有通过上下文为这些未知Token赋予意义的能力。同时还有停止["stop"]Token用来表示回应可以完成了。
虽然ChatGPT理论上只是在“预测”或者“猜测”一段文本之后“应当”接着的另一段文本是什么,但是如果这种“猜测”的实际效果达到了我们无法分辨的水平,那又何尝不是某种“理解”呢?(虽然对于具体标准由不同意见,但是ChatGPT已经通过了一些机构进行的图灵测试)
ChatGPT的几个版本都有何不同?要如何使用?
(这部分是我个人的真实使用感受)
同时谨记如果你有一定的英文对话能力,请务必尝试用英文向他发出指令,让他用英文输出回复,哪怕之后再让他用中文翻译一遍,ChatGPT用英文回复的质量明显高于中文,哪怕你英语很蹩脚也没关系。(当然只用中文也不是不行,只是说有能力的尽量尝试)
这个版本是OpenAI的免费公开测试版,免费注册账号,但是某些国家和地区无法使用(直接屏蔽IP),需要验证手机号。
优点:免费,界面简单,打开即用。每次对话的总长度限制是4096Token(大约3000个单词/4000个汉字,是GPT3.5本身的上限)。相比Bing版本阉割较少,同时可以进行长对话,长度只受总Token的限制
另外该版本有一个20刀每月的付费版,基本没啥区别就是每小时的请求限制没了,高峰期优先使用等,不是很推荐,建议想要大量稳定使用的用户直接去下面的Playground。
BingChat版:
这个版本是微软把ChatGPT和他们自家的Bing搜索引擎结合以后的版本,想要使用的话首先要去官网加入waitilist,完成一些任务,然后下载好Edge然后等就行了,目前来看很快就可以获得使用资格。我不太确定对于地区限制具体是怎么样的,有了解的麻烦帮我补充
缺点:对话次数有限制,高峰时是6次回复,普通时段是8次,超过该次数以后就必须重启对话。同时该版本的内置审核规则比原版严的多,很多话题它都不愿意说,有的时候甚至在回复完全无害的话题过程中突然因为检测到敏感词而中断。另一方面我个人感觉它会更倾向于把搜索的内容整理给你而非自己创作内容,这就导致某些时候他的回复长度甚至不如原版。
这个是OpenAI正式推出API之后的官方演示版本,本质上和上面的原版相同,同样不能联网,但是有很多不同版本的GPT模型可以选择,各个模型是根据特定场景微调的,主要差别针对场景优化,同时收费和性能不同。使用该版本是要按照Token收费的,但是实际上很便宜,1000个Token只要1-4美分,如果你想要长期使用的话,用这个按量付费比20刀包月核算的多。
优点:“据说”内部审查规则比原版要弱,但是我没仔细比较过。有一些参数可以自行调整比如单词回复使用的Token上限,可以自定调用的具体模型,更大的自由度,更快的相应速度。收费极其低廉。
缺点:跟原版相比差别并不大,特别是仍然不能联网。需要开通付费账号(意味着要信用卡等)。
Tips:我一般都是在原版对话太多被限制了才来用一用Playground。
蛋友里估计码农不少,ChatGPT是针对编程优化的特别是Python(因为他就是Python写的),内置代码窗口,很适合协助编程特别是初学者学习代码!总而言之就是大家有条件的一定要尝试用ChatGPT协助改善你的工作!多去试着开发他的使用方式,总会有惊喜!