
Transformer通关秘籍
文章平均质量分 84
学习了解大模型的技术,搞透彻 Transformer 架构的算法技术,这里的内容有点全哦。
董董灿是个攻城狮
阿里云社区专家博主,AI算法工程师
展开
-
Transformer 通关秘籍9:词向量的数值实际上是特征
在前面的文章中,大概花费了几节的篇幅,详细介绍了 token 以及词嵌入向量的概念。到这里,你应该可以理解了:在计算机的眼里,所有的文本首先都要经过分词转换为 token ,然后再使用词嵌入算法将 token 转换为词向量。如果还有不理解的相关内容,可以返回前述几节再详细阅读一下,或者在本节下留言。本节将通过一个例子,来帮你更加通俗的理解词嵌入向量代表的含义:实际上,词向量中的数值,代表的是单词的语义在各个维度上的特征。原创 2025-04-03 10:07:41 · 730 阅读 · 0 评论 -
Transformer 通关秘籍8:词向量如何表示近义词?
在进行文本处理之前,文本转换为词嵌入向量是必须的,并且要转换为具有多个维度的高维向量,以此来衡量文本的语义。在GPT-4的词嵌入空间中,推荐使用余弦相似度来衡量向量的“距离”,这是因为 GPT-4 把嵌入向量标准化到了1,从而使得余弦相似度与欧氏距离在衡量向量相似性上具有一样的排名。在其他的场景下,也可以使用余弦相似度这一指标来衡量向量的相似性。比如衡量两个文本或图像是否相似,直接计算其余弦相似度,也是一种简单有效的办法。原创 2025-04-02 19:32:49 · 774 阅读 · 0 评论 -
Transformer 通关秘籍7:词向量的通俗理解
首先,词嵌入的作用,是将整数(这里就理解为 token ID 就好了)转换为一个固定大小的向量。这些转换过程可以通过模型的大规模训练来完成。转换完之后的向量可以捕获以及表达 token 之间的复杂关系,比如语义关系、语法关系等。这些向量通常被称为嵌入向量,用多维数据进行表示,每一维都代表 token 的一些隐含特征。举个例子,假设 cat 转换为词嵌入向量后为 [100, 200, 300]。这里是为了举例子,用了一个仅包含3个特征(通常情况下为512个特征)的向量。原创 2025-04-01 14:59:42 · 567 阅读 · 0 评论 -
Transformer 通关秘籍6:词汇表:文本到数值的转换
前面几节一直在介绍 token 相关的内容,相信你看到这里,对 token 肯定很了解了吧。如果对 token 本身还有其他疑问,可以在本文下留言。本节开始,进入下一步骤,由 token 到数值的转换。以上3个步骤中,每一个其背后都有重要的意义和作用。本节先介绍第一个步骤:文本到数值的转换。原创 2025-03-31 10:51:51 · 959 阅读 · 0 评论 -
Transformer 通关秘籍5:GPT4 模型的 tokenization 的可视化网站
在前面几节,你了解了 token 的概念以及对文本进行分词的大致过程后。本节给出一个使用 GPT4 模型(当前 OpenAI 最强大的模型)拆分 token 并将拆分结果进行可视化的网站,你可以去这个网站上测试一下分词效果。网址:https://platform.openai.com/ tokenizer。原创 2025-03-27 10:10:40 · 430 阅读 · 0 评论 -
Transformer 通关秘籍2:利用 BERT 将文本 token 化
前面两节分别通过两个代码示例展示了模型将文本转换为 token 之后是什么样的,希望你可以对此有一个感性的认识。本节来简要介绍一下将一个连续的文本转换为 token 序列的大致过程,这个过程被称为分词,也叫 tokenization。在你没了解这方面的知识之前,如果让你实现一个类似的算法,你会如何来实现呢?我想你可能最先想到便是使用空格来进行分词。原创 2025-03-26 16:39:17 · 822 阅读 · 0 评论 -
Transformer 通关秘籍3:利用 GPT2 将文本 token 化
在上一节,利用 BERT 模型将一个文本进行了 token 化。那你可能会问,是不是所有的模型将同一个文本 token 化之后,结果都一样呢?当然不是。这是因为不同的模型对文本进行 token 化时使用到的算法不一样。在 BERT 中用到的是 WordPiece 算法,而 GPT 系列模型将文本进行 token 化时,使用的则是 Byte-Pair Encoding(BPE)算法,这两种算法虽然不是本专栏的重点,但后面也会专门来讲解一下。原创 2025-03-25 07:56:48 · 432 阅读 · 0 评论 -
Transformer 通关秘籍2:利用 BERT 将文本 token 化
在上一节,我们介绍了 token 的概念。你可以这么认为, token 是自然语言处理场景(如文本生成、AI聊天)下,AI 模型能够处理的最小单位。在计算机视觉中,模型以像素为单位来处理图像像素之间的关系,而语言模型则是以 token 为单位理解 token 之间的关系。下面通过一个小例子,来展示一下语言模型是如何将一段文本转换为 token 的,以及模型将文本转换为 token 之后是什么样子。原创 2025-03-24 10:47:45 · 524 阅读 · 0 评论 -
Transformer 通关秘籍1:什么是 token?
在计算机相关领域中,token 通常是指一串字符或符号。比如微信公众平台的密钥,就被称作一个 token,其实就是一长串的字符串。在人工智能领域,尤其是自然语言处理(Natural Language Processing, NLP)领域中, “token” 指的是处理文本时所能处理的最小单元或基本元素。它可以是一个单词、一个词组、一个标点符号、一个子词或者一个字符。原创 2025-03-09 11:29:51 · 688 阅读 · 0 评论 -
DeepSeek 的含金量还在上升
CUDA 编程之所以说是英伟达软件生态的护城河,原因是英伟达的编译器对 CUDA 语言做了很多优化和适配,使 CUDA 编写的程序可以非常容易且高效的运行在 GPU 芯片上。CUDA 也是一样的,它本身也是一种类 C 语言的“高级语言”,说它高级是相对于底层汇编而言的,而非真正的高级语言。但虽然如此, CUDA 的护城河仍然存在,因为并不是所有的公司都能做到手写汇编,这里的技术壁垒还是挺高的。要想真正打破 CUDA 护城河,需要重新定义和建立新的芯片架构和编程范式,这一点在目前的情况下还是挺难的。原创 2025-02-04 20:13:09 · 6661 阅读 · 3 评论 -
5分钟搞懂大模型后处理的重复惩罚
在生成文本的过程中,有时候模型会倾向于输出相同的词或短语,这会导致生成的文本缺乏多样性和流畅性。为了防止这种情况发生,便会对已经生成过的词汇进行“惩罚”,也就是降低它们再次被选择的概率。如果不这么做,模型可能会不断重复一些已经生成的词,这不仅会让生成的文本显得机械,还可能偏离我们想要表达的意思,而通过惩罚,模型会更倾向于选择其他没有出现过的词,从而生成更连贯和自然的文本。那么如何完成惩罚呢?完成惩罚的方式也很简单,一般会通过调整模型生成的词的“得分”(Logits)来完成。原创 2024-11-17 17:26:17 · 1541 阅读 · 0 评论 -
如何使用 python 调用 llama3 进行对话?
为你希望下载的模型存放的目录,由于llama-3 的模型非常大,上述命令会下载大概 32 GB的数据,因此,在下载前你需要你找一个磁盘空间足够大的目录来存放。Meta 已将最新的 LLaMa3 进行了开源,因此,我们也可以方便的使用 Python 进行 LLaMa3 模型的调用和开发。需要注意的是,在下载LLaMa3 的时候,需要前往。填写一份申请,官方审核通过后,你才拥有下载 LLaMa3 的资格。的开发环境下进行,否则输出一句话都会运行非常久的时间。同样的,LLaMa3 模型的运行最好在有。原创 2024-09-25 22:11:17 · 1049 阅读 · 0 评论 -
Transformer 论文通俗解读:FFN 中的非线性表达
因此,在这类的线性变换层后面,要添加非线性的激活函数,使得整个变换不至于是线性变换,从而使得神经网络模型可以拟合成更加复杂多变的非线性系统。本文暂且不论 FFN 中添加 FC 的作用,你只需要了解在多个线性层中间一定要添加非线性层,来防止多个线性层叠加退化成一个线性层就可以了。关于 FFN 中添加 FC,也就是线性层的作用,在后面的文章中会进行详细介绍。虽然基础,但是我还是希望针对这部分内容做一个更加详细的说明,希望你可以对此有一个更深刻的认识,而不仅仅是 Transfomer 结构。原创 2024-07-22 17:45:28 · 1099 阅读 · 0 评论 -
手把手带你从零微调大模型!
微调大模型需要非常高的电脑配置,比如GPU环境,相当于你在已经预训练好的基础上再对大模型进行一次小的训练。但是不用担心,本篇文章会使用阿里魔塔社区提供的集成环境来进行,无需使用你自己的电脑配置环境。你只需要有浏览器就可以完成。本次微调的大模型是零一万物的 Yi 开源大语言模型,当然微调其他大模型的过程和原理也有差不多。这里说明一下,阿里魔塔社区对于新用户提供了几十小时的免费GPU资源进行使用,正好可以来薅一波羊毛,学习一下大模型的微调。话不多说,直接开始。1. 账号和环境准备然后按照下面的箭头操作。原创 2024-07-22 17:35:46 · 1701 阅读 · 0 评论 -
Transformer 论文通俗解读:FFN 的作用
在经过前面3节关于 Transformer 论文的解读之后,相信你对提出 Transformer 架构的这篇论文有了一定的了解了,你可以点击下面的链接复习一下前3节的内容。总的来说,这篇论文虽然重要且经典,但很多关于Transformer 架构的技术细节并没有介绍的很清楚,因此读起来有些晦涩。之前的几节文章在通读这篇论文时,采用的是的方式来进行的。这么做的目的也很简单:帮助你了解这篇论文中每一部分的写作意图是什么。至于论文中没有详细阐述的技术细节内容,本专栏后续会继续完善。原创 2024-07-11 09:19:50 · 15126 阅读 · 1 评论 -
《Attention is all you need》通俗解读,彻底理解版:part2
在每一个block中,每个子层中都有残差连接,而残差连接(加法)要求两个输入的数据维度相同,因此作者在本段的最后一句说到,为了满足残差连接的需求,也为了使模型更加简单,所有子层输入的维度(包括Embedding层,因为Embedding的输出是MHA层的输入)和所有子层输出的维度,都是512。这是因为解码器是输出结果,只能已经输出的内容(过去)对当前输出的单词有影响,i 之后的单词的(未来)不应该对当前的输出产生任何影响。第一段内容可能是为了行文逻辑的考虑,作者引出编码器和解码器架构,为下文做铺垫。原创 2024-06-26 11:24:56 · 885 阅读 · 0 评论 -
《Attention is all you need》通俗解读,彻底理解版:part1
论文的摘要写的非常简洁明了。主要介绍了当时论文写作的背景,并提出 transformer 这一架构,同时给出了基于 Transformer 架构的模型在一些经典任务中性能数据。这一段是说,在写这篇论文时,已经由很多序列模型了,比如之前介绍的Seq2Seq结构,这些模型都是基于复杂的循环神经网络或者卷积神经网络而来的,并且他们都包含一个编码器和解码器。在一些表现好的模型中,还会在编码器和解码器之间引入注意力机制。原创 2024-06-26 11:21:18 · 1601 阅读 · 0 评论 -
如何理解AI模型的“注意力”?
以上图为例,当你注意到小狗的鼻子和眼睛以及右侧的耳朵(红色框标识)后,你会自然而然的认为,在小狗的左侧会有一只类似右侧尖尖的耳朵存在(黄色框标识)。在人工智能的发展中,注意力的出现是最令人兴奋的一项技术进步,并且这项技术将长期存在于AI的基础算法架构中,很难被替代。你可以观察上面的图像,然后思考一下:在观察这只狗的时候,你的注意力(眼睛观察的焦点)最开始放在了图像的什么地方?人类的视觉注意力,通常会用“高分辨率”关注自己感兴趣的区域(比如你的第一眼可能会落在上图中小狗的耳朵和鼻子上)。原创 2024-06-05 09:51:34 · 541 阅读 · 0 评论 -
搞懂这个例子,再也不怕词向量了
对于这些有些枯燥的概念,有些乏味的数学表达,我会尽可能说的直白和通俗易懂,打通理解Transformer的最后一公里。巧的是,下班路上刚手敲完大纲,晚上一个小伙伴来咨询学习LLM的事情,问我之前写的《五一节前吹的牛,五一期间没完成,今天忙里偷闲,给完成了。在最下面增加了water单词的可视化,可以看到在上面有一条蓝色的线从上到下贯穿,一直到water则停止消失了,这条蓝色的线或许代表的是“人类”这种信息。上面放了:queen,king,man,women,boy,girl,water(无关)的可视化结果。原创 2024-05-20 22:40:11 · 867 阅读 · 0 评论 -
图解词向量的特征
巧的是,下班路上刚手敲完大纲,晚上一个小伙伴来咨询学习LLM的事情,问我之前写的《五一节前吹的牛,五一期间没完成,今天忙里偷闲,给完成了。在很多类似的测试中,都会有许多道题来让你回答,然后从多个维度、多个方面衡量你的潜力或特质,然后给出分值,最后综合来评判你是一个什么样的人。是的,在数学模型上,衡量两个人的性格数据(这里实际上是向量)是否相似,可以使用余弦相似度的方法,这个在上一节介绍过了。如果把上述例子中的得分组成的向量看做是词嵌入向量,那么其中的数值,便是代表一个单词在各个维度特征的得分值。原创 2024-05-19 22:25:17 · 1120 阅读 · 0 评论 -
通俗理解向量:从One-hot 到词嵌入
巧的是,下班路上刚手敲完大纲,晚上一个小伙伴来咨询学习LLM的事情,问我之前写的《五一节前吹的牛,五一期间没完成,今天忙里偷闲,给完成了。我们学过几何,在三维坐标系下,[1, 0, 0]、[0, 1, 0]和[0, 0, 1]这三个向量是互相垂直的,也就是互相正交独立。那么二进制向量,就是里面的数字都是二进制的,像是[0, 1, 0, 0],因为在二进制里面,数字只有 0 和 1。上表竖着看,黄色的代表是猫的编码 [1, 0, 0],浅绿色代表的是狗的编码 [0, 1, 0]。原创 2024-05-15 17:46:49 · 928 阅读 · 0 评论 -
GPT4 是如何将文本 token 化的?
巧的是,下班路上刚手敲完大纲,晚上一个小伙伴来咨询学习LLM的事情,问我之前写的《五一节前吹的牛,五一期间没完成,今天忙里偷闲,给完成了。像GPT-3.5和GPT-4这样的模型使用的方法与旧模型(比如GPT-2)会有不同,不同的token算法对于相同的输入文本会产生不同的token序列。通过该网站工具,你可以了解一段文本如何被GPT-4模型token化的,以及文本的被token化之后的token总数是多少。需要注意的是,具体的文本token化结果与模型有关。原创 2024-05-15 17:44:17 · 556 阅读 · 0 评论 -
大模型的性能是真不好调啊
,正在内测更新中。另一方面,则是可以依照自家独特的模型和算法,自定义设计出更适用于自家业务的芯片结构,这样做出来的产品性能才好。在接触的模型中,有一些模型有着非常奇怪的分支结构,有些有着非常奇怪的shape,有的有着奇怪的自定义算法。这样设计出来的芯片,在使用其进行算法开发时,才能发挥出最大的硬件潜能,才能榨干芯片的每一处性能。前段时间,在某芯片上调试大模型的一个矩阵转置算法,用了很长时间,才将其性能调到可用的范围。所以啊,一个看似简单的算法,其实背后要做的事和细节太多了,模型性能调优真的很难。原创 2024-05-12 23:14:56 · 454 阅读 · 0 评论 -
我的Transformer专栏来啦
现在很多主流的大语言模型,比如chatGPT都是基于该架构进行的模型设计,可以说Transformer顶起了AI的半壁江山。对于这些有些枯燥的概念,有些乏味的数学表达,我会尽可能说的直白和通俗易懂,打通理解Transformer的最后一公里。我会在本公众号进行文章的首发,相关文章会添加标签“Transformer专栏”,可点击文章左下角的标签查看所有文章。巧的是,下班路上刚手敲完大纲,晚上一个小伙伴来咨询学习LLM的事情,问我之前写的《五一节前吹的牛,五一期间没完成,今天忙里偷闲,给完成了。原创 2024-05-09 22:05:51 · 774 阅读 · 2 评论 -
三条命令快速配置Hugging Face
另外,如果你是在Linux 环境下做开发,建议将导入环境变量那条命令放在 ~/.bashrc 中,这样系统启动就会自动导入该环境变量,之后所有的开发就不用关心Hugging Face 有关的环境配置了。要学习与Transformer架构相关的知识,肯定要接触一些大模型,要接触大模型就免不了要从Hugging Face上下载一些模型和参数等文件。除此之外,Hugging Face 还有一个模型共享平台,类似于大模型界的Github,开发者可以在这个平台上下载训练好的大模型来使用。大家好啊,我是董董灿。原创 2024-05-09 22:03:35 · 732 阅读 · 0 评论