admin管理员组

文章数量:1662883

几年前在一次工作中,第一次接触到自然语言处理模型 BERT。

当时在评估这个模型的性能时,领导说这个模型的性能需要达到了 200 token 每秒,虽然知道这是一个性能指标,但是对 token 这个概念却不是很清晰。

因为当时接触视觉模型多一些,在视觉模型的性能评估中,有一个关键指标叫做 fps,通俗理解就是一秒钟可以处理的图片数。

fps 数值越大,说明模型吞吐性能越好,那么 token 每秒又是什么呢?要搞清楚这个,就得先来了解一下什么是 token。

1、什么是token

在计算机领域中,token 通常是指一串字符或符号,比如微信公众平台的密钥,就被称作一个 token,其实就是一长串的字符。

而在人工智能领域,尤其是自然语言处理(Natural Language Processing, NLP)中, “token” 指的是处理文本的最小单元或基本元素

它可以是一个单词、一个词组、一个标点符号、一个子词或者一个字符。

目前很多大模型无论展示能力,还是收费定价,都是以 token 为单位,如 OpenAI 的收费标准为:GPT-4,1k 个 token 收费 0.01刀。

那么如何理解 token 呢?

假设要让一个 AI 模型识别下面的一句话:“I love natural language processing!” 。

模型并不是直接认识这句话是什么意思,而是需要先将这句话拆解成一个个的 token 序列。

比如这个句子可以分解成以下的 tokens:

  • “I”
  • “love”
  • “natural”
  • “language”
  • “processing”
  • “!”

最后的标点符号同样是一个 token,这样模型看到的就是基本的 token 单元,这样有助于 AI 模型理解这个句子的结构和含义。

2、如何拆分 token 呢?

在 NLP 任务中,处理文本之前,需要先将文本进行 tokenization,也就是将文本 token 化,然后再对这些 tokens 进行操作。

目前有很多算法可以完成这个 tokenization 的过程,这里先不展开。

看到这里你可能会问,一个 token不就是一个单词吗?

其实不是这样的,就像我们上面说的,一个 token 可以是一个单词,也可以是一个词组或者一些子词。

比如在 tokenization 阶段,可能会把 “New York City” 这三个单词当做一个 token,因为这三个单词合在一起具有特定的意思,叫做纽约市。

还可能把 “debug” 这个单词看作两个 token,分别为"de" 和 “bug”,这样模型可能知道 “de” 前缀代表“减少”的意思。

如果再遇到诸如 “devalue ”时,就会把它直接分为两个token,分别是 “de”和 “value”,并且可以知道 devalue 代表"减少价值"的意思。

这样的 token 就属于单词中的子词,这样做有很多好处,其中一个好处便是模型不需要记住太多的词。

(photo by AI)

否则,模型可能需要记住"bug"、“debug”,“value”,"devalue"四个token.

而一旦将词分成子词,模型只需要记住"bug"、“value” 和 “de” 这三个 token 即可,而且还可以扩展识别出 "decrease "的意思。

看到这理解了吧,一个 token 可能会代表是一个单词,也可能会是一个词组,或者字符和标点符号。

3、一个有趣的测试

其实有个很简单的方法可以测试一下模型在处理文本时,是否是按照 token 为最小单位来处理的。

我们利用一个大模型,比如 chatGPT 3.5,让他来对一小段文本进行反转操作。

可以看到,句子中的“一个”反转之后仍然是“一个”,而不是"个一"。

这可能就是因为在模型处理时,“一个” 被当做了一个 token 来对待,而这又是一个基本单元,无法再进一步拆分完成反转。

而如果使用 GPT-4 来进行同样的实验,可以看到它已经把这个问题修复了,这是因为 GPT-4 中大幅更新了逻辑推理能力,在更复杂的场景下它甚至会自己边写代码来完成复杂的逻辑的推理。

如果你有chatGPT 的使用环境,可以测试一下看看它是否可以将句子反转过来。

总的来说,token 可以理解为自然语言模型处理文本的最小单位。

它不一定是一个单词,可能是一个词组,也可能是一些前缀如“de”,也可能是一些标点(比如感叹号可能代表更加强烈的感情)等。

知道了 token 是什么,那么 token / s 的意思就很简单了,这个单位就代表了模型一秒钟可以处理的 token 的个数。

这个数字越大,说明模型处理文本的速度更快,无论是识别文本,还是输出文本,用户用起来,也就更加流畅。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓

本文标签: Token