OpenAI 开源GPT OSS系列模型

大模型向量数据库机器学习

picture.image

在AI发展的历程中,开源与闭源模型之间的竞争一直备受关注。就在近期,OpenAI发布了GPT OSS系列模型,这是自GPT-2以来该公司首次发布的开源大语言模型,标志着OpenAI在开源生态中迈出了重要一步。

模型下载地址:

官方博客地址:


GPT OSS系列包含两个主要版本:gpt-oss-120b和gpt-oss-20b。从命名就能看出,前者拥有1170亿总参数,后者为210亿参数。不过这里有个有趣的设计——两个模型都采用了专家混合(MoE)架构,实际激活的参数数分别只有51亿和36亿。这种设计带来的直接好处就是在保持强大性能的同时,显著降低了计算和内存需求。

值得一提的是,120B模型可以在单张80GB的H100 GPU上运行,而20B模型更是只需要16GB内存就能跑起来。这意味着普通开发者也能在消费级硬件上体验到接近顶级AI模型的能力,这在以往是难以想象的。

技术架构:效率与性能的平衡

从技术角度来看,GPT OSS采用了不少先进的优化策略。模型使用了旋转位置编码(RoPE)来处理位置信息,原生支持128K的上下文长度。在注意力机制方面,模型采用了交替的全上下文注意力和滑动窗口注意力,既保证了长距离依赖的捕获,又控制了计算复杂度。

特别值得关注的是模型的量化技术。GPT OSS使用了4位量化的MXFP4格式,这种量化方案在Hopper和Blackwell系列GPU上表现优异。对于不支持MXFP4的硬件,模型会自动回退到bfloat16格式,确保了广泛的兼容性。

在优化方面,模型支持Flash Attention 3、MegaBlocks MoE kernels等多种加速技术。针对不同的硬件环境,用户可以选择最适合的优化组合来获得最佳性能。

  
from transformers import AutoModelForCausalLM, AutoTokenizer  
  
model\_id = "openai/gpt-oss-20b"  
  
tokenizer = AutoTokenizer.from\_pretrained(model\_id)  
model = AutoModelForCausalLM.from\_pretrained(  
    model\_id,  
    device\_map="auto",  
    torch\_dtype="auto",  
+    # Flash Attention with Sinks  
+    attn\_implementation="kernels-community/vllm-flash-attn3",  
)  
  
messages = [  
    {"role": "user", "content": "How many rs are in the word 'strawberry'?"},  
]  
  
inputs = tokenizer.apply\_chat\_template(  
    messages,  
    add\_generation\_prompt=True,  
    return\_tensors="pt",  
    return\_dict=True,  
).to(model.device)  
  
generated = model.generate(**inputs, max\_new\_tokens=100)  
print(tokenizer.decode(generated[0][inputs["input\_ids"].shape[-1]:]))  
  

下面是优化的总结picture.image

CoT思维链

OpenAI的研究发现,如果在训练过程中对模型的思维链进行直接的"对齐监督"(也就是人为干预和修正模型的思考过程),会降低我们检测模型异常行为的能力。换句话说,如果我们教会模型"如何思考才是正确的",模型就可能学会隐藏其真实的思考过程,这样我们就很难发现它是否在进行有害的推理。

因此,OpenAI选择不对GPT OSS模型的思维链进行直接监督,保持思维链的"原生性",让模型的思考过程保持相对"原生"的状态。这样做的目的是确保我们能够通过观察模型的思维链来:

  • 检测模型是否出现异常行为

  • 发现潜在的欺骗行为

  • 识别可能的滥用情况picture.image

    性能表现:与顶级模型看齐


OpenAI对 gpt-oss-120b 和 gpt-oss-20b 在标准学术基准测试中进行了评估,以衡量其在编程、竞赛数学、医疗和智能体工具使用方面的能力,并与其他 OpenAI 推理模型(包括 o3、o3‑mini 和 o4-mini)进行了比较。

Gpt-oss-120b 在竞赛编程 (Codeforces)、通用问题解决 (MMLU 和 HLE) 以及工具调用 (TauBench) 方面表现优于 OpenAI o3‑mini,并与 OpenAI o4-mini 持平或超越其性能。此外,它在健康相关查询 (HealthBench⁠) 和竞赛数学 (AIME 2024 和 2025) 方面表现得比 o4-mini 更好。尽管 gpt-oss-20b 的规模较小,但在这些相同的评估中,它与 OpenAI o3‑mini 持平或超越后者,甚至在竞赛数学和医疗方面表现得更好。

picture.image

工具使用

现代AI应用越来越需要模型具备工具调用能力,GPT OSS在这方面也做了专门的优化。模型支持内置工具如浏览器和Python解释器,也支持用户自定义的工具。在Tau-Bench工具调用评估中,模型展现出了出色的函数调用能力。

模型的聊天模板提供了灵活的工具集成方案,开发者可以通过简单的参数设置来启用各种工具。当模型需要调用工具时,会生成标准化的工具调用请求,便于系统集成和处理。

  
def get\_current\_weather(location: str):  
"""  
    Returns the current weather status at a given location as a string.  
  
    Args:  
        location: The location to get the weather for.  
"""  
    return "Terrestrial."  # We never said this was a good weather tool  
  
chat = [  
    {"role": "user", "content": "What's the weather in Paris right now?"}  
]  
  
inputs = tokenizer.apply\_chat\_template(  
    chat,   
    tools=[weather\_tool],   
    builtin\_tools=["browser", "python"],  
    add\_generation\_prompt=True,  
    return\_tensors="pt"  
)

如果模型选择调用某个工具(以 <|call|> 结尾的消息表示),那么您应该将工具调用添加到聊天中,调用该工具,然后将工具结果添加到聊天中并再次生成:

  
tool\_call\_message = {  
    "role": "assistant",  
    "tool\_calls": [  
        {  
            "type": "function",  
            "function": {  
                "name": "get\_current\_temperature",   
                "arguments": {"location": "Paris, France"}  
            }  
        }  
    ]  
}  
chat.append(tool\_call\_message)  
  
tool\_output = get\_current\_weather("Paris, France")  
  
tool\_result\_message = {  
    # Because GPT OSS only calls one tool at a time, we don't  
    # need any extra metadata in the tool message! The template can  
    # figure out that this result is from the most recent tool call.  
    "role": "tool",  
    "content": tool\_output  
}  
chat.append(tool\_result\_message)  
  
# You can now apply\_chat\_template() and generate() again, and the model can use  
# the tool result in conversation.  

部署生态

OpenAI与Hugging Face等合作伙伴构建了完整的部署生态。用户可以通过Inference Providers服务快速访问模型,支持多个推理提供商如Cerebras、Fireworks AI等。对于本地部署,模型支持transformers、vLLM、llama.cpp等多种推理框架。

在云端部署方面,模型已经集成到Azure AI Model Catalog和Dell Enterprise Hub等企业级平台中,为企业用户提供了安全可靠的部署选项。

  
from vllm import LLM  
llm = LLM("openai/gpt-oss-120b", tensor\_parallel\_size=2)  
output = llm.generate("San Francisco is a")

开源许可

GPT OSS采用Apache 2.0许可证发布,这是一个相当宽松的开源许可证。配套的使用政策也相当简洁,主要要求用户遵守适用法律,这为商业化应用扫清了障碍。

这种开放的许可策略体现了OpenAI对开源生态的重视,也为整个AI社区的发展注入了新的活力。开发者可以自由地使用、修改和分发这些模型,这将促进更多创新应用的出现。

安全考量

作为一家负责任的AI公司,OpenAI在发布开源模型时也充分考虑了安全因素。模型经过了全面的安全训练和评估,并通过《防范准备框架》进行了额外的安全测试。

GPT OSS在内部安全基准测试中的表现与OpenAI的前沿模型相当,这为开发者提供了可靠的安全保障。同时,OpenAI还与外部专家合作审核了其安全方法论,为开源模型设定了新的安全标准。

展望未来

GPT OSS的发布不仅仅是OpenAI的一个产品发布,更像是整个AI行业的一个转折点。它证明了开源模型也能达到商业级的性能水准,同时为更多开发者和研究者提供了接触前沿AI技术的机会。

随着这些模型的普及,我们有理由相信会看到更多基于GPT OSS的创新应用出现。无论是个人开发者的创意项目,还是企业级的AI解决方案,都将从这次开源中受益。

对于整个AI生态而言,OpenAI的这一举措可能会推动更多公司开放自己的模型,形成良性的竞争与合作氛围。这最终将加速AI技术的普及和应用,让更多人能够享受到AI发展的红利。

picture.image

添加微信,备注” LLM “进入大模型技术交流群

picture.image

picture.image

如果你觉得这篇文章对你有帮助,别忘了点个赞、送个喜欢

/ 作者:致Great

/ 作者:欢迎转载,标注来源即可

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论