2068 字
约 6 分钟
6
S23-J31 · 端到端交互时间

适用读者:要评估"加个模型要多久"、要拆 TTFT 之外的网络与设备时间、要做端云分工的人。
前置:S23-J22(TTFT)、J14(传输时间)、J21(重叠)。
覆盖旧文:A-4345 §12.1–§12.2(完整交互时间 + 跨设备分工,364 点)→ 364 点。
扩展点:E-S23-114(串行公式:12.8 s,压缩交叉点 800 Mbit/s)、E-S23-115(分块重叠只省 0.4 s:12.8 → 12.4)、E-S23-116(语音流水线递推:一块迟到 5 ms 就全推后)、E-S23-117(端/边/云分工判据)。
上一篇:S23-J30 · 调度、服务成本与扩容
下一篇:S23-J32 · 广域网、无线与端边云部署。


1. 一句话结论

用户感知的时间不是模型时间,是"传输 + 处理 + 传输"。 30 MB 原图、上行 20 Mbit/s:上传 12 s,处理 0.3 s——模型再快 10 倍也没用。压缩省 15 MB 在 20 Mbit/s 下省 6 s,在 800 Mbit/s 下省 0——同一种优化,收益由链路决定。

出处:AI Infra 教材 §12.1–§12.2(id 4345)。

T_serial = S_u/B_u + R + T_c + S_d/B_d

2. 串行公式与各段(E-S23-114)

图片精修:输入 30 MB、输出 5 MB、上行 20 Mbit/s、下行 100 Mbit/s、RTT 0.1 s、处理 0.3 s。

段 计算 时间
上传 30 MB × 8 / 20 Mbit/s 12.0 s
传播(往返) RTT 0.1 s
处理 — 0.3 s
下行 5 MB × 8 / 100 Mbit/s 0.4 s
合计 — 12.8 s

判据:"缩小文件"只缩短发送时间,不影响传播与处理。 而发送时间在慢上行上是绝对主导——这就是端侧预压缩的价值来源。

2.1 压缩的收益边界

ΔT = (S_u − S'_u)/B_u − T_e

压缩把输入减半(省 15 MB)、额外编解码 0.15 s:

上行速率 省下的发送时间 净收益
20 Mbit/s 6.0 s +5.85 s
100 Mbit/s 1.2 s +1.05 s
800 Mbit/s 0.15 s 0(交叉点)
交叉点:B_u = 15 MB×8 / 0.15 s = 800 Mbit/s

判据:同一个压缩算法,在慢网上是刚需、在快网上是浪费。 是否上压缩要按目标用户的实际上行带宽定。

2.2 分块重叠能省多少(E-S23-115)

三块、每块上传 4 s、处理 0.1 s、回传 0.08/0.16/0.16 s:

方案 完成时刻
整图串行 12.8 s
分块流水 12.4 s
前两块的处理与回传藏在后续上传里;但最后一块仍要等第 12 s 才发完
→ 节省只来自"处理+回传"那 0.4 s,上传的 12 s 无法压缩

判据:重叠只能省"可重叠的那部分"。 上传是串行瓶颈时,分块只是把尾巴削掉。


3. 实时语音:流水线递推(E-S23-116)

c_i = max(a_i, c_{i−1}) + m_i     处理完成
u_i = max(c_i, u_{i−1}) + s_i     发送完成
r_i = u_i + d_i                   到达

参数:24 kHz、单声道、16-bit PCM → 20 ms 块 = 960 B;处理 12 ms、发送 1 ms、传播 5 ms。

块 就绪 处理完 发完 到达 播放
1 20 32 33 38 78(+40 ms 缓冲)
2 40 52 53 58 98
每块处理 12 ms < 采集间隔 20 ms → 处理跟得上

故障:第 3 块传播变成 50 ms → 到达 123 ms,而原定播放 118 ms → 晚 5 ms,之后所有块顺延。

资源 跟不上时的现象
采集 丢块/降采样
处理(m>20 ms) 队列增长,延迟累积
发送(s 变大) 出口排队
传播(抖动) 晚到一块,全体顺延

判据:流式交互的指标是"首段时刻 + 连续性",不是"总时长"。 一次抖动就破坏连续性,缓冲就是为它付的保险费。


4. Computer Use 与端侧执行(§12.1.3–12.1.5)

环节 延迟构成 优化点
截图上传 图像大小 / 上行 降分辨率、只传变化区域
模型决策 TTFT + decode 小模型先行、批处理
动作下发 小消息 + 传播 连接复用
页面等待 外部系统(不受控) 超时、重试、并行

判据:Computer Use 的瓶颈常在"等别人"——页面加载、应用响应不在你的优化范围内,只能靠超时与并发绕开。

端侧 vs 云(§12.1.4–12.1.5):

维度 端侧 云
首 token 无网络往返 加 RTT
算力/显存 受限(手机几 GB) 可扩
隐私 数据不出设备 需合规
成本 用户设备 按量

5. 跨设备分工(§12.2)

方案 传输量 适用
完整调用 输入 + 输出 简单、端侧太弱
端侧编码 只传 embedding/特征 带宽紧、隐私敏感
会话迁移 状态(KV) 换设备续聊
模型内部切分 每层激活 端云协同推理(通信边界同 J25)

端侧编码的账(§12.2.2):把原始输入换成小得多的中间表示,省上行;代价是端侧要跑编码器(算力、功耗)。判据同压缩:省下的传输时间 > 端侧编码时间才划算。


6. 可复算(实测)

$ cd /root/博客运营官/blog-v2 && python3 tools/s23_book_calc.py | tail -10
图片: 12.0 上传 + 0.1 RTT + 0.3 处理 + 0.4 下行 = 12.8 s
压缩省 15 MB: 20 Mbit/s → 6.0 s;100 → 1.2 s;800 → 0.15 s(= T_e,交叉点 800 Mbit/s)
分块流水: 12 + 0.1 + 0.16 + 2×0.05 = 12.36 ≈ 12.4 s(只省 0.4)
语音: 960 B/块;块 1 就绪 20 / 处理 32 / 发 33 / 到 38 / 播 78
  第 3 块传播 50 ms → 到达 123 ms > 118 ms(晚 5 ms,全体顺延)
窗口: W=64 KB, R=0.1 s → 5.1 Mbit/s(路径 20);30 MB 需 47 s
  填满需 250 KB 在途;整批确认 25.6 ms + 100 ms = 125.6 ms/批
慢启动: 10×1460 B,4 轮 219,000 B;5 轮 452,600 B(355 KB 需 5 轮)
跨地域语音: 8.5 + 200 + 30 = 238.5 ms(理想);直接 >1000 ms;优化后约 300 ms

7. 前提与边界

结论 成立条件 不成立时
T_serial 各段串行、连接已建 重叠/流水 → 用 max
压缩交叉点 800 Mbit/s 编解码 0.15 s、省 15 MB 参数变 → 重算
分块省 0.4 s 上传是瓶颈 处理是瓶颈 → 省更多
语音 78 ms 起播 缓冲 40 ms 缓冲更小 → 更易断续

8. 常见误区

误区 纠正
"模型快了,体验就好了" 上传 12 s 占 94%
"压缩一定省时间" 800 Mbit/s 以上省 0
"分块上传能大幅加速" 只省 0.4 s(3%)
"延迟高就加缓冲" 缓冲换连续性、加起播时间
"端侧一定更快" 端侧算力弱,可能更慢

9. 自测

  1. 30 MB 上行 20 Mbit/s、5 MB 下行 100 Mbit/s、RTT 0.1、处理 0.3,总时间?
  2. 压缩省 15 MB、编解码 0.15 s,上行多快时收益归零?
  3. 语音 20 ms 块、处理 12 ms、发送 1 ms、传播 5 ms、缓冲 40 ms,第一块何时播放?
  4. 第 3 块传播变 50 ms,会怎样?
答案
  1. 12 + 0.1 + 0.3 + 0.4 = 12.8 s。
  2. 15 MB×8/0.15 s = 800 Mbit/s。
  3. 就绪 20 → 处理完 32 → 发完 33 → 到达 38 → 78 ms 播放。
  4. 到达 123 ms > 原定 118 ms,晚 5 ms 且之后全部顺延。

10. 下一篇

S23-J32 · 广域网、无线与端边云部署 —— 连接建立与复用、窗口与有效吞吐、丢包不等于拥塞、多流与优先级,以及共享空口、过期数据与双路径切换。

S23-J31 · 端到端交互时间
https://www.clxhxhhr.top/posts/5558/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。