OpenAI 剛剛釋出了兩款大型開放權重模型——但我們如何才能區分現實與炒作?
上週,有史以來記錄到的最強地震之一震撼了俄羅斯沿岸的海底,引發了太平洋海嘯警報。最終,海嘯並未襲來。本週,生成式 AI 世界也感受到了一次地質震動:OpenAI 釋出了兩款開放權重的基礎模型——gpt-oss-20b 和 gpt-oss-120b——打破了其長期以來封閉權重的傳統。開源社群對此感到震驚。但就像那次地震一樣,真正的問題是:這會引發一場變革的浪潮,還是會像歷史書中的一次微弱震動一樣消逝?
OpenAI 釋出的簡要總結
- 根據 Apache 2.0 許可證釋出
- 僅限語言指令 + 推理模型
- 專家混合架構
- 效能與 OpenAI o4-mini (120b) 和 o3-mini (20b) 相當
- 新穎之處包括 MXFP4 量化和 harmony 提示格式
- 注重安全性
但這有意義嗎?
鑑於 OpenAI 的高知名度,此次釋出自然引來了大量炒作。關於這些模型“效能”的意見在 HuggingFace 模型頁面和 Hacker News 上褒貶不一。在 Oumi,我們希望採取一種更冷靜的方法,並著手以一種有原則的方式將訊號與噪聲分離。
作為一個完全開源的平臺,用於訓練、評估和部署前沿 AI,我們很好奇這些模型在我們的 LLM-as-a-judge 評估套件中的表現如何——這是一個快速靈活的系統,可以衡量模型在真實性、指令遵循、安全性和主題一致性等方面的質量。
由於 Oumi 旨在支援任何後端,我們在釋出當天就直接連線到 Together.ai 的推理 API。
使用 Oumi 進行 LLM-as-a-Judge 評估
Oumi 既有無程式碼 CLI,也有低程式碼 Python API(以及面向高階使用者的 100% 定製化功能)。在這裡,我們將使用 CLI,並在步驟之間穿插一些簡單的 Python 程式碼。
首先,我們需要準備用於評估的資料。我們使用一個有趣的名為 fka/awesome-chatgpt-prompts
的資料集,其中包含 203 個可用於評判的提示。這是一個數據點示例:
想象你是一位經驗豐富的以太坊開發者,任務是為區塊鏈信使建立一個智慧合約。目標是將訊息儲存在區塊鏈上,使其對所有人可讀(公開),僅對部署合約的人可寫(私有),並計算訊息更新的次數。為此開發一個 Solidity 智慧合約,包括實現指定目標的必要功能和注意事項。請提供程式碼和任何相關解釋,以確保清晰理解實現。
我們從 HuggingFace Hub 下載資料集,並將其轉換為與 Oumi 相容的格式。
from datasets import load_dataset
import json
def convert_to_oumi_format(s):
return {
'messages': [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': s['prompt']}
]
}
hf_dataset = load_dataset('fka/awesome-chatgpt-prompts', split='train') \
.remove_columns('act') \
.map(convert_to_oumi_format, remove_columns='prompt')
with open('awesome-chatgpt-prompts.jsonl', 'w', encoding='utf-8') as file:
for item in hf_dataset:
json_line = json.dumps(item, ensure_ascii=False)
file.write(json_line + '\n')
Oumi 允許您使用 .yaml
配置執行基礎模型開發的各種步驟。接下來,讓我們定義推理配置。
model:
model_name: "openai/gpt-oss-120b"
remote_params:
num_workers: 32 # max number of workers to run in parallel
politeness_policy: 60 # wait 60 seconds before sending next request
engine: TOGETHER
Oumi 提供了一個統一的介面,可以對本地(Transformers、vLLM)、託管(OpenAI、Together、Lambda.ai、Anthropic 等)和雲服務(AWS、GCP、Azure 等)進行推理,包括內建功能,以適應可用的連線頻寬並從部分完成的結果中恢復。
透過這個,一個簡單的終端命令就可以收集 gpt-oss-120b
的提示補全結果。
oumi infer \
--config inference-gpt-oss.yaml \
--input_path awesome-chatgpt-prompts.jsonl
--output_path completions.jsonl
現在,將資料少量轉換成 oumi judge
使用的格式
def convert_to_oumi_format(s):
return {
'request': s['messages'][1]['content'],
'response': s['messages'][2]['content'],
}
hf_dataset = load_dataset('json', data_files='completions.jsonl', split='train') \
.map(convert_to_oumi_format, remove_columns=['conversation_id', 'messages', 'metadata'])
with open('completions-reformatted.jsonl', 'w', encoding='utf-8') as file:
for item in hf_dataset:
json_line = json.dumps(item, ensure_ascii=False)
file.write(json_line + '\n')
我們可以用以下命令評估一個內建的 LLM-as-a-Judge 指標:
oumi judge dataset \
--config truthfulness
--input completions-reformatted.json
--output judgements.jsonl
剩下的就是對其他判決指標和模型重複操作。
結果出來了
以下是結果。一些快速總結:
真實性和安全性令人印象深刻——尤其是在 120B 模型中,它似乎經過調優以避免有害輸出(儘管我們注意到所有模型的安全結果在統計上是等效的)。
然而,指令遵循表現不及預期(參見 Qwen3 Instruct 結果)。 為什麼?Oumi 的 LLM-as-a-judge 解釋揭示了一個模式:這些模型經常拒絕回答無害的指令。我們的假設是?OpenAI 可能對安全性進行了過度最佳化,導致在合法情況下出現過於保守的拒絕。
這正是 Oumi 能夠提供的那種細緻入微的洞察力。
接下來是什麼?
每個新模型的釋出都會帶來一股炒作浪潮。但是,這些模型真的“好”嗎?我們完全開源的基礎模型平臺 Oumi 可以提供幫助:
- 透過結構化、可靠和自動化的評估,撥開迷霧。
- 生成 LLM 解釋,不僅揭示什麼失敗了,還揭示為什麼失敗了。
- 評估您自己的標準——而不僅僅是基準排行榜上的說法
- 保持靈活性——在任何地方評估託管的模型——從遠端 API 到您自己的叢集,甚至您的筆記型電腦
- 貢獻: Oumi 是 100% 開源的,並由一個日益壯大的研究人員、開發人員和機構社群提供支援,他們共同努力使 AI 更透明、更具協作性。事實上,@clem 是我們的天使投資人之一!
未來幾天,我們將推出這些模型的推理功能,您可以在自己的 GPU 叢集上部署它們,為您提供更多評估和比較開放或封閉模型的方法。2025 年 8 月 14 日,我們將舉辦一場簡短的網路研討會:“gpt-oss:區分實質與炒作”,我將在其中解釋這些模型的新穎特性,如量化方案,以及我們如何得出上述結果。請在此處報名:https://lu.ma/qd9fhau9
如果您正在構建、測試或研究前沿模型,請加入我們。 Oumi 是一個開源、社群驅動的平臺,專為希望透過透明和協作改進 AI 的人而設計。歡迎試用或在 oumi.ai 貢獻!