MoreRSS

site iconAnZhihe | 安志合修改

国学和传统文化爱好者,IT行业从业者,运维和SRE。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

AnZhihe | 安志合的 RSS 预览

大模型并发场景GPU显存资源计算

2026-03-20 10:30:06

前面两篇文章主要介绍了大模型GPU资源需求计算及使用场景:大模型GPU显存算力需求计算大模型推理资源需求计算及使用场景示例

在常见并发推理场景中,显存需求会随着并发数的增加而显著增长,因为KV Cache是显存占用的主要变量。下面我们来系统性地介绍并发推理的显存计算方法,并通过7B、32B、70B三个模型的示例进行全面评估。

一、并发推理显存计算核心公式

1.1 总显存构成

总显存 = 模型参数 + KV Cache + 中间激活值 + 系统开销

1.2 KV Cache显存计算公式

KV Cache是并发场景下显存增长的主要来源,其精确计算公式如下-7

KV Cache显存(GB) = 2 × 最大并发请求数 × 序列长度 × 层数 × 隐层维度 × 精度字节数 ÷ (1024³)

其中:

  • 2:Key和Value两份缓存

  • 最大并发请求数:服务能同时处理的请求数量

  • 序列长度:输入+输出的总token数

  • 层数:Transformer层数

  • 隐层维度:每个token的表示维度

  • 精度字节数:FP16为2,INT8为1

KV Cache 大小和 并发数有关,和 batch size 无关;batch 只影响一次计算的规模,不改变 KV 总量。

概念
并发数 (active_sequences)
Batch size
定义
系统中当前“活着”的序列总数
单次计算合并处理的序列数
影响
决定需要多少份 KV Cache
决定一次矩阵大小和吞吐
增长关系
KV Cache ∝ 并发数 × 序列长度
与 KV Cache 无关
举例
100 用户并发 → 100 份 KV
batch=16 只是一次算16条,KV 总量仍=100

1.3 vLLM的内存分配机制

vLLM通过gpu_memory_utilization参数控制显存分配-7

可用显存 = 总GPU显存 × gpu_memory_utilization
模型权重显存 + KV Cache显存 ≤ 可用显存

通常设置gpu_memory_utilization = 0.8-0.9,预留部分显存用于系统开销和中间激活值-7-8

1.4 CPU与内存需求

  • CPU核心:建议≥并发数/2,用于数据预处理和调度

  • 系统内存:需存储模型权重副本(用于CPU卸载场景)和数据缓存


二、7B模型并发推理资源需求

Llama 2-7BDeepSeek-7B为例,假设模型配置:

  • 层数:32

  • 隐层维度:4096

  • 精度:FP16(2字节/参数)

2.1 不同并发数的显存需求

并发数 KV Cache显存公式 KV Cache显存 参数显存 总显存需求 说明
1 2×1×2048×32×4096×2÷(1024³) 1.0GB 14GB ~16GB 单用户场景
4 2×4×2048×32×4096×2÷(1024³) 4.0GB 14GB ~19GB 小团队使用
8 2×8×2048×32×4096×2÷(1024³) 8.0GB 14GB ~23GB 中等负载
16 2×16×2048×32×4096×2÷(1024³) 16.0GB 14GB ~31GB 高并发场景

2.2 资源需求总览

并发数 GPU显存需求 推荐GPU配置 CPU核心 系统内存 适用场景
4 19GB 1×RTX 4090 24GB 4-8核 32GB 个人API服务
8 23GB 1×RTX 4090 24GB 8核 64GB 中小团队
16 31GB 1×A100 40GB 或 2×RTX 4090 8-16核 64-128GB 企业级服务

优化提示:当并发数超过8时,单张RTX 4090 24GB已接近极限,建议使用张量并行(TP)分散到多卡-1


三、32B模型并发推理资源需求

Qwen-32BDeepSeek-32B为例,假设模型配置:

  • 层数:64

  • 隐层维度:5120

  • 精度:FP16(2字节/参数)

3.1 不同并发数的显存需求

并发数 KV Cache显存公式 KV Cache显存 参数显存 总显存需求 说明
1 2×1×2048×64×5120×2÷(1024³) 2.5GB 64GB ~67GB 单用户场景
4 2×4×2048×64×5120×2÷(1024³) 10.0GB 64GB ~75GB 小团队使用
8 2×8×2048×64×5120×2÷(1024³) 20.0GB 64GB ~85GB 中等负载
16 2×16×2048×64×5120×2÷(1024³) 40.0GB 64GB ~105GB 高并发场景

3.2 资源需求总览

并发数 GPU显存需求 推荐GPU配置 CPU核心 系统内存 适用场景
4 75GB 1×A100 80GB 8-16核 128GB 企业API服务
8 85GB 2×A100 40GB(TP=2) 16核 256GB 中型负载
16 105GB 2×A100 80GB(TP=2) 16-32核 256-512GB 高并发场景

vLLM配置示例(2×A100 80GB)-1

vllm serve Qwen-32B \
  --tensor-parallel-size 2 \
  --max-num-seqs 16 \
  --gpu-memory-utilization 0.9

四、70B模型并发推理资源需求

Llama 2-70BDeepSeek-70B为例,假设模型配置:

  • 层数:80

  • 隐层维度:8192

  • 精度:FP16(2字节/参数)

4.1 不同并发数的显存需求

并发数 KV Cache显存公式 KV Cache显存 参数显存 总显存需求 说明
1 2×1×2048×80×8192×2÷(1024³) 5.0GB 140GB ~146GB 单用户场景
4 2×4×2048×80×8192×2÷(1024³) 20.0GB 140GB ~161GB 小团队使用
8 2×8×2048×80×8192×2÷(1024³) 40.0GB 140GB ~181GB 中等负载
16 2×16×2048×80×8192×2÷(1024³) 80.0GB 140GB ~221GB 高并发场景

4.2 资源需求总览

并发数 GPU显存需求 推荐GPU配置 CPU核心 系统内存 适用场景
4 161GB 2×A100 80GB(TP=2) 16-32核 256GB 企业API服务
8 181GB 4×A100 40GB(TP=4) 32核 512GB 中型负载
16 221GB 4×A100 80GB(TP=4) 32-64核 1TB 高并发场景

五、MoE模型(如DeepSeek-V3)的特殊考量

混合专家模型(MoE)的并发推理显存计算与稠密模型有所不同-6-9

5.1 MoE模型显存构成

总显存 = 共享参数 + 专家参数 + KV Cache + 路由开销

其中:

  • 共享参数:嵌入层、注意力层等(约占30-50%)

  • 专家参数:分布在多卡上,通过专家并行(EP)优化-6

  • 路由开销:存储专家负载和路由概率,通常小于1%总显存-9

5.2 并行策略选择

并发场景 推荐并行策略 说明
低并发(<4) TP + EP 延迟优先,每个请求由所有GPU协同处理-6
高并发(≥8) DP + EP 吞吐优先,多组GPU副本并行处理不同请求-6

5.3 资源估算示例(DeepSeek-V3 671B)

假设模型配置-9

  • 专家数量E=256,每个专家参数量约2.6B

  • 共享参数量约300B

  • 精度:FP8(1字节/参数)

  • 激活专家数K=8(Top-8路由)

并发数 显存需求 推荐GPU配置(EP并行) CPU核心 系统内存
4 ~350GB 8×A100 80GB(EP=8) 32核 512GB
8 ~380GB 8×A100 80GB(EP=8) 32-64核 1TB
16 ~450GB 16×A100 80GB(EP=16) 64核+ 2TB+

关键提示:MoE模型通过专家并行(EP)可将专家参数分散到多卡,大幅降低单卡显存压力-6-9


六、并发推理优化策略

6.1 vLLM核心参数调优

参数 作用 推荐值 说明
gpu_memory_utilization 显存利用率 0.8-0.9 预留10-20%用于系统开销-7
max_num_seqs 最大并发数 根据显存计算 控制KV Cache上限-8
max_num_batched_tokens 批处理token上限 4096-8192 平衡吞吐与延迟-8
tensor_parallel_size 张量并行度 2/4/8 模型放不下时启用-1
enable_expert_parallel 专家并行开关 True(MoE模型) 对DeepSeek等MoE模型有效

6.2 量化技术

量化精度 参数显存减少 KV Cache显存减少 适用场景
INT8 50% 50% 高并发、追求吞吐
INT4 75% 75% 超大模型、资源受限

6.3 抢占与分块预填充

当KV Cache空间不足时,vLLM会触发抢占(Preemption)机制-8。为避免性能下降:

  • 适当提高gpu_memory_utilization

  • 启用分块预填充(Chunked Prefill)平衡预填充和解码请求-8


七、快速参考表

不同并发度下的显存需求速查(FP16)

模型规模 参数显存 并发1 并发4 并发8 并发16
7B 14GB 16GB 19GB 23GB 31GB
32B 64GB 67GB 75GB 85GB 105GB
70B 140GB 146GB 161GB 181GB 221GB

推荐配置速查

模型规模 目标并发 GPU配置 CPU核心 系统内存
7B 8 1×RTX 4090 24GB 8核 64GB
7B 16 2×RTX 4090 24GB(TP=2) 16核 128GB
32B 8 2×A100 40GB(TP=2) 16核 256GB
32B 16 2×A100 80GB(TP=2) 32核 512GB
70B 8 4×A100 40GB(TP=4) 32核 512GB
70B 16 4×A100 80GB(TP=4) 64核 1TB

总结

  1. 并发推理显存核心公式:总显存 ≈ 参数显存 + 2×并发数×序列长度×层数×隐层维度×精度

  2. KV Cache是并发场景下的主要变量,与并发数成正比增长

  3. vLLM通过gpu_memory_utilizationmax_num_seqs参数控制显存分配-7-8

  4. MoE模型需结合专家并行(EP)优化-6,显存计算需考虑共享参数和专家参数的分布

  5. CPU和内存需求:CPU核心数建议≥并发数/2,系统内存需能容纳完整模型权重


参考:


《坏男孩联盟》《黑岩男孩》与《银泰杜梅拉》

2026-03-14 21:16:52

这三部纪录片从不同视角展现了非洲草原上狮子真实而震撼的生活。这些狮王的故事也展现了非洲草原上不同的生存策略:暴力征服、团队协作、智慧统治。每种方式都有其优势和代价。当然,如果没有邪恶的两脚兽干预可能又是另外的结局了!

纪录片标题 核心主角 主要内容
《坏男孩联盟》
(又称《狮王之路》)
"坏男孩联盟"
六头雄狮:恩格拉拉里克(Makulu)、瑞斯塔(Rasta)、大漂亮(Pretty Boy)、秃尾巴(Scar)、怪尾巴(Kinky Tail)、撒旦(Mr. T)
讲述南非萨比森保护区传奇的"坏男孩联盟"从崛起到统治再到覆灭的完整故事。它们以强大的战斗力、广阔的领地以及极具戏剧性的兄弟情谊而闻名,被认为是狮子界的"顶流男团"。
《狮子兄弟-大草原求生》 "黑岩男孩"联盟
五兄弟雄师:奥洛希帕 (Oloseepa)、奥洛博尔 (Oloibor)、奥尔帕丹 (Olpadan)、洛伊西亚杜 (Loishiadu) 和洛科卢普 (Lokolup)
聚焦于马赛马拉草原上"黑岩男孩"五兄弟的成长史。纪录片详细记录了它们如何从一个狮群中长大,最终组成强大的雄狮联盟,在充满暴力与竞争的大草原上艰难求生、建立自己的王国。
《永世仇敌:狮子与鬣狗》

一个狮群与多个鬣狗氏族

(传奇狮王银泰杜梅拉: "银泰杜梅拉"在斯瓦希里语中意为"狮子的命运"或"王者之狮")

深入探讨非洲草原上狮子与鬣狗之间"不共戴天"的生存竞争。影片通过多个具体而微的故事(如雌狮莫苏米与鬣狗的恩怨、专杀鬣狗的传奇狮王银泰杜梅拉),展现了两个顶级掠食者之间为领地、食物和后代而展开的持久战。

看完这三部纪录片,相信你会有这种感觉:男人就该像雄师一样去战斗。


《坏男孩雄狮联盟:狮王之路》

badboy.jpg

这是一部由探索频道制作的经典野生动物纪录片,讲述了南非萨比森保护区内一个传奇雄狮联盟——“坏男孩联盟”的兴衰史。

主角介绍:故事围绕一个由六头雄狮组成的强大联盟展开,核心成员包括带领兄弟们走向辉煌的首领恩格拉拉里克,以及最具代表性的两头年轻雄狮怪头和卷尾。它们从五只被驱逐的幼狮起步,在外来雄狮的带领下,逐渐成长为统治萨比森保护区广大地区的霸主。

精彩看点

  • 传奇崛起:纪录片详细记录了它们如何通过无数次残酷的战斗,击败并驱逐其他雄狮,最终建立起属于自己的“王朝”。

  • 兄弟情谊:影片着重展现了雄狮之间罕见的深厚情感与紧密合作,它们不仅是猎手,更是彼此最坚实的依靠。

  • 自然法则:在展现辉煌的同时,影片也忠实地记录了它们衰老、疾病以及与新兴势力斗争的过程,揭示了自然界生生不息的残酷法则。

坏男孩联盟(Mapogo males):传奇的“六巨头“

《坏男孩联盟》的主角,也许是整个狮界历史上最富盛名、最具传奇色彩的雄狮联盟。

  • 成员构成:由6头雄狮组成的超强联盟,按年龄和地位排列如下:

排名 名字 核心特点
老大 恩格拉拉里克 联盟绝对领袖,体型巨大,被称为“狮中之王”。童年坎坷,作为外来者寄人篱下,练就了坚毅隐忍的性格,一手将5个弟弟带大。吼声低沉而洪亮,极具辨识度。
老二 瑞斯塔 性格相对平和低调,在联盟中地位不高,但仍是战斗力不容小觑的成员。
老三 漂亮男孩 与老二为双胞胎,鬃毛俊美。他是老大的忠实拥护者,与老大关系最为亲密。
老四 秃尾巴 因尾巴上的毛球残缺而得名。个性强势,自视甚高,除了老大谁都不服,有“小霸王”之称,战力极强。
老五 怪尾巴 与老六是亲兄弟,尾巴形状奇特。与老六形影不离,感情深厚,战斗勇猛。
老六 撒旦 联盟中最年轻但最凶残、最好斗的成员,杀死狮子数量最多,鬃毛稀疏是其标志。野心勃勃,最终导致了联盟的内部分裂。
  • 统治与陨落:它们从2005年左右开始横扫南非萨比森私人保护区,在巅峰时期几乎统治了所有狮群,据称在一年内导致保护区狮子数量锐减约40%,甚至杀死并吃掉其他狮子的幼崽和同类,因此获得了“坏男孩”(Mapogo,意为流氓或恶棍)的恶名。它们的强大不仅在于数量,更在于极致的团结和恐怖的战斗力。然而,随着2010年后新兴的“保卫者联盟”的挑战、成员间的内讧以及盗猎,这个传奇联盟最终走向瓦解,到2012年左右,六兄弟的故事彻底落幕。

◎b站在线观看:


《狮子兄弟-大草原求生》

hyboys.jpeg

这部纪录片由ARTE电视台出品,叙事非常有层次感,精彩地跟踪拍摄了这五头兄弟狮子在马赛马拉长达五年的生活,为我们呈现了一个关于亲情、成长与生存的完整故事。

  • 第1集:登顶之路 (The Path to Dominance)
    故事始于五兄弟的童年。纪录片讲述了它们如何在母亲的抚育下,与狮群的姐妹们一起成长。随着它们两岁生日到来,年轻的雄狮们必须面对离开母亲、独自生存的挑战。这一集的核心,就是记录这五个年轻的兄弟如何开始结成最初的联盟,在危机四伏的草原上迈出独立的第一步。

  • 第2集:丰收季节 (The Season of Plenty)
    随着年岁渐长,五兄弟的狩猎技巧愈发娴熟,开始展现出强大的统治力。但它们的生活并非一帆风顺,不仅要面对饥饿的威胁和狩猎的风险,还要应对狮群内部复杂的关系。与此同时,气候变化和角马大迁徙等自然挑战,也时刻考验着这个年轻联盟的智慧和韧性。

  • 第3集:野牛之争 (The Buffalo Challenge)
    这是联盟走向成熟的终章。此时,以首领奥洛博尔为核心的五兄弟,已经成为这片土地的统治者。它们的主要猎物是强壮且危险的非洲野牛,每一次捕猎都是生死一线的搏斗。这一集集中展现了它们在确立统治地位后,如何作为一支无坚不摧的团队,共同面对最艰巨的挑战,守护自己的领地与荣耀。

黑岩男孩联盟(Blackrock Boys):正在崛起的“水牛杀手”

《狮子兄弟-大草原求生》的主角,生活在马赛马拉,是近年来备受关注的雄狮联盟。

  • 成员构成:由5头年轻雄狮组成的兄弟联盟。

  • 名字与由来:它们出生于2017年8月左右,来自“黑岩地区”,因此得名。这五兄弟的父亲是强大的索帕联盟,继承了父辈的优良基因。它们最近被正式命名为:奥洛希帕、奥洛博尔、奥尔帕丹、洛伊西亚杜和洛科卢普

  • 核心特点:与“坏男孩”的“恶名”不同,“黑岩男孩”以出色的捕猎能力著称,尤其以捕杀非洲水牛闻名,被称为 “水牛杀手” 。它们年纪虽轻,但发育良好,非常强势,已经接管了龙盖狮群。纪录片记录了它们如何在充满挑战的草原上成长、学习捕猎、应对竞争者,最终建立自己王国的艰辛历程,是一个关于成长、奋斗和兄弟情谊的励志故事。

名字 (英译) 个性与特点
Oloibor(奥洛博尔) 五兄弟中最强壮、最具领袖气质的“大姐夫杀手”,是联盟无可争议的头领。
Oloseepa(奥洛希帕) 因腿部有伤而微微跛行,但这并不妨碍他成为联盟中最活跃的雄狮。
Loishiadu (洛伊西亚杜) 性格谨慎、内向,不像兄弟们那样爱出风头,常常独自待在一边。
Lokolup (洛科卢普) 总是紧紧跟随着兄弟们,是团队里忠诚的“小跟班”。
Olpadan (奥尔帕丹) 充满雄心壮志,捕猎时总是冲在最前面,是兄弟们中最出色的猎手。

相关动态与一个悲伤的后续

值得一提的是,这部纪录片的影响力持续至今。直到2025年和2026年,还有大量网友在Bilibili等平台发布关于“黑岩男孩”联盟的最新动态和讨论,足见这个狮群在大家心中的地位 。

不过,关于这个传奇联盟,有一个令人难过的后续消息。2025年10月,有消息确认联盟成员之一 “奥胖” (Oloshipa,也即上文中的Olosiadu) 确认死亡,死因疑似与非法捕猎有关 。这篇报道详细讲述了黑岩男孩联盟从崛起到成员接连陨落的悲剧,并深刻反思了人类活动(如牧民扩张、栖息地萎缩、非法捕猎)对狮子生存造成的巨大威胁 。这不仅是一个狮群的故事,更是一记关于生态保护的警钟。

◎b站在线观看:黑岩男孩纪录片 - The Entire Life of the Lion Brothers


《永世仇敌:狮子与鬣狗》

dml.png

这部由国家地理频道制作的纪录片,聚焦于非洲草原上狮群与鬣狗群之间延续数百万年的生存战争。

主角介绍银泰杜梅拉是一头传奇雄狮,生活在博茨瓦纳乔贝国家公园的萨武蒂地区。它与其兄长曼迪弗组成了一个雄狮联盟,共同统治着“中央狮群”。影片中,由它领导的狮群与当地的鬣狗群结下了世代血仇,双方为了领地、食物和后代展开永无休止的争斗。

精彩看点

  • 宿敌之争:影片深刻剖析了狮子与鬣狗为何成为“永世仇敌”。它们互相伏击、掠夺对方的食物,甚至杀死对方的幼崽,但极少以对方为食,这种竞争本质上是对生存资源的终极争夺。

  • 震撼故事:片中记录了多个惊心动魄的真实故事,如雌狮深夜被鬣狗群围攻而痛失幼崽,以及银泰杜梅拉带领狮群与鬣狗群展开的复仇与反复仇。

  • 生存博弈:通过一个个生动的案例,影片将观众带入非洲荒野的核心战场,展现了物种间为生存而展开的智慧、勇气和力量的博弈。

传奇事迹:银泰杜梅拉对鬣狗有着刻骨的仇恨,其战斗风格以 “斩首行动” 著称。它曾两次在鬣狗群中,精准地锁定并击杀它们的首领(女王),导致整个鬣狗族群闻风丧胆。

  • 第一战:在一次冲突中,它直接冲向鬣狗女王“老佛爷”,在几十秒内咬断了对方的脊椎,其余鬣狗一哄而散。

  • 第二战:新上任的鬣狗女王不知天高地厚,在银泰杜梅拉的地盘挑衅。这头传奇雄狮再次出击,闪电般将其锁喉杀死,再次震慑了整个鬣狗群。

性格与结局:银泰杜梅拉体型在雄狮中并不算特别突出,但性格极其凶猛,无所畏惧,甚至敢于挑战大象。它杀鬣狗纯粹是为了消灭仇敌,而非捕食,因此从不食用。然而,它的威名和一身华丽的皮毛引来了人类的贪婪。在它的故事被纪录片传播后不久,它便死于偷猎者的枪口下,最终被制成了标本,令无数人为之扼腕叹息。

◎b站在线观看:超经典纪录片:鬣狗杀手银泰杜梅拉狮王传奇(英语完整版)

macOS安装龙虾OpenClaw

2026-03-11 01:23:40

1773158714189006.jpeg

OpenClaw是个啥?

简单说:OpenClaw 是一个开源的个人 AI 助手平台,支持通过多种消息渠道与 AI 交互,让你能把 AI 代理(agent)连接到日常生活和工作流中,处理生活工作中的各种任务。

 OpenClaw 到底是个撒?

系统要求

项目
要求
Node.js
≥ 22
(通过 node --version 检查)
操作系统
macOS、Linux (Window超级不稳定,建议在WSL2上安装)
AI 提供商密钥
Anthropic API Key(推荐)、OpenAI 或自定义提供商

安装步骤

1.安装nodejs环境:macOS 升级node到指定版本

2.获取 AI 提供商密钥,免费试用阿里云(百炼平台)API体验额度:OpenClaw接入文档

  • 核心权益: 每个模型 100 万 Tokens

  • 领取地址: 阿里云百炼控制台

  • 领取步骤:

    1)登录百炼控制台。

    2)阅读并同意协议后,系统将自动开通阿里云百炼并发放免费推理额度

  • 特性: 有效期3个月

  • 支持系列: 千问全系、DeepSeek 全系、Kimi 系列、MiniMax 系列、GLM 智谱系列。

3.安装/配置OpenClaw:OpenClaw保姆安装教程OpenClaw橙皮书-从入门到精通.pdf

  • 安装 OpenClaw:npm install -g openclaw@latest

  • 初始化并安装守护进程:openclaw onboard --install-daemon

> npm install -g openclaw@latest                                                                               22:54:12 
npm warn deprecated [email protected]: Use your platform's native DOMException instead

added 534 packages in 59s

96 packages are looking for funding
  run `npm fund` for details

> openclaw onboard --install-daemon                                                                               22:58:07 

&#x1f99e; OpenClaw 2026.3.8 (3caab92) — Open source means you can see exactly how I judge your config.

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██
██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██
██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                  &#x1f99e; OPENCLAW &#x1f99e;

┌  OpenClaw onboarding
│
◇  Security ─────────────────────────────────────────────────────────────────────────────────╮
│                                                                                            │
│  Security warning — please read.                                                           │
│                                                                                            │
│  OpenClaw is a hobby project and still in beta. Expect sharp edges.                        │
│  By default, OpenClaw is a personal agent: one trusted operator boundary.                  │
│  This bot can read files and run actions if tools are enabled.                             │
│  A bad prompt can trick it into doing unsafe things.                                       │
│                                                                                            │
│  OpenClaw is not a hostile multi-tenant boundary by default.                               │
│  If multiple users can message one tool-enabled agent, they share that delegated tool      │
│  authority.                                                                                │
│                                                                                            │
│  If you’re not comfortable with security hardening and access control, don’t run           │
│  OpenClaw.                                                                                 │
│  Ask someone experienced to help before enabling tools or exposing it to the internet.     │
│                                                                                            │
│  Recommended baseline:                                                                     │
│  - Pairing/allowlists + mention gating.                                                    │
│  - Multi-user/shared inbox: split trust boundaries (separate gateway/credentials, ideally  │
│    separate OS users/hosts).                                                               │
│  - Sandbox + least-privilege tools.                                                        │
│  - Shared inboxes: isolate DM sessions (`session.dmScope: per-channel-peer`) and keep      │
│    tool access minimal.                                                                    │
│  - Keep secrets out of the agent’s reachable filesystem.                                   │
│  - Use the strongest available model for any bot with tools or untrusted inboxes.          │
│                                                                                            │
│  Run regularly:                                                                            │
│  openclaw security audit --deep                                                            │
│  openclaw security audit --fix                                                             │
│                                                                                            │
│  Must read: https://docs.openclaw.ai/gateway/security                                      │
│                                                                                            │
├────────────────────────────────────────────────────────────────────────────────────────────╯
│
◇  I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
│  Yes
│
◇  Onboarding mode
│  QuickStart
│
◇  QuickStart ─────────────────────────╮
│                                      │
│  Gateway port: 18789                 │
│  Gateway bind: Loopback (127.0.0.1)  │
│  Gateway auth: Token (default)       │
│  Tailscale exposure: Off             │
│  Direct to chat channels.            │
│                                      │
├──────────────────────────────────────╯
│
◇  Model/auth provider
│  Custom Provider
│
◇  API Base URL
│  https://dashscope.aliyuncs.com/compatible-mode/v1
│
◇  How do you want to provide this API key?
│  Paste API key now
│
◇  API Key (leave blank if not required)
│  sk-xxxooo
│
◇  Endpoint compatibility
│  OpenAI-compatible
│
◇  Model ID
│  qwen-plus
│
◇  Verification successful.
│
◇  Endpoint ID
│  custom-dashscope-aliyuncs-com
│
◇  Model alias (optional)
│
Configured custom provider: custom-dashscope-aliyuncs-com/qwen-plus
│
◇  Channel status ────────────────────────────╮
│                                             │
│  Telegram: needs token                      │
│  WhatsApp (default): not linked             │
│  Discord: needs token                       │
│  Slack: needs tokens                        │
│  Signal: needs setup                        │
│  signal-cli: missing (signal-cli)           │
│  iMessage: needs setup                      │
│  imsg: missing (imsg)                       │
│  IRC: not configured                        │
│  Google Chat: not configured                │
│  LINE: not configured                       │
│  Feishu: install plugin to enable           │
│  Google Chat: install plugin to enable      │
│  Nostr: install plugin to enable            │
│  Microsoft Teams: install plugin to enable  │
│  Mattermost: install plugin to enable       │
│  Nextcloud Talk: install plugin to enable   │
│  Matrix: install plugin to enable           │
│  BlueBubbles: install plugin to enable      │
│  LINE: install plugin to enable             │
│  Zalo: install plugin to enable             │
│  Zalo Personal: install plugin to enable    │
│  Synology Chat: install plugin to enable    │
│  Tlon: install plugin to enable             │
│                                             │
├─────────────────────────────────────────────╯
│
◇  How channels work ───────────────────────────────────────────────────────────────────────╮
│                                                                                           │
│  DM security: default is pairing; unknown DMs get a pairing code.                         │
│  Approve with: openclaw pairing approve <channel> <code>                                  │
│  Public DMs require dmPolicy="open" + allowFrom=["*"].                                    │
│  Multi-user DMs: run: openclaw config set session.dmScope "per-channel-peer" (or          │
│  "per-account-channel-peer" for multi-account channels) to isolate sessions.              │
│  Docs: channels/pairing              │
│                                                                                           │
│  Telegram: simplest way to get started — register a bot with @BotFather and get going.    │
│  WhatsApp: works with your own number; recommend a separate phone + eSIM.                 │
│  Discord: very well supported right now.                                                  │
│  IRC: classic IRC networks with DM/channel routing and pairing controls.                  │
│  Google Chat: Google Workspace Chat app with HTTP webhook.                                │
│  Slack: supported (Socket Mode).                                                          │
│  Signal: signal-cli linked device; more setup (David Reagans: "Hop on Discord.").         │
│  iMessage: this is still a work in progress.                                              │
│  LINE: LINE Messaging API webhook bot.                                                    │
│  Feishu: 飞书/Lark enterprise messaging with doc/wiki/drive tools.                        │
│  Nostr: Decentralized protocol; encrypted DMs via NIP-04.                                 │
│  Microsoft Teams: Bot Framework; enterprise support.                                      │
│  Mattermost: self-hosted Slack-style chat; install the plugin to enable.                  │
│  Nextcloud Talk: Self-hosted chat via Nextcloud Talk webhook bots.                        │
│  Matrix: open protocol; install the plugin to enable.                                     │
│  BlueBubbles: iMessage via the BlueBubbles mac app + REST API.                            │
│  Zalo: Vietnam-focused messaging platform with Bot API.                                   │
│  Zalo Personal: Zalo personal account via QR code login.                                  │
│  Synology Chat: Connect your Synology NAS Chat to OpenClaw with full agent capabilities.  │
│  Tlon: decentralized messaging on Urbit; install the plugin to enable.                    │
│                                                                                           │
├───────────────────────────────────────────────────────────────────────────────────────────╯
│
◇  Select channel (QuickStart)
│  Skip for now
Updated ~/.openclaw/openclaw.json
Workspace OK: ~/.openclaw/workspace
Sessions OK: ~/.openclaw/agents/main/sessions
│
◇  Web search ────────────────────────────────────────╮
│                                                     │
│  Web search lets your agent look things up online.  │
│  Choose a provider and paste your API key.          │
│  Docs: https://docs.openclaw.ai/tools/web           │
│                                                     │
├─────────────────────────────────────────────────────╯
│
◇  Search provider
│  Skip for now
│
◇  Skills status ─────────────╮
│                             │
│  Eligible: 3                │
│  Missing requirements: 48   │
│  Unsupported on this OS: 0  │
│  Blocked by allowlist: 0    │
│                             │
├─────────────────────────────╯
│
◇  Configure skills now? (recommended)
│  No
│
◇  Hooks ──────────────────────────────────────────────────────────────────╮
│                                                                          │
│  Hooks let you automate actions when agent commands are issued.          │
│  Example: Save session context to memory when you issue /new or /reset.  │
│                                                                          │
│  Learn more: https://docs.openclaw.ai/automation/hooks                   │
│                                                                          │
├──────────────────────────────────────────────────────────────────────────╯
│
◇  Enable hooks?
│  Skip for now
Config overwrite: /Users/buhaihui/.openclaw/openclaw.json (sha256 581c8ed510ec4559901d459d066548468f72796357a5832fcf102b01fed34664 -> fca7ba4e02ba957f8762db644b7d98787db07c3840d287029a5b9fa305a6f9c6, backup=/Users/buhaihui/.openclaw/openclaw.json.bak)
│
◇  Gateway service runtime ────────────────────────────────────────────╮
│                                                                      │
│  QuickStart uses Node for the Gateway service (stable + supported).  │
│                                                                      │
├──────────────────────────────────────────────────────────────────────╯
│
◒  Installing Gateway service….
Installed LaunchAgent: /Users/buhaihui/Library/LaunchAgents/ai.openclaw.gateway.plist
Logs: /Users/buhaihui/.openclaw/logs/gateway.log
◇  Gateway service installed.
│
◇
Agents: main (default)
Heartbeat interval: 30m (main)
Session store (main): /Users/buhaihui/.openclaw/agents/main/sessions/sessions.json (0 entries)
│
◇  Optional apps ────────────────────────╮
│                                        │
│  Add nodes for extra features:         │
│  - macOS app (system + notifications)  │
│  - iOS app (camera/canvas)             │
│  - Android app (camera/canvas)         │
│                                        │
├────────────────────────────────────────╯
│
◇  Control UI ─────────────────────────────────────────────────────────────────────╮
│                                                                                  │
│  Web UI: http://127.0.0.1:18789/                                                 │
│  Web UI (with token):                                                            │
│  http://127.0.0.1:18789/#token=b335b8d2ac131c84fb63ecf8d79ee2d14c8e1ded73f7aa3c  │
│  Gateway WS: ws://127.0.0.1:18789                                                │
│  Gateway: reachable                                                              │
│  Docs: https://docs.openclaw.ai/web/control-ui                                   │
│                                                                                  │
├──────────────────────────────────────────────────────────────────────────────────╯
│
◇  Start TUI (best option!) ─────────────────────────────────╮
│                                                            │
│  This is the defining action that makes your agent you.    │
│  Please take your time.                                    │
│  The more you tell it, the better the experience will be.  │
│  We will send: "Wake up, my friend!"                       │
│                                                            │
├────────────────────────────────────────────────────────────╯
│
◇  Token ────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                            │
│  Gateway token: shared auth for the Gateway + Control UI.                                  │
│  Stored in: ~/.openclaw/openclaw.json (gateway.auth.token) or OPENCLAW_GATEWAY_TOKEN.      │
│  View token: openclaw config get gateway.auth.token                                        │
│  Generate token: openclaw doctor --generate-gateway-token                                  │
│  Web UI keeps dashboard URL tokens in memory for the current tab and strips them from the  │
│  URL after load.                                                                           │
│  Open the dashboard anytime: openclaw dashboard --no-open                                  │
│  If prompted: paste the token into Control UI settings (or use the tokenized dashboard     │
│  URL).                                                                                     │
│                                                                                            │
├────────────────────────────────────────────────────────────────────────────────────────────╯
│
◇  How do you want to hatch your bot?
│  Do this later
│
◇  Later ───────────────────────────────────────────╮
│                                                   │
│  When you're ready: openclaw dashboard --no-open  │
│                                                   │
├───────────────────────────────────────────────────╯
│
◇  Workspace backup ────────────────────────────────────────╮
│                                                           │
│  Back up your agent workspace.                            │
│  Docs: https://docs.openclaw.ai/concepts/agent-workspace  │
│                                                           │
├───────────────────────────────────────────────────────────╯
│
◇  Security ──────────────────────────────────────────────────────╮
│                                                                 │
│  Running agents on your computer is risky — harden your setup:  │
│  https://docs.openclaw.ai/security                              │
│                                                                 │
├─────────────────────────────────────────────────────────────────╯
│
◇  Shell completion ───────────────────────────────────────────────────────╮
│                                                                          │
│  Shell completion installed. Restart your shell or run: source ~/.zshrc  │
│                                                                          │
├──────────────────────────────────────────────────────────────────────────╯
│
◇  Web search ───────────────────────────────────────╮
│                                                    │
│  Web search was skipped. You can enable it later:  │
│    openclaw configure --section web                │
│                                                    │
│  Docs: https://docs.openclaw.ai/tools/web          │
│                                                    │
├────────────────────────────────────────────────────╯
│
◇  What now ─────────────────────────────────────────────────────────────╮
│                                                                        │
│  What now: https://openclaw.ai/showcase ("What People Are Building").  │
│                                                                        │
├────────────────────────────────────────────────────────────────────────╯
│
└  Onboarding complete. Use the dashboard link above to control OpenClaw.

使用OpenClaw

  • TUI 终端管理:openclaw tui

1773165195928701.png

  • 浏览器访问:openclaw dashboard

1773161074642924.png

  • 停止openclaw:

# 方法1:OpenClaw 官方停止命令
openclaw gateway stop

# 方法2:强制杀死所有 OpenClaw 进程(推荐)
pkill -f openclaw

# 方法3:杀死占用 18789 端口的进程(若端口被占用)
lsof -i :18789 | grep -v PID | awk '{print $2}' | xargs kill -9 2>/dev/null


OpenClaw 命令速查表

核心命令

命令 说明
openclaw --help 显示所有命令
openclaw --version 显示版本号
openclaw status 显示频道健康和最近会话
openclaw dashboard 打开控制 UI
openclaw tui 打开终端 UI
openclaw docs 搜索在线文档
openclaw doctor 健康检查 + 快速修复

Gateway(网关)

openclaw gateway              # 启动本地网关
openclaw gateway --port 18789 # 指定端口
openclaw gateway --force      # 强制启动(杀占用进程)
openclaw gateway status       # 查看网关状态
openclaw gateway stop         # 停止网关
openclaw gateway restart      # 重启网关
openclaw logs --follow        # 跟踪网关日志

Agent(代理)

openclaw agent --message "任务描述"           # 运行一次 agent
openclaw agent --to +1234567890 --message "Hi" # 发送到指定目标
openclaw agents list                          # 列出所有 agent
openclaw agents kill <id>                     # 终止 agent

Channels(频道)

openclaw channels list              # 列出已登录频道
openclaw channels login --verbose   # 登录新频道(显示 QR)
openclaw message send --channel telegram --target @chat --message "Hi"
openclaw message read <id>          # 读取消息
openclaw directory lookup <name>    # 查找联系人/群组 ID

Memory(记忆)

openclaw memory search "关键词"     # 搜索记忆
openclaw memory reindex             # 重建索引

Cron(定时任务)

openclaw cron list                  # 列出定时任务
openclaw cron add                   # 添加任务
openclaw cron run <jobId>           # 立即执行任务
openclaw cron runs <jobId>          # 查看执行历史

Config & Security(配置与安全)

openclaw config                     # 配置向导
openclaw config get <key>           # 获取配置
openclaw config set <key> <value>   # 设置配置
openclaw security audit             # 安全检查
openclaw secrets list               # 列出密钥

Skills & Plugins(技能与插件)

openclaw skills list                # 列出可用技能
openclaw skills inspect <name>      # 查看技能详情
openclaw plugins list               # 列出插件
openclaw plugins install <name>     # 安装插件

Update & Backup(更新与备份)

openclaw update check               # 检查更新
openclaw update install             # 安装更新
openclaw backup create              # 创建备份
openclaw backup verify              # 验证备份
openclaw reset                      # 重置配置(保留 CLI)

高级命令

命令 说明
openclaw acp * Agent Control Protocol 工具
openclaw browser * 管理浏览器(Chrome/Chromium)
openclaw node * 管理无节点主机服务
openclaw sandbox * 管理沙盒容器
openclaw webhooks * Webhook 集成
openclaw models * 模型发现与配置
openclaw sessions * 查看存储的会话
openclaw approvals * 管理执行审批

常用示例

# 发送 WhatsApp 消息
openclaw message send --target +15555550123 --message "Hi"

# 运行 agent 并发送回复
openclaw agent --to +15555550123 --message "总结今天的工作" --deliver

# 开发模式(隔离状态)
openclaw --dev gateway

# 生成 Shell 补全
openclaw completion > ~/.bash_completion

# 查看模型配置
openclaw models list

完整文档: https://docs.openclaw.ai/cli


参考:


大模型推理资源需求计算及使用场景示例

2026-03-10 01:43:45

上一篇我们了解了 大模型GPU显存算力需求计算这次我们把CPU和内存的需求也一起纳入考量。在异构计算(CPU+GPU协同)和纯CPU推理日益普及的今天,了解这三者的需求对于在不同硬件上部署大模型至关重要。

一、三大资源的核心作用与估算原则

在估算之前,我们需要明确CPU、内存和GPU显存在模型推理中分别扮演什么角色:

  1. GPU显存:主要用于存储模型参数、KV Cache以及计算过程中的中间激活值-7。它是决定模型能否在GPU上运行的核心瓶颈。

  2. 系统内存 (RAM)

  • 纯CPU推理时,内存需要容纳整个模型,其需求与模型大小直接相关-5-8

  • GPU显存不足时(如使用CPU卸载或异构计算),内存需要存储完整的模型权重,并实时与GPU进行数据传输-3-7

  • CPU

    • 负责数据调度、指令下发,并在异构计算场景下承担部分计算任务(如MoE专家层计算、Attention计算),以避免GPU因等待数据传输而空闲-3-10。CPU的核心数和指令集(如AVX2, AMX)直接影响卸载计算的效率-5

    二、综合资源需求估算方法

    下面通过几个典型的部署场景,展示如何同时估算这三项资源的需求。

    场景一:纯GPU推理(高性能,低延迟)

    这是最经典的场景,模型完全加载在GPU上。CPU和内存主要负责管理,负载较轻。

    • 硬件配置:单张或多张高性能GPU(如RTX 4090, A100)

    • 工作机制:模型权重完全驻留在GPU显存,计算全部在GPU上完成-4

    估算示例:DeepSeek-R1 14B (FP16)

    资源类型 估算公式 / 依据 估算需求 备注
    GPU显存 参数显存 + KV Cache + 预留 ~ 16-18 GB 根据实测,14B FP16模型约需28GB显存4,但通过优化可降低。此处按常规推理估算。
    系统内存 操作系统 + 数据传输缓冲 16 - 32 GB 主要用于加载模型时的临时存放和系统开销。建议16GB起步,32GB更充裕4
    CPU 处理数据加载、指令下发 8核以上 避免CPU成为瓶颈,影响GPU Utilization4

    场景二:CPU + GPU 异构推理(以显存换内存,突破单卡限制)

    这是当前的热门方案,通过将部分计算(尤其是MoE模型的专家层)卸载到CPU和内存,让显存较小的GPU也能运行超大模型-3-6

    • 硬件配置:消费级GPU(如RTX 3090 24GB) + 大容量内存 + 高性能多核CPU

    • 工作机制:模型完全存储在系统内存中。GPU仅存储Attention等核心层和部分专家,计算时按需从内存拉取数据-6-10

    估算示例:DeepSeek-V3/R1 (671B MoE, 量化版) -3

    资源类型 估算公式 / 依据 估算需求 备注
    GPU显存 存储Attention层 + 部分常驻专家 ~ 24 GB 英特尔方案显示,配合HeteroFlow可在24GB显卡上运行3。llama.cpp实测也表明,通过--n-cpu-moe参数可将MoE层卸载,显存占用控制在24GB内6
    系统内存 存储完整模型权重 ~ 140 - 200 GB 671B模型即便经过量化,其权重也需要大量内存。华为云的方案中,为类似大规模模型分配了1000Gi内存1。具体取决于量化精度。
    CPU 处理卸载的MoE层计算 高主频,多核心 (如16核以上) MoE层计算对CPU吞吐量要求高10。Intel方案推荐使用支持AMX指令集的至强® 6 CPU以加速3。llama.cpp测试显示,CPU核心数直接决定卸载后的推理速度10

    场景三:纯CPU推理(极致低成本,边缘计算)

    完全不依赖GPU,仅用CPU和内存运行模型,适合资源受限或成本敏感的场景-5-8

    • 硬件配置:任何带有CPU的计算机(从树莓派到高性能服务器)

    • 工作机制:模型通过极致量化(如INT4)大幅缩小体积,完全在CPU内存中运行,利用CPU指令集(如AVX2)进行计算-5-8

    估算示例:DeepSeek-R1-7B (INT4 量化版) -5-8

    资源类型 估算公式 / 依据 估算需求 备注
    GPU显存 不涉及GPU 0 GB 完全不需要显卡5
    系统内存 量化后模型大小 + 运行时开销 2 - 4 GB 7B模型经4位量化后约3.5GB8。通过分块加载等优化,实际运行内存可控制在2GB以内58
    CPU 执行所有模型计算 4核以上,支持AVX2指令集 用于执行所有推理计算。多核能显著提升推理速度5。在树莓派5(8GB RAM)上实测可运行5

    场景四:极轻量级模型(1-bit时代的新选择)

    微软的BitNet b1.58 1-bit模型展示了未来模型在CPU上运行的巨大潜力-9

    • 工作机制:采用1.58-bit权重,模型体积极度缩小。

    估算示例:BitNet b1.58 2B4T (20亿参数) -9

    资源类型 估算需求 备注
    GPU显存 0 GB (或不必须) 专为CPU高效运行设计。
    系统内存 ~ 400 MB 仅需400MB非嵌入式内存,远小于同类模型-9
    CPU 普通处理器 (如Apple M2) 可在Apple M2芯片上高效运行-9,对CPU要求极低。

    三、快速查询表

    为了方便快速估算,以下整理了不同部署方式和模型规模下的资源需求概览:

    部署模式 代表模型与精度 GPU显存需求 系统内存需求 CPU需求 典型场景 数据来源
    纯GPU推理 7B (FP16) ~14-16 GB 16-32 GB 8核以上 高性能本地部署 4
    14B (FP16) ~28-32 GB 32 GB+ 8核以上 工作站、研究 4
    CPU+GPU异构 70B MoE (量化) ~24 GB 64-128 GB+ 16核以上,高带宽内存支持 单卡跑超大模型 36
    120B MoE (量化) ~24 GB 64 GB+ 高性能多核CPU (如EPYC) 消费级硬件玩转千亿模型 6
    纯CPU推理 7B (INT4) 0 GB 2-4 GB 4核以上,支持AVX2 边缘设备、低成本服务器 58
    1.5B (1.58-bit) 0 GB < 1 GB 任何现代CPU 物联网、极低功耗设备 9

    [zkqw]

    大模型资源计算需求使用场景示例

    一、7B模型资源需求示例(以Llama 2-7B / DeepSeek-7B为例)

    场景1:纯GPU推理(FP16精度)

    资源类型 计算公式 需求估算 说明
    GPU显存 参数(14GB) + KV Cache(~1.5GB) + 激活值(~1.5GB) + 其他(1GB) ~18GB Batch Size=1,序列长度2048-9
    CPU核心 数据加载与调度 4-8核 消费级CPU即可满足
    系统内存 操作系统+数据缓冲 16-32GB 用于加载模型时的临时存放

    实际配置建议:RTX 4090 24GB单卡即可流畅运行,推理速度可达25-30 tokens/s-5

    场景2:LoRA微调(参数高效)

    资源类型 计算公式 需求估算 说明
    GPU显存 基础模型(14GB) + LoRA参数(~0.1GB) + 梯度(0.1GB) + 优化器(0.4GB) + 激活值(~1.5GB) ~16GB 仅训练约0.1-1%的参数-2-9
    CPU核心 数据预处理与加载 8核 建议支持AVX2指令集
    系统内存 存储原始模型+数据集 32-64GB 用于数据集缓存和混合精度卸载

    实际配置建议:RTX 4090 24GB单卡可轻松承载,消费级微调首选方案-9

    场景3:全量微调(混合精度)

    资源类型 计算公式 需求估算 说明
    GPU显存 参数(14GB) + 梯度(14GB) + 优化器(56GB) + 激活值(~7GB) + 其他(2GB) ~93GB 采用AdamW优化器,Batch Size=4-2-9
    GPU数量 显存需求÷单卡显存 2×A100 40GB 或 4×RTX 4090 24GB 需张量并行或ZeRO-3-5
    CPU核心 ≥16核 16-32核 推荐Intel Xeon或AMD EPYC
    系统内存 ≥ GPU显存总量 128GB 支持ZeRO-Offload和数据集缓存

    技术突破:GaLore技术可在24GB显存上实现7B全量训练,优化器状态内存减少65.5%-9


    二、32B模型资源需求示例(以DeepSeek-32B / Qwen-32B为例)

    场景1:纯GPU推理(FP16精度)

    资源类型 计算公式 需求估算 说明
    GPU显存 参数(64GB) + KV Cache(~3GB) + 激活值(~6GB) + 其他(2GB) ~75GB Batch Size=1,序列长度2048-2-5
    GPU数量 1×A100 80GB 或 2×RTX 4090 24GB(模型并行) 单卡80GB或双卡并行 双卡方案需张量并行-5
    CPU核心 数据调度 8-16核 双卡并行时需更多CPU线程
    系统内存 模型临时加载 64-128GB 存储完整模型权重

    实测性能:A100 80GB单卡推理延迟约650ms,吞吐量12 tokens/s-5

    场景2:QLoRA微调(4-bit量化)

    资源类型 计算公式 需求估算 说明
    GPU显存 4-bit参数(16GB) + LoRA参数(~0.3GB) + 优化器(~1.2GB) + 激活值(~3GB) ~20-24GB 使用GPTQ/AWQ量化,微调约0.5%参数-2-6
    GPU数量 1×RTX 4090 24GB 或 1×A6000 48GB 单卡可行 消费级显卡的极限-6
    CPU核心 ≥8核 8-16核 用于数据预处理
    系统内存 64GB 64GB 存储原始FP16模型和数据集

    优化要点:结合梯度检查点可进一步降低显存占用约30%-3

    场景3:全量微调(混合精度)

    资源类型 计算公式 需求估算 说明
    GPU显存 参数(64GB) + 梯度(64GB) + 优化器(384GB) + 激活值(~32GB) ~544GB AdamW优化器,Batch Size=4-2
    GPU数量 544GB ÷ 80GB ≈ 7张 8×A100 80GB 需3D并行(DP+TP+PP)-5
    CPU核心 ≥32核 32-64核 推荐双路Xeon Platinum
    系统内存 ≥1.5×GPU显存 ≥1TB DDR4 ECC 支持大规模数据集

    部署案例:某银行部署32B模型用于反欺诈检测,采用4×A100 80GB集群,准确率达99.2%-10


    三、70B模型资源需求示例(以Llama 2-70B / DeepSeek-70B为例)

    场景1:纯GPU推理(FP16精度)

    资源类型 计算公式 需求估算 说明
    GPU显存 参数(140GB) + KV Cache(~6GB) + 激活值(~14GB) + 其他(2GB) ~162GB Batch Size=1,序列长度2048-2-8
    GPU数量 2×A100 80GB(张量并行) 或 4×RTX 4090 24GB 多卡并行必备 单卡无法承载FP16版本-6
    CPU核心 ≥16核 16-32核 用于数据加载和并行调度
    系统内存 128-256GB 128GB 存储模型权重和中间数据

    实测数据:2×A100 80GB集群推理延迟约1.2s,吞吐量8 tokens/s-5

    场景2:QLoRA微调(4-bit量化)

    资源类型 计算公式 需求估算 说明
    GPU显存 4-bit参数(35GB) + LoRA参数(~0.7GB) + 优化器(~2.8GB) + 激活值(~7GB) ~45-50GB 4-bit量化后显存需求大幅降低-6
    GPU数量 1×A6000 48GB 或 1×L40S 48GB 单卡专业级GPU 消费级显卡无法满足-6
    CPU核心 16-32核 16核 支持数据预处理
    系统内存 128GB 128GB 存储量化前模型和数据集

    成本效益:QLoRA方案使70B微调门槛从数百GB降至50GB以内,TCO降低70%以上-6

    场景3:全量微调(混合精度)

    资源类型 计算公式 需求估算 说明
    GPU显存 参数(140GB) + 梯度(140GB) + 优化器(840GB) + 激活值(~70GB) ~1.19TB 混合精度训练-2-8
    GPU数量 1190GB ÷ 80GB ≈ 15张 16×A100 80GB 或 8×H100 80GB 需3D并行+ZeRO-3-5
    CPU核心 32-64核 ≥64核 推荐双路EPYC或Xeon Platinum
    系统内存 ≥ 2×GPU显存 ≥2TB DDR4 ECC 支持大规模数据加载-8
    网络架构 100Gbps RDMA Infiniband或RoCE 多卡通信带宽需求高

    能耗成本:单次推理电耗超过500W,适合科研机构或超大规模企业-10


    四、快速选型参考表

    模型规模 场景 GPU显存需求 GPU数量建议 CPU核心 系统内存 适用场景
    7B
    推理 16-18GB 1×RTX 4090 4-8核 16-32GB 个人部署、轻量应用-1-5
    LoRA微调 16-24GB 1×RTX 4090 8核 32-64GB 中小团队微调-2-9
    全量微调 ~93GB 2×A100 40GB 16-32核 128GB 研究机构-2
    32B
    推理 64-75GB 1×A100 80GB 8-16核 64-128GB 企业级应用-5-10
    QLoRA微调 20-24GB 1×RTX 4090 8-16核 64GB 消费级极限-2-6
    全量微调 ~544GB 8×A100 80GB 32-64核 ≥1TB 专业领域训练-5
    70B
    推理 140-162GB 2×A100 80GB 16-32核 128-256GB 云端服务-6-8
    QLoRA微调 45-50GB 1×A6000 48GB 16-32核 128GB 专业微调-6
    全量微调 ~1.2TB 16×A100 80GB ≥64核 ≥2TB 科研/超大规模企业

    总结与建议

    1. 综合资源使用建议

    • 追求极致性能:聚焦GPU显存,确保能装下模型。

    • 突破显存瓶颈:关注系统内存CPU多核性能,它们是异构计算的关键。

    • 追求极致成本:关注CPU指令集内存容量,通过量化技术在纯CPU环境运行。

    2. 显存估算核心公式

    • 推理:参数量(GB) × 1.2 ≈ 实际需求(含KV缓存和激活值)

    • 全量训练:参数量(GB) × 16-18 ≈ 实际需求(含优化器状态)

    • LoRA微调:参数量(GB) × 2-3 + 10-15% ≈ 实际需求

    3. CPU与内存配置原则

    • 训练场景:CPU核心数 ≥ GPU数量 × 4,系统内存 ≥ GPU显存总量

    • 推理场景:CPU核心数 ≥ GPU数量 × 2,系统内存 ≥ 模型权重大小 × 1.2

    4. CPU与GPU配比原则

    CPU的有效算力(数据处理+调度能力)≥ GPU的算力需求(数据吞吐量),同时控制成本,实现“性价比最优”。

    • 大模型训练(如GB300场景):CPU与GPU配比 1:2 ~ 1:4,优先选择高带宽、多核CPU(如Grace CPU),重点保障数据传输和调度效率;

    • AI推理(如自动驾驶、语音识别):CPU与GPU配比 1:4 ~ 1:8,推理场景数据预处理压力小,可适当减少CPU数量,降低成本;

    • 高清渲染、视频编解码:CPU与GPU配比 1:1 ~ 1:2,这类场景需要CPU承担较多的逻辑处理和任务调度,CPU性能不能太弱;

    • 普通算力场景(如小型AI项目):CPU与GPU配比 1:1 ~ 1:4,根据算力需求灵活调整,优先保证性价比。


    参考:

    [/zkqw]

    大模型GPU显存算力需求计算

    2026-03-03 23:00:06

    一、显存占用核心组成部分

    大语言模型在GPU上运行时的显存占用主要包括以下几个部分:

    1. 模型参数

    在模型推理时首先需要存储模型本身的参数,其占用的显存计算公式为:参数量 x 参数精度。常用的参数精度有FP32(4字节)、FP16(2字节)、BF16 (2字节)。对于大语言模型,模型参数通常采用FP16BF16。因此,以参数精度为FP16,参数量为7B的模型为例,其所需显存为:7B × 2B = 14 GB

    每个参数根据精度占用不同字节数:

    • FP32(单精度浮点数):4字节/参数

    • FP16(半精度浮点数)/BF16:2字节/参数

    • INT8(8位整数):1字节/参数

    • INT44位整数):0.5字节/参数

    2. 梯度

    • 通常与参数精度相同

    • 训练时需要,推理时不需要

    3. 优化器状态

    • Adam优化器需要保存动量和方差

    • 通常每个参数占用8-12字节(根据优化器类型)

    4. 激活值

    在大语言模型推理过程中,需要计算每层神经元的激活值,其占用显存与批量大小、序列长度和模型架构(层数、隐藏层大小)正相关,关系式可以表示为:激活值显存b×s×h×L×param_bytes

    其中:

    • b(batch size)单次请求批量大小,在作为在线服务时通常为1,作为批处理接口时不为1。

    • s(sequence length):整个序列长度,包括输入输出(token数量)。

    • h(hidden size):模型隐藏层维度。

    • L(Layers):模型Transformer层数。

    • param_bytes:激活值存储的精度,一般为2字节。

    结合以上因素和实践经验,为简化显存估算,且留有一定余量,以一个7B模型为例,b1,s2048,param_bytes2字节时,激活值所占显存可以大致按照10%的模型所占显存进行估算,即:14GB×0.1=1.4GB

    5. KV Cache(推理时)

    为加速大语言模型的推理效率,通常会缓存每层Transformer已经计算完成的键K(Key)和值V(Value),避免每个时间步重新计算所有历史token的注意力机制参数。引入KV缓存后,其计算量从降低至,大幅提升推理速度。与激活值类似,KV缓存占用显存也与批量大小、序列长度、并发度和模型架构(层数、隐藏层大小)正相关,关系式可以表示为:

    其中:

    • 2:表示需要存储K(Key)和V(Value)两个矩阵。

    • b(batch size):单次请求批量大小,在作为在线服务时通常为1,作为批处理接口时不为1。

    • s(sequence length):整个序列长度,包括输入输出(token数量)。

    • h(hidden size):模型隐藏层维度。

    • L(Layers):模型Transformer层数。

    • C(Concurrent):服务接口请求的并发度。

    • param_bytes:激活值存储的精度,一般为2字节 。

    结合以上因素和实践经验,为简化显存估算,且留有一定余量,以一个7B模型为例,当C1,b1,s2048,param_bytes2字节时,KV缓存所占显存也大致按照10%的模型所占显存进行估算,即:

    6. 其他

    除了以上影响因素外,当前批次的输入数据、CUDA核心、PyTorch/TensorFlow深度学习框架本身等也会占用一些显存,通常为1~2GB。

    根据以上因素分析,对于7B的大模型,通常情况下模型推理部署最低需要的显存约为:

    二、资源需求核心计算公式

    1. 推理场景显存公式

    总显存 ≈ 模型参数 + KV Cache + 激活值 + 其他开销(1-2GB)
    
    模型参数 = 参数量 × 精度字节数
    KV Cache = 2 × Batch Size × 序列长度 × 层数 × 隐层维度 × 精度字节数
    激活值 ≈ 参数显存的10-20%(简化估算)

    2. 训练场景显存公式

    总显存 ≈ 模型参数 + 梯度 + 优化器状态 + 激活值 + 其他开销
    
    模型参数 = 参数量 × 2字节(FP16)
    梯度 = 参数量 × 2字节(FP16)
    优化器状态(AdamW)= 参数量 × 12字节(FP32参数副本+动量+方差)
    激活值 = 与Batch Size、序列长度正相关,通常占参数显存的20-50%

    3. CPU与内存需求原则

    • CPU核心数:训练场景建议为GPU数量的2-4倍,推理场景可适当降低

    • 系统内存:训练时建议≥ GPU显存总量,推理时需容纳完整模型权重(特别是CPU卸载场景)

    三、实际计算示例

    示例1:推理场景 - 加载Llama 2 7B模型 (FP16)

    模型信息

    • 参数量:7B = 7 × 10⁹

    • 精度:FP16 (2字节/参数)

    • 假设batch size = 1,序列长度 = 2048

    • 层数 = 32,注意力头数 = 32,隐层维度 = 4096

    计算步骤

    1.模型参数显存

    7B × 2字节 = 14GB

    2.KV Cache显存

    每层KV Cache大小 = 2(Key和Value) × 序列长度 × 隐层维度 × 2字节
    = 2 × 2048 × 4096 × 2 = 33.55MB
    
    总KV Cache = 33.55MB × 32层 ≈ 1.07GB

    中间激活值(估算)≈ 0.5GB

    总显存需求

    14GB + 1.07GB + 0.5GB = 15.57GB
    加上10%预留 ≈ 17.13GB

    结论:至少需要24GB显存的GPU(如RTX 3090/4090)

    示例2:训练场景 - 微调Llama 2 7B (混合精度训练)

    模型信息

    • 参数量:7B

    • 使用混合精度训练(参数存FP16,优化器状态FP32)

    • batch size = 4,序列长度 = 512

    计算步骤

    1. 模型参数(FP16):7B × 2 = 14GB

    2. 梯度(FP16):7B × 2 = 14GB

    3. 优化器状态(Adam):

    • FP32参数副本:7B × 4 = 28GB

    • 动量:7B × 4 = 28GB

    • 方差:7B × 4 = 28GB

    • 小计:84GB

  • 激活值(估算):

    • 与batch size、序列长度相关

    • 粗略估算 ≈ 参数量的20-30% ≈ 2GB

  • 总显存

  • 14GB + 14GB + 84GB + 2GB = 114GB
    加上10%预留 ≈ 125.4GB

    结论:需要多卡训练,如4×A100 (80GB)或8×A100

    示例3:常见模型的推理显存需求

    模型 参数量 精度 理论参数显存 实际推理显存
    BERT-base 110M FP16 220MB 约1-2GB
    BERT-large 340M FP16 680MB 约2-3GB
    GPT-2 1.5B 1.5B FP16 3GB 约6-8GB
    Llama 2 7B 7B FP16 14GB 约16-20GB
    Llama 2 13B 13B FP16 26GB 约28-32GB
    Llama 2 70B 70B FP16 140GB 约150-160GB
    GPT-3 175B 175B FP16 350GB 约380-400GB

    四、降低显存占用的技巧

    1. 量化技术

    • INT8量化:显存减少50%

    • INT4量化:显存减少75%

    • 示例:Llama 2 7B INT8版本 ≈ 7GB

    2. 参数高效微调

    • LoRA:只训练少量参数

    • 显存需求可降低60-70%

    3. 梯度检查点

    • 用计算换显存

    • 可减少30-50%激活值显存

    4. 分布式策略

    • 模型并行

    • 张量并行

    • 流水线并行

    五、实用工具推荐

    1.LLM 推理: 显存与性能计算器

    2.Hugging Face 显存计算器

    3.大模型训练计算器

    4.LLM显存占用计算器

    5.简易显存估算器

    六、快速估算口诀

    • 推理:参数量(GB) × 1.2 ≈ 实际需求

    • 全参数训练:参数量(GB) × 8-12 ≈ 实际需求

    • LoRA微调:参数量(GB) × 4-6 ≈ 实际需求

    例如:7B模型FP16 = 14GB

    • 推理:14 × 1.2 ≈ 16.8GB

    • 全参数训练:14 × 10 ≈ 140GB

    • LoRA微调:14 × 5 ≈ 70GB


    参考: