前言
前些年随着互联网的普及,token一词逐步被越来越多的人熟知,再加上后来区块链技术的成熟应用,token也被用在了加密货币领域,再到当下火热的AGI大模型,当你在和别人聊天聊到token,不知道具体含义时,请不要错过本篇文章,我将尽可能在保持原意的前提下,以大白话式的方式从互联网软件开发、区块链加密货币、AGI大模型三个领域为你揭开token的神秘面纱。
目录
- 互联网软件开发领域token是个啥?
- 区块链或虚拟币领域token是个啥?
- 大模型领域中token是个啥?
- 大模型是如何划分token的?
- 为什么很难精确计算一段文本的token数量?
PART /01
互联网软件开发领域token是个啥?
token 是一个在计算机技术中出现频率很高,但含义极其庞杂的词,token 是一个在交互中建立访问权限的东西,就像古代的将军必须手持虎符才有调兵遣将的权限,所以在这种场景下,token 一般翻译为”令牌“。
实质上token通常表示一段特定的文本,具有特定的含义和作用。例如,访问令牌(access token)用于身份验证和授权,API令牌(API token)则用于访问和使用特定的API服务。token的主要作用是帮助系统识别和管理用户的权限,确保只有经过授权的用户才能访问特定的资源或服务。
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxMjMsInVzZXJuYW1lIjoiam9obl9kb2UiLCJleHAiOjE2Mzc0Nzk0MDJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
token产生过程通常是由后端开发人员通过代码生成,用户登录后返回给前端,在本地保存起来,后续在访问、使用特定API服务或者进行身份验证的时候,拿出来用作身份识别。大概就长上图这个样子,看不懂没有关系,也不需要看懂,因为它是一段加密后的文本。
PART/ 02
区块链或虚拟币领域token是个啥?
在区块链技术中,token 是指代币、数字货币资产,它是加密货币的一种形式,例如以太坊上的 ERC-20 代币。这些代币可以用作数字资产,用于代表特定资产或价值。它们可以用于去中心化金融(DeFi)平台上的交易、投资、支付等活动。
具体什么是代币,代币可以在以太坊中表示任何东西,比如:
- 在线平台中的信誉积分
- 游戏中一个角色的技能
- 彩票卷
- 金融资产类似于公司股份的资产
- 像美元一样的法定货币
- 一盎司黄金
PART/ 03
大模型领域中token是个啥?
在自然语言处理领域中,文本通常会被分解成token,以便进行词法分析、句法分析、语义分析等任务。在大模型领域,“token"是模型输入的一部分,用于表示输入文本的语义和结构。比如读这么一句话"A happy dog walking on the grass.”,像人类阅读的时候一个词一个词的进行一样,大语言模型也要把它划分为若干个部分,然后逐一处理每个部分,也就是一个 token,可能是词语、子词或字符。
PART/ 04
大模型是如何划分token的?
按词划分?
你可能会说那直接就和人一样,把这句话按词划分就好了,完全可以这样,这句话一共就有8个(加上句末的句号),这种方法不是不可以,但用词划分的方式有一些弊端。
首先英文的词汇量很大,有几十万的样子,这样模型就要维护一张特别巨大的词汇表,就会导致后续的处理性能降低。
另一方面这个词汇表是在模型训练阶段的时候,从训练语料中构建的,在训练语料可能难以覆盖到全部的词汇,因此实际预测的时候可能遇到一些不在词汇表的词,比如一些生僻词,就直接把模型干傻眼了。
按字母划分?
那你可能又会想,那能不能按照单个字母进行划分呢?完全可以这样,这句话一共就有29个 token。
因为英文字母一共就26个字母,即便再加上一些标点符号和数字词汇表大小最多不过一二百。后续预测的时候也不可能遇到没有见过的字母,但这种方法的缺点非常大,因为单个字母基本上不能包含任何有效的信息,模型在训练的时候就直接干瞪眼。
介于单词和字母两者之间的划分
更为合理的划分方式是介于字母和词汇两者之间,我们以常用的 BPE(Byte-Pair Encoding)算法为例,简单来说就是我们在大量的语料中不断地统计出现频率最高的连续字母,比如 in就是两个经常连续出现的字母,把它记录下来作为一个整体,继续统计,而由于 in + g 这个【现在进行时】也是经常出现的连续字母,所以在接下来的统计中,ing 也大概率会记录为一个整体,如此不断地重复统计,直到满足我们要求的词汇表大小。
这时候我们会发现词汇表中除了一些常见的词以外,还有许多英语中经常出现的一些固定词缀,最比如现在进行是 ing,过去时ed、表示最高等级的 est 等等,这些连续字母片段就是 token。
如果按照这种方式,那么现在这句话一共就有9个 token ,working 被拆分为了 work +ing 这种方式的好处在于既缩小了词汇表的大小,也解决了单个字母缺乏有效信息的问题,甚至说更好地表达到词汇中的信息。
PART/ 05
为什么很难精确计算一段文本token的数量?
既然我们已经知晓了划分的具体方式,但为什么在实践的过程中总感觉还是很难计算出一个文本精确的token数量?
首先,BPE 算法的 token 是在训练过程中要做不断地通过统计合并而产生的,那么不同模型训练语料一旦产生变化,这个结果都有可能不一样。所以你看OpenAI的计算token就是区分模型版本的。
其次,即便是同一个语料,如果我们选择不同的统计合并次数,这个结果也会不同。比如现在GPT模型的 token 统计过程已经做得很深了,基本上把所有常见的词都合并成了一个 token,即使是有 ing这样的后缀词也纳入到了一个 token 之中,但像 hang out 这个不是很常见的词仍然被分为了 hang 和 out 两个 token。
最后,BPE 只是其中的一种算法,其实还有像 Word Piece,UniLIM 等众多的算法,不同算法产生的结果也不尽相同,所以token数量的测算只能是针对特定模型、特定版本、特定算法的。因此也就给我们造成了一种测不准的感觉。
综上所述,互联网软件开发领域,token就是一个令牌,进行身份认证;虚拟币领域token就是代币或数字资产,可以进行交易支付;大模型领域token是模型输入的一部分,可能是一个词、子词或字符,token在不同领域具有不同的含义和用途,但都起到了标识、验证和管理的作用,使得各种系统和应用能够更安全、高效地运行。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。