Blame view

docs/issues/issue-2026-04-06-推理优化.md 3.05 KB
e50924ed   tangwang   1. tags -> enrich...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  
  总体需求,是基于Tesla T4 GPU,用开源的基座大模型(3-6b级别),做query分类。prompt和分类词可配置。
  先专注于推理的优化,不用考虑服务后,可以程序启动后标准输入读取query,输出分类词。
  
  示例prompt和对应的9个分类词:
  Analyze the category intent of the given query. Output exactly one label from: dress, jeans, shirt, trench, skirt, tee, hoodie, knit, other. Output nothing else query:{query}
  
  做专用执行路径,不是在通用生成引擎上做配置优化。
  
  prompt已经固定(不要考虑蒸馏、微调、或者缩短prompt。缩短prompt是可以我自己调整的,并且prompt可能改为其他场景,与你做专用推理优化不相关,我给的prompt只是一个例子,你专注于专用推理的框架,适配配置化的prompt+分类词列表打分检查)
  
  
  使用Tesla T4,因此:
  1. 使用FP16。不用 BF16 作为主路径
  2. 不用 FlashAttention-3 作为主路径。选用testla T4上最佳的attention
  3. 多搜集资料,参考开源的适合于tesla T4的推理优化项目和能用于T4的推理优化实践。包括但不限于Python/C++ runtime 与 TensorRT engine 的工具包;注意硬件支持矩阵覆盖 Turing/T4。
  
  
  主要考虑优化方向为:
  hidden_last -> N-class scorer -> argmax
  参考vLLM 的自动 prefix caching 复用相同前缀,并基于 block hash 管理 KV
  去 full vocab logits
  去 decode / constrained decode
  query长度分桶 + 小微批,只为少数 batch 模式 capture(batch= 1 2 4 8)
  专用 tail kernel(输出 N 类原始分数)
  
  以下仅供参考,具体怎么做还请你自己基于搜索的开源项目作为baseline进行优化:
  15.1 预分配
  对每个 bucket 预分配:
  input ids buffer
  attention scratch buffer
  output hidden buffer
  class id buffer
  15.2 Graph capture
  
  每个 bucket 预先 capture 一张图:
  embedding
  transformer 主干
  compact last-state
  9-way tail kernel
  
  注意多参考Triton / CUDA C++针对这类单步decode且固定词表打分获取的极致优化方法及其开源项目,找到合适的baseline并进行针对性的开发。
  
  你有sudo权限,你可以执行为本项目安装自己的环境
  
  使用qwen3:4b-instruct-2507-q4_K_M模型。(因为qwen3:4b不能关闭思考模式,所以使用qwen3:4b-instruct-2507-q4_K_M模型)
  或者,请你在huggingface上面查找其他模型,完成部署,并进行推理耗时的测试。
  
  
  
  
  
  
  
  另外,我想要有个命令行工具,在程序启动之初,确保所有该加载的全部加载好,不要做任何懒加载,确保真实请求发生时得到极致的响应时间。
  输入query,输出各个label的打分,以及预测的总耗时(如果能输出各个阶段的耗时更好,如果好做就支持一下),目前是否已经满足了。
  
  请深度分析各阶段耗时,继续查找相关资料,看是否在性能上面做到极致。
  使用qwen3:4b-instruct-2507-q4_K_M模型。(因为qwen3:4b不能关闭思考模式,所以使用qwen3:4b-instruct-2507-q4_K_M模型),完成部署,并进行推理耗时的测试。