transformer是什么意思 Transformer模型详细介绍
Transformer模型的具体实现。
2017 年,Google 在论文Attention is All you need中提出了Transformer模型,其使用Self-Attention结构取代了在 NLP 任务中常用的 RNN 网络结构。相比 RNN 网络结构,其最大的优点是可以并行计算。Transformer 的整体模型架构如图 1.1 所示:
1.1 Transformer 概览
首先,让我们先将 Transformer 模型视为一个黑盒,如图 1.2 所示。在机器翻译任务中,将一种语言的一个句子作为输入,然后将其翻译成另一种语言的一个句子作为输出。
Transformer 本质上是一个 Encoder-Decoder 架构。因此中间部分的 Transformer 可以分为两个部分:编码组件和解码组件。如图 1.3 所示:
其中,编码组件由多层编码器(Encoder)组成(在论文中作者使用了 6 层编码器,在实际使用过程中你可以尝试其他层数)。解码组件也是由相同层数的解码器(Decoder)组成(在论文也使用了 6 层)。如图 1.4 所示:
每个编码器由两个子层组成:Self-Attention 层(自注意力层)和 Position-wise Feed Forward Network(前馈网络,缩写为 FFN)如图 1.5 所示。每个编码器的结构都是相同的,但是它们使用不同的权重参数。
编码器的输入会先流入 Self-Attention 层。它可以让编码器在对特定词进行编码时使用输入句子中的其他词的信息(可以理解为:当我们翻译一个词时,不仅只关注当前的词,而且还会关注其他词的信息)。后面我们将会详细介绍 Self-Attention 的内部结构。然后,Self-Attention 层的输出会流入前馈网络。
解码器也有编码器中这两层,但是它们之间还有一个注意力层(即 Encoder-Decoder Attention),其用来帮忙解码器关注输入句子的相关部分(类似于 seq2seq 模型中的注意力)。
1.2 引入张量
现在我们已经了解了模型的主要组成部分,让我们开始研究各种向量/张量,以及他们在这些组成部分之间是如何流动的,从而将输入经过已训练的模型转换为输出。
和通常的 NLP 任务一样,首先,我们使用词嵌入算法(Embedding)将每个词转换为一个词向量。在 Transformer 论文中,词嵌入向量的维度是 512。
嵌入仅发生在最底层的编码器中。所有编码器都会接收到一个大小为 512 的向量列表——底部编码器接收的是词嵌入向量,其他编码器接收的是上一个编码器的输出。这个列表大小是我们可以设置的超参数——基本上这个参数就是训练数据集中最长句子的长度。
对输入序列完成嵌入操作后,每个词都会流经编码器的两层。
接下来,我们将换一个更短的句子作为示例,来说明在编码器的每个子层中发生了什么。
上面我们提到,编码器会接收一个向量作为输入。编码器首先将这些向量传递到 Self-Attention 层,然后传递到前馈网络,最后将输出传递到下一个编码器。
1.3 Self-Attention(自注意力)
1.3.1 Self-Attention 概览
首先我们通过一个例子,来对 Self-Attention 有一个直观的认识。假如,我们要翻译下面这个句子:
The animal didn’t cross the street because it was too tired
这个句子中的it指的是什么?是指animal还是street?对人来说,这是一个简单的问题,但是算法来说却不那么简单。
当模型在处理it时,Self-Attention 机制使其能够将it和animal关联起来。
当模型处理每个词(输入序列中的每个位置)时,Self-Attention 机制使得模型不仅能够关注当前位置的词,而且能够关注句子中其他位置的词,从而可以更好地编码这个词。
如果你熟悉 RNN,想想如何维护隐状态,使 RNN 将已处理的先前词/向量的表示与当前正在处理的词/向量进行合并。Transformer 使用 Self-Attention 机制将其他词的理解融入到当前词中。
1.3.2 Self-Attention 机制
下面我们来看一下 Self-Attention 的具体机制。
对于 Self Attention 来讲,Q(Query),K(Key)和 V(Value)三个矩阵均来自同一输入,并按照以下步骤计算:
首先计算 Q 和 K 之间的点积,为了防止其结果过大,会除以d k \sqrt{d_{k}}dkundefined,其中d k d_{k}dk为 Key 向量的维度。
然后利用 Softmax 操作将其结果归一化为概率分布,再乘以矩阵 V 就得到权重求和的表示。
整个计算过程可以表示为:
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax(\frac{QK^{T}}{\sqrt{d_k}})VAttention(Q,K,V)=softmax(dkundefinedQKT)V
为了更好的理解 Self-Attention,下面我们通过具体的例子进行详细说明。
1.3.3 Self-Attention 详解
下面通过一个例子,让我们看一下如何使用向量计算 Self-Attention。计算 Self-Attention 的步骤如下:
第 1 步:对编码器的每个输入向量(在本例中,即每个词的词向量)创建三个向量:Query 向量、Key 向量和 Value 向量。它们是通过词向量分别和 3 个矩阵相乘得到的,这 3 个矩阵通过训练获得。
请注意,这些向量的维数小于词向量的维数。新向量的维数为 64,而 embedding 和编码器输入/输出向量的维数为 512。新向量不一定非要更小,这是为了使多头注意力计算保持一致的结构性选择。
什么是 Query,Key 和 Value 向量?
它们是一种抽象,对于注意力的计算和思考非常有用。继续阅读下面的注意力计算过程,你将了解这些向量所扮演的角色。
第 2 步:计算注意力分数。假设我们正在计算这个例子中第一个词 “Thinking” 的自注意力。我们需要根据 “Thinking” 这个词,对句子中的每个词都计算一个分数。这些分数决定了我们在编码 “Thinking” 这个词时,需要对句子中其他位置的每个词放置多少的注意力。
这些分数,是通过计算 “Thinking” 的 Query 向量和需要评分的词的 Key 向量的点积得到的。如果我们计算句子中第一个位置词的注意力分数,则第一个分数是q 1 \boldsymbol{q_1}q1和k 1 \boldsymbol{k_1}k1的点积,第二个分数是q 1 \boldsymbol{q_1}q1和k 2 \boldsymbol{k_2}k2的点积。
第 3 步:将每个分数除以d k \sqrt{d_{k}}dkundefined(d k d_{k}dk是 Key 向量的维度)。目的是在反向传播时,求梯度更加稳定。实际上,你也可以除以其他数。
第 4 步:将这些分数进行 Softmax 操作。Softmax 将分数进行归一化处理,使得它们都为正数并且和为 1。
这些 Softmax 分数决定了在编码当前位置的词时,对所有位置的词分别有多少的注意力。很明显,当前位置的词汇有最高的分数,但有时注意一下与当前位置的词相关的词是很有用的。
第 5 步:将每个 Softmax 分数分别与每个 Value 向量相乘。这种做法背后的直觉理解是:对于分数高的位置,相乘后的值就越大,我们把更多的注意力放在它们身上;对于分数低的位置,相乘后的值就越小,这些位置的词可能是相关性不大,我们就可以忽略这些位置的词。
第 6 步:将加权 Value 向量(即上一步求得的向量)求和。这样就得到了自注意力层在这个位置的输出。
这样就完成了自注意力的计算。生成的向量会输入到前馈网络中。但是在实际实现中,此计算是以矩阵形式进行,以便实现更快的处理速度。下面我们来看看如何使用矩阵计算。
1.3.4 使用矩阵计算 Self-Attention
第 1 步:计算 Query,Key 和 Value 矩阵。首先,将所有词向量放到一个矩阵X \boldsymbol{X}X中,然后分别和 3 个我们训练过的权重矩阵(W Q \boldsymbol{W^Q}WQ,W k \boldsymbol{W^k}Wk和W V \boldsymbol{W^V}WV) 相乘,得到Q \mathbf{Q}Q,K \boldsymbol{K}K和V \boldsymbol{V}V矩阵。
1.4 多头注意力机制(Multi-head Attention)
在 Transformer 论文中,通过添加一种多头注意力机制,进一步完善了自注意力层。具体做法:首先,通过h hh个不同的线性变换对 Query、Key 和 Value 进行映射;然后,将不同的 Attention 拼接起来;最后,再进行一次线性变换。
每一组注意力用于将输入映射到不同的子表示空间,这使得模型可以在不同子表示空间中关注不同的位置。整个计算过程可表示为:
M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , ⋯ , h e a d h ) W O h e a d i = A t t e n t i o n ( Q W i Q , K W i K , V W i V ) MultiHead(Q,K,V) = Concat(head_1,\cdots,head_h)\boldsymbol{W}^O \\ head_i = Attention(Q\boldsymbol{W}_i^Q,K\boldsymbol{W}_i^K,V\boldsymbol{W}_i^V)MultiHead(Q,K,V)=Concat(head1,⋯,headh)WOheadi=Attention(QWiQ,KWiK,VWiV)
其中,W i Q ∈ R d m o d e l × d k \boldsymbol{W}_i^Q \in \mathbb{R}^{d_{model} \times d_k}WiQ∈Rdmodel×dk,W i K ∈ R d m o d e l × d k \boldsymbol{W}_i^K \in \mathbb{R}^{d_{model} \times d_k}WiK∈Rdmodel×dk,W i V ∈ R d m o d e l × d v \boldsymbol{W}_i^V \in \mathbb{R}^{d_{model} \times d_v}WiV∈Rdmodel×dv和W O ∈ R h d v × d m o d e l \boldsymbol{W}^O \in \mathbb{R}^{hd_v \times d_{model}}WO∈Rhdv×dmodel。在论文中,指定h = 8 h=8h=8(即使用 8 个注意力头)和d k = d v = d m o d e l / h = 64 d_k = d_v = d_{model}/h = 64dk=dv=dmodel/h=64。
在多头注意力下,我们为每组注意力单独维护不同的 Query、Key 和 Value 权重矩阵,从而得到不同的 Query、Key 和 Value 矩阵。如前所述,我们将X \boldsymbol{X}X乘以W Q \boldsymbol{W}^QWQ、W K \boldsymbol{W}^KWK和W V \boldsymbol{W}^VWV矩阵,得到 Query、Key 和 Value 矩阵。
接下来就有点麻烦了。因为前馈神经网络层接收的是 1 个矩阵(每个词的词向量),而不是上面的 8 个矩阵。因此,我们需要一种方法将这 8 个矩阵整合为一个矩阵。具体方法如下:
把 8 个矩阵{ Z 0 , Z 1 , ⋯ , Z 7 } \{\boldsymbol{Z_0},\boldsymbol{Z_1},\cdots,\boldsymbol{Z_7}\}{Z0,Z1,⋯,Z7}拼接起来。
把拼接后的矩阵和一个权重矩阵W O \boldsymbol{W^O}WO相乘。
得到最终的矩阵Z \boldsymbol{Z}Z,这个矩阵包含了所有注意力头的信息。这个矩阵会输入到 FFN 层。
这差不多就是多头注意力的全部内容了。下面将所有内容放到一张图中,以便我们可以统一查看。
现在让我们重新回顾一下前面的例子,看看在对示例句中的“it”进行编码时,不同的注意力头关注的位置分别在哪:
当我们对“it”进行编码时,一个注意力头关注“The animal”,另一个注意力头关注“tired”。从某种意义上来说,模型对“it”的表示,融入了“animal”和“tired”的部分表达。
Multi-head Attention 的本质是,在参数总量保持不变的情况下,将同样的 Query,Key,Value 映射到原来的高维空间的不同子空间中进行 Attention 的计算,在最后一步再合并不同子空间中的 Attention 信息。这样降低了计算每个 head 的 Attention 时每个向量的维度,在某种意义上防止了过拟合;由于 Attention 在不同子空间中有不同的分布,Multi-head Attention 实际上是寻找了序列之间不同角度的关联关系,并在最后拼接这一步骤中,将不同子空间中捕获到的关联关系再综合起来。
1.5 位置前馈网络(Position-wise Feed-Forward Networks)
位置前馈网络就是一个全连接前馈网络,每个位置的词都单独经过这个完全相同的前馈神经网络。其由两个线性变换组成,即两个全连接层组成,第一个全连接层的激活函数为 ReLU 激活函数。可以表示为:
F F N ( x ) = max ( 0 , x W 1 + b 1 ) W 2 + b 2 FFN(x) = \max(0, xW_1 + b_1)W_2 + b_2FFN(x)=max(0,xW1+b1)W2+b2
在每个编码器和解码器中,虽然这个全连接前馈网络结构相同,但是不共享参数。整个前馈网络的输入和输出维度都是d m o d e l = 512 d_{model}=512dmodel=512,第一个全连接层的输出和第二个全连接层的输入维度为d f f = 2048 d_{ff}=2048dff=2048。
1.6 残差连接和层归一化
编码器结构中有一个需要注意的细节:每个编码器的每个子层(Self-Attention 层和 FFN 层)都有一个残差连接,再执行一个层标准化操作,整个计算过程可以表示为:
将向量和自注意力层的层标准化操作可视化
1.7 位置编码
到目前为止,我们所描述的模型中缺少一个东西:表示序列中词顺序的方法。为了解决这个问题,Transformer 模型为每个输入的词嵌入向量添加一个向量。这些向量遵循模型学习的特定模式,有助于模型确定每个词的位置,或序列中不同词之间的距离。
那么位置编码向量到底遵循什么模式?其具体的数学公式如下:
P E ( p o s , 2 i ) = sin ( p o s / 1000 0 2 i / d m o d e l ) PE_{(pos, 2i)} = \sin (pos / 10000^{2i/d_{model}})PE(pos,2i)=sin(pos/100002i/dmodel)
P E ( p o s , 2 i + 1 ) = cos ( p o s / 1000 0 2 i / d m o d e l ) PE_{(pos, 2i+1)} = \cos (pos / 10000^{2i/d_{model}})PE(pos,2i+1)=cos(pos/100002i/dmodel)
其中,p o s pospos表示位置,i ii表示维度。上面的函数使得模型可以学习到 token 之间的相对位置关系:任意位置的P E ( p o s + k ) PE_{(pos+k)}PE(pos+k)都可以被P E ( p o s ) PE_{(pos)}PE(pos)的线性函数表示:
cos ( α + β ) = cos ( α ) cos ( β ) − sin ( α ) sin ( β ) \cos(\alpha + \beta) = \cos(\alpha)\cos(\beta) - \sin(\alpha)\sin(\beta)cos(α+β)=cos(α)cos(β)−sin(α)sin(β)
sin ( α + β ) = sin ( α ) cos ( β ) + cos ( α ) sin ( β ) \sin(\alpha + \beta) = \sin(\alpha)\cos(\beta) + \cos(\alpha)\sin(\beta)sin(α+β)=sin(α)cos(β)+cos(α)sin(β)
在下图中,我们将这些值进行可视化。每一行对应一个向量的位置编码。所以第一行对应于输入序列中第一个词的位置编码。每一行包含 64 个值,每个值的范围在 -1 和 1 之间。
1.8 解码器
现在我们已经介绍了编码器的大部分概念,我们也了解了解码器的组件的原理。现在让我们看下编码器和解码器是如何协同工作的。
通过上面的介绍,我们已经了解第一个编码器的输入是一个序列,最后一个编码器的输出是一组注意力向量 Key 和 Value。这些向量将在每个解码器的 Encoder-Decoder Attention 层被使用,这有助于解码器把注意力集中在输入序列的合适位置。
1.9 Mask(掩码)
Mask 表示掩码,它对某些值进行掩盖,使其在参数更新时不产生效果。Transformer 模型里面涉及两种 mask,分别是 Padding Mask 和 Sequence Mask。其中,Padding Mask 在所有的 scaled dot-product attention 里面都需要用到,而 Sequence Mask 只有在 Decoder 的 Self-Attention 里面用到。
1.9.1 Padding Mask
什么是 Padding mask 呢?因为每个批次输入序列的长度是不一样的,所以我们要对输入序列进行对齐。具体来说,就是在较短的序列后面填充 0(但是如果输入的序列太长,则是截断,把多余的直接舍弃)。因为这些填充的位置,其实是没有什么意义的,所以我们的 Attention 机制不应该把注意力放在这些位置上,所以我们需要进行一些处理。
具体的做法:把这些位置的值加上一个非常大的负数(负无穷),这样的话,经过 Softmax 后,这些位置的概率就会接近 0。
1.9.2 Sequence Mask
Sequence Mask 是为了使得 Decoder 不能看见未来的信息。也就是对于一个序列,在t tt时刻,我们的解码输出应该只能依赖于t tt时刻之前的输出,而不能依赖t tt之后的输出。因为我们需要想一个办法,把t tt之后的信息给隐藏起来。
具体的做法:产生一个上三角矩阵,上三角的值全为 0。把这个矩阵作用在每个序列上,就可以达到我们的目的。
总结:对于 Decoder 的 Self-Attention,里面使用到的 scaled dot-product attention,同时需要 Padding Mask 和 Sequence Mask,具体实现就是两个 Mask 相加。其他情况下,只需要 Padding Mask。
1.10 最后的线性层和 Softmax 层
解码器栈的输出是一个 float 向量。我们怎么把这个向量转换为一个词呢?通过一个线性层再加上一个 Softmax 层实现。
线性层是一个简单的全连接神经网络,其将解码器栈的输出向量映射到一个更长的向量,这个向量被称为 logits 向量。
现在假设我们的模型有 10000 个英文单词(模型的输出词汇表)。因此 logits 向量有 10000 个数字,每个数表示一个单词的分数。
然后,Softmax 层会把这些分数转换为概率(把所有的分数转换为正数,并且加起来等于 1)。最后选择最高概率所对应的单词,作为这个时间步的输出。
1.11 嵌入层和最后的线性层
在 Transformer 论文,提到一个细节:编码组件和解码组件中的嵌入层,以及最后的线性层共享权重矩阵。不过,在嵌入层中,会将这个共享权重矩阵乘以d m o d e l \sqrt{d_{model}}dmodelundefined。
1.12 正则化操作
为了提高 Transformer 模型的性能,在训练过程中,使用了以下的正则化操作:
Dropout。对编码器和解码器的每个子层的输出使用 Dropout 操作,是在进行残差连接和层归一化之前。词嵌入向量和位置编码向量执行相加操作后,执行 Dropout 操作。Transformer 论文中提供的参数P d r o p = 0.1 P_{drop} = 0.1Pdrop=0.1。
Label Smoothing(标签平滑)。Transformer 论文中提供的参数ϵ l s = 0.1 \epsilon_{ls} = 0.1ϵls=0.1.
第 2 步:计算自注意力。由于这里使用了矩阵进行计算,可以将前面的第 2 步到第 6 步压缩为一步。
图片
- 2022年全国赛艇锦标赛在浙江 河北省三部电视剧获第31届中 今年1至9月河北省电子信息产
- 衡水谋划了32个特色果蔬单品 河北省打出资金和政策“组合 全国219个城市被授予“国家 河北湿地公园数量有了跨越式 粤港澳大湾区的中欧班列开行 中国空军“八一”飞行表演队
- 2022年第22号台风“尼格”已 中国空间站迎来重大时刻 空 粤支持韶关建设国家老工业城 清远清城区全新打造的校外未 广州年内将在南沙各镇街布局 广东获第二十三届中国专利奖
- 河北邢台出台20条措施 努力 河北高邑指导企业挖掘传统文 石家庄一90后志愿者成功捐献 前三季度石家庄规上工业高新 江西资溪“两山转化中心”推 畅通道兴贸易 广州海关关区
精彩推送
- transformer是什么意思 Transformer模型详细介绍
- 什么是Vuex?vuex官方解释是什么?Vuex详解
- maven repository是什么意思 MavenRepository官网崩溃怎么解决
- LSTM解决了RNN中什么问题?LSTM为什么能够缓解梯度消失?LSTM常见面试题
- jwt是什么东西?JWT的本质是什么?JWT的认证流程介绍
- java下载途径有哪些?Java的官网下载链接一览 java17下载安装教程
- 设计模式分为几类?工厂类设计模式的代码是什么?
- flex布局是什么意思通俗解释 flex布局中的一些基本概念介绍
- UML模型图的构成有哪些?5类UML图的分类法 UML相关概述介绍
- 中小学生如何学习Python编程 python基础教程初学者指南一览
- Git下载路径是什么?Git安装组件有哪些?
- 环球今日报丨打通动力电池回收关键堵点
- 大树科技携手云采科技,助力政府公共资源交易数字化产融建设
- 宁德时代加入“天价锂矿”争夺战 斯诺威控制权归属扑朔迷离:独家
- 大树科技五周年暨3.0战略发布会圆满举行
- 保障锂电产业链协同稳定:全球新动态
- 今日申购:聚和材料
- 抖音月付怎么套出来?常用办法交给你
- 美股纳指跌0.59% B站涨22%雾芯科技满帮涨12%|实时
- 上交所退市新规是什么 重大违法退市标准是怎样的
- 车贷怎么算?车贷计算公式和还款方式盘点
- 上证指数是什么意思通俗解释 上证指数计算方法介绍
- 毛利润是什么意思?毛利润怎么算?毛利润越高反映什么?
- 支付宝提现要手续费吗贵不贵?支付宝提现收取手续费的情况介绍
- 香港股市交易时间与A股有哪些不同 港股通交易规则介绍
- 大额存单流动性怎么样 不建议你买大额存单的主要原因有这些
- 手机银行可以交医疗保险吗 医疗保险网上怎么缴费流程是怎样的
- 哪些情况个股会被st?st股票是什么意思风险性大不大?
- 股票缩量上涨意味着什么 股票出现量价背离怎么办
- 环球快资讯:天地壹号净利润与现金流背离 去年9亿理财为何仍募资
- 益世科生物去年净利升背离现金流 近三年掏空式分红
- 合盛硅业:股东富达实业拟减持不超过6444.99万股_世界微动态
- 环球报道:纵目科技营收连升应收账款高 三年一期连亏拟募资20亿
- 秦岭生物多样性 实现恢复性增长
- 动态:广西荔浦花篢镇:工作站成农户致富增收“加油站”
- 世界微资讯!陕西黄河湿地 40多万只候鸟在此栖息越冬
- 每日热议!大秦铁路:董事长包楚雄辞职
- 生态旅游:南昌市湾里管理局全力打造高颜值生态旅游区-天天快看点
- 顾客认为“没切干净” 杭州格莱美医美提到“并发症”
- 花2900元在实体店买的老板燃气灶无法安装 为何遭遇退货难?
- 每日信息:男子充话费发现名下多了两张副卡 联系联通公司后又莫名被取消?
- 全球今热点:“七万多的物品就这么丢了?”男子傻眼 韵达快递:没保价只能赔一千
- 女子花800元在高鑫医美打水光针后 皮肤越来越干还起皱_当前看点
- 生物医药板块涨2.62% 义翘神州涨14.15%居首
- 存燃油泄漏安全隐患 1843辆东风雪铁龙凡尔赛C5 X被召回_每日动态
- 中天美好摇号竞得杭州1宗住宅用地 溢价率11.3%
- 环球新动态:万达商管60亿元公司债券已获上交所受理
- 【世界独家】中电建路桥13.05亿元应收账款资产支持ABS已获受理
- 半导体板块涨1.46% 铜峰电子涨10.05%居首|环球新要闻
- 【聚看点】华电国际龙虎榜:机构净卖出1.72亿元
- 副驾座椅存安全隐患 日产召回10465辆进口英菲尼迪Q50、Q60、QX60汽车_世界通讯
- 环球最资讯丨锂电池板块涨1.04% 胜利精密涨10.04%居首
- 朝阳3宗压轴出场 北京第四批集中供地收官
- 奔驰召回超16万问题车辆 涉及进口GLE SUV、GLS SUV及国产C级汽车
- 滨江新城20亿元公司债券已获上交所受理
- 证券板块涨3.6% 华西证券涨10.01%居首
- 雄安宣武医院(新区投资部分)项目主体结构全面封顶-快看点
- 世界简讯:房地产开发板块涨7.07% 嘉凯城涨10.21%居首
- 【天天快播报】国联安中证1000指数增强型证券投资基金延长募集期
- 湖南首条智慧高速平益高速公路全线通车
- 惠升基金6只基金增聘基金经理曾华 报道
- 焦点快播:碳中和板块涨1.54% 国立科技涨11.03%居首
- 大连高新区锻造高质量发展“人才引擎”
- 罗普特前三季净利降200% 去年“上市即巅峰”募9亿|全球微资讯
- 郑州第三批集中供地成交20宗地块,总成交金额114.83亿元_全球热文
- 中海新城以28.4亿元竞得北京石景山1宗地块|当前聚焦
- 大流量!多客源!好经营!水澜之迷为创业者实现高额盈利!
- 收评:三大指数全天强势反弹 沪指重返3100点上方 环球视讯
- 世界微动态丨倍轻松前三季净利降187% 上市即巅峰安信证券保荐
- 滨江集团9.8亿元竞得杭州萧山1宗地块_动态
- 云里物里北交所上市首日跌1.5% 申万宏源保荐_世界实时
- 安信证券及2保代被监管警示 保荐野风药业履职不到位 天天热门
- 1宗地块底价成交,北京第四批集中供地剩余5宗地块29日现场竞价
- 新世界房地产2.54亿元竞得杭州萧山1宗地块_环球热推荐
- 金隅以32.315亿元+3.5万平现房销售面积竞得北京朝阳崔各庄1宗地块
- 北京现代ix35发生交通事故 副驾安全气囊未弹出致乘客身亡
- 品高股份前3季亏损 上市即巅峰超募3.5亿民生证券保荐
- 启辰大V车辆导航出现死机 车主投诉后已顺利解决
- 发改委等五部门:支持生活垃圾焚烧处理项目发行REITs
- 展非遗文化 谱蹴鞠新韵 《中国蹴鞠谱》复活系列藏品上线十八数藏
- 善泰健康开展肠道菌群个性化治疗 成功降低结直肠癌患病风险
- 共谋创新合作 赋能产业发展 杭州数字经济产业旅游国际对话大会成功举办
- 大树科技推动产业链融合 科技赋能实体经济
- 大树科技入选“甬金通”揭榜挂帅第一批项目清单
- 老赖是什么意思?老赖只要挺过2年就没事了是真的假的?
- 百万医疗险是什么意思啊 百万医疗险赔偿范围包括哪些
- 10万元利息收益是多少 银行存款利息计算公式一览
- 股市交易时间段是哪几天 创业板盘后定价交易是什么
- RCEP是什么意思有几个成员国 RCEP涵盖区域包括哪些
- 社保卡里面的钱到底能不能取出来 社保金的领取条件介绍
- 美联储什么时候加息目的是什么 美联储加息时间表一览
- reits基金有哪些国内 基础设施基金涨跌幅限制价格计算公式一览
- 净利润增长率怎么算?股票净利润增长率怎么查询?
- 医保怎么交费更方便?医保缴费方式有哪几种?
- 开护肤品店认准嘉柏俪,强悍实力铸就创业奇迹
- 天天即时:今日上市:云里物里
- 今日申购:晶品特装、长盈通、美腾科技、欧普泰、绿亨科技 天天观速讯
- 当前滚动:奔驰E300L内饰开裂 车主投诉后48小时内快速解决
- 零配件供应延迟 理想L9、L8部分车型延期交付
- 天天快资讯丨纳指跌1.58% 拼多多涨12.6%爱奇艺涨9%云集跌13.9%
金融
财经
要闻
公司
吉卜力工作室如今已加入到主题公园的浪潮,并于11月1日正式对公众开放全球首个项目,将《龙猫》等经典作品的场景复原至现实世界。对于吉卜
详细>>随着在线旅游企业数量的不断增多,售卖不合理低价旅游产品、违规利用用户个人信息等问题也时有发生。11月1日,文旅部发布《文化和旅游部关
详细>>两个小时,这是越南全国首票榴莲从装车到运送至我国广西崇左友谊关口岸的时间。得益于一体化供应链,2021年,中国与越南进出口贸易额达到23
详细>>11月1日,北京商报记者梳理发现,截至9月末,10家A股上市农商行资产规模均有所扩大,重庆农商行、上海农商行仍以万亿元总资产位居前列。营
详细>>西贝餐饮集团(以下简称西贝)在儿童餐的道路上越走越深。11月1日,北京商报记者从西贝获悉,其将推出西贝儿童餐零售产品。目前,部分西贝门
详细>>新一期麻辣粉和逆回购操作如期公布。9月15日,央行发布消息称,为维护银行体系流动性合理充裕,开展4000亿元中期借贷便利(MLF)操作和20亿元
详细>>