surfPRM-qwen3.5-4b is an open-weight model from PoloWitty, released under Apache License 2.0. It has 4.5B parameters and a 262,144-token context. At 16-bit it needs about 10.9 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.
A process reward model (PRM) for web agents, built by LoRA SFT on Qwen3.5-4B and merged into full weights.
Runs On
What it takes to serve surfPRM-qwen3.5-4b (4.5B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.
| Precision | Weights | Memory needed | Cheapest setup | Per hour | Also fits |
|---|---|---|---|---|---|
| 16-bit | 9.1 GB | 10.9 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 8-bit | 4.5 GB | 5.4 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
| 4-bit | 2.3 GB | 2.7 GB | 1x MI300X (192 GB) Vultr |
$1.85 | 1x H100 $1.99 · 1x MI325X $2.00 |
Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.
surfPRM-qwen3.5-4b on every accelerator the SAVRN Index prices, at every precision
Model Card
By PoloWitty, published under apache-2.0, revision 6ffc5354bfa6.
A process reward model (PRM) for web agents, built by LoRA SFT on Qwen3.5-4B and merged into full weights. It evaluates candidate next actions of web agents at intermediate steps, given the task intent, the current page's accessibility tree (AXTree), and the previous action trajectory. Trained on the surfPRM-data dataset: 9,821 pairwise step-preference samples for web agents. Each sample contains the task intent, the current page's accessibility tree (AXTree), the previous action trajectory, the start/current URLs, and two candidate next actions grounded on the current page; the model outputs structured / / / reasoning and selects the better action. Requires transformers >= 5.6. Load as a…
Read PoloWitty's full model card
A process reward model (PRM) for web agents, built by LoRA SFT on Qwen3.5-4B and merged into full weights. It evaluates candidate next actions of web agents at intermediate steps, given the task intent, the current page's accessibility tree (AXTree), and the previous action trajectory.
Training data
Trained on the surfPRM-data dataset: 9,821 pairwise step-preference samples for web
agents. Each sample contains the task intent, the current page's accessibility tree
(AXTree), the previous action trajectory, the start/current URLs, and two candidate next
actions grounded on the current page; the model outputs structured
<State>/<Criteria>/<Analysis>/<Answer> reasoning and selects the better action.
Training details
| Item | Value |
|---|---|
| Base model | Qwen3.5-4B |
| Method | LoRA SFT (merged) |
| Batch size | 256 |
| Learning rate | 1.0e-4 |
| LoRA rank | 128 |
| Thinking mode | disabled |
| Precision | bfloat16 |
Prompt template
System prompt:
You are a skilled expert at evaluating assistant responses. You should evaluate given responses based on the judging criteria.
Given the context of the conversation and two responses from the Assistant, you need to refer to determine the better response. Provide an overall comprehensive comparison upon them.
User input template:
#### Intent ####
{instruction}
#### AXTREE ####
Note: [bid] is the unique alpha-numeric identifier at the beginning of lines for each element in the AXTree. Always use bid to refer to elements in your actions.
{accessibility tree}
#### Trajectory ####
Note: The trajectory contains the sequence of previous actions performed by the agent.
{action history}
#### start url ####
{start url}
#### current url ####
The URL provides clues about the user's position in the application flow. Use both the path and query parameters to infer page type (e.g., homepage, search results, product detail, cart, checkout).
{current url}
#### Assistant Responses ####
[The Begin of Response 1]
ACTION: {action 1}
[The End of Response 1]
[The Begin of Response 2]
ACTION: {action 2}
[The End of Response 2]
### Output Instructions ###
Format your output strictly using the following XML-style tags:
<State>Summarize the current state based on the URL, AXTree, and previous actions. Include what page the user is currently on, and what relevant UI elements or information are visible.</State>
<Criteria>Other potential criteria specific to the query and the context, and the weights of each criteria.</Criteria>
<Analysis>Compare Response 1 and Response 2 in detail according to the <State> and <Criteria>.</Analysis>
<Answer>Response 1 or Response 2</Answer>
Rules for <Answer>:
- If Response 1 is better, output exactly: <Answer>Response 1</Answer>
- If Response 2 is better, output exactly: <Answer>Response 2</Answer>
Important Notes:
- Be objective and base your evaluation strictly on the content of the responses.
- Do not let the response order, length bias your judgment.
Usage
Requires transformers >= 5.6. Load as a standard Qwen3.5 (multimodal) checkpoint with
AutoProcessor / AutoModelForImageTextToText, format inputs with the prompt template
above, and parse the preferred action from the <Answer> tag of the output.
License
Released under Apache 2.0, following the base model's license. Please also comply with the Qwen base model license terms.
Configuration
- Architecture
- Qwen3_5ForConditionalGeneration
- Context length (tokens)
- 262,144
- Layers
- 32
- Hidden size
- 2,560
- Feed-forward size
- 9,216
- Attention heads
- 16
- Key/value heads
- 4
- Head dimension
- 256
- Vocabulary size
- 248,320
- Model type
- qwen3_5
Identity and Version
- Repository
- polowitty/surfPRM-qwen3.5-4b
- Publisher
- PoloWitty
- Task
- Not stated by the source
- Modality
- Other
- Library
- Not stated by the source
- Parameters
- 4.5B parameters
- Languages
- web-agent
- Revision
- 6ffc5354bfa62e917a1c752d1ec1052d2f99cf3b
- First published
- 2026-09-22
- Last updated
- 2026-09-22
Files and Weights
12 files, 9.1 GB in total. The weights are 2 files totalling 9.1 GB in safetensors.
Every file
| File | Type | Size | SHA-256 |
|---|---|---|---|
| model-00001-of-00002.safetensors | Weights | 5.0 GB | 506999dec8ce |
| model-00002-of-00002.safetensors | Weights | 4.1 GB | b714c4cd067b |
| config.json | Configuration | 2.9 KB | — |
| generation_config.json | Configuration | 115 B | — |
| model.safetensors.index.json | Configuration | 66.2 KB | — |
| processor_config.json | Configuration | 1.2 KB | — |
| README.md | Documentation | 3.6 KB | — |
| Modelfile | Other | 381 B | — |
| chat_template.jinja | Other | 7.8 KB | — |
| .gitattributes | Repository | 1.6 KB | — |
| tokenizer.json | Tokenizer | 20.0 MB | 06b9509352d2 |
| tokenizer_config.json | Tokenizer | 1.2 KB | — |
License and Download
- License
- apache-2.0
- Access
- Open weights, no gate
- Download size
- 9.1 GB
Released by PoloWitty through its official repository on Hugging Face. Read the license.
Built From
- Derived from Qwen/Qwen3.5-4B
- Trained on (disclosed) surfPRM-data
Memory Requirements
| Precision | Weights in memory |
|---|---|
| As published | 9.1 GB |
| 16-bit | 9.1 GB |
| 8-bit | 4.5 GB |
| 4-bit | 2.3 GB |
Weights only, from the published parameter count; the key-value cache and runtime add to this.
Questions About surfPRM-qwen3.5-4b
How much GPU memory does surfPRM-qwen3.5-4b need?
About 10.9 GB at 16-bit and 2.7 GB at 4-bit: the weights (4.5B parameters) plus a working margin. A long context needs more.
What is the cheapest GPU to run surfPRM-qwen3.5-4b on?
At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.
Can I use surfPRM-qwen3.5-4b commercially?
Yes. surfPRM-qwen3.5-4b is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.
What is surfPRM-qwen3.5-4b's context length?
262,144 tokens, from the maximum position embeddings in its published configuration.