微信扫码
与创始人交个朋友
我要投稿
最近看李宏毅教授的《生成式人工智能导论》和《这就是ChatGPT》,发现以前一些认知是错误的?,记录一下:
1、文字接龙
之前理解大模型的文字接龙是将问题和答案分开处理的,以为AI消化了问题后,开始按概率一个字一个字的出答案。
实际上,问题和答案是一个整体,大模型在生成答案时,问题和答案是不分开的。
模型出的第一个字,会与问题中的每个字进行注意力计算;
出的第二个字,会与问题中的每个字+答案第一个字进行计算;
出的第二个字,会与问题中的每个字+答案第一个字和第二个字进行计算;
依次到结束。
2、概率与多样性
之前以为大模型接龙每次都接概率最高的词。
实际上,局部最优未必整体最优。类似天龙八部的玲珑棋局,先局部送死才能赢得最后胜利。
接概率最高的词,容易出现的问题是:
一是,答案趋于单调,问相同问题回答相同答案;
二是,容易陷入循环,句子长了后就会出现结巴或饶舌现象。
所以接龙时会采用多种策略,以确保答案的多样性,避免单调或循环,比如:
1)温度,即随机性;
2)Top-K,按概率大小排序,取前K个结果,从结果里面随机选一个;
3)Top-P,找几个概率相加等于P的结果,从这里几个里面选择一个。
还有其他方法等。
3. Token
之前以为Token是由大模型自己训练切分的,它根据训练资料,可能会输出token“风和日丽”这个成语。
实际上,在训练初期,开发人员就定义好了token词表(比如llama2有32k,llama3是128k)。
这个词表包含了数字、字符、简单的单词或短词等开发人员设定好的token。
这些token可以组成长单词。但大模型是不会输出一个未定义token的。
一般情况下,多个token才能组成一个中文字,类似“风和日丽”这样的成语,肯定不会是一个token,除非在词表中单独定义。
为了适应某种场景,单独定义的情况有可能在垂直大模型中出现,比如某些医疗词语。
让模型逐个输出“对乙酰氨基酚”中的每个汉字,难免出错。
4. 向量的叠加
每个Token都对应一个向量,这个向量是通过训练得到的,称为embedding。
这些向量有两个特点:
一是,意思相近的Token会训练出相近的向量;
二是,这只是词表中词的向量,可以算基础向量,比如bank这个单词有两个含义,一个是银行,一个是河岸,但他们都是同一个基础向量。
单词在句子中经过注意力机制和位置编码后,基础向量会添加额外的含义,这时候银行bank和河岸bank的向量就会变的不一样。
这个叠加的过程也是多次多层的,神经网络一层一层的处理(添加、合并等等)一些信息。
5. 使用工具
之前认为使用工具是特殊的一种方式,其实使用工具也是文字接龙。
具体实现是模型接龙接到这个字时,从结果项中根据概率选出一个结果,这个结果是一个工具标识,比搜索、计算等。
程序就会执行这个工具,工具执行结束后,把执行结果放回到句子里,然后继续往下接。
比如问“1美元兑换多少人民币”,AI回答“1美元可以兑换”,这时“换”后面要接什么呢,模型算出来的结果是调用“搜索/计算器”工具。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-09-22
大模型代理框架AutoGen_实战篇
2024-09-22
神奇!LLM大模型还可以这样改进
2024-09-22
谈谈CoT和推理的Scaling Law
2024-09-21
OpenAI o1 团队在线答疑:o1的o指OpenAI,强化后的推理有泛化能力,未来模型思考时间可控!
2024-09-21
大模型的威力,远不只是聊天框
2024-09-21
OpenAI o1的架构流程已被Claude破解了?
2024-09-21
RAG检索失败率降低49%?Anthropic-Contextual-RAG方案解析-兼看老刘的课堂三部曲
2024-09-21
Multi-Agent架构-CrewAI详解
2024-07-18
2024-03-30
2024-04-26
2024-04-11
2024-05-06
2024-06-12
2024-07-09
2024-05-09
2024-07-25
2023-07-01
2024-09-21
2024-09-21
2024-09-21
2024-09-21
2024-09-21
2024-09-21
2024-09-21
2024-09-21