一起理解下LLM的推理流程

为什么大语言模型推理要分成 Prefill 和 Decode?深入理解这两个阶段的真正意义 Prefill 阶段是语言模型推理中的第一个步骤,它负责处理你输入的所有上下文内容(prompt),为后续生成打下基础。“请解释一下 Transformer 的原理。这句话会被 tokenizer 编码为一串 token,比如["请", "解释", "一下", "Trans", "##former", "的", "原理", "。"]。然后这些 token 会进入 Transformer 模型进行前向传播。重点来了 👇。 阅读详情
AI摘要

本文总结基于TRT - LLM的LLM推理流程,包括推理两阶段(prefill和decode)、Chunked Prefil技术、推理评测指标(TTFT、TPOP、ITL等)以及推理运行时显存利用情况。还分享了大模型学习方法,如AGI大模型系统学习路线、视频教程、学习书籍和实战案例等。

本文来源自Pytorch Conference 2024的talking —— Understanding the LLM Inference Workload,由NVIDIA的高级解决方案架构师讲述,感兴趣的可以看原演讲视频:

  • https://www.youtube.com/watch?v=z2M8gKGYws4&list=PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l&index=23[1]

本文总结和整理下其描述的基于TRT-LLM的LLM推理流程。

0x10 推理

以下是简单的LLM推理流程(下图中输入 Write me a presentation… ),注意两个事儿:

  • 我们的输入prompt是放在GPU中的,
  • 然后output的时候,是一个一个出来的:LLM inference is hard,而且每次输出一个token都会这个将这个token之前的输入(也是tokens)全送进GPU再吐下一个token

图片

根据上述的LLM推理流程,很容易推理出:

  • 输入的prompt token数越多,LLM反应越慢,因为LLM要处理你输入的prompt,这是要在GPU上算的,越多计算的时间越长
  • 因为输入的prompt token和后续输出的token都存在GPU中,这些是要占显存的

如下图,原始输入文本转换为tokens传给LLM,然后最后输出的tokens再还原回文本,GPU中存着模型权重和输入输出处理过程中的中间变量和cache:

图片

0x11 推理两阶段

LLM推理有两个阶段:

  • prefill 输入prompt处理的阶段,会生成cache
  • decode 后续新生成token的阶段,会利用prefill的cache以及阶段本身产生的cache

图片

prefill推理阶段,一开始需要输入文本转换为token id,需要依赖Tokenization:

图片

但实际LLM模型中最终拿到的是embedding向量:

图片

分词过程,由于“smart”和“smarter”是不同的单词,分词器会为它们生成不同的token ID,即使它们看起来很相似。

图片

根据prefill的过程,我们也可以总结出:

  • 输入的prompt在LLM中的存储格式为矩阵
  • 输入的prompt越多,最终转化为的矩阵也就越大,占用的显存也就越大

embedding matrix 用于将离散的token ID映射到一个连续的向量空间中,便于模型理解和处理

所以在LLM,最终输入self-attention层的是embedding矩阵向量,具体执行细节可以看这篇,这里简单描述下(下图为精简省略了LN、FFN),模型权重包含着QKV投射权重,以及后续算出来的KV-cache,注意这几个都是显存大户:

图片

Attention Mechanism enables LLMs to focus on important information (tokens)

KV cache在整个LLM推理过程很重要,如果没有kv-cache这个机制,计算量和显存则:

  • 每生成一个新token,都需要重新计算当前序列中所有token的key-value对。这会导致重复计算每个生成步骤中的注意力矩阵(QK^T)和其它中间值,增加计算负担
  • 随着序列长度的增加,模型需要存储更多的中间计算结果,导致显存占用成倍增加。这种情况下,显存消耗可能呈现出二次增长的趋势,而使用KV缓存时,显存需求是线性增长的,这显著降低了显存的压力

更多关于kv-cache的一些细节,也可以看:

  • https://huggingface.co/docs/transformers/llm_tutorial_optimization[2]

图片

另外一个占用显存的就是模型权重,因为大部分LLM结构都是transformer,而transformer中主要是MHA结构。

简单计算下,一个8B的llama3,在FP16精度下占用显存大小事8*2=16G,在INT8精度下是8G。

图片

之前已经聊过,整个推理过程分为Prefill和Decode/generation阶段,一个请求过来后实际的执行顺序就是Prefill+decode。但实际过程中肯定不只有一个请求打过来,如果当第一个请求执行到decode阶段的时候,如果第二个请求打过来,这个时候肯定不能拒接第二个请求,而是同样第二个请求也开始执行,此时第二个请求在prefill阶段而第一个请求在decode阶段:

图片

在LLM推理过程中,prefill和decode两个阶段都是必须的,但各自的运行特性和资源需求有显著的不同:

Prefill阶段:

  • Prefill阶段会并行处理输入的所有token,这种处理方式使得即使在较小的batch size下也能打满GPU的利用率
  • 由于在prefill阶段需要处理长输入(如512 tokens),所以这个阶段的计算开销很大,显卡利用率很容易打满了
  • 增大batch size时,prefill阶段每个token的处理开销几乎保持不变,这意味着prefill的效率在小batch size时就已经非常高,说明开销是固定的

Decode 阶段:

  • Decode阶段是自回归的,每次只生成一个token,因此这一阶段的GPU利用率通常较低
  • IO密集型:Decode过程中需要频繁地读取KV Cache,导致IO开销较大。即使输入的长度始终为1,反复的KV Cache访问也使得这一阶段成为IO密集型
  • 扩大batch size可以显著降低decode阶段的开销,因为更大的batch size能更有效地分摊固定的IO读写成本,不过开再大也不能完全打满GPU,毕竟KV Cache的读写开销过大,导致decode阶段难以成为计算密集型

0x12 Chunked Prefil

Chunked Prefil,这也是TRT-LLM中支持的一个功能,熟悉LLM推理的应该也都知道这个技术,在TRT-LLM中是这么描述的:

_In the original state, the common behavior was to process all context tokens at once. This feature splits the context into several chunks. In this way, the context chunks can be batched with more tokens during the generation phase, which is expected to increase the total throughput. Chunking contexts also removes constraints on input length. To enable this feature, the FMHA paged kv-cache also needs to be enabled. _

刚才也说过,Prefill效率高但性能一般固定,在小batch size下即可达到高GPU利用率,对batch size不敏感。但Decode效率低且受batch size影响大,也就是说Decode阶段需要大batch size才能提高GPU利用率,但同时受限于KV Cache的性能瓶颈。

此时一个新的技术出场了,Chunked Prefil,目前是各大LLM推理框架标配:

图片

具体的执行细节图如下:

图片

随着模型隐藏层尺寸的增大,较小的 chunk size 更容易填满 GPU。在实际模型部署中,通常会遇到非常长的 system prompts,因此采用 chunk 是可行的。然而,若将 chunk size 设置得非常小,prefill 阶段的效率可能会下降,因为 GPU 利用率变低了。

在进行 chunked prefill 时,需要特别处理 attention mask 的问题。尽管 chunked prefill 增加了一些开销,这是因为计算后续 chunk 的键值对(KV)时需要不断从 GPU 内存中读取当前 chunk 的 KV 以供 kernel 使用;而在不使用 chunked prefill 时,初始的 KV Cache 可以保持在 kernel 中,避免频繁从 GPU 内存中读取。然而,我们仍然选择进行 chunked prefill,因为这样可以在 chunk 的 “空隙” 中同时处理 decode 请求。

这种 piggyback 的方法(即 decode-maximal batching)对于减少 decode 阶段的内存开销十分有益。decode 阶段的开销不仅来自从 GPU 内存中获取 KV Cache,还包括提取模型参数。而通过这种 piggyback 方法,decode 阶段能够重用 prefill 时已提取的模型参数,几乎将 decode 阶段从一个以内存为主的操作转变为一个计算为主的操作。测试表明,这种 piggyback decode 方法的耗时可显著减少至原来的 10%。

因此,可以总结出,尽管较小的 chunk size 能够处理更多的 decode 请求,但也会降低 prefill 的效率。chunk size 的选择实际上是一种权衡。尤其是在序列长度能够整除 GPU tile size 时,GPU 的效率是最高的;如果序列长度仅增加一个 token,GPU 的效率可能会显著下降。

对于Pipeline Parallelize的情况,需要优化pipeline bubble;而Chunked Prefill策略通过将不同长度的prompts拆分成长度一致的chunks来进行prefill,同时利用这些chunks间的间隙进行decode的插入/捎带操作,以提高整体效率和资源利用率。

另外提一下kv-cache的显存占用量:

每个输入序列中的 token 都需要分配相应的内存大小,也就是输入批次中的所有 token。

假设使用半精度,KV 缓存的总大小由以下公式给出:

KV 缓存的总大小(单位:字节)= (batch_size) * (sequence_length) * 2 * (num_layers) * (hidden_size) * sizeof(FP16)

例如,使用FP16的 Llama2-7B 模型,batchsize为1,kv-cache的大小将为 1 * 4096 * 2 * 32 * 4096 * 2 字节,大约为 2 GB。

0x13 推理评测指标

有几个评测指标需要注意下,第一个是TTFT——Time to First Token,从发送请求到开始收到token的时间,适用于stream模式:

图片

还有一个指标其实也需要关注,这个很容易和TPOT (Time per Output Token) 搞混,TPOP就是每秒钟能生成多少个token[3],这个不多说了,我们重点看下Inter-token Latency:

图片

ITL (Inter-token Latency) 和 TPOT (Time per Output Token) 在以下情况下可能会表现不一致:

  • 生成速度不均匀:如果模型在生成过程中速度不稳定,ITL会显示出这种波动,而TPOT则会平均化这些差异。假如某些token生成特别慢,而其他的很快,ITL会反映这种差异,TPOT则会给出一个平均值。
  • 首个token生成时间异常:TPOT专门排除了首个token的生成时间,而ITL包含了除第一个token外的所有间隔,如果首个token生成时间特别长或特别短,可能会导致TPOT和ITL的趋势不一致。
  • 批处理效应:某些模型可能会进行批处理,一次生成多个token。这种情况下,ITL可能会显示为周期性的模式(批次内快,批次间慢),而TPOT会平滑这种效果。
  • 长序列生成:在生成长序列时,模型可能会因为上下文增长而逐渐变慢,ITL会清楚地显示这种逐渐减速的趋势,而TPOT只会反映整体的平均速度。
  • 硬件资源波动:如果服务器负载不稳定或存在资源竞争,可能会导致某些时刻的生成速度突然变慢,ITL能够捕捉到这些瞬时的波动,而TPOT则会将其平均化。
  • 模型架构特性:某些模型架构可能在生成特定类型的token时更快或更慢。ITL可以反映出这种因token类型而异的速度差异,TPOT则会给出一个整体的平均值。
  • 缓存效应:如果模型使用缓存来加速生成,可能会导致某些token生成得特别快。ITL会显示出这种不均匀的速度,而TPOT会平均化这种效果。

总之就是,ITL提供了更细粒度的性能视图,能够反映出生成过程中的变化和波动。而TPOT则提供了一个整体的、平均的性能指标。在分析模型性能时,最好同时考虑这两个指标,而不是只看常用的TPOT。

最后一个整体时间(从一开始吐字到最后吐完字的时间),整体时间一般更多用于非stream的场景:

图片

0x14 推理运行时

LLM推理运行过程中和普通小模型在显存的利用上有很大的不同,这里的小模型指的是多个cv或者nlp模型(比如yolov10、bert)这种。

服务运行多个小模型的话,显存占用注意是:

  • 模型权重
  • 模型运行时中间变量(一般推理框架会负责)
  • 一些前后处理的额外显存开辟(临时存中间图片、中间过程图等)

而大模型则显著不同,一般decoder都支持inflight batching,模型权重一般只存一份,大部分显存都是在prefill和decode阶段占用了(上文已经聊过):

图片

另外,不同序列的长度也占用的显存大小也是不一样的,这种一般会提前开辟算好,可以理解为什么长上下文支持比较难了吧?

图片接下来的部分是TRT-LLM,关于TRT-LLM后续再单独讲吧~

参考

  • https://www.youtube.com/watch?v=z2M8gKGYws4&list=PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l&index=23[4]
  • https://huggingface.co/docs/transformers/llm_tutorial_optimization[5]

参考资料

[1]https://www.youtube.com/watch?v=z2M8gKGYws4&list=PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l&index=23: https://www.youtube.com/watch?v=z2M8gKGYws4&list=PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l&index=23[2]https://huggingface.co/docs/transformers/llm_tutorial_optimization: https://huggingface.co/docs/transformers/llm_tutorial_optimization[3]token: https://zhida.zhihu.com/search?content_id=692276832&content_type=Answer&match_order=2&q=token&zhida_source=entity[4]https://www.youtube.com/watch?v=z2M8gKGYws4&list=PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l&index=23: https://www.youtube.com/watch?v=z2M8gKGYws4&list=PL_lsbAsL_o2B_znuvm-pDtV_cRhpqZb8l&index=23[5]https://huggingface.co/docs/transformers/llm_tutorial_optimization: https://huggingface.co/docs/transformers/llm_tutorial_optimization

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

Sarathi的chunked prefill论文 3. 耗时大的部分:2个FFN,preproj,postproj。1. Prefill阶段,batch size为1时,GPU算力已满(saturate),所以提高batch size不能减少单个request的耗时。4. 它的实验里,batch-size为1时,1个decode的平均耗时,是1个prefill的平均耗时,的200倍。(似乎没有打成batch,是一个一个独立计算的)。2. Decode阶段,因为是memory-bound,提高batch size几乎可以让单个request的耗时线性减少。 阅读详情

相关推荐

全面解析 LLM 推理性能的关键因素

全面解析 LLM 推理性能的关键因素

安静的软件工程师 5932

【有啥问啥】 什么是Chunked Prefill技术?

阶段对输入提示(prompt)进行前向推理,构建 Key-Value (KV) 缓存;阶段逐步生成输出令牌。传统流程中,Prefill 会处理整个输入序列后才开始输出解码,此时并行度高但对后续解码造成阻塞。即将一个长prompt的Prefill过程拆分成多个小块(chunk),在调度时将这些预填充块与其他请求的解码任务混合批处理。

Chauvin的博客 2670

AI Agent 的知识图谱推理:增强 LLM 的关系理解

随着大语言模型(LLM)的快速发展,它们在自然语言处理的多个任务中取得了显著的成果。然而,LLM 仍然存在一些局限性,例如对复杂关系的理解不够深入,知识更新不及时等。知识图谱作为一种结构化的知识表示方式,能够清晰地表达实体之间的关系。本研究的目的是探讨如何利用知识图谱推理来增强 LLM 的关系理解能力,从而提高其在各种自然语言处理任务中的性能。本研究的范围涵盖了知识图谱推理的基本概念、核心算法原理、数学模型,以及如何将知识图谱推理与 LLM 相结合的具体实现方法。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 963

还不懂Chunked Prefill? 进来看看

当启用Chunked Prefill并设置max_num_batched_tokens=2048时,这一配置旨在通过分块处理长序列输入,优化大语言模型(LLM)推理的吞吐量和延迟。

小白菜的博客 3253

【Linux】Petalinux使用QSPI FLASH引导启动

1. 预分配Flash空间使用Flash引导Petalinux做的系统,也有进阶的做法。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。1. 预分配Flash空间根据生成的bit文件大小估算BOOT.BIN文件的大小,为Flash大概分配四个分区:boot、bootenv、kernel、bootscr,分别存放BOOT.BIN文件、u-boot的环境变量、内核文件(image.ub/zImage/uImage等)、启动脚本boot.scr。

Tesseract_9527的博客 3375

BugkuCTF-PWN题pwn2-overflow超详细讲解

解题思路 1)计算出get_shell_的地址偏移量 2)算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前,比如int func(int a, int b, int c, int d, int e, int f, int g, int h),首先他会把前6个参数从左往右存入到寄存器rdi、rsi、rdx、rcx、r8、r9,其余参数存入到栈里,保存的顺序是从右往左入栈。比如abcdef会存入到寄存器里,然后一次入栈h

am_03的博客 3013

深入浅出,一文理解LLM的推理流程

自 ChatGPT 发布以来,LLM 领域迅速发展。本文解析 NVIDIA 在 Pytorch Conference 2024 演讲中的 LLM 推理流程,特别是 TRT-LLM 的应用,探讨 prefill 和 decode 阶段对资源的影响,并介绍 Chunked Prefill 技术的优化效果,为实际部署提供实用见解。本文来源自Pytorch Conference 2024的talking ——本文总结和整理下其描述的基于TRT-LLM的LLM推理流程。

2401_84208172的博客 2820

三极管开关电路在脉冲应用中的性能瓶颈分析

深入探讨三极管开关电路在高频脉冲场景下的响应延迟与功耗问题,揭示其性能限制的关键因素。结合实际应用,分析开关速度与信号完整性之间的矛盾,为优化三极管开关电路设计提供实用参考。

weixin_42602368的博客 588

一起理解下LLM的推理流程:从输入到输出的每一步

用一段Python流式请求跑通LLM推理流程,观察TTFT与completion_tokens,理解prefill与decode差异。通过TaoToken统一API通道,用OpenAI兼容格式发请求,官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 可创建Key并切换模型,快速定位首字慢与长prompt成本问题。

weixin_35749786的博客 71

Rocky Linux 9.2:利用LVM动态调整/home与/根分区空间分配

本文详细介绍了在Rocky Linux 9.2系统中,如何利用LVM(逻辑卷管理器)动态调整/home与根分区(/)的空间分配。针对根分区空间不足而/home分区闲置的常见问题,文章提供了从检查磁盘布局、备份数据、卸载分区、调整逻辑卷大小到重建文件系统的完整操作步骤,并重点说明了XFS与EXT4文件系统在缩容时的不同处理方法,帮助系统管理员安全、在线地实现存储空间的灵活调配。

weixin_29271263的博客 177

基于51单片机的校园一卡通系统(仿真)

本次设计利用LCD1604设计可视化界面,矩阵按键执行交互,继电器模拟门的开关,系统集成考勤系统、门禁系统、消费系统、充值系统。同时利用LED灯、蜂鸣器进行指示,方便用户查看状态。

MGT_9796的博客 1552

一起理解下LLM的推理流程:从Token生成到TaoToken统一Key调用

从Token生成到TaoToken统一Key调用,本文拆解LLM推理流程的输入编码、注意力计算、逐Token采样与流式返回四环节,并给出curl与Python可复制配置,用usage字段验证链路是否跑通。访问TaoToken官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 获取统一Key,一个入口调用多种模型。

weixin_34885746的博客 5

099、LLC谐振变换器的大信号建模

摘要:LLC谐振变换器的小信号模型在大信号工况(如启动、负载突变)下会失效,导致保护失灵、过冲等问题。通过状态空间平均法和分段线性化建立大信号模型,需关注谐振腔能量转移、模态切换条件及离散化实现。实际应用中,该模型可优化启动策略、精确设定保护阈值并验证环路补偿,但需注意变压器饱和等非线性因素。经验表明,大信号建模能显著提升设计可靠性,但需结合实验验证(误差<15%)和工具适配(如MATLAB离线仿真与C语言嵌入式调试)。三颗炸裂的MOSFET警示:深入掌握大信号建模是避免关键故障的必要手段。

Jack010169的博客 46

一起理解下LLM的推理流程:从输入到输出的完整链路拆解

用一段流式请求代码实测LLM推理流程:从分词、嵌入、注意力到KV Cache与采样解码,打印TTFT与ITL耗时,直观理解prefill与decode两阶段差异。通过TaoToken官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 统一接口即可跑通链路,并附401、超时、显存不足等常见报错排查清单。

weixin_42608299的博客 12

计算机网络实验报告实验七可靠传输TCP协议分析

计算机网络实验报告实验七可靠传输TCP协议分析

m0_56638814的博客 966

黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

黑猫带你学eMMC协议第7篇:全网最全emmc写保护详解(write protect) 黑猫带你学eMMC协议第8篇:emmc可靠写详解(Write Reliability) 黑猫带你学eMMC协议第9篇:emmc的分区配置(partitioning) 黑猫带你学eMMC协议第10篇:eMMC命令队列详解(CMDQ) 黑猫带你学eMMC协议第11篇:eMMC擦除详解(erase/trim/discard/sanitize/secure erase/secure trim…) 黑猫带你学eMMC协议第12篇:

黑猫奥利奥的博客 2万+

LLM落地实战:从原理理解到微调、推理与Agent化全流程

大语言模型(LLM)正在从对话玩具走向生产系统,但模型“懂”知识不等于“会”干活,事实幻觉、格式漂移、上下文泄漏等问题频发。理解其自回归预测原理,才能明白为何需要工程化适配。通过模型选型、数据微调、RAG增强、量化部署与Function Calling等技术手段,可以将通用模型塑造成稳定可靠的业务能力。无论是垂域问答、客服助手还是AIoT智能控制,llmfit提供了一套覆盖原理认知到Agent化落地的系统工程方法论,帮助团队将LLM潜力真正转化为线上可用价值。

weixin_29531177的博客 133

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

理解llama.cpp如何进行LLM推理

理解llama.cpp如何进行LLM推理

周同学的博客 3222

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

NVIDIA大模型推理框架:TensorRT-LLM软件流程(一)TensorRT-LLM介绍

通过trtllm-serve启动部署大模型推理框架Server端作为切入点,对整个TensorRT-LLM推理引擎的启动、加载模型文件、接收推理请求并且给出推理结构的整个流程,给出代码层面的详细梳理!

chinamaoge的博客 1148

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

大模型如何“思考”?揭秘LLM推理全过程

在机器学习运维(MLOps)的生命周期中,推理过程属于部署与反馈阶段。当完成数据的收集、清洗、标注等准备工作,经过多轮训练实验并选定最优模型后,便需要对模型进行部署,随后输入真实世界中未曾见过的数据,以此获取预测结果。推理指的是:将训练好的模型与未见过的输入数据(推理数据)结合,生成预测输出供用户或服务使用的过程。而模型部署(model serving)则是指将模型打包并部署,使其在生产环境中作为实时数据处理服务或可调用的API服务可用。

manfukeji的博客 867

LLM大模型的工作流程

大模型处理用户查询的流程分为五个关键步骤:首先接收用户输入并转化为文本;接着进行文本编码,将文字转换为数字序列和嵌入向量;然后通过上下文理解、语义分析和知识库调用进行推理;之后逐字生成逻辑连贯的回答;最后将整理好的结果返回给用户。整个过程实现了从问题理解到智能回答的完整闭环。

qq_38737545的博客 400
上一篇: 一文说清:大模型AI Agent在企业应用中的6种基础类型
下一篇: 0门槛理5分钟解什么是大模型!
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值