Skip to content

Commit dc0075e

Browse files
committed
HPI Supports paddle 3.2 (#4754)
* HPI allow untested Paddle versions for safe mode and update paddle version in HPS * Update deps * Limit CC>=8.0 for SDPA
1 parent acab8aa commit dc0075e

File tree

10 files changed

+40
-11
lines changed

10 files changed

+40
-11
lines changed

deploy/hps/server_env/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ ENV PYTHONUNBUFFERED=1
4646
ENV PYTHONDONTWRITEBYTECODE=1
4747
ENV PIP_INDEX_URL=${PIP_INDEX_URL}
4848

49+
RUN python -m pip install pip==25.2
4950

5051
# Requirement collection
5152
FROM base AS rc
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.9
1+
0.3.10
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.10
1+
0.3.11

deploy/hps/server_env/requirements/app.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ numpy >= 1.24
44
opencv-contrib-python == 4.10.0.84
55
pycocotools >= 2
66
pydantic >= 2
7+
safetensors @ https://paddle-whl.bj.bcebos.com/nightly/cu126/safetensors/safetensors-0.6.2.dev0-cp38-abi3-linux_x86_64.whl
78
typing-extensions >= 4.11
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.1.1-cp310-cp310-linux_x86_64.whl
1+
paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.2.1-cp310-cp310-linux_x86_64.whl

deploy/hps/server_env/requirements/cpu.txt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ lxml==5.3.1
171171
# via
172172
# paddlex (../../../setup.py)
173173
# premailer
174+
# python-docx
174175
markupsafe==3.0.2
175176
# via jinja2
176177
marshmallow==3.26.1
@@ -238,7 +239,7 @@ packaging==24.2
238239
# matplotlib
239240
# paddlex (../../../setup.py)
240241
# scikit-image
241-
paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.1.1-cp310-cp310-linux_x86_64.whl
242+
paddlepaddle @ https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.2.1-cp310-cp310-linux_x86_64.whl
242243
# via -r requirements/cpu.in
243244
pandas==1.3.5
244245
# via paddlex (../../../setup.py)
@@ -295,6 +296,8 @@ python-dateutil==2.9.0.post0
295296
# via
296297
# matplotlib
297298
# pandas
299+
python-docx==1.2.0
300+
# via paddlex (../../../setup.py)
298301
pytz==2025.1
299302
# via pandas
300303
pyyaml==6.0.2
@@ -326,8 +329,11 @@ ruamel-yaml==0.18.10
326329
# via paddlex (../../../setup.py)
327330
ruamel-yaml-clib==0.2.12
328331
# via ruamel-yaml
329-
safetensors==0.6.2
330-
# via paddlex (../../../setup.py)
332+
safetensors @ https://paddle-whl.bj.bcebos.com/nightly/cu126/safetensors/safetensors-0.6.2.dev0-cp38-abi3-linux_x86_64.whl
333+
# via
334+
# -r requirements/app.in
335+
# paddlepaddle
336+
# paddlex (../../../setup.py)
331337
scikit-image==0.24.0
332338
# via paddlex (../../../setup.py)
333339
scikit-learn==1.6.1
@@ -396,6 +402,7 @@ typing-extensions==4.12.2
396402
# paddlex (../../../setup.py)
397403
# pydantic
398404
# pydantic-core
405+
# python-docx
399406
# sqlalchemy
400407
# typing-inspect
401408
# uvicorn
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.1.1%2Bfc-cp310-cp310-linux_x86_64.whl
1+
paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.2.1%2Bfc-cp310-cp310-linux_x86_64.whl

deploy/hps/server_env/requirements/gpu.txt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ lxml==5.3.1
171171
# via
172172
# paddlex (../../../setup.py)
173173
# premailer
174+
# python-docx
174175
markupsafe==3.0.2
175176
# via jinja2
176177
marshmallow==3.26.1
@@ -238,7 +239,7 @@ packaging==24.2
238239
# matplotlib
239240
# paddlex (../../../setup.py)
240241
# scikit-image
241-
paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.1.1%2Bfc-cp310-cp310-linux_x86_64.whl
242+
paddlepaddle-gpu @ https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/deps/paddlepaddle/paddlepaddle_gpu-3.2.1%2Bfc-cp310-cp310-linux_x86_64.whl
242243
# via -r requirements/gpu.in
243244
pandas==1.3.5
244245
# via paddlex (../../../setup.py)
@@ -295,6 +296,8 @@ python-dateutil==2.9.0.post0
295296
# via
296297
# matplotlib
297298
# pandas
299+
python-docx==1.2.0
300+
# via paddlex (../../../setup.py)
298301
pytz==2025.1
299302
# via pandas
300303
pyyaml==6.0.2
@@ -326,8 +329,11 @@ ruamel-yaml==0.18.10
326329
# via paddlex (../../../setup.py)
327330
ruamel-yaml-clib==0.2.12
328331
# via ruamel-yaml
329-
safetensors==0.6.2
330-
# via paddlex (../../../setup.py)
332+
safetensors @ https://paddle-whl.bj.bcebos.com/nightly/cu126/safetensors/safetensors-0.6.2.dev0-cp38-abi3-linux_x86_64.whl
333+
# via
334+
# -r requirements/app.in
335+
# paddlepaddle-gpu
336+
# paddlex (../../../setup.py)
331337
scikit-image==0.24.0
332338
# via paddlex (../../../setup.py)
333339
scikit-learn==1.6.1
@@ -396,6 +402,7 @@ typing-extensions==4.12.2
396402
# paddlex (../../../setup.py)
397403
# pydantic
398404
# pydantic-core
405+
# python-docx
399406
# sqlalchemy
400407
# starlette
401408
# typing-inspect

paddlex/inference/models/doc_vlm/modeling/paddleocr_vl/_siglip.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import paddle.nn as nn
4343
import paddle.nn.functional as F
4444

45+
from ......utils.env import get_gpu_compute_capability
4546
from ....common.vlm.activations import ACT2FN
4647
from ....common.vlm.transformers import PretrainedModel
4748
from ....common.vlm.transformers.model_outputs import (
@@ -137,6 +138,9 @@ def __init__(self, config):
137138
self.q_proj = nn.Linear(self.embed_dim, self.embed_dim)
138139
self.out_proj = nn.Linear(self.embed_dim, self.embed_dim)
139140

141+
cap = get_gpu_compute_capability()
142+
self._supports_sdpa = cap >= (8, 0) if cap is not None else False
143+
140144
def forward(
141145
self,
142146
hidden_states: paddle.Tensor, # [B, L, D]
@@ -162,7 +166,7 @@ def forward(
162166
cos, sin = rope_emb
163167
q, k = apply_rotary_pos_emb_vision(q, k, cos, sin)
164168

165-
if q.dtype == paddle.float32:
169+
if not self._supports_sdpa or q.dtype == paddle.float32:
166170
# → [B, H, L, Dh]
167171
q = q.transpose([0, 2, 1, 3])
168172
k = k.transpose([0, 2, 1, 3])

paddlex/inference/utils/hpi.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from pydantic import BaseModel, Field
2525
from typing_extensions import Annotated, TypeAlias
2626

27+
from ...utils import logging
2728
from ...utils.deps import function_requires_deps, is_paddle2onnx_plugin_available
2829
from ...utils.env import get_paddle_cuda_version, get_paddle_version
2930
from ...utils.flags import USE_PIR_TRT
@@ -156,6 +157,14 @@ def suggest_inference_backend_and_config(
156157
return None, f"Inference backend {repr(hpi_config.backend)} is unavailable."
157158

158159
paddle_version = get_paddle_version()
160+
161+
if paddle_version[:3] >= (3, 1, 0):
162+
logging.debug(
163+
"Paddle version %s is not supported yet. The prior knowledge of Paddle 3.1.1 will be used.",
164+
paddle_version,
165+
)
166+
paddle_version = (3, 1, 1, None)
167+
159168
if (3, 0) <= paddle_version[:2] <= (3, 1) and paddle_version[3] is None:
160169
if paddle_version[2] == 0:
161170
paddle_version = f"paddle{paddle_version[0]}{paddle_version[1]}"

0 commit comments

Comments
 (0)