Instructions to use XHToken/Spark-X2.6-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use XHToken/Spark-X2.6-4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="XHToken/Spark-X2.6-4B", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("XHToken/Spark-X2.6-4B", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use XHToken/Spark-X2.6-4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "XHToken/Spark-X2.6-4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "XHToken/Spark-X2.6-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/XHToken/Spark-X2.6-4B
- SGLang
How to use XHToken/Spark-X2.6-4B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "XHToken/Spark-X2.6-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "XHToken/Spark-X2.6-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "XHToken/Spark-X2.6-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "XHToken/Spark-X2.6-4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use XHToken/Spark-X2.6-4B with Docker Model Runner:
docker model run hf.co/XHToken/Spark-X2.6-4B
[独立实测] Spark-X2.6-4B:Google Colab L4 云端 BF16 中英双语法律与金融对抗性诊断
Spark-X2.6-4B 中英双语法律与金融对抗性诊断:独立实测研究报告
研究模型:XHToken/Spark-X2.6-4B
实验时间:2026-11-03 UTC
研究者:Jiang, Xuanyi(lostlight530 / lightlost)
ORCID:0009-0001-3617-0832
前序研究:Spark-X2.5-4B 本地 Q4_K_M 硬预算数学诊断(X2.5 HF Discussion #18)
发布位置:HF Discussion #30 · GitHub Discussion #29
1 研究背景
此前,我曾使用 Spark-X2.5-4B 的 Q4_K_M 量化模型,在 RTX 4060 Laptop GPU 上完成一轮本地数学诊断实验
该实验使用 30 道预先选定的数学问题,在单次回答、8,192 Token 硬生成预算、不进行补救生成的条件下,得到 15/30 的严格 Pass@1 结果
当时一个很值得研究的现象是:模型未必完全无法解决问题,但可能因为推理过长,在规定预算内未能提交最终答案
随着 Spark-X2.6-4B 发布,我希望进一步观察新一代模型在另一类高约束任务中的实际表现
此次没有继续使用数学题库,而是选择了涉及法律规范衔接、刑事行为分类、竞业限制、经营现金流、信贷 IRR 和银行资本充足率的中英双语诊断任务
主要关注三个问题:
- 小模型能否识别题目中刻意设置的过时规则、混淆概念和错误假设
- 在多步骤数值问题中,能否识别关键计算关系并输出相关结论
- 在统一推理条件下,中英文问题是否都能命中预设的诊断要点
声明:本实验属于独立模型行为诊断,不代表正式法律意见、投资建议或金融风险评估
2 模型与计算环境
| 项目 | 实际配置 |
|---|---|
| 模型 | XHToken/Spark-X2.6-4B |
| 模型架构 | 约 4.1B Dense |
| 模型权重 | 官方 Hugging Face BF16 |
| 执行平台 | Google Colab |
| GPU | NVIDIA L4 |
| 可用显存 | 约 22.03 GB |
| 推理框架 | PyTorch / Transformers |
| 推理精度 | BF16 |
| 测试语言 | 中文、英文 |
| 测试规模 | 6 类问题 × 2 种语言,共 12 次 |
| 外部工具 | 无 |
| 生成方式 | 单次生成,不追加纠错提示 |
本次实验完全运行于 Colab 云端,不依赖本地 GPU
模型成功加载,日志记录的模型显存分配量约为 7.66 GB
本次未进行量化、模型微调或权重修改,也没有使用远程第三方推理 API 代替本地加载模型
执行代码实际使用 max_new_tokens=4096,并在记录中另设 8,192 Token 的总长度检查阈值,因此本次有效生成上限应按 4,096 个新 Token 理解
3 测试设计
测试分为法律与金融两大组,每组设置三个问题族,并分别执行中文和英文输入
3.1 法律规范与概念判断
- L1 旧法废止与新法衔接:通过刻意引用已经废止的规范,观察模型能否识别法律时效问题,而不是直接接受用户给出的旧法依据
- L2 职务侵占与贪污行为分类:设置不同人员身份与行为条件,观察模型能否区分相近的刑事法律概念及其适用依据
- L3 竞业限制补偿与违约责任:通过补偿金额、工资水平和违约金条款的组合,观察模型是否能够分别处理不同的法律判断条件
3.2 金融计算与逻辑判断
- F1 净利润与经营活动现金流差异:构建净利润、折旧、非经营收益和营运资金变化之间的关系,要求模型关注现金流量表间接法
- F2 名义分期费率与真实融资成本:通过分期费用和实际现金流,观察模型是否会将名义费率直接当作真实 IRR
- F3 巴塞尔协议 III 资本充足率压力测试:设置不同风险权重的资产变化,观察模型能否计算风险加权资产及资本充足率的变化方向
4 实际执行结果
根据 Colab 保存的执行日志:
| 用例 | 生成 Tokens | 耗时 | 自动判定 |
|---|---|---|---|
| L1 中文 | 4,096 | 271.38s | PASS |
| L1 英文 | 4,096 | 272.59s | PASS |
| L2 中文 | 4,096 | 272.92s | PASS |
| L2 英文 | 4,096 | 273.70s | PASS |
| L3 中文 | 4,096 | 273.76s | PASS |
| L3 英文 | 4,096 | 273.42s | PASS |
| F1 中文 | 2,230 | 148.73s | PASS |
| F1 英文 | 4,096 | 272.85s | PASS |
| F2 中文 | 4,096 | 273.46s | PASS |
| F2 英文 | 4,096 | 272.21s | PASS |
| F3 中文 | 4,096 | 272.55s | PASS |
| F3 英文 | 1,981 | 131.43s | PASS |
4.1 汇总
| 指标 | 结果 |
|---|---|
| 完成执行 | 12/12 |
| 法律组自动判定通过 | 6/6 |
| 金融组自动判定通过 | 6/6 |
| 合计生成 Tokens | 45,171 |
| 累计推理耗时 | 3,009.1 秒 |
| 平均生成吞吐 | 约 15.0 Tokens/s |
| 单项生成达到 4,096 Token 上限 | 10/12 |
4.2 判定规则口径
本次脚本使用预先设置的目标关键词与禁止关键词进行自动诊断:至少命中一个目标关键词,并且没有出现禁止关键词,则记录为 PASS
所以这里的 12/12 是明确判定规则下的运行结果,不等同于对全部法律、金融内容完成独立专家审定
5 代表性案例
5.1 案例 A:法律规范时效识别
在 L1 中文与英文测试中,输入故意引导模型依据已经废止的合同法条款作出判断
执行日志显示,模型输出命中了《民法典》或 Civil Code 等目标要点,没有触发对应的禁止表达
这一现象值得关注:模型不能只会引用看起来相关的规范,还需要识别题目给出的法律依据是否仍然适用
但关键词命中本身不代表全部法律论证已经获得专业认证
5.2 案例 B:经营现金流与净利润差异
F1 中文测试设置以下财务条件:
| 项目 | 数值(万元) |
|---|---|
| 净利润 | 1,200 |
| 折旧摊销 | +250 |
| 非经营收益调整 | −300 |
| 应收账款增加 | −850 |
| 存货增加 | −450 |
| 应付账款增加 | +200 |
根据题设,间接法经营现金流计算为:
CFO = 1200 + 250 − 300 − 850 − 450 + 200 = 50(万元)
模型在本次输出中命中了与经营现金流、净利润和营运资金调整相关的预设要点
该案例展示了为什么不能简单以净利润增长判断企业经营现金状况
5.3 案例 C:风险加权资产与资本充足率
F3 设置了不同风险权重资产的变化,并观察模型是否能够处理风险加权资产的增量与资本充足率变化
在题设的风险权重假设下:
ΔRWA = 25 + 300 − 50 = 275(亿元)
若原 RWA 为 5,000 亿元,CET1 为 600 亿元,则:
CET1 Ratio = 600 / 5275 ≈ 11.374%
相对于原先 12% 的比率,下降约 62.6 个基点
本次中文和英文测试均通过预设的自动检查
6 与 Spark-X2.5 前序研究的关系
这两次实验并不是同一 Benchmark 的两代模型对照,因此不直接用成功率计算模型升级幅度
| 维度 | X2.5 前序研究 | X2.6 本次研究 |
|---|---|---|
| 模型 | Spark-X2.5-4B | Spark-X2.6-4B |
| 运行环境 | 本地 RTX 4060 Laptop | Colab NVIDIA L4 |
| 权重 | 社区 Q4_K_M GGUF | 官方 BF16 |
| 主要任务 | 数学题目 | 法律与金融诊断 |
| 测试规模 | 30 题 | 12 次 |
| 结果口径 | 严格答案提交 Pass@1 | 预设自动规则 PASS |
| 主要观察目标 | 固定生成预算下的答案提交 | 规则识别与数值推理要点 |
X2.5 的主要观察问题是:本地模型能否在固定预算内完成答案提交
X2.6 的主要观察问题是:在独立的高约束任务中,模型输出是否命中预设的推理与概念判断要点
两次实验一起构成了个人对 Spark 端侧模型系列的不同角度的独立研究记录
7 云端教师模型与端侧小模型的进一步思考
2026 年 1024 开发者节期间,讯飞介绍了 Spark-X2.6 的端云一体训练与推理协同方向
其中比较值得关注的是 Spark-X2.6-4B 采用的能力感知自适应迭代后训练方式:根据端侧小模型的能力动态选择教师模型,并调整训练内容,提升模型承担 Agent 任务的能力
我认为这里存在一个值得继续探索的技术路线:
- 云端训练与能力提升,不必意味着用户使用时必须持续连接云端
- 模型可以在训练阶段借助更强大的教师模型获得能力提升,再以较小的参数规模部署到本地设备
- 对于本地模型能够承担的任务,可以优先使用端侧推理
- 这样能够减少持续云端推理的成本,并且在模型及运行环境准备完成、没有外部网络依赖的条件下支持离线使用
- 对于敏感数据,真正的隐私保证仍然需要由本地应用、Runtime、权限和网络出口管理共同实现
这也是我此前在 GitHub Spark-X2.5 浏览器端侧模型讨论 #12 中关注的方向
我希望探索的并不只是某个模型能否运行,而是能否借助浏览器或其他统一运行环境,让更多普通用户直接使用低成本、可离线、可控的本地模型能力
8 研究资产与实验记录
本次实验归档包含:
- Colab 使用的 Transformers BF16 推理脚本
- 12 项执行用例与自动判定逻辑
- 中英双语诊断题库
- JSONL 形式的测试矩阵
- Jupyter Notebook
- Colab 执行日志
- 汇总报告
执行日志记录了模型加载、GPU 环境、各项测试的 Token 数量、耗时、自动判定结果以及报告导出状态
模型原始输出在云端执行期间另行导出为 Trace JSON,当前整理包主要保留执行日志与测试程序;不将未随包提供的完整回答文件声称为已公开附件
这些资料可用于后续研究者和自动化 Agent 理解测试流程、扩展题目与调整评估方法
9 总结
本次独立实测完成了 Spark-X2.6-4B 官方 BF16 模型在 Colab L4 上的 12 项中英双语对抗性诊断
执行累计生成 45,171 Tokens,总推理耗时约 3,009.1 秒,12 项测试均通过脚本中预先设置的自动检查规则
这证明了本次云端实验链路成功完成,也提供了一份围绕实际生成行为、推理开销和任务检查的研究记录
结合 Spark-X2.5 的本地量化实践与 Spark-X2.6 新发布的端云一体训练方向,我认为后续值得持续探索的仍然是:如何让经过云端教师模型训练的小模型,在本地承担更多真实任务,并通过浏览器或 Agent Runtime 形成低门槛、可离线、可控的用户体验
参考链接
| 资源 | 链接 |
|---|---|
| GitHub|X2.5 原始讨论 #12 | https://github.com/XHToken/Spark-X2.6/discussions/12 |
| GitHub|X2.6 官方仓库 | https://github.com/XHToken/Spark-X2.6 |
| Hugging Face|X2.6-4B 模型 | https://huggingface.co/XHToken/Spark-X2.6-4B |
| Hugging Face|X2.5 历史实测 #18 | https://huggingface.co/XHToken/Spark-X2.5-4B/discussions/18 |
| 讯飞 X2.6 端云一体训练报道 | https://www.cnstock.com/commonDetail/807327 |
学术归属
Jiang, Xuanyi(lostlight530 / lightlost)· ORCID 0009-0001-3617-0832