​从底层技术分析如何调教你的ChatGPT?

news2024/12/22 14:24:04

相信很多人都已经在使用类ChatGPT的工具进行工作或者娱乐了,这里说的类ChatGPT的是指和ChatGPT相同或者相似功能的产品,包括国外的开源平替模型、百度的文心一言等,但是你真的会使用这些工具和应用吗?你使用的方法是正确的吗?

自人工智能大规模发展以来,ChatGPT这东西是第二个走进普通人眼中的应用,上一个走进普通人眼中的人工智能应用还是Alpha GO,但是Alpha GO是下围棋的应用,对于普通人而言只会感叹到它的智慧程度,除此再无其他感受。但是ChatGPT不一样,它是实实在在能提高生产力的东西,也是普通人能够使用的工具,它写论文、写方案、写小说、写总结、写代码、修BUG、做算术、搞翻译、做试题,在语言领域几乎无所不能。

对于一般人来说,只要你将ChatGPT这类工具使用的好,它就能为你带来意想不到的收获。如果你是老板,在企业生产中使用了ChatGPT,就可以缩减人员编制了,ChatGPT完全可以替代掉部分员工;如果你是员工,在日常工作中使用了ChatGPT,那么你的工作效率将会成倍的提升,在这个卷天卷地卷空气的社会,你就能快人一步胜出。

接下来我们将从ChatGPT的技术原理、任务需求、应用场景等方面来简要分析一下,如何对ChatGPT发起正确的沟通,如何引导ChatGPT输出我们想要的答案。

先上案例,比如我们让ChatGPT生成一个模仿影视剧中某个角色的说话方式来写一段发言内容:

看了这个生成的结果,明显感觉差点意思,然后我们再继续调教,给它增加一些限制词,提示一下让它对自己的任务更加清楚一些,免得它乱发挥

明显这次的生成结果比上次生成的结果要好上很多了,如果觉得还是不满意,可以继续修改或者增加限制词句提示。由于接下来的提示语句比较敏感,本人尝试了OpenAI的ChatGPT原版,竟然不给生成,可能是会涉及到“日本鬼子”这几个字吧,后来使用了微软的bing接口,也被拒绝生成,试了好几次,有一次终于凭着一流的手速截图留了证据,抱着试试看的心态,结果还好,勉强生成了一些内容。

这是被拒绝的:

这是凭着手速截的图:

   上面的内容有些看不清楚,我分别裁开给大家看一下,感觉基本符合题目的提示要求:

到现在为止,我们发现了一个规律,那就是ChatGPT生成的内容完全是可以按照我们的想法去生成的,但是你需要把这些想法告诉给它,否则只给它一个题目,他就会无边无际的说一些空话,因为它也不知道你的具体想法是啥,这就和考试写作文一样,如果只给你一个题目,不限分类体裁字数等,很可能有学生会写一首诗歌提交上去。

那么接下来我们思考一下,为什么ChatGPT需要被不断的提示,才会逐渐接近我们想要的答案,这就要说到接下来的一个名词了,那就是“Prompt Learning”或者“Prompt Tuning”,翻译过来就是提示学习和提示微调,在GPT3时代的时候,OpenAI就已经开始使用“Prompt Tuning”的方法来替代“Pre Training + Fine Tuning”的方法了,这里简述一下,“Pre Training + Fine Tuning”是一种使用预训练好的模型进行微调来完成任务的学习方法,这种方法在今年以前,基本一直都是大部分研究者和企业使用的主流技术方向,但是随着大模型越来越大,Fine Tuning变的越来越难的时候,就需要Prompt Tuning方法来解决问题了,OpenAI也是最早意识到这个问题的,从GPT3就已经使用了Prompt Tuning方法,现在的ChatGPT更是将Prompt Tuning方法推向了一个新高度。

Prompt Tuning热度的上升也意味着新主流研究方向也逐渐确定了,大概率可能就是Prompt Tuning了,国内外甚至因此出现了Prompt工程师。其实从EMLO 、Transformer、BERT、一直到GPT3之前的时代,大模型的训练学习基本都是以Pre training + Fine tuning 的形式实现,很多NLP基本都是以此为基准,应用到各种各样的任务之中。

一般来说,Pre training阶段预会先训练一个Pre trained Language Model(PLM) ,然后在Fine tuning阶段根据PLM在具体任务中再次进行Fine tuning。当然这样做是有代价的,那就是Fine tuning阶段模型会引入新的Parameter,这会导致最终的结果与我们期望差异较大,而且在样本数量不变的前提下,单纯增加参数最大的问题就是会使得模型Overfitting,很大程度上降低了模型的泛化性能。再退一步来说就算没有上面的问题,随着Language Models越来越大,通过改变PLM原域Weight的Fine tune,其成本也越来越高,变革已迫在眉睫。

在GPT 3时代提出的一种基于预训练语言模型的新方法——Prompt Tuning 可能就是为解决上述问题,它主要是通过添加模板的方法来避免引入额外的参数,从而让语言模型可以在小Few shot或Zero shot的情况下也能达到我们想要的结果。个人认为其中最主要的一点就是Prompt根本不对预训练模型进行任何改动,是直接拿过来用的。它只改变输入到预训练模型里面的Prompt,通过改变这个Prompt来把域从原域(广域)切换到任务域上。

当然想要好的结果,使用Hard Prompt(Discrete Prompt)肯定不行的,可能效果还不如Pre training + Fine tuning,具体不展开了,简单说一下Soft Prompt(Continuous Prompt),Soft Prompt是把Prompt本身作为一个任务进行学习,相当于把Prompt的生成从人类prompt(离散)变换成模型自己进行学习和prompt(连续)。

如果让模型自己学习prompt,那就又回到了Pre training的问题,也就是会产生新的参数。看来引入新参数是不可避免的,为了保证学习的有效性,就需要一些soft Prompt的方法来验证,其中一种简单粗暴的方法就是把prompt变成token(当然也有其他各种混合使用的方法),这个时候的token就是prompt,它对于每个任务都是不同的,所以它可以帮助模型识别其任务到底是什么。又因为模型自己学习和tune这个prompt token,所以这个token对于模型会有非常好的效果。

总结一下来说,Pre training + Fine tuning是调整语言模型的参数,让语言模型的参数去匹配任务,当任务越来越难,模型就会越来越大,因此对整个模型的原域参数进行Fine tuning的成本也就会越来越高;而Prompt Tuning是调整任务格式,让任务格式去匹配语言模型,这对超大的PLM参数来说,完全没有任何改变(减轻了很多压力,可以搞更大的PLM了),只是增加了一些Learnable prompt token而已,当然前提是预训练模型必须足够好。所以会使用提示性、精准限制性的方法向ChatGPT提问,你才会得到更惊喜的答案,否则,开放式的提问,你只会感觉它还不如你家孩子。 

如果想让ChatGPT能更好的一次性输出人类想要的内容,就需要它自己模拟人类不断的给自己提示,然后输出内容。巧的是国外的研究团队已经替你想到了,他们基于ChatGPT改进了一种新的模型,叫做Auto GPT,听名字就知道它是一个自动GPT问答模型,实际上就是自问自答,模仿人类的问答方式不断迭代升级,有点像Alpha Zero(Alpha GO的最终版)的双手左右互搏的学习方法,在学习过程中有不懂的地方还会上网搜索学习,当然,现阶段的自问自答还是以人类的对话为基准而训练的,使用的RLHF(人类反馈强化学习方法)。可以想象一下,如果去除了人类的干预,让模型自己学习下去,毫无疑问,可能会出现另一种逻辑方式,可能是人类理解不了,但是模型之间可以理解的自然语言。

关于如何调教ChatGPT模型,以及它为什么需要被调教的内容就到此为止。后续有其他方向的技术技术更新,我们也会及时跟进与大家分享。希望国内的大语言模型在用户体验上也能逐渐向ChatGPT靠近,当然理性一点来说这种情况还需要一段时间,人工智能技术的发展和芯片技术没有太大区别,最终都是需要人才的,而国内的人工智能人才缺口超过了500多万,据工信部发布的AI人才报告显示,相关岗位的供需比甚至低于10%,这是什么概念?相当于行业需要100个人AI人才,而市场能够提供的合格人才不足10个,当然这个问题不是短期内能弥补上的,毕竟我们老话常谈,十年树人百年树木。

目前全世界500多家AI企业中,美国占到了300多家,而中国只有30多家;在硬件方面,全球90%的人工智能芯片都来自于美国,第一名的英伟达公司只发展了30年,总部同样在美国。然而,即使中美AI在硬件和研发能力上存在这么大的差距,谷歌公司的前总裁,现任美国国防部创新咨询委员会主席的埃里克·施密特仍然认为,美国需要加大AI技术研发,以应对中国日益激烈的竞争。

ChatGPT出现之前,中国的AI发展好像已经是世界第二了,大约还能看到第一名的尾巴。但是ChatGPT的出现,把我们带回了现实,中美之间的差距仍然很大。可以说,从GPT3开始,中美之间的AI技术差距就已经开始拉大了,只是在ChatGPT出来后,很多人觉察到了这一点而已。之前美国人研发的产品,比如以Diffusion Model为核心的AI绘图,再比如初代的谷歌聊天机器人,那都是开放源代码的,这让国内的高校和企业很快跟着做出来了类似产品。

但是从GPT3、DALL-E、Codex 开始,一直到现在的ChatGPT、GPT4等模型都没有开放源代码,国内自己动手做的时候就有难度了。至于国内的类ChatGPT模型,实际上的体验大家都有感悟,这里就不含开讨论了。那么难点到底在哪里呢?有人说是芯片,中国的芯片技术被外国卡脖子了,是不是在这一方面限制了AI的发展呢?其实关键不在于制造芯片的难度,不在于原材料的问题,而在于核心的AI算法,本质上比拼的是科研人员的研发能力和国家的基础学科建设,以及人工智能人才梯队的建设。而算法人才的稀缺导致了该岗位是目前人工智能行业薪资最高的岗位,去年ChatGPT还没有出来之前,脉脉人才智库发布的人工智能人才岗位薪资就显示人工智能算法工程师的平均起薪达到了32208。

在人工智能人才建设方面,国家也早已经意识到了不足之处,为了培养国内的人工智能人才,国家也陆续出台了很多相关政策来支持,包括大学专业、人工智能技能培训、甚至浙江今年开始从小学开始就把人工智能课程作为了必修课程。此外,国家也出台了相关的人工智能证书来引导行业的良性发展,其中工信部教考中心颁发的《人工智能算法工程师》职业能力证书是目前行业中报考人数较多的证书,证书分为初级、中级、高级三个级别。根据国家发布的新规,目前人工智能行业的证书都是培训+考证的方式,这也是为了杜绝以往的持证不上岗,上岗不持证的问题。该证书课程含金量高,国内很多国企单位机构以及学校老师都在报考该证书。对于想学习人工智能进入人工智能行业的人员来说,这不失为一个两全其美的方法,既学习了课程,掌握了知识技能,还获得了职业能力证书。

最后也希望国内的人工智能人才建设能够日趋完善,为国产人工智能的发展增砖添瓦。随着中美政治、经济、科研等多方面的不断脱钩,国内人工智能行业对人才的需求也会越来越大,相关的薪资待遇也会水涨船高,将会是新一轮持续时间较长的风口行业。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java ---内部类

(一)定义 将一个类 A 定义在另一个类 B 里面,里面的那个类 A 就称为 内部类 ( InnerClass ) ,类 B 则称为 外部类( OuterClass )。广泛意义上的内部类一般来说包括这四种&#xff1…

【中级软件设计师】—(针对上午题)软件工程上(三十五)

【中级软件设计师】—(针对上午题)软件工程(三十五) 一、CMM 1 2 3 4 5 二、能力成熟度模型集成(CMMI) 6 7 8 9 三、软件过程模型 (一)、瀑布模型 (二)、V模…

第八章 项目进度管理

项目进度有8个过程 1、规划项目,进度管理(计划) 2、定义活动(活动清单) 3、排序活动 4、估算活动资源(估算人力) 5、估算活动时间 6、制定进度计划表 7、控制进度 规划项目进度管理 为实施项目进…

薪资17K是一个怎样的水平?来看看98年测试工程师的面试全过程…

我的情况 大概介绍一下个人情况,男,本科,三年多测试工作经验,懂python,会写脚本,会selenium,会性能,然而到今天都没有收到一份offer!从年后就开始准备简历,年…

电容的基本知识

1、电容是电路中重要的元件,种类多、用途广,主要有插件类和贴片类两种。 2、电容主要特性参数:标称容量、耐压、误差、温度 2.1电容容量常用单位有微法《uF)、纳法《nF)、皮法《pF) 单位换算:1uF10^3nF10"6pF《电容的基本单位用法拉…

完成近4亿元C轮融资+自研底盘域控,本土线控制动玩家“拼”了

显然,线控制动赛道已经进入白热化竞争阶段。 高工智能汽车研究院监测数据显示,2022年中国市场(不含进出口)乘用车前装搭载线控制动系统(One-Box,Two-Box)上险交付合计497.39万辆,同…

java反序列化 cc链6 分析

前言 这里分析完cc1的两个以后,白日梦佬又介绍了cc6链,最主要的是这个链子不受jdk的版本影响,甚至不受cs版本的影响,这么说就是cs大部分都是可以使用cc链6,而且这个链子要简洁的很多,我一听这个好啊&#x…

springcloud-02

1、微服务概述 1.1 概念 1.2 架构演进 单体架构: 将业务的所有功能集中在一个项目中年开发, 打成一个jar包 优点:架构简单,部署成本低 缺点:耦合度高 分布式架构 按业务功能对系统进行拆分,每一个业务模块…

如何将项目提交到别人的仓库

大纲: 1、在gitee中克隆(clone)别人仓库的代码。 首先,进入别人的仓库,点击 克隆/下载 2、在你存放项目的文件夹下克隆你刚刚复制的代码 (右键点击Git Clone即可) 点击OK 就开始克隆了 克隆成功之后,文件上…

【HuggingGPT】Solving AI Tasks with ChatGPT and its Friends in Hugging Face

文章目录 所解决的问题?背景所采用的方法?取得的效果?问题所出版信息?作者信息?参考链接 所解决的问题? 当前的语言模型Large Language Models (LLMs)缺乏处理复杂信息的能力,像视觉&#xff0…

重学Java设计模式-行为型模式-中介者模式

重学Java设计模式-行为型模式-中介者模式 内容摘自:https://bugstack.cn/md/develop/design-pattern/2020-06-27-重学 Java 设计模式《实战中介者模式》.html#重学-java-设计模式-实战中介者模式「按照mybatis原理手写orm框架-给jdbc方式操作数据库增加中介者场景」…

Maven项目中出现【不再支持目标选项 1.5】的解决办法

1 快速解决【单项目】 本方法只适用于单个项目&#xff0c;新建项目使用maven还会出现问题。 在pom.xml配置&#xff1a; <properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target>&l…

高并发高吞吐IO秘密武器——epoll池化技术

1、epoll函数详解 epoll是Linux特有的IO复用函数&#xff0c;使用一组函数来完成任务&#xff0c;而不是单个函数。 epoll把用户关心的文件描述符上的事件放在内核的一个事件表中&#xff0c;不需要像select、poll那样每次调用都要重复传入文件描述符集或事件集。 epoll需要…

闲人闲谈PS之四十一——重新认识PS模块

惯例闲话&#xff1a;4月份参加了SAP咨询大师乐老师组织的公司间业务培训&#xff0c;印象极为深刻&#xff0c;乐老师从三权分立的角度同大家分析了公司间业务交易对象–库存的属地权、管理权、所有权&#xff0c;通过这种全新的视角&#xff0c;把复杂难以理解的公司交易用最…

万字复盘Vue2相关知识(适合学过但忘了然而需要上手的朋友)

目录 前言一&#xff0c;Vue2项目的创建及基本配置1.1 用脚手架创建项目1.2 项目结构1.3 入口文件main.js1.4 组件配置1.4 运行项目 二&#xff0c;Vue的基础知识2.1 数据显示2.2 数据绑定2.3 事件处理2.4 循环遍历2.5 判断语法2.6 计算属性2.7 监视属性 三&#xff0c;重要的生…

python 资料

算法和设计模式 Python实现算法和设计模式 algorithms - Python的一个算法模块. PyPattyrn - 一个用于实现常见设计模式的简单而有效的库. python-patterns - Python中设计模式的集合. sortedcontainers - 快速&#xff0c;纯Python的SortedList&#xff0c;SortedDict和So…

第1章:算法基础【AcWing】

文章目录 快速排序题目描述输入格式输出格式样例样例输入样例输出 提示 算法&#xff08;分治&#xff0c;双指针&#xff09; O ( n l o g n ) O(nlogn) O(nlogn)示例代码注意事项时间复杂度稳定性 归并排序题目描述算法&#xff08;分治&#xff0c;双指针&#xff09; O (…

数据库系统-索引

一、什么是索引 字典中的目录&#xff0c;就是生活中的索引 **索引&#xff1a;**定义在存储表基Table础之上&#xff0c;有助于无需检查所有记录而快速定位所需记录的一种辅助存储结构&#xff0c;由一些列存储在磁盘上的索引项index etries组成&#xff0c;每一个索引项又由…

诊断报文和通讯报文有什么区别?

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

YOLOv5+双目实现三维跟踪(python)

YOLOv5双目实现三维跟踪&#xff08;python&#xff09; 1. 目标跟踪2. 测距模块2.1 测距原理2.2 添加测距 3. 细节修改&#xff08;可忽略&#xff09;4. 实验效果 相关链接 1. YOLOV5 双目测距&#xff08;python&#xff09; 2. YOLOV7 双目测距&#xff08;python&#x…