Skip to content

v2.3.0

Latest

Choose a tag to compare

@Jiang-Jia-Jun Jiang-Jia-Jun released this 11 Nov 03:27
· 304 commits to develop since this release
cba7b29

新增功能

  • 新增GLM 4.5文本类模型部署支持 #3928
  • 新增GPT-OSS-BF16文本类模型部署支持 #4240
  • 新增ERNIE-4.5-VL-28B-A3B-Thinking多模态思考模型部署支持,详见文档
  • 新增PaddleOCR-VL多模态模型部署支持 #4936
  • 多模态模型和思考模型增加受限解码StructredOutput支持 #2749
  • 多模态模型增加Prefix Caching与Encoder Caching支持 #4134
  • 新增Wfp8Afp8在线量化推理支持 #4051 #4238
  • 新增静态Cfp8量化推理支持 #4568
  • LogProb功能
    • 支持EP并行下开启logprob #4151
    • 支持MTP场景下开启logprob #4464 #4467
    • 新增logprobs_mode参数指定返回结果的类型 #4567
  • HuggingFace Safetensors模型升级为默认能力
    • Qwen2.5-VL系列支持 #3921
    • ERNIE-4.5-VL系列模型支持 #4042
    • 新增EP并行与Cache量化场景下支持 #3801
    • 新增动态量化缓存机制,二次加载可使用缓存进行加载 #3857
  • Nvidia GPU下CUDA Graphs功能的完善
    • CUDA Graphs默认在Decode阶段开启 #3594
    • 使用统一内存池,降低显存开销 #4230
    • 支持投机解码 #3769 #4545 #4617 #4669
    • 支持TP、DP、EP混合并行 #4456 #4589
    • 支持 PD 分离式部署 #4530
    • 支持权重清理与动态加载下的重捕获 #3781 #3594
    • 支持CustomAllReduce下开启CUDA Graphs重捕获 #4305
    • 增加ERNIE-4.5-VL-MOE模型的支持 #3226
  • 新增终端命令行CLI工具集
    • chat:执行对话生成任务 #4037
    • complete:执行文本补全任务 #4037
    • serve:启动与OpenAI协议兼容的推理服务 #4226
    • bench:对推理服务进行性能(延迟、吞吐)或精度评测
      • bench serve \ bench latency 精度评测工具 #4160 #4239
      • bench throughtput \ bench eval 性能评测工具 #4239
    • collect-env:收集并打印系统、GPU、依赖等运行环境信息 #4044 #4558 #4159
    • run-batch:批量执行推理任务,支持文件/URL输入输出 # 4237
    • tokenizer:执行文本与 token 的编码、解码及词表导出 #4278
  • 新增engine-worker-queue-portcache-queue-port的匿名端口支持 #4597
  • 新增```LogitsProcessors````后处理参数支持 #4515
  • 新增ERNIE-45-VL-Thinking模型的ReasoningParser与ToolParser #4571
  • usage字段返回新增多模态输入与输出Token、思考Token的统计 #4648 #4520
  • 新增n参数支持单请求返回多个生成结果 #4273
  • 离线推理chat接口新增tool参数支持工具调用 #4415
  • 多模态数据预处理增加对url数据的下载增加重试 #3838

性能优化

  • 优化per_token_quant_fp8算子性能,提升50% #4238
  • MTP支持Chunked Prefill与V1 KVCache调度 #3659 #4366
  • V1 KVCache调度增加对上下文缓存的支持,并作为默认配置 #3807 #3814
  • 优化MLA kernel性能,支持auto chunk + graph下的高性能MLA kernel #3886
  • 优化Qwen-VL中ViT模块的CPU同步耗时 #4442
  • Machete GEMM支持WINT4/WINT8以及group scale,并作为默认dense GEMM后端,优化模型性能与精度 #4451 #4295 #4121 #3999 #3905
  • 优化append attention前处理算子性能 #4443 #4369 #4367
  • 思考长度裁剪功能自定义算子化,实现更鲁棒更规范 #4279 #4736
  • INTEL HPU优化多卡场景下sampling #4445
  • 新增MergedReplicatedLinear方法,支持DeepSeek,qkv_a_proj融合 #3673
  • 优化DeepEP buffer显存;支持EP场景下DeepEP buffer的creat/delete功能 #4039
  • 优化集中式EP场景下DeepEP clear buffer带来的降速 #4039
  • spec decode适配qk norm #3637
  • 优化MLA Kernel性能,支持auto chunk + CUDA Graphs #3886
  • 解决KV Cache容量分配偏小问题 #4355
  • Engine与Worker跨进程通信支持零拷贝方式传输多模态张量数据 #4531
  • APIServer支持gunicore+uvicorn优化前处理耗时 #4496 #4364

多硬件

  • 昆仑芯P800
    • 新增ERNIE-4.5-VL系列模型的支持 #4030
    • 新增PaddleOCR-VL 0.9B模型的支持 #4529
    • BlockAttention算子支持neos版本rope #4723
    • 新增W4A8精度支持 #4068
    • 适配V1 KVCache调度 #4573
  • 沐曦C550
    • 优化Attention、MoE、RotaryEmbedding算子实现 #3688
    • 新增DeepSeek-R1、DeepSeek-V3.1-BF16部署支持 #4498
  • 天数CoreX
    • 新增ERNIE-4.5-VL-28B-A3B部署支持 #4313
    • ERNIE-4.5-300B-A47B推理性能优化 #3651
    • 修复rebuild_padding错误问题 #4504

文档

  • 新增终端命令行工具CLI命令使用说明 #4569
  • 新增优雅退出方案 #3785
  • 更新模型支持文档 #4754
  • 新增2Bit量化方式和最佳实践 #3819 #3968
  • 新增DP并行部署文档 #3883
  • 新增昆仑芯ERNIE-4.5-VL模型部署文档 #4586
  • 新增XPU PaddleOCR-VL模型部署文档 #4792
  • 更新模型最佳实践文档 #3969
  • 新增ERNIE-4.5-21B-A3B-Thinking最佳实践文档 #3994
  • 更新metrics指标说明文档 #4061
  • 更新接口参数文档,增加completion_tokensrompt_tokenstool_calls说明 #4421

Bug修复

  • 修复DP并行场景下Prefix Caching无法部署问题 #4359 #4370
  • 修复集中式EP并行部署下长输入KVCache调度Hang住问题 #4275
  • 修复开启CUDA Graphs时noaux_tc算子报错CUDA 700问题 #4174
  • 修复V1 Loader下TritonMoEBlockWiseFP8权重shape错误 #4384
  • 修复EP场景下MoE前处理问题,增加num_experts_per_rank合法值 #4102
  • 修复CustomAllReduce输出不稳定问题 #4437
  • 修复昆仑芯下思考长度限制,只有思考无回复内容问题 #4539 #4760
  • 修复推理异常退出场景下KVCache管理进程残留问题 #4410
  • 修复部分场景默认开启ChunkedPrefill报错问题 #3759
  • 修复调度方法导致DeepSeek模型CudaError问题 #4757
  • 修复XPU多模下默认开启上下文缓存bug #4694
  • 修复MTP与C8场景下模型加载问题 #4077
  • 修复MLA默认开启TensorCore的bug #4354
  • 修复APIServer连接重复初始化的问题 #3901
  • 修复MultiAPIServer日志地址混乱问题 #3967
  • 修复多机张量并行无法部署问题 #4377
  • 修复Qwen-VL系列模型无法关闭思考问题 #3808 #4762
  • 修复APIServer的对话接口非流式返回场景下finish_reason不正确问题 #4582
  • 修复ERNIE-4.5-VL模型ReasoningPaserser中思考结束符错误问题 #4686
  • 修复离线接口enable_thinking强制False的不符合预期错误 #4248
  • 修复ERNIE-4.5-VL对PNG格式透明背景图像的处理问题 #4847
  • 修复rope3d开启FA3下的报错问题 #3791
  • 修复部分硬件平台上算子导入出错问题 #4559
  • 修复PD分离EP并行场景下启动推理服务的多个问题 # 4311 #4420 #4542 #4693 #4781
  • 修复Metrics中num_requests_running, num_requests_waiting, available_gpu_block_num统计不准确的问题 #4404
  • 修复Trace日志在流式输出场景下trace span过多问题 #4375
  • 修复动态C8计算错误问题 #4119
  • 修复AppendAttention作为自定义算子注册下的Bug导致动静不统一问题 #4340
  • 修复Qwen-VL系列模型预处理中视频与图片数据的占位符处理错误 #4065
  • 修复模型组网存在的无用显存浪费问题 #3854
  • 修复思考长度限制在并发场景下的Bug #4296
  • 修复PD分离下IPC信号读取错误问题 #4309
  • 修复metrics指标的共享目录命名冲突问题 #4007
  • 修复昆仑芯barrier随机精度问题 #4181
  • 修复思考长度限制超过上限时的异常问题 #4086

其它

  • 修复沐曦硬件上的单测报错问题 #4027
  • 修复沐曦硬件上的单测报错问题test_get_save_output_v1单测偶发挂的问题 #4732
  • 昆仑芯增加W4A8单测用例 #4501
  • Config配置代码优化,去除冗余字段 #4147 #4362 #4400
  • 第三方库采用submodule管理 #4033
  • 新增DeepSeek-V3-0324端到端监控 #4360
  • ERNIE-4.5-VL模型续推字段generated_token_ids改为completion_token_ids #4086
  • 后面进程异常退出时,APIServer进程自动退出提在终端输出提示 #3271
  • Metrics增加若干可观测性指标 #3868
  • 新增Attention层的性能单测 #4494
  • DP+EP并行场景下支持模型权重的热更新 #3765 #3803 #3898
  • 支持在训练场景下强制停止推理请求 #3601 #4402
  • 修复在训练场景下Qwen3模型命名映射异常问题 #4338 #4322
  • 修复流式请求max_streaming_response_token参数不起作用问题 #3789
  • 增加基于ZMQ回传worker推理结果至Engine的通信方式 #3521

What's Changed

New Contributors

Full Changelog: v2.2.1...v2.3.0