From ebc6dda00a6714bed3010c7b4d3b60059def44f2 Mon Sep 17 00:00:00 2001 From: liu lili Date: Wed, 11 Sep 2024 11:31:44 +0800 Subject: [PATCH 1/2] lll: add llm_inference design doc --- .../design/images/llm_infer_arch.png | Bin 0 -> 62342 bytes .../design/images/llm_infer_features.png | Bin 0 -> 141819 bytes .../design/images/llm_infer_flow.png | Bin 0 -> 40942 bytes .../source_zh_cn/design/llm_inference.md | 142 ++++++++++++++++++ 4 files changed, 142 insertions(+) create mode 100644 docs/mindspore/source_zh_cn/design/images/llm_infer_arch.png create mode 100644 docs/mindspore/source_zh_cn/design/images/llm_infer_features.png create mode 100644 docs/mindspore/source_zh_cn/design/images/llm_infer_flow.png create mode 100644 docs/mindspore/source_zh_cn/design/llm_inference.md diff --git a/docs/mindspore/source_zh_cn/design/images/llm_infer_arch.png b/docs/mindspore/source_zh_cn/design/images/llm_infer_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..706c2972db144741298cf360bb975fcc99c33349 GIT binary patch literal 62342 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≶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 b+Rfb>(Umt7$>@i7!GDUfsxrA3jeY(H%SkLu literal 0 HcmV?d00001 diff --git a/docs/mindspore/source_zh_cn/design/images/llm_infer_features.png b/docs/mindspore/source_zh_cn/design/images/llm_infer_features.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b26f962c35c0cd39c76aabc1085e4c2ae2be8e GIT binary patch literal 141819 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≈Ze=n&I1Bdw(hp6`#NfjTW$ROn@w-oQxT;GKS? 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 L$-j~{dhmY$ZJ%$n literal 0 HcmV?d00001 diff --git a/docs/mindspore/source_zh_cn/design/images/llm_infer_flow.png b/docs/mindspore/source_zh_cn/design/images/llm_infer_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..842bdb2cc48ee429dbbec8389b17bc831713da67 GIT binary patch literal 40942 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 E0}9VOEdT%j literal 0 HcmV?d00001 diff --git a/docs/mindspore/source_zh_cn/design/llm_inference.md b/docs/mindspore/source_zh_cn/design/llm_inference.md new file mode 100644 index 0000000000..8f5d8268c9 --- /dev/null +++ b/docs/mindspore/source_zh_cn/design/llm_inference.md @@ -0,0 +1,142 @@ +# MindSpore大语言模型推理 + +[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/master/docs/mindspore/source_zh_cn/design/llm_inference.md) + +## 特性背景 + +2022年末,随着OpenAI发布的ChatGPT大语言模型的发布,为人工智能带来了一个新的研究方向,即基于transformers结构的大语言模型,其展现了超过人们预期的AI能力,在多项测试中取得较好成绩,快速成为人工智能的研究焦点。 +在大语言模型的研究中,其中一个重要的研究方向就是如何提高大语言模型在实际应用中的性价比: +由于大语言模型通常是百亿,千亿级别的参数量,因此一次模型推理的过程计算量非常巨大,需要消耗大量计算资源,导致实际人工智能服务提供商发现,当前大语言模型推理一次成本非常高,很难有效应用到实际生活生产中;针对大语言模型推理成本高的问题,MindSpore框架提供了大语言模型推理能力,结合当前主流大语言模型的特点,深度优化大语言模型部署和推理,实现模型推理成本最优。 + +## 基本原则 + +MindSpore大语言模型推理特性设计上主要遵循以下几条原则: + +1. **训练推理共运行时**:MindSpore大语言模型推理采用和MindSpore训练相同的底层运行时,使得大语言模型推理能力和训练(如控制流、副作用等)保持一致,方便后续模型结构演进的迁移。 +2. **权重和网络分离**:相比用MindSpore提供的权重和网络合一的MindIR表达,大语言模型由于权重太大,转换时间非常大(通常半小时),因此大语言模型采用权重与网络结构分离,通过python脚本控制网络计算结构,方便对模型进行调整。 +3. **性能优先**:为了最大化大语言模型推理性价比,MindSpore大语言模型能力通过各种技术优化,优先保证推理的性能,以此实现最优性价比。 + +## 核心流程 + +下图描述了当前主流大语言模型推理的核心流程: + +![llm-infer-flow](./images/llm_infer_flow.png) + +1. **接收请求**:大语言模型服务从用户处获取要进行推理的请求,通常是一句本文表示的话,表示一个问题或者一项任务,大语言模型会根据此请求推理后续需要的内容,如给出答案,画一幅相关的画等。 +2. **请求分组**:由于当前服务的请求比较多,为了降低计算成本,通常会将同时间的多个用户请求组合成一个大的请求发送给大语言模型一次推理,提升系统吞吐量。 +3. **判断推理状态**:根据推理请求的具体语义,判断是否需要继续推理,此判断主要用于多轮推理时判断是否结束,如果推理结束(如完成问题回答),则将推理内容返回给用户,否则会继续下一轮推理。 +4. **推理前处理**:根据推理请求,对推理数据进行预处理,如将语句转换成索引表示的一组数字向量,让大语言模型可以正确识别其任务内容。 +5. **模型推理**:通过输入的数据进行模型推理,通常会返回语句中下一个单词的概率分布。 +6. **推理后处理**: 根据模型推理的结果,计算出下一个单词,返回给服务拼装成下一轮的推理输入。 + +我们以当前大语言模型推理最为常见的场景作为例子,简单的描述一下主流大语言模型推理的主要流程: +用户输入:中国的首都 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
推理迭代推理输入输入向量推理结果
1中国的首都[中国, 的, 首都]北京
2中国的首都北京[中国, 的, 首都, 北京]
3中国的首都北京真[中国, 的, 首都, 北京, 真]美丽
4中国的首都北京真美丽[中国, 的, 首都, 北京, 真, 美丽]END
+ +可以看到,每一轮迭代,实际上大语言模型会根据当前语境推理出下一个单词,与前面的语句拼装成下一轮迭代的输入,通过多轮迭代,生成一句逻辑通顺的话返回给用户。 + +## 整体架构 + +下面是MindSpore大语言模型推理的架构图: + +![llm-infer-arch](./images/llm_infer_arch.png) + +MindSpore大语言模型推理架构和一般的模型部署推理基本一致,主要分为以下几个模块: + +1. **大语言模型服务化**:大语言模型的服务层,包含了组batching,请求调度等能力,同时也包含了大语言模型全量和增量特有的Continous Batching的高级调度策略等,以此提升大语言模型吞吐量。 +2. **模型脚本套件**:主要负责定义大语言模型的网络结构,提供用户“开箱即用”的大语言模型,提高模型上线效率,同时也会配合MindSpore后端能力进行一些脚本优化,提升推理性能。 +3. **图加载/图编译**:MindSpore从ckpt文件中加载模型权重,结合模型脚本生成MindSpore的图表达,通过相关的融合pass优化图,让大语言模型推理性能更优。 +4. **训练推理运行时**:MindSpore提供训练和推理场景统一运行时,通过KernelByKernel模式一个个执行模型的计算逻辑,完成一次推理流程。 +5. **推理算子库**:MindSpore提供了各种后端的算子库,并根据大语言模型做了性能优化,如融合大算子等。 +6. **模型压缩**:MindSpore针对大语言模型结构深入优化,通过模型剪枝、量化等技术,降低模型推理的计算需求,端到端提升推理吞吐量。 + +## 主要特性 + +为了能够最大化推理性价比,MindSpore大语言模型推理实现了当前主流的大语言模型推理特性,下图描述了MindSpore的大语言模型推理特性中的关键技术: + +![llm-infer-arch](./images/llm_infer_features.png) + +- **大语言模型服务化**:服务化层MindSpore主要提供的是请求调度能力,根据大语言模型全量/增量推理特性,提供了D/P分离和Continuous Batching两种batch策略。 + + - **Decode/Prefill分离**:由于大语言模型全量(Prefill)推理需要的计算资源比增量(Decode)推理多很多,MindSpore支持设置某一台服务器只进行全量或增量推理,以此隔离两个不同计算需求的计算,模型全量推理完后,会把后续推理请求发给增量继续推理,这样可以防止当前服务中的增量推理不会被全量推理打断,影响用户接收结果的响应时间,保证比较高的SLA,但是在实际请求无法与全量增量资源比例分配匹配情况下,会浪费计算资源,且需要较多的人工部署。 + + - **Continuous Batching**:采用全量增量混合部署的方式,每个服务器都可以处理全量推理和增量推理,在同时拥有全量请求和增量请求时,会以满batch增量 > 全量 > 不满batch增量的优先级进行计算资源分配,通过这种调度方式,不仅可以实现资源充分利用,同时由于所有的服务器配置都是一样的,部署非常简单,比较适合云这类大规模的部署场景。 + +- **模型脚本套件**: MindSpore提供大语言模型开箱脚本,让用户能够一键完成模型部署,同时,在脚本上,也提供了一些模型优化策略。 + + - **Lora微调**:由于大语言模型的权重文件都非常大,在进行模型微调的时候,如果更新整体权重,其更新的耗时会非常长,导致模型微调效率低,无法快速上线;MindSpore支持Lora微调模型,实现对模型权重的增量调整,通过记录改变的小权重数据,实现快速微调模型,提升模型部署效率。 + + - **投机推理**:MindSpore大语言模型支持投机推理特性,不同于传统的大语言模型,每次迭代推理只能推理下一个单词,投机推理一轮迭代可以同时推理下面的多个单词,通过补偿计算的方式验证后续单词推理是否正确,这样使得每一轮迭代能够产生更多的单词,大幅度提升模型推理吞吐量。 + + - **自动并行**:随着大语言模型规模的不断增大,一张GPU或者NPU的显存容量已经无法容纳模型权重数据,此时就需要将模型权重分发到多张卡上进行计算,这时就需要将权重切分为多份,同时在需要全局数据时通过插入通信算子进行数据同步;MindSpore框架本身提供丰富的并行能力,如DP,PP,TP等,大语言模型推理特性也支持对应的自动并行能力,框架能够自动插入通信算子和权重切分,提高模型部署效率。 + +- **图加载/图编译**:MindSpore为用户提供极致模型性能,因此采用了图编译技术,并通过各种优化pass将图优化成和计算后端最匹配的形式,实现最优性能。 + + - **图编译**:MindSpore将模型脚本转换成MindSpore的统一图表达,以方便后续的优化pass进行统一优化。 + + - **Lazy InLine**:针对大语言模型多层重复的transformer结构的特点,MindSpore通过Lazy InLine编译技术,优化图编译性能,将原本需要编译多层的图,转化成只编译部分图结构,在需要使用具体网络层时,再进行图编译,大幅度缩短了图编译时间,提高模型加载性能。 + + - **融合pass**:MindSpore通过对主流的大语言模型结构进行分析,实现了相关的融合大算子,以提升模型端到端推理的性能,借助MindSpore的统一图表达形式,优化融合pass能够准确的识别网络结构中的融合pattern,将多个小算子融合成一个大算子,不仅减少算子在host和device通信交互开销,也能够通过大算子获得更多的计算性能。 + +- **训练推理运行时**:MindSpore统一训练与推理运行时,不仅让大语言模型推理能够支持MindSpore主要特性,同时针对大语言模型的推理特性进行深度优化,实现性能最优化。 + + - **KVCache增量推理**:大语言模型的核心网络结构是以transfomer为主的注意力机制,由于大语言模型每一轮迭代计算都会计算前N个的注意力分数,因此实际上大语言模型中存在非常多的冗余计算,根据分析,只有最近一个单词的注意力是需要重新计算的,因此KVCache技术将前一轮的计算KV结果保存下来,在下一轮计算前,通过在Cache中查询获取上一轮的计算结果,结合最新单词的计算,将原本N+1次计算量,减少为1次计算量,以此提升模型整网的推理性能。MindSpore大语言模型推理特性从模型脚本上实现并内置了KVCache增量推理技术,用户使用模型脚本套件加载模型,会默认使用KVCache能力,并通过算子实现端到端的全量/增量推理。 + + - **Flash Attention**:大语言模型网络结构中的Attention计算,通常和其hidden size维度强相关,当前主流模型一般选择4K或4K以上的hidden size,这就会带来两个4K的矩阵相乘,实际计算中,这么大的矩阵相乘的性能瓶颈,通常都不在计算单元上,而是在将这么多数据从显存搬运到芯片缓存上,导致Attention计算从计算bound变为了带宽bound,为了能够进一步提升Attention计算性能,Flash Attention技术将原本Attention进行分块,使得每一块计算都能够在GPU或者NPU上独立计算完成,避免了在计算Key和Value时多次显存测搬入和搬出,能够取得较好的推理加速效果。 + + - **Page Attention**:Flash Attention能够通过分块提升Attention计算性能,但是在增量计算时,标准的Flash Attention每次会读取和保存整个输入的Key和Value数据,这种方式虽然比较简单,但是会造成较多的资源浪费,如“中国的首都”和“中国的国旗”,都有共同的“中国的”作为公共前缀,其Attention对应的Key和Value值实际上是一样的,标准Flash Attention就需要存两份Key和Value,导致显存浪费。Page Attention基于Linux操作系统页表原理对KVCache进行优化,按照特定大小的块来存储Key和Value的数据,将上面例子中的Key和Value存储为“中国”、“的”、“首都”、“国旗”一共四份Key和Value数据,相比原来的六份数据,有效地节省了显存资源,在服务化的场景下,更多空闲显存可以让模型推理的batch更大,从而获得更高的吞吐量。MindSpore大语言模型推理默认会采用Flash Attention和Page Attention技术,在全量推理时会采用Flash Attention技术,在增量推理时会使用Page Attention技术。 + + - **自适应通算融合**:在需要多卡进行协同推理的大语言模型场景下,在网络需要全局数据时,会插入AllReduce算子进行通信同步,计算出一个全局的结果,再继续后续计算,通常情况下,会在MatMul后面加入一个AllReduce,由于AllReduce主要时间消耗在通信上,此时实际的计算单元没有计算负载,会造成计算资源浪费,为了进一步提升推理性能,MindSpore大语言模型推理实现了通算融合算子,将MatMul+AllReduce融合成一个MatMulAllReduce,在NPU上实现边算边通信,以此提升性能。但是实际推理场景下,通算融合对于全量这种MatMul计算量多的有较好提升,对于增量(通常seq_len为1)这种MatMul计算量小的反而会带来性能开销。MindSpore根据大语言模型推理特性,全量推理时使能通算融合,增量推理时关闭通算融合,获得最优的推理性能。 + + - **NPU计算流优化**:MindSpore框架拥有丰富的并行策略,配合华为升腾计算芯片的流,可以实现高效的多流并行计算,尤其是计算和通信可以分为多条流。但是大语言模型推理大部分情况只需要单流计算就可以了,同时由于多流间通信需要增加发送和接收算子,反而会影响推理性能,MindSpore大语言模型推理会将默认多流合并成一条流,提高NPU整体的计算性能。 + + - **动态转静态**:MindSpore支持动态shape模型推理,但是动态shape意味着每次推理时,算子需要的显存是变化的,这就导致每一次迭代都需要进行infershape推导出算子的输出大小,并按照其大小重新分配相应显存资源。MindSpore通过流水技术将这部分的时间消耗降低到了最小,但是在多卡场景下,多出来的计算可能会因为CPU竞争带来性能波动,导致推理性能波动,无法达到预期效果。MindSpore大语言模型推理根据大语言模型增量的输入长度都是1的特性(且增量推理比例要高很多),在增量推理时,如果shape没有变化,则复用上一轮推导结果,消除infershape等计算,只保留算子下发线程,消除性能波动,提升模型推理整体性能。 + + - **高性能显存分配**:MindSpore在动态shape模型场景下,需要每次重新为算子输出分配显存资源,在算子下发过程中,两个算子间内存分配策略也是时间瓶颈之一。为了减轻显存分配开销,MindSpore大语言模型推理基于动态转静态特性,在shape没有变化的场景下,复用上一轮的内存分配策略,将复杂的内存分配转为偏移量计算,大幅缩短了算子下发开销,提高Host上算子下发性能,减小模型端到端推理响应时间。 + + - **Tiling Cache**:模型计算的核心是算子库,为了能够让算子在对应后端能够最优的计算,通常会需要根据算子输入和后端硬件特性进行分块,以实现最优的计算策略,如升腾NPU上的矩阵计算单元是128 \* 128,如果按照这个大小分块就可以获得最优的计算能效,因此根据输入shape进行预处理,定制算子计算策略,会对算子计算性能有明显影响,我们通常称这个过程为tiling。MindSpore大语言模型推理分析发现,tiling的结果基本上与输入shape和后端硬件强相关,因此,MindSpore实现了Tiling Cache,根据算子输入shape缓存了算子的tiling结果,同样的shape可以直接复用,在大语言模型这种多层重复transformer结构下,只有第一层的算子需要实际进行tiling计算,从而大幅降低Host侧耗时,提升端到端模型推理性能。 + +- **模型压缩**:MindSpore支持模型剪枝、量化、蒸馏等对模型进行压缩,以减小模型体积,面向大语言模型,MindSpore也提供了A16W8、A16W4、A8W8量化等技术,减少模型体积,提升推理吞吐量。 + + - **A16W8量化**:对大语言模型权重进行量化,将float16的权重用8-bits的int8数据进行保存,在计算前反量化为flaot16进行计算,降低显存占用,提升模型并发度,提高推理吞吐量。 + + - **A16W4量化**:对大语言模型权重进行量化,将float16的权重用4-bits的int4数据进行保存,在计算前反量化为flaot16进行计算,降低显存占用,提升模型并发度,提高推理吞吐量。 + + - **A8W8量化**:对大语言模型整网进行量化,将float16的计算转换成8-bits的int8数据进行计算,让GPU或NPU计算单元的计算效率翻倍(如原来16 \* 16的计算单元变为32 \* 16的计算单元),需要特定的量化算子支持,不仅能够减少显存占用,还能有效提升计算性能。 + + - **KVCache量化**:在大语言模型推理场景下,除了模型权重以外,KVCache也占用了大量显存,因此对KVCache进行量化,降低其显存消耗,也能够有效提升整体的吞吐量。MindSpore大语言模型支持对KVCache做float16到int8的量化,通过FA和PA适配,将量化和反量化融合到算子内部,降低量化带来的开销,实现整体吞吐量提升。 + +## 性能数据 + +MindSpore大语言模型推理基于LLAMA2-70B和QWEN1.5-72B两个主流大语言模型进行了性能测试,具体可以参考MindFormers套件性能数据(待链接) -- Gitee From 39904dc378aa4b23152af4843c9c41a8b314d44f Mon Sep 17 00:00:00 2001 From: liu lili Date: Wed, 11 Sep 2024 15:42:00 +0800 Subject: [PATCH 2/2] lll: add llm_inference design doc --- docs/mindspore/source_zh_cn/design/llm_inference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/mindspore/source_zh_cn/design/llm_inference.md b/docs/mindspore/source_zh_cn/design/llm_inference.md index 8f5d8268c9..cbf0d8d9b0 100644 --- a/docs/mindspore/source_zh_cn/design/llm_inference.md +++ b/docs/mindspore/source_zh_cn/design/llm_inference.md @@ -125,7 +125,7 @@ MindSpore大语言模型推理架构和一般的模型部署推理基本一致 - **高性能显存分配**:MindSpore在动态shape模型场景下,需要每次重新为算子输出分配显存资源,在算子下发过程中,两个算子间内存分配策略也是时间瓶颈之一。为了减轻显存分配开销,MindSpore大语言模型推理基于动态转静态特性,在shape没有变化的场景下,复用上一轮的内存分配策略,将复杂的内存分配转为偏移量计算,大幅缩短了算子下发开销,提高Host上算子下发性能,减小模型端到端推理响应时间。 - - **Tiling Cache**:模型计算的核心是算子库,为了能够让算子在对应后端能够最优的计算,通常会需要根据算子输入和后端硬件特性进行分块,以实现最优的计算策略,如升腾NPU上的矩阵计算单元是128 \* 128,如果按照这个大小分块就可以获得最优的计算能效,因此根据输入shape进行预处理,定制算子计算策略,会对算子计算性能有明显影响,我们通常称这个过程为tiling。MindSpore大语言模型推理分析发现,tiling的结果基本上与输入shape和后端硬件强相关,因此,MindSpore实现了Tiling Cache,根据算子输入shape缓存了算子的tiling结果,同样的shape可以直接复用,在大语言模型这种多层重复transformer结构下,只有第一层的算子需要实际进行tiling计算,从而大幅降低Host侧耗时,提升端到端模型推理性能。 + - **Tiling Cache**:模型计算的核心是算子库,为了能够让算子在对应后端能够最优的计算,通常会需要根据算子输入和后端硬件特性进行分块,以实现最优的计算策略,如升腾NPU上的矩阵计算单元是128*128,如果按照这个大小分块就可以获得最优的计算能效,因此根据输入shape进行预处理,定制算子计算策略,会对算子计算性能有明显影响,我们通常称这个过程为tiling。MindSpore大语言模型推理分析发现,tiling的结果基本上与输入shape和后端硬件强相关,因此,MindSpore实现了Tiling Cache,根据算子输入shape缓存了算子的tiling结果,同样的shape可以直接复用,在大语言模型这种多层重复transformer结构下,只有第一层的算子需要实际进行tiling计算,从而大幅降低Host侧耗时,提升端到端模型推理性能。 - **模型压缩**:MindSpore支持模型剪枝、量化、蒸馏等对模型进行压缩,以减小模型体积,面向大语言模型,MindSpore也提供了A16W8、A16W4、A8W8量化等技术,减少模型体积,提升推理吞吐量。 @@ -133,7 +133,7 @@ MindSpore大语言模型推理架构和一般的模型部署推理基本一致 - **A16W4量化**:对大语言模型权重进行量化,将float16的权重用4-bits的int4数据进行保存,在计算前反量化为flaot16进行计算,降低显存占用,提升模型并发度,提高推理吞吐量。 - - **A8W8量化**:对大语言模型整网进行量化,将float16的计算转换成8-bits的int8数据进行计算,让GPU或NPU计算单元的计算效率翻倍(如原来16 \* 16的计算单元变为32 \* 16的计算单元),需要特定的量化算子支持,不仅能够减少显存占用,还能有效提升计算性能。 + - **A8W8量化**:对大语言模型整网进行量化,将float16的计算转换成8-bits的int8数据进行计算,让GPU或NPU计算单元的计算效率翻倍(如原来16*16的计算单元变为32*16的计算单元),需要特定的量化算子支持,不仅能够减少显存占用,还能有效提升计算性能。 - **KVCache量化**:在大语言模型推理场景下,除了模型权重以外,KVCache也占用了大量显存,因此对KVCache进行量化,降低其显存消耗,也能够有效提升整体的吞吐量。MindSpore大语言模型支持对KVCache做float16到int8的量化,通过FA和PA适配,将量化和反量化融合到算子内部,降低量化带来的开销,实现整体吞吐量提升。 -- Gitee