從 YaRN、OpenHermes 到 Hermes Agent:Nous Research 的技術路線其實是一條資料與回饋閉環 | Allen 知識庫 | Allen 知識庫
AI Engineering / Agent Architecture
從 YaRN、OpenHermes 到 Hermes Agent:Nous Research 的技術路線其實是一條資料與回饋閉環 Threads 將 Qwen2.5 的長上下文、OpenHermes 2.5 的開放訓練資料與 Hermes Agent 的 Memory/Skills 串成同一條 Nous Research 技術路線。查核結果:YaRN 論文確有 Jeffrey Quesnelle 共同作者,Qwen2.5-72B-Instruct 官方模型卡也明確建議在超過 32K context 時啟用 YaRN;但更精確的說法不是「Qwen2.5 全系列架構採用 YaRN」,而是特定 Qwen2.5 部署以 YaRN 擴展到 131,072 tokens。Hermes 的成長主要是記憶、Session Search 與可修訂 Skills 的工作方法累積,不等於每次對話都微調模型權重。
2026年9月11日 5 分鐘閱讀 👁 6
Nous Research / Long Context / Open Data / Agent Learning Loop
這則 Threads 把三代技術放在一起看:YaRN 解決模型如何延伸 context window,OpenHermes 2.5 展示如何用公開資料配方做 instruction tuning,Hermes Agent 則把真實使用中的記憶、對話軌跡與可重用 Skills 變成持續改進閉環。共同主題不是「模型會自己長大」,而是如何讓可驗證的資料與工作方法被保存、重用和迭代 。
先修正 Threads 最重要的一句 「Qwen2.5 採用 YaRN」方向正確,但容易講得過頭。 Qwen2.5 官方發布文宣稱模型支援最高 128K context;Qwen2.5-72B-Instruct 模型卡更具體說明:預設 config.json 為 32,768 tokens,處理更長輸入時可配置 rope_scaling.type = yarn,把 context 擴展到 131,072。這能證明官方部署方案使用 YaRN,但不等於每個 Qwen2.5 尺寸、每個 serving backend、每段預訓練流程都把 YaRN 當固定核心架構。
1. YaRN 到底解決什麼問題 使用 RoPE(Rotary Position Embedding)的 Transformer,會把 token 位置編碼成不同頻率的旋轉角度。模型若只在較短序列上訓練,直接餵進更長位置時,會遇到沒看過的旋轉範圍與位置分布,長 context 表現因此崩壞。
只做 Position Interpolation 為什麼不夠 最直觀的方法是把更長位置壓縮回原訓練範圍,相當於把所有 RoPE 頻率一起縮放。優點是避免完全外插;缺點是高頻位置訊號被過度壓縮,鄰近 token 的可分辨性下降。
閱讀資訊
閱讀時間 5 分鐘
段落層級 14
瀏覽 6
日期 2026年9月11日
YaRN 的核心:頻率分段+注意力尺度修正 NTK-aware interpolation: 調整 RoPE 頻率基底,避免所有維度用相同幅度壓縮。NTK-by-parts: 依頻率區段處理:高頻維度偏向保留原尺度、低頻維度偏向插值,中間用線性 ramp 平滑混合。官方實作以 beta_fast=32、beta_slow=1 作為建議邊界。Attention scaling: context 拉長會改變注意力分布與 entropy。YaRN 在 attention softmax 前加入等價的溫度修正;實作可直接縮放 RoPE 的 cos/sin embedding,因此不必改寫 attention kernel,訓練與推論幾乎不增加額外計算。Dynamic Scaling: 論文另討論依實際序列長度動態調整 scaling factor,避免短輸入也一直承受長 context 設定的副作用。YaRN 論文報告,相較當時方法可用少 10 倍的 tokens、少 2.5 倍的訓練 steps 完成 context extension。這些是論文實驗條件下的結果,不應解讀成所有模型與任務都固定加速 10 倍。
2. Qwen2.5 怎麼使用 YaRN {
"rope_scaling": {
"factor": 4.0,
"original_max_position_embeddings": 32768,
"type": "yarn"
}
}上面是 Qwen2.5-72B-Instruct 模型卡所示概念:用 4 倍 scaling 從 32K 延伸到約 128K。模型卡同時提醒,當時 vLLM 主要支援 static YaRN ,固定 scaling factor 可能傷害較短文字的表現,因此只在確實需要長 context 時啟用。
工程上還要注意 能塞進 128K,不等於能有效利用 128K: 仍要用 passkey retrieval、LongBench、長文問答與真實任務測試。KV cache 成本沒有消失: context 越長,記憶體與延遲仍增加;YaRN 改善位置外推,不是免費壓縮 KV cache。Backend 相容性: Transformers、vLLM、llama.cpp 對 RoPE scaling 欄位、版本與 dynamic/static 行為可能不同。短文回歸測試: 官方模型卡已警告 static YaRN 可能影響短輸入,所以長短 context benchmark 都要跑。
3. Jeffrey Quesnelle 與 Nous 的關係 arXiv 論文列出的作者為 Bowen Peng、Jeffrey Quesnelle、Honglu Fan、Enrico Shippole,affiliation 包含 Nous Research、EleutherAI 與 University of Geneva;論文聯絡信箱亦使用 nousresearch.com。Jeffrey 的 GitHub 公開簡介標示自己為 Nous Research Co-Founder/CTO。因此,說「Nous 的共同創辦人參與 YaRN」有直接證據;但 YaRN 是多作者研究成果,不應縮成單一公司的獨占技術。
4. OpenHermes 2.5:重點是資料配方公開 OpenHermes 2.5 是 Teknium 推動的開放 instruction dataset/模型路線。Hugging Face 資料集頁目前顯示約 1M rows ,欄位中保留 source、category、conversation、system prompt 等資訊,來源涵蓋多種合成與公開 instruction datasets。部分公開模型說明以約 900K instructions 描述實際訓練量;「資料集列數」與「經清洗後實際訓練樣本」不是同一個數字。
它為什麼重要 不只發布權重,也公開資料混合來源與對話格式,讓社群能檢查與再訓練。 把模型品質問題往上游拆成資料來源、分類、system prompt、格式與清洗策略。 OpenHermes 的價值不是證明「一百萬筆越多越好」,而是讓資料工程變成可討論、可重現的研究對象。 資料公開不代表資料完美: 合成資料可能包含錯誤答案、風格偏差、重複、來源授權與敏感內容問題;使用前仍需 provenance、dedup、quality scoring、PII/license 掃描與隔離測試集。
5. Hermes Agent 的「成長」實際存在哪裡 Hermes Agent 並不是每次聊完就在線更新基礎模型權重。官方文件描述的是三層外部狀態:
層 技術 用途 Persistent Memory MEMORY.md+USER.md,每個 profile 隔離,下一個 session 注入 system prompt保存偏好、環境、專案慣例與高價值事實 Session Search SQLite+FTS5;按需搜尋實際歷史訊息 回找不適合常駐 prompt 的過往細節 Skills SKILL.md 與 references/scripts;progressive disclosure、按需載入保存可重複執行的程序、陷阱與驗證方法
這個 closed learning loop 怎麼形成 Agent 執行真實任務並產生 tool trajectory/conversation。 穩定偏好與環境事實被濃縮進 bounded memory,而不是把完整紀錄塞進每次 prompt。 複雜任務成功方法被寫成 Skill;下次遇到同類任務時按需載入。 若 Skill 在使用中出錯,可直接 patch,加入新的 pitfall、命令與 verification。 完整歷史仍保存在 SQLite,需要時才用 FTS5 取回,控制 token 成本。 這比較像軟體工程裡的「文件化 runbook+事件記錄+可搜尋 log+持續修訂」,而不是 gradient descent。好處是可讀、可審查、可回滾;限制是錯誤記憶或錯誤 Skill 也會被重用,因此 Hermes 用容量上限、寫入審批、安全掃描、profile 隔離與 skill verification 控制風險。
6. 三條線真正共通的工程哲學 技術 被保存/調整的東西 是否更新模型權重 YaRN RoPE 頻率與 attention scaling;必要時少量長 context fine-tuning 可有可無,視部署/訓練方案 OpenHermes 2.5 公開 instruction data mixture 與 fine-tuned model 是,離線訓練 Hermes Agent Memory、歷史 Session、Skills、工具與工作流程 日常使用通常否
查核結論 已證實: Jeffrey Quesnelle 是 YaRN 共同作者;GitHub 公開身分為 Nous Co-Founder/CTO。已證實但需精確表述: Qwen2.5-72B-Instruct 官方模型卡使用 YaRN 作為 32K 以上到 131K 的 context extension 設定。已證實: OpenHermes 2.5 資料集約 1M rows;實際模型訓練 instruction 數可能因清洗而較少。已證實: Hermes Agent 以 bounded memory、SQLite/FTS5 session search、按需 Skills 與自我修訂構成學習閉環。未採硬結論: 「Qwen 累積下載超過 10 億」是跨平台、跨模型聚合數字,本次未找到可重現的官方統計口徑,因此不拿它支撐技術影響力。屬觀點: 「全世界最會用 Claude Code 與 Codex 的高手之一」無客觀 benchmark,只能當貼文作者評價。
對 BigIntTech 的啟示 真正可複製的不是某個人很會下 Prompt,而是把改善做成可追蹤資產:模型層有長 context benchmark 與 deployment config;資料層有 provenance、版本與品質門檻;Agent 層有 memory、session evidence、versioned skills、回歸測試與人工審核。這樣「越用越好」才不是口號,而是一套能查錯、能回滾、能量化的營運系統。