How to use from
Docker Model Runner
docker model run hf.co/endless-frontier/Fx-Phys
Quick Links

Fx-Phys

Fx-Phys is a 35B-class multimodal language model for research-level physics reasoning. It is designed to analyze challenging physics problems, connect physical principles with mathematical formulations, carry out multi-step derivations, and produce clear, rigorous solutions.

Fx-Phys is built on Qwen3.6-35B-A3B, with 35B total parameters and approximately 3B activated parameters per token, and post-trained to strengthen its capabilities on challenging physics tasks. Alongside the physics evaluations, we report results on two finance-oriented benchmarks to give a broader view of its capabilities.

Main Results

Fx-Phys achieves the strongest results among the evaluated 35B-class models on all six reported benchmarks. It also surpasses DeepSeek-V4-Pro-Preview on all six benchmarks in this comparison.

Fx-Phys results on PRL-Bench , PRL-Bench Verified, Frontier Science Research and Olympiad (Physics), Finance Agent v2, and Frontier Finance

Compared with Qwen3.6-35B-A3B, Fx-Phys improves the original PRL-Bench score from 26.61 to 37.93 and the PRL-Bench Verified score from 35.45 to 58.00. On Frontier Science, it raises the Research (Physics) score from 8.5 to 53.5 and the Olympiad (Physics) score from 64.8 to 74.0.

Benchmark Results

Scores are reproduced from the accompanying results figure; higher is better within each benchmark. The physics scores retain the figure's 0–100 scale, while the finance scores retain its 0–1 scale. -- indicates that no result is shown for that model and benchmark in the figure. Bold marks the best value among the evaluated 35B-class models, not the best value across all model sizes.

PRL-Bench denotes the original benchmark. PRL-Bench Verified is the version revised and corrected by ByteDance. Results for these two benchmark variants are reported separately.

Physics

Model PRL-Bench (Original) PRL-Bench Verified Frontier Science — Research (Physics) Frontier Science — Olympiad (Physics)
Larger than 35B or closed-source models
DeepSeek-V4-Pro-Preview 30.90 48.31 34.5 72.8
DeepSeek-V4.1-Flash 35.53 67.55 61.5 80.0
GLM-5.3 44.56 68.99 54.0 79.6
GPT-5.5 45.74 67.65 56.8 72.0
GLM-5.2 46.43 -- 47.5 77.6
Qwen3.8-Flash 52.60 64.74 61.0 75.6
GPT-6-Astra -- 70.05 -- --
35B-class models
Apodex-mini-1.0 13.44 19.96 19.0 70.0
Nex-N2-mini 24.78 33.84 30.0 64.0
Qwen3.6-35B-A3B 26.61 35.45 8.5 64.8
Fx-Phys 37.93 58.00 53.5 74.0

Finance

Model Finance Agent v2 Frontier Finance
Larger than 35B or closed-source models
DeepSeek-V4-Pro-Preview 0.842 0.510
DeepSeek-V4.1-Flash 0.924 0.610
GLM-5.2 0.928 0.498
Qwen3.8-Flash 0.933 0.603
35B-class models
Apodex-mini-1.0 0.827 0.430
Nex-N2-mini 0.758 0.474
Qwen3.6-35B-A3B 0.794 0.376
Fx-Phys 0.868 0.518

These are the reported comparison results, not a claim of a controlled re-evaluation under identical settings. Exact reproduction requires the corresponding benchmark versions, prompts, decoding settings, and, where applicable, tool environments; the quickstart below is an inference example rather than an evaluation recipe.

Model Details

Property Value
Base model Qwen/Qwen3.6-35B-A3B
Architecture Qwen3_5MoeForConditionalGeneration
Total parameters 35B
Activated parameters Approximately 3B per token
Transformer layers 40
Routed experts 256, with 8 selected per token
Shared experts 1 per MoE layer
Native context length 262,144 tokens
Weight precision BF16
Model format Hugging Face Transformers / Safetensors

Quickstart

The examples below assume you have downloaded this repository and are running commands from its root directory. Use a Transformers, SGLang, or vLLM build with support for Qwen3_5MoeForConditionalGeneration.

For the serving examples, set the model path to the current directory. After publication, you can use the model's Hugging Face repository ID instead.

export MODEL_PATH="$PWD"

The model configuration supports a native context length of 262,144 tokens. The serving examples use tensor parallelism across 8 GPUs; adjust the parallelism and context length for your hardware and workload. If GPU memory is limited, reduce the context length.

SGLang

python -m sglang.launch_server \
  --model-path "$MODEL_PATH" \
  --port 8000 \
  --tp-size 8 \
  --mem-fraction-static 0.8 \
  --context-length 262144 \
  --reasoning-parser qwen3

vLLM

vllm serve "$MODEL_PATH" \
  --port 8000 \
  --tensor-parallel-size 8 \
  --max-model-len 262144 \
  --reasoning-parser qwen3

Both commands expose a compatible API endpoint at http://localhost:8000/v1. To enable automatic tool-call parsing in vLLM, also pass --enable-auto-tool-choice --tool-call-parser qwen3_coder. Actual tool execution requires an external agent harness; the model server does not execute tools by itself.

Transformers

import torch
from transformers import AutoProcessor, Qwen3_5MoeForConditionalGeneration

model_id = "."
processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3_5MoeForConditionalGeneration.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
)

messages = [
    {
        "role": "user",
        "content": (
            "Derive the equations of motion for two identical masses connected "
            "by three identical springs between fixed walls. Identify and "
            "interpret the normal modes."
        ),
    }
]
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt",
    return_dict=True,
).to(model.device)

with torch.inference_mode():
    output_ids = model.generate(
        **inputs,
        max_new_tokens=2048,
        do_sample=True,
        temperature=1.0,
        top_p=0.95,
        top_k=20,
    )

new_tokens = output_ids[:, inputs["input_ids"].shape[1]:]
print(processor.batch_decode(new_tokens, skip_special_tokens=True)[0])

The sampling parameters above match the released generation_config.json; they are not a specification of the benchmark evaluation settings. The model retains the base architecture's vision encoder and multimodal processor, but the results reported here do not constitute a separate image or video capability evaluation.

Limitations

Benchmark performance does not guarantee correct solutions on unseen problems. Physics derivations, numerical calculations, and finance-related outputs can contain errors and should be independently verified. Tool-assisted workflows additionally depend on the surrounding tools, data, and execution environment.

License

Fx-Phys is released under the Apache 2.0 license. See LICENSE for the included license and the Qwen3.6-35B-A3B license for the upstream terms.

Downloads last month
26
Safetensors
Model size
36B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for endless-frontier/Fx-Phys

Finetuned
(398)
this model
Quantizations
1 model