返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

更新一下对AI文字接龙、token等概念到误解

[复制链接]
链载Ai 显示全部楼层 发表于 2 小时前 |阅读模式 打印 上一主题 下一主题

最近看李宏毅教授的《生成式人工智能导论》和《这就是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美元可以兑换”,这时“换”后面要接什么呢,模型算出来的结果是调用“搜索/计算器”工具。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ