首页 > 其他分享 >Transformer计算公式

Transformer计算公式

时间:2023-08-23 19:11:53浏览次数:42  
标签:Transformer right mathbf cdot text left 计算公式 mathrm

LLM inference workflow

Generative Inference. A typical LLM generative inference task consists of two stages: i) the prefill stage which takes a prompt sequence to generate the key-value cache (KV cache) for each transformer layer of the LLM; and ii) the decoding stage which utilizes and updates the KV cache to generate tokens step-by-step, where the current token generation depends on previously generated tokens.

prefill phase

Then, the cached key,value can be computed by:

\(\mathrm{x}_K^i=\mathrm{x}^i \cdot \mathrm{w}_K^i ; \quad \mathrm{x}_V^i=\mathrm{x}^i \cdot \mathrm{w}_V^i\)

The rest of the computation in the i-th layer is:

\(\begin{gathered}\mathrm{x}_Q^i=\mathrm{x}^i \cdot \mathrm{w}_Q^i \\ \mathrm{x}_{\text {Out }}^i=f_{\text {Softmax }}\left(\frac{\mathrm{x}_Q^i \mathrm{x}_K^i}{\sqrt{h}}\right) \cdot \mathrm{x}_V^i \cdot \mathrm{w}_O^i+\mathrm{x}^i \\ \mathrm{x}^{i+1}=f_{\text {relu }}\left(\mathrm{x}_{\text {Out }}^i \cdot \mathrm{w}_1\right) \cdot \mathrm{w}_2+\mathrm{x}_{\text {Out }}^i\end{gathered}\)

decode phase

During the decode phase, given \(\mathbf{t}^i \in \mathcal{R}^{b \times 1 \times h_1}\) as the embedding of the current generated token in the \(i\)-th layer, the inference computation needs to i) update the KV cache:

\[\begin{aligned} & \mathbf{x}_K^i \leftarrow \text { Concat }\left(\mathbf{x}_K^i, \mathbf{t}^i \cdot \mathbf{w}_K^i\right) \\ & \mathbf{x}_V^i \leftarrow \text { Concat }\left(\mathbf{x}_V^i, \mathbf{t}^i \cdot \mathbf{w}_V^i\right) \end{aligned} \]

and ii) compute the output of the current layer:

\[\begin{gathered} \mathbf{t}_Q^i=\mathbf{t}^i \cdot \mathbf{w}_Q^i \\ \mathbf{t}_{\text {Out }}^i=f_{\text {Softmax }}\left(\frac{\mathbf{t}_Q^i \mathbf{x}_K^i}{\sqrt{h}}\right) \cdot \mathbf{x}_V^i \cdot \mathbf{w}_O^i+\mathbf{t}^i \\ \mathbf{t}^{i+1}=f_{\text {relu }}\left(\mathbf{t}_{\text {Out }}^i \cdot \mathbf{w}_1\right) \cdot \mathbf{w}_2+\mathbf{t}_{\text {Out }}^i \end{gathered} \]

标签:Transformer,right,mathbf,cdot,text,left,计算公式,mathrm
From: https://www.cnblogs.com/tuyuge/p/17652551.html

相关文章

  • bert,Bidirectional Encoder Representation from Transformers
    BERT的全称是BidirectionalEncoderRepresentationfromTransformers,是Google2018年提出的预训练模型,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。模型的主要创新点都在pre-train方法上,即用了MaskedLM和NextSentencePrediction两种方法分别捕捉词语和句子......
  • transformer
     maskedmutil-headattetionmask表示掩码,它对某些值进行掩盖,使其在参数更新时不产生效果。Transformer模型里面涉及两种mask,分别是paddingmask和sequencemask。其中,paddingmask在所有的scaleddot-productattention里面都需要用到,而sequencemask只有在decod......
  • transformer模型的历史
    Transformer模型在深度学习领域,尤其是自然语言处理(NLP)中,起到了革命性的作用。以下是其发展历程的简要概述:背景:在Transformer出现之前,循环神经网络(RNN)及其更先进的版本,如长短时记忆网络(LSTM)和门控循环单元(GRU)是处理序列任务的主流架构,例如机器翻译和文本生成。这些模型逐......
  • transformer小白入门
    transformer库是huggingface发布的1个框架,非常好用,很多外行看起来高大上的问题,用它都可以轻松解决,先来看1个小例子: 一、情感分析fromtransformersimportpipelineclassifier=pipeline('sentiment-analysis')classifier('youarebeautiful')这简单的三行代码,就能分析......
  • 论文解读(CTDA)《Contrastive transformer based domain adaptation for multi-source c
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:Contrastivetransformerbaseddomainadaptationformulti-source cross-domainsentimentclassification论文作者:YanpingFu,YunLiu论文来源:2021aRxiv论文地址:download论文代码:download视屏讲解:click1......
  • Transformers包使用记录
    Transformers是著名的深度学习预训练模型集成库,包含NLP模型最多,CV等其他领域也有,支持预训练模型的快速使用和魔改,并且模型可以快速在不同的深度学习框架间(Pytorch/Tensorflow/Jax)无缝转移。以下记录基于HuggingFace官网教程:https://github.com/huggingface/transformers/blob/......
  • 简单计算公式校验
    letformulaStr='你的公式'if(/^[\d()*\/+-]+$/.test(formulaStr)){}else{console.log('公式异常:包含不能解析的字符')}if(/[\+\-\*\/]{2,}/.test(formulaStr)){console.log('公式异常:运算符连续')}if(/\(\)/.test(formulaStr)){console.log(......
  • 云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理
    作者:颜廷帅(瀚廷)01背景OpenAI在3月15日发布了备受瞩目的GPT4,它在司法考试和程序编程领域的惊人表现让大家对大语言模型的热情达到了顶点。人们纷纷议论我们是否已经跨入通用人工智能的时代。与此同时,基于大语言模型的应用也如雨后春笋般出现,为我们带来了协同办公、客服对......
  • [机器学习]对transformer使用padding mask
    注:本文是对GPT4的回答的整理校正补充。在处理序列数据时,由于不同的序列可能具有不同的长度,我们经常需要对较短的序列进行填充(padding)以使它们具有相同的长度。但是,在模型的计算过程中,这些填充值是没有实际意义的,因此我们需要一种方法来确保模型在其计算中忽略这些填充值。这就是p......
  • 解码Transformer:自注意力机制与编解码器机制详述与代码实现
    本文全面探讨了Transformer及其衍生模型,深入分析了自注意力机制、编码器和解码器结构,并列举了其编码实现加深理解,最后列出基于Transformer的各类模型如BERT、GPT等。文章旨在深入解释Transformer的工作原理,并展示其在人工智能领域的广泛影响。作者TechLead,拥有10+年互联网服......