原文链接
mp.weixin.qq.com/s/O7E8c5kFf…
作者就是我啦 欢迎关注
前言
其实现在写这个文章,连买菜大大妈可能都在聊 GPT 的时候,都感觉已经过了热度,有的人试用了就就再也没有折腾过,有的人已经把他弄成了日常,每天不问都不行的那种,还有一种就是无论它来或者不来。
补充序
本篇文章一开始名字叫《大白话讲ChatGPT》,不过最近类GPT的模型层出不穷,所以这里借聊GPT来聊聊大模型的大概的历史。
大家对它最感性认识就是ChatGPT里的 Chat
我问它答,继续问, 继续回答
这种交互很原始,就跟我们搜索问题一样,但是很高效,很多问题能够通过聊天的形式解答。
甚至时不时的会让人感觉非常惊艳。
历程
(由于不是专门做算法 AI 的,我今天的交流呢,只能算是一个门外汉,做一个抛砖引玉,如果哪里讲的不太对,欢迎大家交流 o(╯□╰)o )
GPT 全称 generative pre-trained transformer
我们中文又叫 生成式预训练大模型程序
Generative 生成式,那就 很直观,生成这种形式来生成有意义的文本
Pre-trained 预训练 就是我们理解的很多很多浩如烟海的数据进行预训练
Transformer 呢,好像不是大模型?这意思是变形金刚?
诶 这里就说道一个重点了,ChatGpt 里面最重要的东西 Transformer
不过这里先按下不表,先聊聊NLP的历史。
NLP
说起语言处理,大家都会自然而然的想到一个词 NLP( 自然语言处理),这也算是计算机一门源远流长的学科了,
平时大家都接触的不算少,最有名就是傻乎乎的 siri,还有更傻的小爱同学
估计大家用的最顺手的就是翻译
注意这里有亮点!
翻译这件事件其实也是源远流长了,老 NLP 了,早在冷战时期,美国 IBM 就开始建立了乔治敦实验室专门就是为了把俄语技术资料翻译成英语
当然当时用的方法不是什么机器学习,主要还是一些规则,把英语和俄语都拆成很小的单元,然后再去用词汇和语法规则去对应,有点像我们查字典,而且就是就是就像我们把每个词语拿出来硬翻译一样。
后来计算机行业才慢慢开始有了机器学习的说法
CNN
机器学习大家其实以前遇到比较多的是图像识别这一类的,比如我们组的 Ai 训练平台用的 yolo 就是用的 CNN 卷积神经网络,而 CNN,大家对其的大概印象就是一个二维矩阵(先以灰度图为例)
- 输入层
- 卷积层 使用卷积核对特征进行提取(当然这里面涉及到,步长,留白,还有卷积核的选取,这里面就有太多可说的了,这里不是主讲这个先略过)
-
激励层 是为了将这种线性关系打乱
-
池化层 其实还是为了降低数据纬度,将特征搞得更明显
当然还有各种各样的层放在里面 最后输出一个模型用于我们识别
Word2vec
从上面看出来其实计算机打交道的都是这些数字,上面这些数字代表的就是黑白图的里面每个像素的灰度,那么计算机理解这些灰度其实就是讲这些值看成了向量去做计算。
同样的 计算机是怎么去理解现实世界的呢,譬如说我们在浏览淘宝的时候 有很多商品,比如这时候搜搜了一个 4090 显卡,那在我点进某个宝贝的时候,一般下面都会提示很多猜我喜欢的商品。
计算机是怎么理解我的商品的,然后推荐出猜我喜欢的商品的?
我们可以姑且认为每一个商品都有 颜色 ,大小,型号,我将其理解为 x,y,z,那么将这些商品是排到一个
x,y,z 三维的坐标轴上,我们就可以看到这样的分布
其实可以看到 离我看的这个商品欧拉距离最近的 一定就是很相近的商品,计算机也就是理解相似的。
语言
那刚才说了那么久关于向量,数据的事情,那么语言呢,语言是不是也可以向量化?
当然是可以,但是语言怎么向量化?
可能有人会说像素都用颜色值表示,语言可以用 unicode 表示,
像素 的颜色值它是有具体含义的,这个值就是这个数,就代表这个黑的程度
语言经过成百上千年的锤炼是很复杂的,举个例子
比如 饼 这个子。unicode 是 u997c
但是 u997c 只是一个编号 他并没有什么含义,并没表达出 这个东西 又大又圆 还能吃
比如 🍪 的 unicode 是 ud83cudf6a
ud83cudf6a 和 u997c 是什么关系,一点都表达不出来
但是 🍪 和饼就是有关系的,我们该如何表达这层关系?
通过上面的例子,可以看到,语言是一门高度抽象的东西,我们甚至连他的维度都不知道,也不能说是分成 x,y,z 这三维就能去做做解释,它很明显是非常高维度的东西,我们只能通过计算机自己去找到语言特征,以及向量。
举个例子
我们让计算机去理解古诗,我们第一步先确定语言的维度,要复杂一些比如 512 维,就是把古诗的每个字都理解成一个 512 维的向量,然后我们随便把每个字都给一个向量,打乱了,丢在计算机训练。
怎么训练?
我们让计算机自己找文本然后在里面抠掉一些字,让它自己用自己的理解 (也就是当时向量的位置) 去填。
对了就奖励,错了就挨一巴掌。简单的来说就是完形填空。
比如
举头望明月,低头思____
回答 大饼
啪,就是一巴掌,然后调整向量值,继续猜,
回答 饭香 ,啪,又是一巴掌,继续调整向量值
最后上千百次的训练,终于调整到了合适的向量,回答出来 明月,
同样的将大规模的文本进行这样训练后,我们就能做到文本的向量化了
如图所示,很明显,向量几何距离离得近的,都是意思相近的 比如 男人 和 man 就挨得很近
文字向量化后事情就变得非常有意思,比如能做一些向量计算
Sun + flower = sunflower
或者如图
这个过程叫做词的向量化
也不是什么新鲜事情,
其实在 2013 年 google 就提出来 word2vec
BERT 还有一个就是 OpenAI 的 GPT
不过他们各自取用了 transformer 这里面不同的部分去做训练
BERT 使用的是 transformer encoder 的部分
GPT 呢则是使用的是 decoder 的部分
这两部分是能拆开使用的
BERT
BERT(Bidirectional Encoder Representations from Transformers)是一种双向模型,它通过同时学习文本的前向和后向上下文来获取深入的语义理解。这使得 BERT 在处理需要对上下文进行全面理解的任务(如问答、命名实体识别等)方面有优势。BERT 通过预训练和 Fine Tune(微调)两个阶段进行训练,预训练阶段使用了大量非结构化文本来学习通用的语言表示,而在微调阶段则针对特定任务进行优化(需要指定数据集)。
关键点
双向
微调
GPT
GPT(Generative Pre-trained Transformer)是一种单向(从左到右)模型,主要关注根据给定的上下文生成文本。相较于 BERT,GPT 在生成性任务(如文本生成、摘要等)上表现更好。GPT 也采用了预训练和微调(prompts)的策略,但它的训练目标更注重文本生成,而且他的微调非常简单不需要新的数据集,而是你输入(prompts)的形式告诉他要怎么做,做什么他就可以做到相应的任务。
关键点
单向
prompts
在最初的阶段,很明显 BERT 显得更专业,更加适合单个专业领域 AI,所以一开始在专业领域,GPT 无法在一些需要对上下文进行深入理解的任务中超越 BERT。毕竟 BERT 是对全文去理解,GPT 一开始就是有自废武功的嫌疑。GPT 毫无疑问是被吊打的,而且当时 AI 大家的统一观点就是 专业 AI 做专业的事,比如识图的就是识图,翻译的就是搞翻译,写代码的就是写代码。
一般人的话可能就把 GPT 改造成专职的代码机器人或者翻译机器人走专攻路线了,但是 OpenAI 铆足了劲要搞大力出奇迹,觉得生成的结果不好,那肯定是数据量不够多,所以继续疯狂堆料。
从 GPT-2 到 GPT-3,模型的参数数量和训练数据规模都大幅增加,使得 GPT 在各种 NLP 任务中的性能得到了显著提升。
GPT-3 是一次惊人的变革,它具有超过 1750 亿个参数的时候,出现了奇迹。
它好像会自己思考了
GPT-3 表现出了强大的零样本(zero-shot)和少样本(few-shot)学习能力,在很多任务中可以在不进行微调的情况下达到甚至超越 BERT 的性能。GPT-3 的出现引发了对大规模预训练模型潜力的广泛关注,并为自然语言处理领域带来了许多创新和应用。
那么后来的故事大家都知道了 gpt 3.5 开始对外商业化,GPT4 大家更是一票难求。
实践探索
MLC-LLM
自己弄一个 Chatpdf
ChatGPT 的使用
对于我们写代码来说 ChatGPT 使用价值是显而易见的
写代码
处理数学问题
梳理文档
支持的插件(需要 gpt plus 才行)
需要设置下 支持 beta 模式
然后就能看到相应的插件了
ChatGPT 的注册
注册教程 (必须国外 ip 国外电话号)
充值 PLUS
国外信用卡
说实话最近打的比较严格,这么充值可能会被取消
ios 礼品卡
需要 美区 apple id,支付宝购买礼品卡,ChatGPT ios 客户端
ChatGPT Plus 最新开通攻略:美区 App Store 方案(20230529 更新) – 掘金
总结
(因为某些封禁的原因) 为了能用上一次 gpt 真的很不容易,注册充值先搞个一天两天的,不见得能用上,用上了不见得能用的长…
平替
能顺顺利利的使用几次 GPT 其实并不容易,充 plus 可能会掉,普通的号隔一段时间可能就被封了
所以我们能不能不那么折腾的使用 GPT,有一些平替网站可以能跟 GPT 唠唠。
chat.forefront.ai/ GPT4 Claude
chat.theb.ai/ GPT3 GPT3.5
bing.com/chat GPT3.5/4
you.com GPT-3.5 / Internet
更多mp.weixin.qq.com/s/jx-2Ai2YK…
www.jiqizhixin.com/articles/20…
可视化 towardsdatascience.com/deconstruct…