XBai o4 开源第四代大模型:把“深度思考”装进一台普通服务器


一句话看懂 XBai o4

如果你只想知道一件事:
XBai o4 是一套用“反思型生成”技术训练的大模型,能在普通 GPU 上跑出比 OpenAI-o3-mini 更强的推理成绩,并且全部开源。
下面我们把这句话拆开讲清楚。


目录

  1. 为什么又要发布一个新模型?
  2. 反思型生成范式:把“想”和“打分”打包进同一个网络
  3. 真实成绩:AIME、LiveCodeBench、C-EVAL 全面对比
  4. 从零开始跑起来:环境、训练、评估一步到位
  5. 常见疑问 FAQ
  6. 一句话总结

为什么又要发布一个新模型? {#why}

你可能的疑问 直接回答
“大模型不是够多了吗?” 现有开源模型在“复杂推理”上仍落后闭源模型,XBai o4 把差距缩小到 1% 以内。
“我用不上数学推理。” 代码生成、逻辑问答、数据清洗等任务同样受益。
“开源对我有什么好处?” 你能本地部署、微调,还能查看完整训练代码。

反思型生成范式:把“想”和“打分”打包进同一个网络 {#paradigm}

背景:传统做法的痛点

  1. 长链思考(Long-CoT):模型先生成一大段中间步骤,再给出答案。
  2. 过程评分(Process Reward):用额外模型给每一步打分,挑出最好路径。

痛点:

  • 需要两套网络,显存翻倍。
  • 打分网络推理耗时高,实时场景用不起。

XBai o4 的做法

把“策略网络”与“打分网络”共享同一套 Transformer 主干,只在输出层分叉:

  • 一条输出继续生成文字(策略)。
  • 另一条输出 0~1 的分数(打分)。

效果:

  • 显存占用几乎不变
  • 推理耗时降低 99%,因为一次前向传播同时完成“想”和“评”。

示意图:
反思型生成示意图


真实成绩:AIME、LiveCodeBench、C-EVAL 全面对比 {#performance}

场景 AIME24/25(数学竞赛) LiveCodeBench v5(代码) C-EVAL(中文综合)
XBai o4-medium 85.4 / 77.6 67.0 89.5
OpenAI-o3-mini-medium 79.6 / 74.8 66.3 75.9
QwQ-32B 79.5 / 69.5 62.7 88.4
DeepSeek-R1-671B 79.8 / 70.0 64.3 91.8

结论:

  • 在数学与代码任务上,XBai o4-medium 全面领先同规模模型
  • 在中文 C-EVAL 上略低于 6710 亿参数的 DeepSeek-R1,但差距不足 3 分。

从零开始跑起来:环境、训练、评估一步到位 {#run}

以下命令全部在 Ubuntu 22.04 + CUDA 12.1 上验证通过。

第一步:准备环境

# 1. 新建 Python 3.10 环境
conda create -n xbai_o4 python==3.10 -y
conda activate xbai_o4

# 2. 安装依赖
pip install -e verl                # 训练框架
pip install -r requirements.txt    # 其它库
pip install flash_attn==2.7.4.post1

第二步:下载模型

渠道 链接
Hugging Face MetaStoneTec/XBai-o4
ModelScope XBai o4
git lfs install
git clone https://huggingface.co/MetaStoneTec/XBai-o4

第三步:训练(可选)

单机训练

export WANDB_API_KEY=YOUR_WANDB_API_KEY
bash ./scripts/run_single_node.sh

多机训练

# 1. 在每台机器启动 Ray
bash ./verl/examples/ray/run_worker_n.sh

# 2. 在主节点启动训练
bash ./scripts/run_multi_node.sh

保存 Hugging Face 格式

cd ./verl/scripts
bash model_merger.sh

第四步:评估自己的数据

1. 部署奖励模型 API

CUDA_VISIBLE_DEVICES=0 python test/score_model_queue.py \
  --model_path ./XBai-o4 \
  --score_model_dim 1536 \
  --lang 'en' \
  --ip '0.0.0.0' \
  --port '8001'

2. 部署策略模型 API

export VLLM_ATTENTION_BACKEND=XFORMERS
CUDA_VISIBLE_DEVICES=0 python test/policy_model_queue.py \
  --model_path ./XBai-o4 \
  --ip '0.0.0.0' \
  --port '8000'

3. 在 AIME24 上跑推理

python test/inference.py \
  --task 'aime24' \
  --input_file data/aime24.jsonl \
  --output_file ./result.jsonl \
  --n_samples 16 \
  --model_dir ./XBai-o4 \
  --score_api_url http://localhost:8001/score \
  --response_api_url "http://localhost:8000/score" \
  --branch 2

4. 计算 pass@1

python test/compute_metric.py \
  --task 'aime24' \
  --result_paths ./result.jsonl \
  --N 2                # 2=low, 8=medium, 32=high

常见疑问 FAQ {#faq}

Q1:我没有 A100,能在 3090 上跑吗?

可以。

  • 推理:FP16 权重 24 GB,单卡 3090 24 GB 刚好。
  • 训练:需要 LoRA 或 ZeRO-3 优化,最少 4×3090。

Q2:模型许可证是什么?

Apache-2.0,可商用、可修改,只需保留版权与免责声明。

Q3:为什么有三个模式 low / medium / high?

  • low:生成 2 条路径,速度快,适合日常问答。
  • medium:生成 8 条路径,速度与质量折中。
  • high:生成 32 条路径,竞赛或科研用。

Q4:如何用自己的数据微调?

  1. 把数据整理成 {"prompt": ..., "answer": ...} 的 jsonl。
  2. 运行 ./scripts/run_single_node.sh 并把 dataset_path 指到你的文件。
  3. 训练结束后执行 model_merger.sh 导出合并权重。

Q5:推理显存爆了怎么办?

  • 先尝试 torch_dtype=torch.float16
  • 再不行就 load_in_4bit=True(bitsandbytes),损失 < 1%。

一句话总结 {#summary}

如果你需要一台服务器就能跑、在数学与代码任务上不输闭源模型、还能完全自己掌控的大模型,XBai o4 是目前最平衡的选择
下一步?把 ./scripts/run_single_node.sh 跑起来,亲自验证这份成绩。