结合RNN与Transformer双重优点,深度解析大语言模型RWKV

本文分享自华为云社区《【云驻共创】昇思MindSpore技术公开课 RWKV 模型架构深度解析》,作者:Freedom123。

一、前言

Transformer模型作为一种革命性的神经网络架构,于2017年由Vaswani等人 提出,并在诸多任务中取得了显著的成功。Transformer的核心思想是自注意力机制,通过全局建模和并行计算,极大地提高了模型对长距离依赖关系的建模能力。但是Transformer在处理长序列时面临内存和计算复杂度的问题,因为其复杂度与序列长度呈二次关系一直未业内人员所诟病。今天我们学习的RWKV,它作为对Transformers模型的替代,正在引起越来越多的开发人员的关注。RWKV模型以简单、高效、可解释性强等特点,成为自然语言处理领域的新宠。下面让我们一起来学习RWKV模型。

二、RWKV简介

RWKV(Receptance Weighted Key Value)是一个结合了RNN与Transformer双重优点的模型架构,由香港大学物理系毕业的彭博首次提出。其名称源于其 Time-mix 和 Channel-mix 层中使用的四个主要模型元素:R(Receptance):用于接收以往信息;W(Weight):是位置权重衰减向量,是可训练的模型参数; K(Key):是类似于传统注意力中 K 的向量; V(Value):是类似于传统注意力中 V 的向量。

RWKV模型作为一种革新性的大型语言模型,结合了RNN的线性复杂度和Transformer的并行处理优势,引入了Token shift和Channel Mix机制来优化位置编码和多头注意力机制,解决了传统Transformer模型在处理长序列时的计算复杂度问题。RWKV在多语言处理、小说写作、长期记忆保持等方面表现出色,可以主要应用于自然语言处理任务,例如文本分类、命名实体识别、情感分析等。

cke_138.png

三、 RWKV模型的演进

RWKV模型之所以发展到今天的结构经历了五个阶段,从RNN结构到LSTM结构,到GRU结构,到GNMT结构,到Transformers结构,最后到RMKV结构,下面我们一一来学习每种模型结构,务必做到对模型结构都有一个清晰的认识。

cke_139.png

1.RNN结构

RNN(Recurrent Neural Network)是循环神经网络的缩写,是一种深度学习模型,特别适用于处理序列数据。RNN具有记忆功能,可以在处理序列数据时保留之前的信息,并将其应用于当前的计算中。RNN的特点在于其具有循环连接的结构,使得信息可以在网络中传递并被持续更新。RNN由一个个时间步组成,每个时间步的输入不仅包括当前时刻的输入数据,还包括上一个时间步的隐藏状态,这样就可以在处理序列数据时考虑到上下文信息,这种结构使得RNN能够处理不定长的序列数据,如自然语言文本、时间序列数据等。RNN结构如下图所示:

cke_140.png

左边是RNN网络,右边是RNN网络按时序展开的形式,为什么要按照时序展开?主要是RNN中 隐状态更新需要依赖上一次的隐状态信息,就是我们理解的记忆信息。RNN 的基本结构包括一个隐藏层,其中的神经元通过时间步骤连接,允许信息从一个时间步骤传递到下一个时间步骤。RNN 在每个时间步骤上接收一个输入并输出一个隐藏状态。这个隐藏状态包含了网络在当前时间步骤所看到的序列的信息。这个隐藏状态可以被用作下一个时间步骤的输入。对于一个时间步骤 t,RNN 的隐藏状态的计算如下:

cke_141.png

尽管 RNN 具有处理序列数据的能力,但它们在处理长序列时会面临梯度消失或梯度爆炸的问题。这是因为通过时间反向传播时,梯度可能会迅速缩小或增大,导致模型难以学习长期依赖关系。为了解决梯度消失问题,出现了一些改进的 RNN 变体,如长短时记忆网络(LSTM)和门控循环单元(Gated Recurrent Unit,GRU)。这些模型通过引入门控机制,允许网络选择性地记住和遗忘信息,从而更有效地处理长序列。

2.LSTM结构

LSTM全称Long Short Term Memory networks,是普通RNN的变体,可以有效解决长期依赖的问题。LSTM的核心是元胞(cell)状态,输入的信息从上方的水平线经过元胞,期间只与其他实线进行少量交互,表示一些线性变换,这使得输入的信息能够较完整的保存下来,也就是说可以保留长期记忆。而LSTM对信息进行选择性的保留,是通过门控机制进行实现的。门结构可以控制通过元胞信息的多少。它实际上是对输入信息进行线性变换后,再通过一个sigmoid层来实现的,最终将输入最终转为一个系数向量,值的范围在0~1,可以理解为保留的信息的占比。如果值为0,则表示将对应的信息全部丢弃,如果为1则表示将对应的信息全部保留。LSTM共有三种门结构,分别是遗忘门、输入门、输出门,LSTM结构如下图所示:

cke_142.png

遗忘门用来控制在元胞(cell) 状态里哪些信息需要进行遗忘,以使

cke_143.png

在流动的过程中进行适当的更新。它接收

cke_144.png

和

cke_145.png

作为输入参数,通过sigmoid层得到对应的遗忘门的参数

cke_146.png

。具体公式如下:

cke_147.png

接下来就需要更新细胞状态

cke_148.png

了。首先LSTM需要生成一个用来更新的候选值,记为

cke_149.png

,通过tanh层来实现。然后还需要一个输入门参数

cke_150.png

来决定更新的信息,同样通过sigmoid层实现。最后将

cke_151.png

和

cke_152.png

相乘得到更新的信息,同时将上面得到的遗忘门

cke_153.png

和旧元胞状态

cke_154.png

相乘,以忘掉其中的一些信息,二者相结合,便得到更新后的状态

cke_155.png

,具体公式如下:

cke_156.png

LSTM需要计算最后的输出信息,该输出信息主要由元胞状态

cke_157.png

决定,但是需要经过输出门进行过滤处理。首先要将元胞状态

cke_158.png

的值规范化到[-1,1],这通过tanh层来实现。然后依然由一个sigmoid层得到输出门参数

cke_159.png

,最后将

cke_160.png

和规范化后的元胞状态进行点乘,得到最终过滤后的结果,具体公式如下:

cke_161.png

3.GRU结构

GRU (Gated Recurrent Unit)是一种用于循环神经网络(RNN)的门控机制,旨在解决长期依赖问题并缓解梯度消失或爆炸现象。GRU的结构比LSTM (Long Short-Term Memory)更简单,它包含两个门:更新门(update gate)和重置门(reset gate)。更新门负责控制前一时刻的状态信息对当前时刻状态的影响,其值越大,表明引入的前一时刻状态信息越多。重置门则控制忽略前一时刻状态信息的程度,其值越小,表明忽略得越多。GRU结构如下图所示:

cke_162.png

它只有两个门,对应输出更新门(update gate)向量:

cke_163.png

和重置门(reset gate)向量:

cke_164.png

,更新门负责控制上一时刻状态信息

cke_165.png

对当前时刻状态的影响,更新门的值越大说明上一时刻的状态信息

cke_166.png

带入越多。而重置门负责控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略的越多。接下来,“重置”之后的重置门向量 

cke_167.png

与前一时刻状态

cke_168.png

卷积

cke_169.png

,再将

cke_170.png

与

cke_171.png

输入进行拼接,再通过激活函数tanh来将数据放缩到-1~1的范围内。这里包含了输入数据

cke_172.png

,并且将上一时刻状态的卷积结果添加到当前的隐藏状态,通过此方法来记忆当前时刻的状态。

最后一个步骤是更新记忆阶段,此阶段同时进遗忘和记忆两个步骤,使用同一个门控同时进行遗忘和选择记忆(LSTM是多个门控制) 。

4.GNMT结构

NMT是神经网络翻译系统,通常会含用两个RNN,一个用来接受输入文本,另一个用来产生目标语句,但是这样的神经网络系统有三个弱点:1.训练速度很慢并且需要巨大的计算资源,由于数量众多的参数,其翻译速度也远低于传统的基于短语的翻译系统(PBMT);2.对罕见词的处理很无力,而直接复制原词在很多情况下肯定不是一个好的解决方法;3.在处理长句子的时候会有漏翻的现象。而GNMT中,RNN使用的是8层(实际上Encoder是9层,输入层是双向LSTM。)含有残差连接的神经网络,残差连接可以帮助某些信息,比如梯度、位置信息等的传递。同时,attention层与decoder的底层以及encoder的顶层相连接,如下图所示:

cke_173.png

GNMT encoder将输入语句变成一系列的向量,每个向量代表原语句的一个词,decoder会使用这些向量以及其自身已经生成的词,生成下一个词。encoder和decoder通过attention network连接,这使得decoder可以在产生目标词时关注原语句的不同部分。上面提到,多层堆叠的LSTM网络通常会比层数少的网络有更好的性能,然而,简单的错层堆叠会造成训练的缓慢以及容易受到剃度爆炸或梯度消失的影响,在实验中,简单堆叠在4层工作良好,6层简单堆叠性能还好的网络很少见,8层的就更罕见了,为了解决这个问题,在模型中引入了残差连接,如图:

cke_174.png

一句话的译文所需要的关键词可能在出现在原文的任何位置,而且原文中的信息可能是从右往左的,也可能分散并且分离在原文的不同位置,因为为了获得原文更多更全面的信息,双向RNN可能是个很好的选择,在本文的模型结构中,只在Encoder的第一层使用了双向RNN,其余的层仍然是单向RNN,粉色的LSTM从左往右的处理句子,绿色的LSTM从右往左,二者的输出先是连接,然后再传给下一层的LSTM,如下图Bi-directions RNN示意图:

cke_175.png

5.Transformers结构

Transformer模型是一种基于自注意力机制的神经网络模型,旨在处理序列数据,特别是在自然语言处理领域得到了广泛应用。Transformer模型的核心是自注意力机制(Self-Attention Mechanism),它允许模型关注序列中每个元素之间的关系。这种机制通过计算注意力权重来为序列中的每个位置分配权重,然后将加权的位置向量作为输出。模型结构上,Transformer由一个编码器堆栈和一个解码器堆栈组成,它们都由多个编码器和解码器组成。编码器主要由多头自注意力(Multi-Head Self-Attention)和前馈神经网络组成,而解码器在此基础上加入了编码器-解码器注意力模块。Transformer结构如下所示:

cke_176.png

基于Transformer 结构的编码器和解码器结构上图所示,左侧和右侧分别对应着编码器(Encoder)和解码器(Decoder)结构。它们均由若干个基本的Transformer 块(Block)组成(对应着图中的灰色框)。这里N× 表示进行了N 次堆叠。每个Transformer 块都接收一个向量序列。主要涉及到如下几个模块:

1)嵌入表示层:对于输入文本序列,首先通过输入嵌入层(Input Embedding)将每个单词转换为其相对应的向量表示。通常直接对每个单词创建一个向量表示。由于Transfomer 模型不再使用基于循环的方式建模文本输入,序列中不再有任何信息能够提示模型单词之间的相对位置关系。在送入编码器端建模其上下文语义之前,一个非常重要的操作是在词嵌入中加入位置编码(Positional Encoding)这一特征。具体来说,序列中每一个单词所在的位置都对应一个向量。这一向量会与单词表示对应相加并送入到后续模块中做进一步处理。在训练的过程当中,模型会自动地学习到如何利用这部分位置信息。

2)注意力层:自注意力(Self-Attention)操作是基于Transformer 的机器翻译模型的基本操作,在源语言的编码和目标语言的生成中频繁地被使用以建模源语言、目标语言任意两个单词之间的依赖关系。给定由单词语义嵌入及其位置编码叠加得到的输入表示{xi ∈ Rd}ti=1,为了实现对上下文语义依赖的建模,进一步引入在自注意力机制中涉及到的三个元素:查询qi(Query),键ki(Key),值vi(Value)。在编码输入序列中每一个单词的表示的过程中,这三个元素用于计算上下文单词所对应的权重得分。直观地说,这些权重反映了在编码当前单词的表示时,对于上下文不同部分所需要的关注程度。

3)前馈层:前馈层接受自注意力子层的输出作为输入,并通过一个带有Relu 激活函数的两层全连接网络对输入进行更加复杂的非线性变换。实验证明,这一非线性变换会对模型最终的性能产生十分重要的影响。

cke_177.png

其中W1, b1,W2, b2 表示前馈子层的参数。实验结果表明,增大前馈子层隐状态的维度有利于提升最终翻译结果的质量,因此,前馈子层隐状态的维度一般比自注意力子层要大。

4) 残差连接与层归一化:由Transformer 结构组成的网络结构通常都是非常庞大。编码器和解码器均由很多层基本的Transformer 块组成,每一层当中都包含复杂的非线性映射,这就导致模型的训练比较困难。因此,研究者们在Transformer 块中进一步引入了残差连接与层归一化技术以进一步提升训练的稳定性。具体来说,残差连接主要是指使用一条直连通道直接将对应子层的输入连接到输出上去,从而避免由于网络过深在优化过程中潜在的梯度消失问题。

Transformer 模型由于其处理局部和长程依赖关系的能力以及可并行化训练的特点而成为一个强大的替代方案,如 GPT-3、ChatGPT、GPT-4、LLaMA 和 Chinchilla 等都展示了这种架构的能力,推动了自然语言处理领域的前沿。尽管取得了这些重大进展,Transformer 中固有的自注意力机制带来了独特的挑战,主要是由于其二次复杂度造成的。这种复杂性使得该架构在涉及长输入序列或资源受限情况下计算成本高昂且占用内存。这也促使了大量研究的发布,旨在改善 Transformer 的扩展性,但往往以牺牲一些特性为代价。正是在此背景之下,一个由 27 所大学、研究机构组成的开源研究团队,联合发表论文《 RWKV: Reinventing RNNs for the Transformer Era 》,文中介绍了一种新型模型:RWKV(Receptance Weighted Key Value),这是一种新颖的架构,有效地结合了 RNN 和 Transformer 的优点,同时规避了两者的缺点。RWKV能够缓解 Transformer 所带来的内存瓶颈和二次方扩展问题,实现更有效的线性扩展,同时保留了使 Transformer 在这个领域占主导的一些性质。

四、 RWKV模型

RWKV是一个结合了RNN与Transformer双重优点的模型架构,是一个RNN架构的模型,但是可以像transformer一样高效训练。RWKV 模型通过 Time-mix 和 Channel-mix 层的组合,以及 distance encoding 的使用,实现了更高效的 Transformer 结构,并且增强了模型的表达能力和泛化能力。Time-mix 层与 AFT(Attention Free Transformer)层相似,采用了一种注意力归一化的方法,以消除传统 Transformer 模型中存在的计算浪费问题。Channel-mix 层则与 GeLU(Gated Linear Unit)层相似,使用了一个 gating mechanism 来控制每条通道的输入和输出。另外,RWKV 模型采用了类似于 AliBi 编码的位置编码方式,将每个位置的信息添加到模型的输入中,以增强模型的时序信息处理能力。这种位置编码方式称为 distance encoding,它考虑了不同位置之间的距离衰减特性,RWKV结构如下图所示:

cke_178.png

这里我们以下图的自回归例子学习RWKV的推理过程,用 (x,y ) 表示样本数据和样本标签,图中有3对数据: (my,name) , (my name ,is ) 和 (my name is , Bob) . 另外,在语言模型中,标记偏移(token shift)是一种常见的技术,用于训练模型以预测给定上下文中下一个标记(单词、字符或子词单元)的任务。下图中的标记偏移技术是向右移动一个位置,生成的三个token-shift 为:"0 my","my name","name is"。为什么要进行标记偏移呢? 这是因为这样做具有递归嵌套的思想,比如:"name"向量与"my"向量有关,而"is"向量与"name"向量有关,所以"is"向量自然与"name"向量有关。好处是:给融入循环神经网络思想带来了便利的同时还保持了并行性。具体流程下面的Time-Mix模块和Channel-Mix模块会详细介绍。如下图所示,这两个模块是RWKV架构的主要模块。Time-Mix模块可以看成根据隐状态(State)生成候选预测向量,Channel-Mix模块则可以看成生成最终的预测向量。

cke_179.png

1.Time Mixing模块

对于t时刻,给定单词

cke_180.png

和前一个单词

cke_181.png

,Time-Mix模块公式如下:

cke_182.png

其中,

cke_183.png

即AFT注意力机制中的

cke_184.png

,且

cke_185.png

为

cke_186.png

,不同的是,偏置值

cke_187.png

以控制

cke_188.png

以及距离越远权重越低,这相当于可学习的位置编码;u也是位置编码,表示t时刻认为过去哪些时刻比较重要;

cke_189.png

表示token-shift,由

cke_190.png

和

cke_191.png

得出。因此,对于上述公式,给定的t时刻,唯一不能确定的就是

cke_192.png

, 因为需要得到前t-1个Key向量和Value向量。此时的Time-Mix模块看起来还是规范的注意力机制,但可以写成递归循环的形式。Time-Mix模块之间存在着从左往右的Statas传递,即引入了隐状态。其融合循环神经网络思想的Time-Mix模块的数据流动如下图所示,

cke_193.png

将

cke_194.png

的计算可以写成递归循环的形式:

cke_195.png

其中,隐状态

cke_196.png

虽然依然需要t时刻之前的计算,但过程已经简化,可以将隐状态的计算独立出来,也降低了内存要求,并且转化为张量积计算也大大提升了并行性。论文作者也为WKV设计了特定的CUDA内核,还提出了实践技巧,下次讨论。

2.Channel Mixing模块

Channel-Mix模块可以看成是为了生成最终的预测向量。输入Time-Mix模块的

cke_197.png

向量和

cke_198.png

向量还没有上文信息,经由Time-Mix模块得出的

cke_199.png

向量和

cke_200.png

 向量融合了他们各自时刻之前的上文信息,我猜测Channel-Mix模块如它命名所示,将不同时刻的信息进一步融合得到最终的预测变量,其公式为:

cke_201.png

因为

cke_202.png

向量和

cke_203.png

向量具有上文的信息,所以不用值Value向量,最后应用一个类似遗忘门的操作,丢弃不必要的历史信息。

3.RWKV的优势

1)高效训练和推理:RWKV 模型既可以像传统 Transformer 模型一样高效训练,也具有类似于 RNN 的推理能力。这使得 RWKV 模型可以支持串行模式和高效推理,也可以支持并行模式(并行推理训练)和长程记忆。

2)支持高效训练:RWKV 模型使用了 Time-mix 和 Channel-mix 层,以消除传统 Transformer 模型中存在的计算浪费问题。这使得 RWKV 模型在训练过程中具有更高的效率和更快的速度。

3)支持大规模自然语言处理任务:RWKV 模型可以处理大规模的自然语言处理任务,如文本分类、命名实体识别、情感分析等。

4)可扩展性强:RWKV 模型具有良好的可扩展性,可以方便地进行模型扩展和改进,以适应不同任务的需求。

4.RWKV模型参数

目前官方已经就RWKV开源了多个模型。主要是Raven系列模型,Raven是基于RWKV-4架构在Pile数据集上训练和微调的大模型,做过指令微调或者chat微调版本。此外,也包括了非Raven版本的RWKV-4的模型。

cke_204.png

五、 RWKV模型代码阅读

1.RWKV模型推理代码

cke_205.png

代码解释:

1~2行:引入代码需要的库

4行:对输出进行校验

6~9行:加载RWKV/rwkv-4-169m-pile模型,并且输入提示词

11~12行:运行模型,解码生成内容

13行:期望输出与真实输出内容进行校验

2.Channel Mixing模块代码:

cke_206.png

x通道混合层接受与此标记对应的输入,以及x与前一个标记对应的输入,我们称之为last_x。last_x存储在这个 RWKV 层的state. 其余输入是学习RWKV 的 parameters。首先,我们使用学习的权重对x和进行线性插值last_x。我们将此插值x作为输入运行到具有平方 relu 激活的 2 层前馈网络,最后与另一个前馈网络的 sigmoid 激活相乘(在经典 RNN 术语中,这称为门控)。请注意,就内存使用而言,矩阵Wk,Wr,Wv包含几乎所有参数(1024×1024 matrices它们是矩阵,而其他变量只是 1024 维向量)。矩阵乘法(@在 python 中)贡献了绝大多数所需的计算。

3.Time mixing模块代码:

时间混合的开始类似于通道混合,通过将此标记的插入x到最后一个标记的x。然后我们应用学到的矩阵以获得“key”, “value” and “receptance”向量。

cke_207.png

六、与其他模型的比较

1.复杂度对比

从和Transformer,Reformer,Performer,Linear Transformers,AFT-full,AFT-local,MEGA等模型的复杂度比较中可以看的出来,RWKV模型的时间复杂度和空间负责度都是最低的,费别为O(Td)和O(d),其中T 表示序列长度,d 表示特征维度,c 表示 MEGA 的二次注意力块大小。

cke_208.png

2.精度对比

RWKV 似乎可以像 SOTA transformer一样缩放。至少多达140亿个参数。在同等规模参数中,RWKV-4系列与Pythia和GPT-J比都是很有优势的,对比如下图所示:

cke_209.png

3.推理速度和内存占用

RWKV网络与不同类型的Transformer性能的实验结果对比如下图所示。RWKV时间消耗随序列长度是线性增加,且时间消耗远小于各种类型的Transformer。

cke_210.png

RWKV与Transformer预训练模型(BLOOM、OPT、Pythia)效果对比测试如下图所示。在六个基准测试中(Winogrande、PIQA、ARC-C、ARC-E、LAMBADA 和 SciQ),RWKV 与开源二次复杂度 transformer 模型 Pythia、OPT 和 BLOOM 具有相当的竞争力。RWKV 甚至在四个任务(PIQA、OBQA、ARC-E 和 COPA)中胜过了 Pythia 和 GPT-Neo。

cke_211.png

下图显示,增加上下文长度会导致 Pile 上的测试损失降低,这表明 RWKV 能够有效利用较长的上下文信息。

cke_212.png

七、小结

本节我们学习了RWKV模型,我们掌握了RWKV模型结构的整个演进过程,从最初的RNN结构,到LSTM结构,到GRU结构,到GNTM模型,到Transformers模型,最后到RWKV模型,我们学习了每种模型结构出现的原因,以及其对应的优势和不足。接下来,我们学习了RWKV模型,Time Mixing模块和Channel Mixing模块。我们通过学习RWKV模型的python代码,对RWKV模型从复杂度,精度,推理速度,内存占用等四个维度和其他模型进行了对比。

通过本节学习,我们对RWKV模型有了一个全面的认识,RWKV模型正在作为一颗在大模型领域的新星正在受到越来越多社区开发者的关注,希望RWKV模型在接下来的版本迭代过程中能给大家带来更多的惊喜。

点击关注,第一时间了解华为云新鲜技术

相关推荐

LakeAgent:DWS数据仓库的第二大脑,告别 “翻译式运维”,迈入智能自治时代

和普通 SQL 改写工具不同,LakeAgent 自动做多方案代价对比,主动规避负优化陷阱:补充分区键过滤实现剪枝,扫描分区由 37 收敛至 1,执行代价从 758.28 降至 113.74;未来的数据仓库,将不止能算、能存,更能看懂自己、诊断自己、理解自己。长久以来,数仓的智能都依附于人:信号需要人解读,瓶颈需要人研判,经验困在个体里,无法随底座永续生长。CPU 高、CPU 告警、CPU 诊断、CPU 使用率过高、CPU 满。语法、错误码、计费、性能调优、最佳实践、故障处置等全场景内容。

华为云官方博客 487

如何使用RDS Supabase后端BaaS能力:文件存储(File Storage)

• product-images(公开桶,允许公共读取):策略名称"Public read for product-images",允许SELECT,目标角色anon,策略定义bucket_id = 'product-images'。上传/删除需另配INSERT/DELETE策略,详见SQL。• product-specs(私有桶,仅认证用户访问自己的文件夹):建议拆为上传、读取、删除三条策略,策略定义均为 bucket_id = 'product-specs' 且仅限本人文件夹(详见下文 SQL)。

华为云官方博客 428

如何使用RDS Supabase后端BaaS能力:实时订阅与推送(Realtime)

Realtime 把数据库的每次变更同步到客户端:表里增、删、改一行,订阅者无需刷新页面或主动请求即可秒级收到。三大能力各司其职:• Postgres Changes — 监听表的 INSERT/UPDATE/DELETE,变化即通知• Broadcast — 客户端之间直接互发,适合瞬时通知、协同编辑• Presence — 跟踪频道里“谁在线”典型场景有实时数据展示(订单、库存、监控指标即时刷新)、即时通讯(消息收发、在线名单、“对方正在输入”)、协同编辑与实时通知。

华为云官方博客 417

AI Agent如何通过MCP连接到华为云RDS Supabase应用平台

Schema元数据列出所有可访问的表(按schema分组)。Schema元数据列出表的列及元数据(类型/默认值/约束)。Schema元数据列出所有约束(PK/FK/UNIQUE/CHECK/EXCLUDE)。可按schema/表/类型过滤。Schema元数据列出所有外键关系。可按schema/表过滤。Schema元数据列出所有索引及定义和大小。可按schema/表过滤。Schema元数据列出已应用的数据库迁移记录。Schema元数据列出已安装的PostgreSQL扩展。

华为云官方博客 432

华为大数据Flink让每一 CU 算力,跑出开源 5.74 倍的性能

1. 开源Apache Flink 已成为业界流计算事实标准,但在极端重负载场景下存在性能瓶颈。2. 华为大数据Flink通过多项自研深度优化,在执行计划、算子执行、状态存储三个层面构建协同的优化体系。3. Nexmark Benchmark 测试结果:整体性能提升 5.74 倍,极端重负载场景性能领先最高 18.3 倍。4. 100% 兼容 Apache Flink 1.20,业务代码零改造,无缝迁移。

华为云官方博客 348

LakeAgent实战 | 业务分析篇从一句提问到业务分析

本文以“订单金额变化”分析为例,展示LakeAgent如何通过自然语言提问,结合DataArtsStudio的数据资产与专业技能,帮助业务人员快速定位数据、生成SQL、追踪血缘、生成报告。从问题出发,逐步实现数据发现、变化洞察、原因追溯与团队协作,最终形成可复用的分析流程与企业规则,显著提升数据分析效率与一致性。

华为云官方博客 356

华为云RDS Supabase AI应用已开放公测 :30分钟搭建AI应用后端

认证、存储、实时推送、数据库API——4个后端模块,传统开发需要数周。今天,你只需要30分钟。AI创业公司的全栈开发工程师。上周老板说"下周要上线的AI对话应用,后端你来搞"——认证鉴权、数据库接口、文件存储、实时推送,每一个模块都需要数周搭建,而市场不会等你。小张打开华为云RDS Supabase,30分钟搭好认证、数据库API、对象存储,剩下的时间全用来打磨AI交互体验。基于开源Supabase+华为云RDS PostgreSQL全托管能力,为开发者提供。

华为云官方博客 353

如何使用RDS Supabase后端BaaS能力:数据库函数(Database Function)

上一篇介绍了 Database Data API——建表即自动生成增删改查接口,解决单表读写,但聚合统计、跨表事务、字段自动维护等逻辑已超出其能力边界。本篇推进到数据库函数(Database Function):把业务逻辑封装进数据库,前端通过 .rpc() 调用,由触发器自动响应数据变更。上一篇中,小张基于 Data API 完成了产品目录的建表与基础读写。但新需求随之而来:按分类统计产品数与价格区间、上架新品同时写产品表与定价表、产品修改后自动刷新更新时间。

华为云官方博客 436

如何使用RDS Supabase后端BaaS能力:创表即生成API(Database Data API)

认证、存储、实时推送、数据库API——4个后端模块,传统开发要数周。本系列逐个拆解,首篇聚焦数据库API(Database Data API):建表即得 API,无需手写后端。小张,AI创业公司的全栈工程师。老板让他做个产品目录页,展示产品与价格、支持上下架。传统做法要搭后端、写接口、配权限,工期少说1-2周;而在华为云RDS Supabase,建两张表、应用 SDK 直连,几分钟增删改查全跑通。

华为云官方博客 452

从一句话到一个能出去的链接,AI开发者空间做了什么

自行搭建的 Agent、正在使用的开源项目、团队既有的工具,都可以接入,可以通过AI创建或者手动搭建环境;华为云 AI开发者空间——面向开发者的云端一站式开发平台,做的就是把这段路接上:环境免安装,浏览器打开即为完整的 Linux 运行环境,预置的 AI 智能体开箱即用。第一个任务建议选能出结果的:做一个游戏、生成一个页面、创建一台实例,从需求走到可访问的链接,一次就能看清这个环境在做什么。沙箱是一个完整的 Linux 环境,依赖、服务、端口都是真实的,不是模拟。环境释放后,权限随之失效。

华为云官方博客 410

华为云码道配置自定义大模型,四种方式完整实操

案例介绍。

华为云官方博客 600

图数据库:实现穿透式监管的数据基座

穿透式监管标志着国企监管从“管企业”向“管资本”转型过程中的关键一跃。而图数据库正是这一跃的技术支点。从股权穿透到资金链穿透,从供应链穿透到数据穿透,华为GES图数据库正在将“穿透式监管”从理念变为可落地、可操作的实践。无论是天眼查式的全量链路查询,还是某集团财经的税务规则判断,抑或是芯片供应链式的部件风险分析,乃至通过Palantir构建决策知识图谱,其底层逻辑都是一致的——用图的力量,穿透一切形式的“隔离层”,直抵风险本质与责任核心。

华为云官方博客 651

《公共云三十问》正式收官,奔赴企业AI百场景新征程

今年6月底,公共云产业联盟重点推出《公共云三十问》专栏,以每周三问的节奏,连载十周,解读《先进公共云》白皮书,分享国计民生系列案例,旨在凝聚共识、推动落地实践。同时,专栏分析公共云在产业升级、民生福祉、科技创新、全球发展等方面的作用,梳理中国特色公共云发展路径:以普惠云拓展用云广度,以智算云提升用云深度,以自主云夯实用云厚度,以全球云打开用云跨度。这十问从专属云、行业云切入,深入政务、金融、交通、电力、钢铁、化工、油气、制造等国计民生场景,回答公共云“怎么用”。

华为云官方博客 464

开发者小技巧|IAM配置,让码道代码智能体连续30天免登录

案例介绍。

华为云官方博客 640

码道深度对接CodeArts,让需求自动落地为代码

案例介绍。

华为云官方博客 709

【公共云三十问 之三十】拥抱AI,企业如何建设面向智能体的专属云?

企业可分阶段建设覆盖开发、运行、运营及安全的一体化智能体平台——从构建一站式、高低码协同的智能体开发平台,到打造高性能、极致弹性的运行时环境,再到搭建AgentOps驱动的持续运营与运维体系,同时构建端到端、多层次的全链路安全防护体系。在数据湖建设方面,遵循“存量复用、平滑演进、AI导向、分步迭代”原则,分三阶段推进——打造AI多模数据湖核心能力、完成存算分离与统一元数据管理、实现闭环赋能全面支撑智能体规模化落地,在保护既有投资的前提下将传统数据平台转型为AI数据专属供给平台。

华为云官方博客 818

【公共云三十问 之二十九】国计民生之制造:制造云如何重塑数智时代的新质生产力?

平台打通软件交付的完整路径,覆盖需求管理、代码托管、代码检查、编译构建、制品仓库、部署、测试等关键环节,支持大模型能力融入研发全流程,实现从需求到交付的端到端管理。通过构建“研发一朵云”,方案打破地域与组织壁垒,实现跨团队协同开发,有效缩短软件交付周期,助力工业制造企业从“传统研发”走向“敏捷研发”,加速数智化转型进程。当制造云真正成为数据流通的平台、AI创新的底座,公共云的社会价值将从基础设施层向生产场景层持续延伸,为新型工业化建设和制造强国战略注入源源不断的动力,重塑数智时代的中国制造新质生产力。

华为云官方博客 785

告别重复手工迁仓,码道MCP+Skill实现仓库批量迁移

案例介绍。

华为云官方博客 780

【公共云三十问 之二十八】国计民生之油气:智算云如何叩响数智时代的“地心蓝金”?

西南油气田以“向地球深部要资源”为战略方向,联合以华为云Stack为代表的公共云服务商共同打造统一算力底座,建设西南区域数据湖与通用技术平台,构建“勘探开发工程技术、天然气生产过程管控、天然气产运储销”等三个一体化协同应用场景,支撑油气勘探、开发生产、管输储运等全业务链的数智化转型。当智算云真正成为数据流通的平台、AI创新的底座,油气田得以将算力效能、数据价值与智能技术深度融入勘探开发全链条,将“看不见的算力”转化为“摸得着的储量”,以智能化手段持续降低勘探风险、缩短发现周期、提高采收效率,确保生产安全。

华为云官方博客 612

【公共云三十问 之二十七】国计民生之化工:数智云如何重塑传统化工新范式?

在架构方面,方案构建云边协同的统一体系,涵盖AI协同、数据协同与运营协同三大维度——总部集中训练大模型,边缘节点负责推理执行,云边持续迭代,实现“边用边学”的智能闭环,模型平均精度提升20%以上。此外,方案提供一站式企业级工业物联网平台、数据湖与数据治理平台,覆盖工业数据分析“采、存、算、管、用”全流程,打通生产现场与管理系统间的数据壁垒,有效消除数据孤岛。层面,方案充分发挥软硬协同优势,实现计算、存储、网络与云平台的深度协同,训练线性度超95%,为大模型训练推理提供强劲算力支撑。▲化工“数智”新模式。

华为云官方博客 663

【公共云三十问 之二十六】国计民生之钢铁:数智云如何淬炼中国钢铁新力量?

同时,构建云边端协同的统一架构,支撑集团总部与各生产基地两级协同发展——总部集中训练大模型,边缘节点负责推理执行,云边持续迭代,实现训推一体化的资源调度与高效协同,为钢铁行业的数智化转型构建了坚实的算力底座。层面,方案构建覆盖“工业数采→边缘IT/OT融合→统一数据湖→数据治理平台→数据应用”全链路的一站式数据治理与流通平台,打通生产现场与管理系统间的数据壁垒,让数据“采得到、流得动、用得好”,加速数据价值从生产现场向经营决策层流动释放。湘潭钢铁集团的钢铁数智云,是钢铁工业智能云建设的标杆案例。

华为云官方博客 523

LakeWatch——MRS 智能运维Agent

从资源池、队列、作业等多个维度,对集群CPU与内存资源进行精细化分析与对比,直观呈现不同时间段的空闲、满载等使用状态,识别资源浪费,指导治理优化,为扩缩容决策提供数据支撑。对HDFS存储进行多维度深度分析(目录、用户、用户组等),涵盖使用量、增量、文件大小分布及数据热度等指标,帮助快速识别增长较快的目录、长期未访问的文件,统计目录文件数量与小文件占比,评估HDFS总存储量与扩缩容需求,为存储治理与资源规划提供全面数据支撑。Agent主动巡检,识别异常趋势并提前预警,让运维从"事后处理"转向"事前预防"。

华为云官方博客 511

华为云专题文档发布:丰富的AI案例、选型指导和概念解读

发布 “云服务选型”、“云计算概念”专题,提供云服务选型指导,助您选择匹配业务的云服务,解读云计算相关概念,开启云上学习之路。开发者工具和文档专区上线,提供从学习、实践到反馈的全链路支持。帮助中心新增100余篇AI案例。

华为云官方博客 286

一个人,也能用AI做点“星东西”

华为云星耀创想者大赛-2026华为云OPC创意大赛等你来~

华为云官方博客 288

从需求到可执行工作项:MCP+Skill 让智能体规划真正落地

回顾整个体验,以前让智能体帮我拆需求,它是洋洋洒洒给我列了一大篇 Markdown,看着挺像那么回事,但最后还是得我一条条往 CodeArts Req 里搬,搬完再手动挂父子关系、排日期,拆需求五分钟,搬运两小时。现在好了,MCP 给智能体接上了"手",Skill 给它装上了"项目经理的脑子",一句话下去,34 个工作项连带排期、层级关系全给我建好了,甘特图一拉,齐刷刷都在两周内,节省了多少工作量啊,美滋滋。本次实操在码道代码智能体基础上,构建了一套"需求→可执行工作项"的自动化规划方案。

华为云官方博客 559

华为云码道「码力续航计划」更新!

✅上新GLM‑5.3‑Flash,高速响应,代码生成、工程解析、Agent调试高效输出。新增GLM‑5.3‑Flash福利模型,每日解锁1000万免费Tokens。● 本次活动共发放总量价值100万元Tokens,发完即止!把耗算力的编码重活,交给华为云码道代码智能体🚀🚀。● 每日额度准时刷新,当日清零、次日满血重置。✅复杂算法、大项目解析、批量代码生成随便跑。✅不用抠额度、不用算消耗,放开调试大胆迭代。✅无需额外操作,登录即送,直接切换模型使用。● 把算力交给码道,让撸码不再内耗👏🏻。

华为云官方博客 677

【公共云三十问 之二十四】国计民生之交通:交通云如何铺就数智通衢新坦途?

交通行业作为支撑实体经济的关键基础设施,涵盖公路、铁路、机场、港口、地铁等众多子领域,其中,公路网络作为综合交通运输体系的基础骨架,承担着全国超过70%的客货运量,其数字化、智能化转型的需求尤为迫切。方面,提供Agent开发框架、知识库管理、RAG工程、意图识别、静态应用编排及模型评测等能力,支持客户将行业知识、业务流程与AI能力深度融合,快速构建面向收费稽核、路网调度、应急处置等场景的智能应用。开发并实现落地应用,全面覆盖建设、管理、养护、运营、服务、安全、办公七大业务领域。

华为云官方博客 460

【公共云三十问 之二十五】国计民生之电力:电力云如何点亮数智电力新引擎?

方案构建了覆盖数据获取、质量评估到标准化处理的全链路能力。基于公共云服务商智算底座及气象大模型,通过时空图神经网络重新建模产流机制,中国华电建成超50TB多源融合数据集,突破时空建模与机理融合等五大关键技术,短期径流预测精度较传统机理模型提升5个百分点以上,实现15天中期径流预测精度超85%,推理效率达秒级。基于气象大模型的基础架构与预训练能力,客户可直接在大模型之上开展增量训练与微调,充分利用场站所在区域的高精度历史数据(如3公里、1公里分辨率),针对不同场站和区域的地形地貌与气候特征进行模型调优。

华为云官方博客 380

邀请函|第三届“兴智杯”全国人工智能创新应用大赛开幕式,期待您现场莅临

AI 算法工程师、大模型应用开发、智能编码、国产软硬件栈开发者、开源开发者。大赛官方参赛对象就包含企事业单位开发者团队、个人开发者中华人民共...诉求:了解本届赛题方向、对接算力 / 技术资源、认识同行、获取参赛信息。意向参赛团队、往届参赛选手、技术团队负责人、个人独立开发者。

华为云官方博客 476

码道LSP:打通“最后一公里”,让AI真正懂你的项目

用AI代码智能体分析项目时,您是否遇到过这样的困境:查询方法调用链、字段改动影响范围,返回一堆杂乱文本,夹杂注释、日志、无关代码,需要人工逐一筛选复核。根源在于传统方案只会文本检索,大模型拿到的是原始源码文本,缺少代码语义信息。华为云码道CodeArts代码智能体接入LSP能力,尝试解决这个开发痛点。

华为云官方博客 549
上一篇: 从安装到配置,教你用Argo CD对接CCE集群完成测试、生产部署
下一篇: 华为张平安:以架构创新提高系统竞争力,让AI重塑千行万业
华为云开发者联盟
华为云开发者联盟 企业官方账号 企业官方账号
博客等级 码龄10年 72万+粉丝 5983原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值