- 简介 =====
近期,OpenAI发布了两款开源推理模型:gpt-oss-120b和gpt-oss-20b,均采用Apache 2.0许可和OpenAI的gpt-oss使用政策。这些模型是纯文本模型,旨在用于需要强大指令遵循、工具使用(如网页搜索和Python代码执行)和推理能力的智能体工作流程中。gpt-oss-120b和gpt-oss-20b支持可变推理能力(可调整推理工作量)和完整的思维链(CoT),并支持结构化输出。
相关GitHub:
https://github.com/openai/gpt-oss
https://github.com/openai/harmony
模型下载:
https://huggingface.co/openai/gpt-oss-20b
https://huggingface.co/openai/gpt-oss-120b
相关技术文档:https://cdn.openai.com/pdf/419b6906-9da6-406c-a19d-1bb078ac7637/oai\_gpt-oss\_model\_card.pdf
- 模型架构、数据、训练与评估 ================
2.1 模型架构
gpt-oss模型是自回归混合专家(MoE)Transformer,基于GPT-2和GPT-3架构。
- gpt-oss-120b: 36层,116.8亿总参数,每token每前向传递,激活51亿参数。
- gpt-oss-20b: 24层,20.9亿总参数,每token每前向传递,激活36亿参数。 模型利用MXFP4格式的量化(每参数4.25位)来减少内存占用,使得gpt-oss-120b可以在单个80GB GPU上运行,gpt-oss-20b可以在16GB内存的系统上运行。
2.2 训练细节
- 分词器: 使用OpenAI的
o200k_harmony
分词器,总计201,088个token,兼容Harmony聊天格式。 - 预训练数据: 在数万亿token的纯文本数据集上进行训练,重点是STEM、编码和通用知识。为提高安全性,数据经过有害内容过滤,特别是危险生物安全知识,重用了GPT-4o的CBRN预训练过滤器。知识截止日期为2024年6月。
- 训练硬件与时间: 在NVIDIA H100 GPU上使用PyTorch框架训练,利用Triton优化的核。gpt-oss-120b的训练需要210万H100小时,gpt-oss-20b则少了近10倍。两者都利用Flash Attention算法。
- 后训练(推理与工具使用): 模型采用与OpenAI o3相似的思维链强化学习(CoT RL)技术进行后训练,以教授推理和工具使用能力。训练数据集涵盖编码、数学、科学等广泛问题。
2.3 Harmony聊天格式
模型使用自定义的“harmony聊天格式”,通过特殊token和关键字参数(如User、Assistant)来划分消息边界和指示各类角色。它引入了“channels”来指示消息可见性(如 analysis
用于CoT token, commentary
用于函数工具调用, final
用于显示给用户的答案)。 指令层级: 模型遵循“系统 > 开发者 > 用户 > 助手 > 工具”的角色信息层级来解决指令冲突。
Figure 17:以 Harmony 格式编写的模型输入,包含:一个将推理级别设为低的系统消息、一个为模型指定一项可用函数工具的开发者消息,以及一个询问旧金山天气的用户消息。
Figure 18:以Harmony格式的示例模型响应,包含思维链(CoT)和模型进行工具调用。
2.4 可变推理训练
模型支持低、中、高三种推理级别,通过系统提示中的关键字(如“Reasoning: low”)配置。提高推理级别会增加模型的平均思维链长度,但也会增加响应延迟和成本。
2.5 智能体工具使用
模型被训练使用多种智能体工具:
- 浏览工具: 允许模型进行网络搜索和开放功能以与网络互动,有助于事实性和获取知识截止日期之外的信息。
- Python工具: 允许模型在有状态的Jupyter Notebook环境中运行代码。 任意开发者函数: 允许在开发者消息中指定函数schema。模型可以交错使用CoT、函数调用、函数响应、中间消息和最终答案。
2.6 评估表现
- 核心能力: gpt-oss-120b在AIME (数学)、GPQA (博士科学问题)、HLE (专家级问题) 和MMLU (大学水平考试) 等基准测试上表现强劲。“gpt-oss-120b超越OpenAI o3-mini并接近OpenAI o4-mini的准确率。” gpt-oss-20b在数学方面表现突出,尤其是在AIME上,平均每个问题使用超过20k的CoT token。
- 编码与工具使用: gpt-oss模型在编码和工具使用任务上表现出色,gpt-oss-120b在Codeforces、SWE-Bench和τ-bench零售方面接近OpenAI o4-mini的性能。
- 测试时扩展: 模型展示了平滑的测试时扩展。随着推理级别的提高,平均CoT长度增加,准确性也随之提高,通常呈现对数线性收益。
- 健康表现: 在HealthBench(现实健康对话)上,gpt-oss-120b在“高推理”模式下“几乎与OpenAI o3性能持平”,并且“显著优于GPT-4o、OpenAI o1、OpenAI o3-mini和OpenAI o4-mini”。这代表了健康性能-成本前沿的巨大帕累托改进,有望在全球健康领域产生影响。 重要提示: “gpt-oss模型不能替代医疗专业人员,也不适用于疾病的诊断或治疗。”
- 多语言表现: 在MMMLU评估中(MMLU的14种语言翻译版),gpt-oss-120b在“高推理”模式下接近OpenAI o4-mini-high的性能。
- 幻觉: gpt-oss模型在SimpleQA和PersonQA评估中的幻觉率高于OpenAI o4-mini。这是预期的,因为“较小的模型比大型前沿模型具有更少的全球知识,并且倾向于产生更多幻觉。” 浏览或收集外部信息通常会减少幻觉。
- 公平性与偏见: 在BBQ评估中,gpt-oss模型与OpenAI o4-mini表现大致持平。
- 安全测试与缓解方法 ============
OpenAI在后训练阶段使用审慎对齐来训练模型拒绝广泛内容(如非法建议)、抵御越狱攻击和遵循指令层级。 OpenAI强调对开源模型的测试应反映下游行为者修改模型的各种方式,包括恶意方通过微调潜在增强有害能力。这部分可能小伙伴们也不是特别感兴趣,不打算过多阐述。
另外,关于预备框架下的能力发现,估计大家都不是特别感兴趣,也就直接忽略了。
- 结论 =====
OpenAI发布的gpt-oss-120b和gpt-oss-20b是强大的开源推理模型,在指令遵循、工具使用和可变推理能力方面表现出色。虽然它们在许多通用能力、健康和编码任务上表现出竞争力,甚至在某些方面接近或超越OpenAI的专有o3-mini和o4-mini模型,但在幻觉和指令层级遵循方面仍存在挑战。OpenAI通过对抗性微调模拟恶意行为者对模型潜在有害能力的提升进行了严格的安全评估,并确认即使在此条件下,模型也未达到其“预备框架”中的“高能力”阈值。此外,OpenAI认为其发布不会显著推进生物安全相关能力的现有技术前沿,因为其他开源模型已达到相似水平。模型卡片强调了开放模型的独特风险概况,并呼吁开发者在使用这些模型时,在其系统层面实施额外的安全保障。