花了大概两天时间看完《这就是ChatGPT》,触动还是挺大的,让我静下来,认真地想一想,是否真正理解了ChatGPT,又能给我们以什么样的启发。
在工作和生活中,使用ChatGPT或文心一言,逐渐形成了习惯,总想听听它们的意见。无论是小学作文还是小的编程测试例子,大部分情况下还是能够给我一个比较靠谱的意见,而且是个“知错就改”的AI,对于它的回答不满意,多换几个提示词总能给我想要的效果,这确实是令人吃惊和感到不可思议的,特别是在对有错别字的提问,上下文关联提问,能给出让人看得懂的回答,仿佛它存储了无穷多的知识。
首先我想到的这个模型在磁盘上存储大概有多大,问了下ChatGPT,3.5版本模型大概1.2TB的,包括权重文件必要文件等;
GPT-3.5 模型是一个非常大的模型,具体占用的磁盘空间会因为存储格式和配置参数的不同而有所变化。然而,根据 OpenAI 的官方文档,GPT-3.5 模型的大小大约为 1.2TB。这个大小包括了模型的权重参数、配置文件以及其他必要的文件。
请注意,这个数字是基于 GPT-3.5 模型的官方发布,可能会因为后续的模型更新和改进而有所变化。如果你需要具体的数字,建议参考 OpenAI 官方文档或联系 OpenAI 获取最新的信息
真是难以置信,在1.2TB的存储上,竟然可以满足各行各业人的提问,而且效果都还不错。
这里面存储的不光是知识,还有逻辑,最神奇的是语言习惯的逻辑,以前开发个类人的对话机器人是非常难的,别说人类语言,光编程语言编译都要进过词法分析、语法分析等复杂过程才能理解它要做什么,而GPT不用理解它们,就经过训练好,奇妙给出了符合语法和语义的答案。
所以,我认为GPT是一种高纬度的压缩,是对各类知识的内容的高纬度的提出抽象、是对语言高维度的抽象,虽然我们还不能完全理解这种逻辑。举个简单的例子有一张很大的纸,如果平铺开来可能有足球场那么大,但是如果折叠下,通过多次折叠后,这张纸,可能会变成拳头大小的模型。为什么它会变小了,因为它的维度变化了,它的被压缩了。 GPT -3 的参数有1750亿个,每个参数看做一个维度的话,表示的维度空间是很高的,所以它能压缩信息。
同样可以根据这样的启发,如果高维度的数据想要简化,需要降低维度,降低维度其实是减少信息的密度,如果高维度的信息,展开在低纬度是很庞大的。 这有点像一个立方体,如果展开平铺下来是有六个面的。
除了GPT能够回答各行各业的知识外,还有个神奇之处,它能给出网络上没有出现问题的答案,而且是合理的答案,而且是符合人类语言习惯的答案。
所以引申出了一个问题,GPT是否真的理解了我们的问题,如果理解了,为什么有的简单的数学计算会计算错误,如果没理解,它又如何给出了网上没有问题的合理答案那?
书中给出GPT本质在做续写,我们给出问题或提示词后,GPT根据我们给出的问题或词语给出最合理的续写,它觉得下个出现的词语靠的概率,即哪个词最该出现,就给出哪个词语,在使用过程中常常看到单词是一个个蹦出来的,那是从众多单词中,选择最合理的单词输出出来,这个类似于N-Gram,即每个单词出现不是孤立的,和它前面的N个词语相关,这就可以找到序列的秩序关系,同样的原理,对我们的语言也是一样,如果N足够长,那生成的句子,读起来就是合理的了,更奇妙的是这种合理不光是语言通顺与否的合理,而且是逻辑的合理,没有使用任何推理,仅仅使用神经网络训练出来的模型,就可以达到这种令人惊叹的效果。
这让我想到的那句话,一切答案都在问题之中,有了GPT,我们有了问题也就有了答案,嗨你看提问比答案更重要了,也可以说我们能理解的答案,其实蕴藏在以前的文本之中,只是GPT帮我们拼凑出来,展现给我们。
从某种意义来说,知识本质就是一种词语的关系,词序的排列,不光包括科学知识,还包括语言习惯、语义语法知识,只要维度够高,任何知识都可以通过单词来组合得到,这种组合的逻辑关系和内在联系可以将知识或信息进行高度的压缩。
看极客时间 《AI大数据模型之美》的一个对评分进行情感分析的例子,通过简单的调用GPT的API,计算评论内容和"好评"、"差评" 这两个词语的向量相似性,轻易地区分出了好评的评论和差评的评论:
import openai
import os
from openai.embeddings_utils import cosine_similarity, get_embedding
# 获取访问open ai的密钥
openai.api_key = os.getenv("OPENAI_API_KEY")
# 选择使用最小的ada模型
EMBEDDING_MODEL = "text-embedding-ada-002"
# 获取"好评"和"差评"的
positive_review = get_embedding("好评")
negative_review = get_embedding("差评")
positive_example = get_embedding("买的银色版真的很好看,一天就到了,晚上就开始拿起来完系统很丝滑流畅,做工扎实,手感细腻,很精致哦苹果一如既往的好品质")
negative_example = get_embedding("降价厉害,保价不合理,不推荐")
def get_score(sample_embedding):
return cosine_similarity(sample_embedding, positive_review) - cosine_similarity(sample_embedding, negative_review)
positive_score = get_score(positive_example)
negative_score = get_score(negative_example)
print("好评例子的评分 : %f" % (positive_score))
print("差评例子的评分 : %f" % (negative_score))
得分结果:
好评例子的评分 : 0.070963
差评例子的评分 : -0.081472
好评的评论和"好评"这个词语的相似性,比和"差评" 这个词语的相似性要大,相反也一样成立,简单来说在高维度上,好评的评论和"好评" 靠的更近,和"差评"离的更远,简单又神奇,就算把例子复杂化一点,用否定的否定来构建句子,仍然可以得到一样的效果:
good_restraurant = get_embedding("这家餐馆太好吃了,一点都不糟糕")
bad_restraurant = get_embedding("这家餐馆太糟糕了,一点都不好吃")
good_score = get_score(good_restraurant)
bad_score = get_score(bad_restraurant)
print("好评餐馆的评分 : %f" % (good_score))
print("差评餐馆的评分 : %f" % (bad_score))
得分结果:
好评餐馆的评分 : 0.062719
差评餐馆的评分 : -0.074591
这说明,这些单词或句子,在一个高维度的空间上,是存在一定的关系的,这个关系就是我们平时所说的所谓的知识。
以前我们都是通过学习文章,通过整体去理解文章,先通过语言的逻辑理解文章的含义,再通过逻辑抽象理解文章表达的内容。而GPT,是从单词的关系去理解,只要战的维度高,就能学到其中的逻辑其中我们低维度视角无法看到的内容。
据说GPT新版本已经通过了图灵测试,从一定程度上来说,它具备了人类所说的智慧,文字一直认为是人类才会的高级玩意,通过它我们交流了思想、传递了知识、交换了信息,现在GPT一个模型,只有1750亿参数的模型,通过学习网络上的文本资料,竟然构建了这样的知识库,不存储知识,却能根据知识回答问题,不存语法规则,却回答的合情合理,这种神奇的涌现效果,让人感觉神奇的同时,思考起来又不寒而栗。
随着它学习的越来越多内容,不光有问题,据说还有视频、录音、图片等,它会越来越像个各方面都在行的专家,可以在我们冥思苦想没有灵感的时候,给我们以启示,这些知识都是存在的,而我们却不知道竟然可以如此组合,它不能从无到有创建出一个独立的分支,却可以通过各种组合将现有的知识利用达到极致,这种组合何尝不是一种创新,利用它的能力,未来人类在交叉学科上,在知识本质的理解上,语言规律的摸索上,给人们更多的启迪。
这让我想起了GPT的API中的温度参数,这个参数在0-2之间变化,温度为0,输出的回答变化越小,温度为2,输出的变化最大,而且每个输出在语法和语义上都是合理的,答案的多样性,也许是人们创新的一个源泉了。
所以GPT的智能会越来越高、越来越像个各方面的专家,能给使用者带来不可思议组合式的创新。
现在的GPT,对发明者来说,他们开始可能也不知道会有如此神奇的效果,通过多层神经网络的组合,通过大类的样本的续写训练,竟然涌现出来了类人的智能。
为什么2千亿左右的参数或神经网络的连接就可以模拟人类的知识和语言习惯,除N-Gram外,是否蕴含其他逻辑,其原理到底是什么,如果参数增加到万亿,训练出来的又是一个什么样的怪物,它是否拥有着自主意识,这个自主意识和人类的又肯定不同,它可能不是人们想的那样,有什么邪恶的想法,想要逃出来,统治人类啥的。它可能只是按照自己的规律走,只是从人类角度来看它可能有了自己的思考和逻辑,它不知道,可能只是沿着最优解去做,统治不统治人类可能只是个副产物。
我不知道,AI最终是否会统治地球,只是知道,如果统治了地球,那一定是以一个我们难以想象或理解的方式。
本文由 mdnice 多平台发布