名词解释
- LLM
大语言模型(Large Language Model,LLM)是一种基于深度学习的自然语言处理模型,旨在理解和生成自然语言文本。这类模型通常由数亿到数千亿个参数构成,能够处理复杂的语言任务,如文本生成、翻译、问答、摘要等。
- ChatGPT
全称为(Chat Generative Pre-trained Transformer)
Generative:生成式。
Pre-trained:预训练,大规模的文本数据上进行训练,以学习语言的结构和语义。
Transformer:大语言模型的核心技术是Transformer架构,这种架构通过自注意力(self-attention)机制来捕捉文本中词语之间的关系。比如GPT系列模型就是通过自回归(Auto-regressive)的方式,通过逐步生成文本,每次根据已经生成的部分来预测下一个词,直到生成完整的句子或段落。
- 规模化法则(Scaling Law)
也称尺度定律,是被业界认为是大模型预训练第一性原理,也是在机器学习领域,特别是对于大语言模型而言,模型性能与其规模(如参数数量)、训练数据集大小以及用于训练的计算资源之间存在的一种可预测的关系。
就是说随着模型规模的增大,每增加相同数量的参数或计算资源,可以得到更好的效果,但是获得的性能提升逐渐减少的现象。从一张卡加到 10 张卡时,可以达到 9.5 张卡的价值,但从 10 万张卡加到 100 万张卡,也许只能达到 30 万张卡的价值。
过去几年,预训练Scaling Law推动大模型依赖参数和数据扩张,但逐渐触及瓶颈。24年9月,OpenAI发布的o1模型开创性地提出1:1:1资源分配范式(预训练、后训练和推理)和新Scaling Law:通过强化学习提升微调和推理计算时间,来提升模型性能,正式开启了大模型的后训练时代。24年底,OpenAI发布了o3模型,进一步验证了这一范式的有效性。这个新Scaling Law在成为大模型发展的重点。
但其实,目前能够有足够多的资源和数据去触摸 Scaling Law 天花板的公司,全世界没几家。
ChatGPT
工作原理
我们可以简单理解为"文字接龙"。
例如:我今天去超市买了苹果和__。
A:香蕉 B:太阳 C:螺丝刀 D:酸奶
以上四个答案,我们按照正确的排序是:香蕉>酸奶>螺丝刀>太阳。
因为"注意力机制",对语言进行压缩和特征提取。这里面重要的词语有超市和苹果,它理解到在购物的上下文中,接下来可能会提到其他水果。
那么AI是如何知道苹果和香蕉相似度更高呢?我们假设用数字进行标记,取值范围是 -1 到 1:
- 对于"苹果"来说:"水果"这个特征对应的数字是 1;"味道好"这个特征对应的数字可能是 0.8;"质地"这个特征对应的数字可能是 0.8。 [1, 0.8, 0.8]
- 对于"香蕉"来说:"水果"这个特征对应的数字是 1;"味道好"这个特征对应的数字可能是 0.7;"质地"这个特征对应的数字可能是 0.3。 [1, 0.7, 0.3]
实际的维度和精度复杂得多,这里只是示意。
训练过程中,模型将每个词转换为一个高维空间中的向量(即词向量)。相似的词在这个向量空间中会被映射到相近的位置。比如,"苹果"和"香蕉"这两个词的向量可能会非常接近,因为它们都是水果,并且在许多上下文中可以互换使用。
另外,模型不仅仅考虑单个词的相似度,还会分析整个句子的上下文。通过上下文,模型能够更好地理解某些词在特定情况下的相关性。例如,在讨论"水果"时,模型会更倾向于选择与"水果"相关的词,如"苹果"、"香蕉"、"橙子"等。
其实OpenAI早在2018年6月就发布ChatGPT底层GPT技术的初代版本,但是直到22年11月底发布gpt3.5才引起大波澜。原因就是早期数据规模小,实际效果并不理想。后面OpenAI加大了向量的维度,训练数据,大力出奇迹般的让大模型量变产生质变,或者说是涌现。而为什么会这样,目前依旧无法解释。
比如,我们常用的翻译功能,以前翻译感觉它不能理解句子中某些词语的意思,但是在gpt3.5后,明显感觉听的懂人话。当模型理解你的语义时,就能更好的提供你相应的答案。
多模态
我们输入给gpt的文字,每个词(Token)都会被转换成一个个的向量(Embedding)。然后输入Transformer层处理,从而理解我们输入文本的上下文和语义。
多模态就是可以接收来自不同模态的数据输入,不局限只能输入输出文字,比如可以输入语音,图片等。例如图片,就是通过卷积神经网络提取图片里的特征信息,转换为向量信息。
多模态大模型很大的提高了沟通的效率。代表模型OpenAI的gpt-4o。
推理
可以像人一样,会花更多时间思考问题,尝试不同的策略,甚至能意识到自己的错误。代表模型OpenAI o1,擅长处理科学、编码、数学和类似领域的复杂问题,这些增强的推理功能可能特别有用。缺点是速度相较gpt-4o速度更慢,费用更高。
问题
-
幻觉
如果你经常使用ChatGPT等生成式AI工具,会发现回答会很啰嗦,说一些车轱辘话,有时还有胡言乱语(幻觉)。回答的答案对不对不好说,但是回答的速度很快,文字很通顺,看着很有逻辑和道理。
知道上面的原理,你就可以明白其中的原因。"文字接龙"的过程中,就是通过概率寻找相似性的过程,免不了就命中了较低概率的词语。
所以它更擅长的翻译,文本生成类的工作。翻译就是将一种语言文字的意义用另一种语言文字表达出来的过程。而词向量就包含这些特征,可以找出一个词语在另一种语言的相似表达。
不擅长的就是数学题,因为解数学题的过程不是线性的,例如2x7-3x4,先乘除后加减,按顺序计算肯定错的。当然实际上这么简单的题,gpt还是会的。毕竟在千亿万亿的数据量面前,你能碰见的问题,其实它都早已有了答案。同时通过不断的算法优化,也能解决部分问题。
-
失忆
记忆说的就是上下文的token数量,一个token大约是 0.75 个英语单词或半个汉字(不同模型有所不同)。目前大模型上下文都是有限的,gpt3.5时是4096,到gpt-4o时已经到了128K,注意这个数值包含输入和输出。当超过上限时,就会有一部分信息丢失掉。比如一开始你告诉gpt你的年龄是20,聊了很久后,你问它你的年龄,它会不知道。大模型的api使用费用也是通过消耗token的数量计算的。
如今解决此类"失忆"问题,目前常见的是可以通过RAG技术。还有就是技术的迭代突破:
-
25年1月15日MiniMax发布并开源了新模型MiniMax-01。技术报告中透露了MiniMax基础大模型的大胆创新:一是MoE+线性注意力机制(Linear Attention)的架构,二是上下文窗口可以达到100万个token,并且在推理期间以可承受的成本外推到400万个token。
-
Doubao-1.5-pro 使用稀疏 MoE 架构。在预训练阶段,仅用较小参数激活的 MoE 模型,性能即可超过 Llama-3.1-405B 等超大稠密预训练模型。团队通过对稀疏度 Scaling Law 的研究,确定了性能和效率比较平衡的稀疏比例,并根据 MoE Scaling Law 确定了小参数量激活的模型即可达到世界一流模型的性能。
使用技巧
-
复杂的要求或问题,分步骤去解决,让gpt给出每一步的步骤及解释。这样它会按步骤输出,这个过程它通过更多的上下文信息,更容易接到正确的答案。
-
给正确的答案格式示例,强化引导输出的结果。
如果我接着这段上下文一直提问,回答的格式或许都会是xxx可以翻译为xxx。比如我希望它直接回答出答案,不要加其他内容。
当有了上下文中我需要的正确的答案格式时,gpt会参考这些回答,保持答案符合要求。
所以在做翻译功能时,我会给他一个json格式的返回结果或是markdown表格当作示例,这样在翻译时,它就会同样返回json格式数据,格式统一,就方便处理解析数据。同时避免数据的异常造成结果的错误。
所以,如果你发现使用gpt的过程中,答案的内容已经跑偏了,就及时删除或清空错误的聊天内容。再聊下去也是浪费时间。如果有调整的空间,可以继续让gpt修正。
-
让gpt扮演角色,提问时描述详细要求。对于国外的模型最好使用英语,一方面可以节省token用量,同时便于模型理解。提示词的公式:提示词 = 角色定位 + 最终目的 + 限定范围 + 输出要求
例如翻译的时候,我的提示词是:
Below, I will let you act as a translator. Your goal is to translate any language into English, German, French, Spanish, Italian, Traditional Chinese and Portuguese, and display them in a table. You should translate naturally, fluently, and authentically, using elegant and graceful expressions.
随着模型的能力不断升级,它会更聪明,所以不需要太过于研究提示词的技巧,但是表达清晰你的需求还是关键。
-
需要注意的是,尽量不要输入太多内容,会降低生产质量,同时费用也更高。如果问的问题上下文没有关联,可以开启新的聊天进行,减少不必要的上下文干扰。
AI编程
目前AI编程领域的头部产品有Cursor,bolt.new,Copilot,V0等,各有特点。最近字节也推出了Trea。
用好AI编程工具需要具备:
- 准确的描述你的需求。
- 将复杂问题拆解的架构能力。
- 有一定的编程能力,可以分辨生成的代码的质量,避免盲目接受。
- 调试能力,快速定位问题,独立或者借助AI完成。
因此目前对于专业的程序员可以提高开发效率;对于非专业的可以完成简单原型,面对复杂任务依赖AI还是不好完成,费时费力。
一些观点
在 AI 产品经理领域------是软件工程师由于具备技术背景,对 AI 的理解和接受速度更快,而许多产品经理则相对缓慢。即使在今天,大多数公司都难以找到既懂产品开发又懂 AI 的人才,我预计这一短缺还会继续加剧。
AI 产品经理需要与传统软件产品经理不同的一组技能,包括:
- AI 技术能力。 PM 需要了解从技术角度看可以构建哪些产品,并且理解 AI 项目的生命周期------例如数据收集、模型构建、监测和维护。
- 迭代式开发。 由于 AI 开发相比传统软件更加迭代,在过程中需要更多的方向修正,PM 需要知道如何管理这样的流程。
- 数据相关技能。 AI 产品通常从数据中学习,也可以被设计成比传统软件产生更丰富数据的形态。
- 处理不确定性的能力。 由于 AI 的性能难以事先准确预测,PM 需要对这种不确定性保持适应,并且具备应对策略。
- 持续学习。 AI 技术正在快速发展。与所有致力于充分利用这项技术的人一样,PM 也需要及时跟进行业的最新技术进展、产品创意以及它们在用户生活中的应用方式。
文章观点:AI降低了编程的门槛,所以"开发什么软件"成为了关键。只要拥抱AI,持续学习,无论是PM还是开发,都可以胜任这一工作。
-
AI的实际影响:
- 加速了用AI和不用AI的不平等。
- 加速了愿意花钱使用强模型和不花钱之间的不平等。
- 加速了善用AI和不善用AI的不平等。
所以让我们都变成用AI,用强AI,善用AI的人。