总体需求,是基于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模型),完成部署,并进行推理耗时的测试。