Files
FastDeploy/docs/zh/best_practices/PaddleOCR-VL-0.9B.md
ming1753 cba185f1fe [Feature] Optim PaddleOCR-VL (#4873)
* [Feature] Optim PaddleOCR-VL

* fix bug
2025-11-07 14:56:44 +08:00

4.4 KiB
Raw Permalink Blame History

English

PaddleOCR-VL-0.9B

一、环境准备

1.1 支持情况

推荐硬件配置:

  • 显存8GB显存及以上
  • 共享内存4G及以上

1.2 安装fastdeploy

安装流程参考文档 FastDeploy GPU 安装

二、如何使用

2.1 基础:启动服务

示例1 3060上单卡部署16K上下文的服务

python -m fastdeploy.entrypoints.openai.api_server \
    --model PaddlePaddle/PaddleOCR-VL \
    --port 8185 \
    --metrics-port 8186 \
    --engine-worker-queue-port 8187 \
    --max-model-len 16384 \
    --max-num-batched-tokens 16384 \
    --gpu-memory-utilization 0.8 \
    --max-num-seqs 128

示例2 4090上单卡部署16K上下文的服务

python -m fastdeploy.entrypoints.openai.api_server \
    --model PaddlePaddle/PaddleOCR-VL \
    --port 8185 \
    --metrics-port 8186 \
    --engine-worker-queue-port 8187 \
    --max-model-len 16384 \
    --max-num-batched-tokens 16384 \
    --gpu-memory-utilization 0.7 \
    --max-num-seqs 256

示例3 A100上单卡部署16K上下文的服务

python -m fastdeploy.entrypoints.openai.api_server \
    --model PaddlePaddle/PaddleOCR-VL \
    --port 8185 \
    --metrics-port 8186 \
    --engine-worker-queue-port 8187 \
    --max-model-len 16384 \
    --max-num-batched-tokens 16384 \
    --gpu-memory-utilization 0.7 \
    --max-num-seqs 256

示例是可以稳定运行的一组配置,同时也能得到比较好的性能。 如果对精度、性能有进一步的要求,请继续阅读下面的内容。

2.2 进阶:如何获取更优性能

2.2.1 评估应用场景,正确设置参数

上下文长度

  • 参数: --max-model-len

  • 描述: 控制模型可处理的最大上下文长度。

  • 推荐: 更长的上下文会导致吞吐降低,根据实际情况设置,PaddleOCR-VL-0.9B最长支持16k16,384长度的上下文。

    ⚠️更长的上下文会显著增加GPU显存需求设置更长的上下文之前确保硬件资源是满足的。

最大序列数量

  • 参数: --max-num-seqs
  • 描述: 控制服务可以处理的最大序列数量支持1256。
  • 推荐: 如果您不知道实际应用场景中请求的平均序列数量是多少,并且显存充足,我们建议设置为256。如果您的应用场景中请求的平均序列数量明显少于256或者显存资源紧张我们建议设置为一个略大于平均值的较小值以进一步降低显存占用优化服务性能。

初始化时可用的显存比例

  • 参数: --gpu-memory-utilization
  • 用处: 用于控制 FastDeploy 初始化服务的可用显存默认0.9即预留10%的显存备用。
  • 推荐: 推荐使用0.7。如果服务压测时提示显存不足,可以尝试调低该值。

2.2.2 Chunked Prefill

  • 参数: --max-num-batched-tokens
  • 用处: chunked prefill中限制每个chunk的最大token数量。
  • 推荐: 我们推荐设置为16384即关闭chunked prefill

2.2.3 可调整的环境变量

Flash Attention 3FLAGS_flash_attn_version=3

  • 描述:开启 Flash Attention 3 算法。该功能仅支持H卡Hopper架构如H800和B卡Blackwell架构如B200等最新一代 NVIDIA GPU。
  • 推荐在支持该功能的硬件上Flash Attention 3 能带来显著的性能提升且通常不影响模型精度,强烈推荐启用。

拒绝采样:FD_SAMPLING_CLASS=rejection

  • 描述拒绝采样即从一个易于采样的提议分布proposal distribution中生成样本避免显式排序从而达到提升采样速度的效果可以提升推理性能。
  • 推荐:这是一种影响效果的较为激进的优化策略,我们还在全面验证影响。如果对性能有较高要求,也可以接受对效果的影响时可以尝试开启。

三、常见问题FAQ

3.1 显存不足(OOM)

如果服务启动时提示显存不足,请尝试以下方法:

  1. 确保无其他进程占用显卡显存;
  2. 酌情降低上下文长度和最大序列数量。

如果可以服务可以正常启动,运行时提示显存不足,请尝试以下方法:

  1. 酌情降低初始化时可用的显存比例,即调整参数 --gpu-memory-utilization 的值。