[
](https://github.com/OpenGVLab/InternVL) [
](https://huggingface.co/papers/2312.14238) [
](https://huggingface.co/papers/2404.16821) [
](https://huggingface.co/papers/2412.05271) [
](https://huggingface.co/papers/2411.10442) [
](https://huggingface.co/papers/2504.10479) [
](https://huggingface.co/papers/2508.18265)
[
](https://internvl.github.io/blog/) [
](https://chat.intern-ai.org.cn/) [
](#quick-start) [
](https://internvl.readthedocs.io/en/latest/)
我们推出 InternVL3.5,这是 InternVL 系列下的一组全新开源多模态模型,在通用性、推理能力与推理效率方面实现显著跃升。其核心创新是 Cascade Reinforcement Learning (Cascade RL) 框架:通过两阶段流程增强推理能力,以 offline RL 保障稳定收敛,以 online RL 完成精细对齐。这种由粗到细的训练策略,使下游推理任务表现大幅提升,例如 MMMU 与 MathVista。为进一步提升效率,我们提出 Visual Resolution Router (ViR),能够在不损失性能的前提下动态调节视觉 token 的分辨率。结合 ViR,我们采用解耦式 Vision-Language Deployment (DvD) 策略,将视觉编码器与语言模型分别部署到不同 GPU,以有效均衡计算负载。上述贡献共同推动 InternVL3.5 相较前代 InternVL3,在整体推理性能上最高提升 +16.0%,推理速度提升 4.05 $\times$。此外,InternVL3.5 还支持 GUI 交互与具身智能体等新型能力。尤其值得一提的是,我们规模最大的模型 InternVL3.5-241B-A28B,在通用多模态、推理、文本和智能体任务上均达到了开源 MLLM 的最先进水平,进一步缩小了与 GPT-5 等头部商业模型之间的性能差距。所有模型与代码均已公开发布。

斜纹柱代表闭源商业模型。我们报告了一组多模态通用、推理、文本和智能体基准测试的平均得分:MMBench v1.1 (en)、MMStar、BLINK、HallusionBench、AI2D、OCRBench、MMVet、MME-RealWorld (en)、MVBench、VideoMME、MMMU、MathVista、MathVision、MathVerse、DynaMath、WeMath、LogicVista、MATH500、AIME24、AIME25、GPQA、MMLU-Pro、GAOKAO、IFEval、SGP-Bench、VSI-Bench、ERQA、SpaCE-10 以及 OmniSpatial。
请参阅 快速开始 了解如何使用我们的模型。
| 模型 | #视觉参数 | #语言参数 | #总参数 | HF 链接 | ModelScope 链接 |
|---|---|---|---|---|---|
| InternVL3.5-1B-HF | 0.3B | 0.8B | 1.1B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-2B-HF | 0.3B | 2.0B | 2.3B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-4B-HF | 0.3B | 4.4B | 4.7B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-8B-HF | 0.3B | 8.2B | 8.5B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-14B-HF | 0.3B | 14.8B | 15.1B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-38B-HF | 5.5B | 32.8B | 38.4B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-20B-A4B-HF | 0.3B | 20.9B | 21.2B-A4B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-30B-A3B-HF | 0.3B | 30.5B | 30.8B-A3B | 🤗 链接 | 🤖 链接 |
| InternVL3.5-241B-A28B-HF | 5.5B | 235.1B | 240.7B-A28B | 🤗 链接 | 🤖 链接 |

我们使用 VLMEvalkit 进行评估。若要启用我们模型的思考模式,请将系统提示词设置为 R1_SYSTEM_PROMPT。 启用思考模式时,建议设置
do_sample=True和temperature=0.6,以缓解非预期的重复。
我们的训练流程包括四个阶段:多模态持续预训练(CPT)、监督微调(SFT)和级联强化学习(CascadeRL)。在 CascadeRL 中,我们首先使用混合偏好优化(MPO)在离线强化学习设置下微调模型,随后在在线强化学习设置下使用 GSPO。 对于 InternVL3.5 的 Flash 版本,我们额外引入了一个轻量级训练阶段,称为视觉一致性学习(ViCO),用于降低表示图像块所需的 token 成本。

在此,我们还开源了不同训练阶段后的模型权重,供潜在研究使用。 如果您不确定该使用哪个版本,请选择没有任何后缀的版本,因为它已完成完整的训练流程。
| 模型 | 训练流程 | HF 链接 | ModelScope 链接 |
|---|---|---|---|
| InternVL3.5-1B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-1B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-1B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-1B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-2B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-2B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-2B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-2B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-4B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-4B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-4B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-4B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-8B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-8B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-8B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-8B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-14B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-14B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-14B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-14B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-30B-A3B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-30B-A3B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-30B-A3B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-30B-A3B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-38B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-38B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-38B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-38B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
| InternVL3.5-241B-A28B-Pretrained | CPT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-241B-A28B-Instruct | CPT + SFT | 🤗 链接 | 🤖 链接 |
| InternVL3.5-241B-A28B-MPO | CPT + SFT + MPO | 🤗 链接 | 🤖 链接 |
| InternVL3.5-241B-A28B | CPT + SFT + CascadeRL | 🤗 链接 | 🤖 链接 |
我们模型的 Flash 版本将尽快发布。
InternVL3.5:
该系列模型沿用 InternVL 此前版本所采用的 “ViT–MLP–LLM” 范式。
我们使用 Qwen3 系列和 GPT-OSS 初始化语言模型,并使用 InternViT-300M 和 InternViT-6B 初始化视觉编码器。
我们在设计中同样保留了 InternVL1.5 中提出的动态高分辨率策略。
InternVL3.5-Flash:
与 InternVL3.5 相比,InternVL3.5-Flash 进一步集成了 Visual Resolution Router(ViR),从而形成一系列高效且适配资源受限场景的变体。
具体而言,在 InternVL3.5 中,每个图像块最初在视觉编码器中都被表示为 1024 个视觉 token,随后通过像素混洗模块压缩为 256 个 token,再传入大语言模型(LLM)。
在 InternVL3.5-Flash 中,如下图所示,额外引入了一个压缩率更高的像素混洗模块,能够将视觉 token 进一步压缩至 64 个。
对于每个图像块,patch 路由器会评估其语义丰富度以确定合适的压缩率,并将其路由到相应的像素混洗模块。
得益于这种块感知压缩机制,InternVL3.5-Flash 能够将视觉 token 数量减少 50%,同时保持接近 InternVL3.5 100% 的性能。

在预训练阶段,我们基于大规模文本与多模态语料组合,联合更新全部模型参数。具体而言,给定任意一个由多模态 token 序列 $\mathbf{x}=\left(x_1, x_2, \ldots, x_L\right)$ 组成的训练样本,下一 token 预测(NTP)损失在每个文本 token 上计算如下:
其中 $x_i$ 是被预测的 token,${x_1, x_2, \ldots, x_{i-1}}$ 中的前缀 token 既可以是文本 token,也可以是图像 token。值得注意的是,对于对话样本,仅将回复 token 纳入损失计算。 此外,为缓解训练过程中偏向更长或更短回复的问题,我们采用平方平均对 NTP 损失重新加权,具体如下:
其中 $N$ 表示需要计算损失的训练样本中的 token 数量。同时引入随机 JPEG 压缩,以提升模型的真实场景表现。
在 SFT 阶段,我们采用与预训练阶段相同的目标,并使用平方根平均策略计算最终损失。在此阶段,上下文窗口设置为 32K tokens,以适配长上下文信息。 与 InternVL3 相比,InternVL3.5 的 SFT 阶段包含更多高质量且多样化的训练数据,来源于三类来源:
(1) 来自 InternVL3 的指令跟随数据,复用以保持对视觉–语言任务的广泛覆盖。
(2) 在 "Thinking" 模式下的多模态推理数据,用于向模型注入长程思考能力。为构建此类数据,我们首先使用 InternVL3-78B 对图像进行描述,然后将描述输入 DeepSeek-R1,采样带有详细推理过程的 rollouts。最终答案不正确的 rollouts 会被过滤掉。这些数据集中的问题覆盖数学、科学等各专业领域,从而提升模型在不同推理任务上的表现。
(3) 能力扩展数据集,赋予 InternVL3.5 新的技能,包括基于 GUI 的交互、具身交互以及可扩展的 vect
级联 RL 旨在结合离线 RL 与在线 RL 的优势,以高效方式逐步推进 MLLM 的后训练。 具体而言,我们首先使用离线 RL 算法对模型进行微调,将其作为高效的预热阶段,以获得令人满意的结果,从而为后续阶段保证高质量 rollouts。 随后,我们采用在线 RL 算法,基于模型自身生成的 rollouts 进一步优化输出分布。与单一离线或在线 RL 阶段相比,我们的级联 RL 以少量 GPU 时间开销实现了显著的性能提升。
在离线 RL 阶段,我们采用混合偏好优化(MPO)对模型进行微调。具体而言,MPO 的训练目标是偏好损失 $\mathcal{L}{p}$、质量损失 $\mathcal{L}{q}$ 和生成损失 $\mathcal{L}_{g}$ 的组合,可表示如下:
其中 $w_{*}$ 表示分配给每个损失项的权重。 DPO 损失、BCO 损失和 LM 损失分别作为偏好损失、质量损失和生成损失。
在在线 RL 阶段,我们采用 GSPO 作为在线 RL 算法,且不引入参考模型约束。我们发现它在训练稠密模型和混合专家(MoE)模型时更为有效。与 GRPO 类似,优势值定义为同一 query 下各采样响应的归一化奖励。 GSPO 的训练目标为:
其中重要性采样比定义为逐 token 比的几何平均。
请参阅 我们的论文 以获取更多技术与实验细节。
我们进一步将 ViCO 作为额外的训练阶段,以将 视觉分辨率路由(ViR) 集成到 InternVL3.5 中,从而降低 InternVL3.5 的推理成本。所得到的 InternVL3.5 高效版本被称为 InternVL3.5-Flash。具体而言,ViCO 包括两个阶段:
一致性训练:
在本阶段,整个模型被训练以最小化在不同压缩率视觉 token 条件下响应分布之间的差异。
在实际操作中,我们额外引入一个参考模型,该模型保持冻结并以 InternVL3.5 初始化。
对于给定样本,每个图像块表示为 256 或 64 个 token,训练目标定义如下:
其中 表示 KL 散度, 表示压缩率,从 中均匀采样。当 时,图像 表示为 256 个 token;当 时,表示为 64 个 token。需要注意的是,参考模型始终使用 进行推理。
路由训练:
本阶段旨在训练 ViR,使其为不同输入选择适当的折中分辨率。
ViR 被建模为二分类器,并使用标准交叉熵损失进行训练。
为了构建路由目标,我们首先计算模型在未压缩视觉 token(即每个图像块 256 个 token)条件下的输出与在压缩视觉 token(即每个图像块 64 个 token)条件下的输出之间的 KL 散度。
在此阶段,主 MLLM(ViT、MLP 和 LLM)保持冻结,仅训练 ViR。
具体地,我们首先计算每个图像块的损失比值:
该比值用于量化压缩视觉 token 所带来的损失相对增幅。基于该比值,图像块路由器的二分类真实标签定义为:
其中 和 分别表示将压缩率 设为 和 。
如需了解更多技术与实验细节,请参阅我们的论文。
测试时扩展(TTS)已被实证证明是一种能够有效提升 LLM 与 MLLM 推理能力的方法,尤其适用于需要多步推理的复杂任务。 在本工作中,我们实现了一种综合的测试时扩展方案,同时提升推理深度(即深度思考)与广度(即并行思考)。
深度思考:通过启用思考模式,我们引导模型在生成最终答案前,有意识地展开逐步推理(即将复杂问题分解为若干逻辑步骤,并验证中间结论)。该方法能够系统性地改善复杂问题解法的逻辑结构,尤其是需要多步推理的问题,并增强推理深度。
并行思考:延续 InternVL3,针对推理任务,我们采用 Best-of-N(BoN)策略,使用 VisualPRM-v1.1 作为评审模型,从多个推理候选中选择最优回答。
该方法提升了推理广度。
值得注意的是,除非另有说明,我们论文中报告的实验结果均是在未应用 TTS 的情况下获得的。目前,我们仅在推理基准测试上应用了 TTS,因为我们发现模型已经展现出较强的感知与理解能力,启用 TTS 并未带来显著提升。
在多模态推理中,视觉编码器与语言模型具有不同的计算特性。将图像转换为语义特征的视觉编码器高度可并行,且不依赖长期历史状态。相比之下,语言模型以自回归方式进行推理,需要基于先前状态计算下一个状态。这种顺序特性使语言部分对内存带宽与时延更加敏感。 当 MLLM 被大规模在线部署时,视觉模型与语言模型往往会相互阻塞,从而产生额外的推理成本。视觉模型规模更大或输入图像分辨率更高时,这种影响会更加显著。

如上图所示,我们提出解耦式视觉语言部署(DvD),通过将视觉处理与语言处理分离来解决该问题,并特别关注预填充阶段的优化。视觉子系统对图像进行批处理并生成紧凑的特征嵌入,随后将其传输至语言子系统,在解码前与文本上下文进行融合。这种分离缓解了阻塞问题,使多模态预填充性能更接近纯语言模型。 在我们的系统实现中,ViT 和 MLP(InternVL3.5-Flash 还包括 ViR)部署在视觉服务器上,而语言服务器仅运行 LLM。通信为单向,通过 TCP 传输 BF16 视觉特征,并可选项采用 RDMA 以实现更高的传输速度。视觉处理、特征传输和语言处理被组织为异步三阶段流水线,实现重叠执行并最大限度减少流水线停顿。
DvD 提升了视觉侧的 GPU 利用率与处理效率,同时使语言服务器能够专注于 LLM 的预填充与解码,而不受视觉计算阻塞。该设计带来了更高的吞吐量与响应速度。此外,该架构支持对视觉模块与语言模块进行独立的硬件成本优化,并便于无缝集成新模块,而无需修改语言服务器部署。















我们提供了使用 transformers 运行 InternVL3.5-8B-HF 的示例代码。请注意,参数量最高为 30B 的模型可部署在单张 A100 GPU 上,而 38B 模型需要两张 A100 GPU,235B 模型需要八张 A100 GPU。
通常情况下,模型部署既可使用 LMDeploy,也可使用 vLLM。但对于 InternVL3.5-20B-A4B,我们建议使用 vLLM,因为 lmdeploy 尚未支持 GPT-OSS。
请使用 transformers>=4.52.1,以确保模型正常运行。对于模型的 20B 版本,需要 transformers>=4.55.0。
import torch
from transformers import AutoTokenizer, AutoModelForImageTextToText
path = "OpenGVLab/InternVL3_5-8B-HF"
model = AutoModelForImageTextToText.from_pretrained(
path,
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
use_flash_attn=True,
trust_remote_code=True).eval().cuda()import torch
from transformers import AutoTokenizer, AutoModelForImageTextToText
path = "OpenGVLab/InternVL3_5-8B-HF"
model = AutoModelForImageTextToText.from_pretrained(
path,
torch_dtype=torch.bfloat16,
load_in_8bit=True,
low_cpu_mem_usage=True,
use_flash_attn=True,
trust_remote_code=True).eval()import math
import torch
from transformers import AutoTokenizer, AutoModelForImageTextToText
path = "OpenGVLab/InternVL3_5-8B-HF"
model = AutoModelForImageTextToText.from_pretrained(
path,
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
use_flash_attn=True,
trust_remote_code=True,
device_map="auto").eval()若要启用思考模式,请将系统提示词设置为我们的 Thinking System Prompt。启用思考模式时,建议设置 do_sample=True 和 temperature=0.6,以缓解非预期重复。
R1_SYSTEM_PROMPT = """
You are an AI assistant that rigorously follows this response protocol:
1. First, conduct a detailed analysis of the question. Consider different angles, potential solutions, and reason through the problem step-by-step. Enclose this entire thinking process within <think> and </think> tags.
2. After the thinking section, provide a clear, concise, and direct answer to the user's question. Separate the answer from the think section with a newline.
Ensure that the thinking process is thorough but remains focused on the query. The final answer should be standalone and not reference the thinking section.
""".strip()
messages = [
{
"role": "system",
"content": [
{"type": "text", "text": R1_SYSTEM_PROMPT},
],
},
{
"role": "user",
"content": [
{"type": "text", "text": "xxx"},
],
},
]我们模型的 HuggingFace 格式检查点与官方 HuggingFace 模型的 API 完全一致。更多详细信息,请参阅官方文档。
许多仓库现已支持 InternVL 系列模型的微调,包括 InternVL、SWIFT、XTuner 等。有关微调的更多详细信息,请参阅相关文档。
LMDeploy 是一款用于压缩、部署和提供 LLM 与 VLM 服务的工具包。
pip install lmdeploy>=0.9.1LMDeploy 将多模态视觉语言模型(VLM)复杂的推理过程抽象为简单易用的流水线,类似于大语言模型(LLM)的推理流水线。
from lmdeploy import pipeline, PytorchEngineConfig
from lmdeploy.vl import load_image
image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg')
# Please set tp=2 for the 38B version and tp=8 for the 241B-A28B version.
model = 'OpenGVLab/InternVL3_5-8B'
pipe = pipeline(model, backend_config=PytorchEngineConfig(session_len=32768, tp=1))
response = pipe(('describe this image', image))
print(response.text)当处理多张图片时,可以将它们全部放入同一个列表中。需要注意的是,多张图片会增加输入 token 的数量,因此通常需要对上下文窗口的大小进行相应扩大。
from lmdeploy import pipeline, PytorchEngineConfig
from lmdeploy.vl import load_image
from lmdeploy.vl.constants import IMAGE_TOKEN
# Please set tp=2 for the 38B version and tp=8 for the 241B-A28B version.
model = 'OpenGVLab/InternVL3_5-8B'
pipe = pipeline(model, backend_config=PytorchEngineConfig(session_len=32768, tp=1))
image_urls=[
'https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/human-pose.jpg',
'https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/det.jpg'
]
images = [load_image(img_url) for img_url in image_urls]
# Numbering images improves multi-image conversations
response = pipe((f'Image-1: {IMAGE_TOKEN}\nImage-2: {IMAGE_TOKEN}\ndescribe these two images', images))
print(response.text)使用批量提示词进行推理非常简单,只需将它们放入列表结构中即可:
from lmdeploy import pipeline, PytorchEngineConfig
from lmdeploy.vl import load_image
# Please set tp=2 for the 38B version and tp=8 for the 241B-A28B version.
model = 'OpenGVLab/InternVL3_5-8B'
pipe = pipeline(model, backend_config=PytorchEngineConfig(session_len=32768, tp=1))
image_urls=[
"https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/human-pose.jpg",
"https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/det.jpg"
]
prompts = [('describe this image', load_image(img_url)) for img_url in image_urls]
response = pipe(prompts)
print(response)使用 pipeline 实现多轮对话有两种方式。一种是按照 OpenAI 的格式构造 messages,并调用上述介绍的方法;另一种是调用 pipeline.chat 接口。
from lmdeploy import pipeline, PytorchEngineConfig, GenerationConfig
from lmdeploy.vl import load_image
# Please set tp=2 for the 38B version and tp=8 for the 241B-A28B version.
model = 'OpenGVLab/InternVL3_5-8B'
pipe = pipeline(model, backend_config=PytorchEngineConfig(session_len=32768, tp=1))
image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/human-pose.jpg')
gen_config = GenerationConfig(top_k=50, top_p=0.95, temperature=0.6, max_new_tokens=8192)
sess = pipe.chat(('describe this image', image), gen_config=gen_config)
print(sess.response.text)
sess = pipe.chat('What is the woman doing?', session=sess, gen_config=gen_config)
print(sess.response.text)LMDeploy 的 api_server 可以通过单条命令轻松将模型封装为服务。所提供的 RESTful API 兼容 OpenAI 接口。服务启动示例如下:
lmdeploy serve api_server OpenGVLab/InternVL3_5-8B --server-port 23333 --tp 1 --backend pytorch若要使用 OpenAI 风格的接口,您需要安装 OpenAI:
pip install openai然后,使用以下代码发起 API 调用:
from openai import OpenAI
client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
model_name = client.models.list().data[0].id
response = client.chat.completions.create(
model=model_name,
messages=[{
'role':
'user',
'content': [{
'type': 'text',
'text': 'describe this image',
}, {
'type': 'image_url',
'image_url': {
'url':
'https://modelscope.oss-cn-beijing.aliyuncs.com/resource/tiger.jpeg',
},
}],
}],
temperature=0.8,
top_p=0.8)
print(response)本项目以 apache-2.0 License 发布。本项目将预训练的 Qwen3 作为组件使用,其采用 apache-2.0 License 许可。
如果您在研究中发现本项目有用,请考虑引用:
@article{wang2025internvl3_5,
title={InternVL3.5: Advancing Open-Source Multimodal Models in Versatility, Reasoning, and Efficiency},
author={Wang, Weiyun and Gao, Zhangwei and Gu, Lixin and Pu, Hengjun and Cui, Long and Wei, Xingguang and Liu, Zhaoyang and Jing, Linglin and Ye, Shenglong and Shao, Jie and others},
journal={arXiv preprint arXiv:2508.18265},
year={2025}
}