Model reference · open weights
HPD-Parsing is an open-weight language model from Baidu. HPD-Parsing (BF16) weighs 2.1 GB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the PaddlePaddle/HPD-Parsing model card, 2026-10-01
What it is
| Released by | Baidu |
|---|---|
| Released | 2026-07-21 |
| Parameters | 1.1B |
| VRAM | 2.1 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB | 8 | 2 | all 40K | 11.6 GB |
| RTX 4060 Ti 16 GB | 12 | 3 | all 40K | 15.4 GB |
| RTX 3090 24 GB | 20 | 5 | all 40K | 23.4 GB |
| RTX 4090 24 GB | 20 | 5 | all 40K | 23.4 GB |
| RTX 5090 32 GB | 28 | 7 | all 40K | 31.0 GB |
| L40S 48 GB | 42 | 10 | all 40K | 44.0 GB |
| A100 80 GB | 78 | 19 | all 40K | 78.2 GB |
| H100 80 GB | 74 | 18 | all 40K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 91 | 22 | all 40K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 105 | 26 | all 40K | 107 GB |
| H200 141 GB | 138 | 34 | all 40K | 138 GB |
| B200 180 GB | 178 | 44 | all 40K | 176 GB |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 5.0 GB | 7.8 GB |
| 5 | 8.8 GB | 22.8 GB |
| 8 | 11.6 GB | 34.1 GB |
| 16 | 19.1 GB | 64.2 GB |
| 32 | 34.1 GB | 124 GB |
| 64 | 64.2 GB | 245 GB |
One card, with vLLM's small-card settings.
From the model card
HPD-Parsing: Hierarchical Parallel Document Parsing
2026.07 🎉 A live demo is available at hugging-apps/hpd-parsing. Thanks to multimodalart for building it!2026.07 🚀 We release HPD-Parsing, a 1B hierarchical parallel document parser. It achieves 94.91% overall on OmniDocBench v1.6 and 4,752 TPS peak throughput.We introduce HPD-Parsing, a lightweight (1B) and high-throughput document parsing model built on a Hierarchical Parallel Decoding paradigm. Unified VLM-based parsers process an entire page jointly but generate the output through a single token-by-token autoregressive trajectory, creating a sequential bottleneck that grows with document length. HPD-Parsing is motivated by a key property of document parsing: page structure requires global coordination, whereas content generation is largely localized within individual regions. Based on this observation, a main layout branch coordinates the global document structure and dynamically dispatches localized content generation to concurrent branches, while Progressive Multi-Token Prediction (P-MTP) further reduces the decoding steps within each branch. HPD-Parsing achieves an overall score of 94.91% on OmniDocBench v1.6 — a new state of the art among end-to-end unified parsers — while reaching a peak throughput of 4,752 TPS, 2.62× the fastest existing document parser and 3.06× its own autoregressive baseline.
🚀 Hierarchical Parallel Decoding for High-Throughput Document Parsing: We introduce Hierarchical Parallel Decoding (HPD), a new decoding paradigm that restructures full-page autoregressive generation into globally coordinated, localized parallel decoding. A main layout branch performs global coordination and dynamically decomposes the conventional single decoding trajectory into concurrent content branches, each responsible for a localized document region. Within each branch, P-MTP further reduces the number of decoding steps by predicting multiple future tokens at each iteration. Together with shared-prefix KV cache reuse, HPD substantially shortens the effective sequential decoding path along both branch and token dimensions.
🔄 Staged Adaptation with Automated Difficulty-Aware Data Curation: We develop a staged adaptation strategy that transfers conventional autoregressive document parsing capabilities to the proposed hierarchical parallel decoding paradigm while preserving parsing accuracy. The strategy is supported by an automated difficulty-aware data curation pipeline that integrates large-scale data collection, model-assisted annotation, difficulty estimation, and balanced sampling. By progressively adapting the model and emphasizing challenging samples, the training framework mitigates the accuracy degradation caused by the transition to parallel decoding with minimal manual annotation effort.
⚡ State-of-the-Art Throughput with Competitive Parsing Accuracy: HPD-Parsing achieves state-of-the-art inference efficiency on OmniDocBench v1.6, reaching a peak throughput of 4,752 Tokens Per Second (TPS). It delivers 1.62× the throughput of the fastest existing document parsing model and more than 3.06× that of its autoregressive baseline, while maintaining competitive parsing accuracy. These results demonstrate that document parsing can be effectively executed through global layout coordination and localized parallel decoding rather than a single sequential generation trajectory.
HPD-Parsing adopts InternVL3.5-1B as its backbone, applies dynamic tile-based cropping (up to 24 tiles of 448×448) to preserve high-resolution details. Its primary departure from conventional unified parsers is the decoding paradigm: instead of generating the entire page along a single autoregressive trajectory, HPD-Parsing employs a main layout branch to coordinate the global structure and spawns localized content branches for concurrent region-level decoding, with P-MTP integrated into each branch.
HPD-Parsing runs on a customized build of vLLM (based on vLLM v0.17.1) that implements the dynamic request forking required by hierarchical parallel decoding and adapts P-MTP speculative decoding.
The Docker image ships the customized vLLM build and all dependencies, which is the easiest way to get started. Its default entrypoint runs the Python API example below out of the box.
With the online Docker image, start the container directly. It downloads the model and starts the inference server, which listens on port 8118 by default:
docker run \
-it \
--rm \
--gpus all \
--network host \
ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/hpd-parsing-vllm:latest-nvidia-gpu
Without Docker, install the customized vLLM prebuilt package (Python 3.10–3.13, NVIDIA driver with CUDA 12.8+) in a virtual environment to avoid dependency conflicts:
python -m venv .venv_hpd_parsing
source .venv_hpd_parsing/bin/activate
python -m pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/deploy/hpd_parsing/vllm-0.17.1+hpdparsing-cp38-abi3-manylinux_2_31_x86_64.whl
Then run inference with the vLLM Python API:
# Set the environment variable before running: export MAX_PATCHES_WITH_RESIZE=true
import base64
from vllm import LLM, SamplingParams
llm = LLM(
model="PaddlePaddle/HPD-Parsing",
trust_remote_code=True,
max_model_len=16384,
limit_mm_per_prompt={"image": 1},
gpu_memory_utilization=0.9,
attention_backend="FLASHINFER",
enable_prefix_caching=True,Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.