XBai o4 开源第四代大模型:把“深度思考”装进一台普通服务器
一句话看懂 XBai o4
如果你只想知道一件事:
XBai o4 是一套用“反思型生成”技术训练的大模型,能在普通 GPU 上跑出比 OpenAI-o3-mini 更强的推理成绩,并且全部开源。
下面我们把这句话拆开讲清楚。
目录
-
为什么又要发布一个新模型? -
反思型生成范式:把“想”和“打分”打包进同一个网络 -
真实成绩:AIME、LiveCodeBench、C-EVAL 全面对比 -
从零开始跑起来:环境、训练、评估一步到位 -
常见疑问 FAQ -
一句话总结
为什么又要发布一个新模型? {#why}
你可能的疑问 | 直接回答 |
---|---|
“大模型不是够多了吗?” | 现有开源模型在“复杂推理”上仍落后闭源模型,XBai o4 把差距缩小到 1% 以内。 |
“我用不上数学推理。” | 代码生成、逻辑问答、数据清洗等任务同样受益。 |
“开源对我有什么好处?” | 你能本地部署、微调,还能查看完整训练代码。 |
反思型生成范式:把“想”和“打分”打包进同一个网络 {#paradigm}
背景:传统做法的痛点
-
长链思考(Long-CoT):模型先生成一大段中间步骤,再给出答案。 -
过程评分(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:如何用自己的数据微调?
-
把数据整理成 {"prompt": ..., "answer": ...}
的 jsonl。 -
运行 ./scripts/run_single_node.sh
并把dataset_path
指到你的文件。 -
训练结束后执行 model_merger.sh
导出合并权重。
Q5:推理显存爆了怎么办?
-
先尝试 torch_dtype=torch.float16
。 -
再不行就 load_in_4bit=True
(bitsandbytes),损失 < 1%。
一句话总结 {#summary}
如果你需要一台服务器就能跑、在数学与代码任务上不输闭源模型、还能完全自己掌控的大模型,XBai o4 是目前最平衡的选择。
下一步?把 ./scripts/run_single_node.sh
跑起来,亲自验证这份成绩。