生成式 AI 正在深刻改變我們的工作與生活方式,但許多可能為企業帶來變革的數據,依然被鎖存在過時或封閉的格式之中。
IBM 旗下的開源文檔解析工具 Docling
,已幫助企業從舊版圖表、客戶檔案和年度報告中提取新的洞察,令這些資訊變得觸手可及。Docling 在 GitHub 上累計獲得 3200 萬次下載和 6.4 萬顆星,是 IBM 有史以來最成功的開源項目,已被集成到 LangChain、紅帽 OpenShift,乃至 IBM 自家的 Granite 系列大語言模型中。
如今,Docling 背後的研究團隊推出了與之相輔相成的新成果:DocLang
。這是一種基於 XML 的子語言,通過讓 AI 模型用更少的 Token 識別標題結尾、圖表說明起始等位置,有望降低推理延遲與成本。
XML 即可擴展標記語言,最初設計用於在應用、資料庫和網路服務之間儲存和傳輸數據。上世紀 90 年代,前端網頁轉向了對錯誤更為寬容的 HTML,因為 XML 的解析規則嚴格;HTML 還內置了現成可用的可視化標籤,使用門檻更低。儘管 HTML 成為了網路通用的標記語言,XML 卻從未真正退出歷史舞台。Docling 將來自多種格式(PDF、PPT、XLSX、MP4)的非結構化數據轉化為內部表示,並序列化為 DocLang——一種受約束的 XML 方言,專為大語言模型的可解釋性而設計。
我們近期與 Docling 首席研究員 Peter Staar 進行了深度交流,了解了 DocLang 的誕生背景、核心優勢以及推動企業與社區廣泛採用所需的條件。
為什麼需要 DocLang?
我們今天使用的文檔格式,各自為不同目的而生。PDF 告訴渲染器像素放在哪裡,DOCX 告訴文字處理軟體如何排版頁面,兩者都不是為需要理解內容的機器而設計的。當這些格式被送入 AI 流水線時,閱讀順序會變得模糊,表格會崩塌,圖表會失去說明文字,元數據也會消失——而這一切都發生在模型看到內容之前,從根本上限制了模型的準確性上限。
DocLang 有何不同?
DocLang 存在的唯一目的,就是讓機器能夠理解內容。它是一個開放標準——就像數據領域的 JSON、網頁領域的 HTML——原生編碼了語義、布局、邊界框和閱讀順序,而不是在事後嘗試還原結構,而是從一開始就定義好表示方式。我們還堅持一個原則:同一份內容應有且僅有一種編碼形式。兩個系統正確讀取同一份文檔,產生的輸出應完全一致,每個字節都相同。這種"一文檔、一表示"的特性是以往任何標準都無法保證的,也正是 DocLang 可被訓練和驗證的根本所在。
為什麼選擇 XML 作為 DocLang 的基礎?
我們選擇 XML,是因為它與語義 Token 之間存在清晰的對應關係。每個語義 Token 都有明確的開閉形式——`
DocLang 的創意從何而來?
靈感源於一次做表格識別時的觀察。當時我們在訓練圖像到序列的模型,讓它讀取表格並以 HTML 格式輸出。方案可行,但效率不高,模型頻繁輸出語法錯誤的 HTML。這促使我們研發了優化表格結構語言(OTSL),並於 2023 年發表。核心洞察很簡單卻很有力:如果設計一套極簡的、專用詞彙,而不是借用 HTML,模型的準確性會更高,推理時間會下降,輸出也始終語法正確——表示方式本身承擔了我們原本要求模型去做的工作。
我們想:如果這對表格有效,為什麼不把它推廣到整個頁面?這便催生了 DocTags,以及後來的 SmolDocling——一個擁有 2.56 億參數的視覺語言模型,能夠一次性處理含有表格、公式、代碼和圖表的頁面,並與體量大 27 倍的模型比肩。在這一過程中,我們也汲取了教訓:DocTags 並不符合 XML 規範,也不夠完整,對某些文檔結構的表達力有限。DocLang 在保留高效 Token 利用、機器原生表示這一核心理念的基礎上,進一步做到了 XML 合規、完整性和規範性。
有哪些具體優勢?
這些優勢相互疊加,共同發力,具體包括以下幾點:
更小的模型,更高的準確率。正如 OTSL 和 SmolDocling 所證明的,表示方式承擔了更多工作,模型本身無需背負過重負擔。
杜絕結構幻覺。DocLang 的語法規則使無效輸出無法被表示,無論是非矩形表格還是未閉合的元素,整類錯誤從根本上就不會發生。
無損且有據可查。完整的表格網格、圖表位置、閱讀順序和邊界框全部保留,供模型處理。
一致性,可構建。每份文檔只有一種規範編碼,意味著可以基於它進行訓練、差異比較、緩存和驗證,是一種值得信賴的格式。
內置合規治理。個人身份資訊標記、檢索增強生成(RAG)權限、訓練約束等資訊儲存在文檔頭部,而非脆弱的附屬文件中,確保合規元數據始終隨內容同行。
不止於文檔。DocLang 的基本元素可延伸至音頻轉錄、圖像和影片片段,這在流水線走向多模態的今天尤為重要。
開放,無鎖定。DocLang 是在 Linux 基金會治理框架下的開放標準,任何工具或流水線均可實現或使用。
面臨哪些挑戰?
一種格式的價值,取決於採用它的生態系統。只有規範沒有實現,不過是一紙空文。能否獲得廣泛採用,將決定 DocLang 的成敗,這也是我們在發布之初就提供真實支持的原因。
第二個挑戰是在完整性與一致性之間取得平衡。文檔世界無比複雜,每次為了覆蓋邊緣情況而增加表達能力,都可能帶來新的表示歧義。在覆蓋真實複雜場景的同時堅守"一文檔、一表示"的原則,是持續性的艱難設計工作。這也是我們仍處於 0.x 版本、並將次要版本視為潛在破壞性變更的原因——我們寧願把規範形式做對,也不願過早凍結。
遷移成本是第三個挑戰。任何已有流水線的人都需要投入工具開發和重新訓練以完成轉換。我們認為準確性的提升足以彌補這一成本,但這是真實存在的代價,不應被輕描淡寫地一筆帶過。
此外,我們還面臨治理風險:如何確保標準真正保持開放,防止它碎片化為各家廠商的私有版本。這既是技術問題,也是人與流程的問題。
DocLang 要獲得廣泛採用,需要什麼條件?
標準的勝出靠的是易於採用和明顯更優,而不是行政強制。我們的策略分三步走。
第一步,免費、開放、中立治理。DocLang 是在基金會治理框架下的開放規範,有多個組織共同背書,沒有廠商鎖定。這是任何人信任一種格式來託管其文檔的最低門檻。
第二步,在人們已有的工具中直接支持。這是最關鍵的槓桿。我們不是要求所有人從頭重寫流水線,而是讓 DocLang 成為人們已在使用的工具的原生輸出。Docling 和 ABBYY 的 FineReader Engine(一款光學字符識別軟體開發工具包)已經可以輸出 DocLang。一旦你現有的解析器就能生成標準格式,採用就不再是遷移項目。
第三步,持續用事實說話。OTSL 和 SmolDocling 已經證明,更好的表示方式不是審美問題,它直接提升模型準確性、降低成本。開發者採用的是讓系統可量化變得更好的格式,我們要用數據說話。隨著獨立實現不斷增加,DocLang 自然會成為默認選擇——就像 JSON 一樣,沒人刻意決定使用它,它就這樣成為了標準。
DocLang 最終會讓 Docling 走向過時嗎?
完全不會,兩者是互補關係。Docling 是將真實世界中雜亂的文件轉化為結構化輸出的工具,DocLang 是表達這一輸出的標準化格式。如果說有什麼變化,那就是 DocLang 讓 Docling 更有價值——因為 Docling 的輸出現在是一個開放標準,任何下游系統都可以使用,其他工具也可以生成。標準的意義在於沒有單一工具對其擁有所有權。文檔轉換器與它所輸出的格式之間,不存在競爭關係,就像編譯器與機器碼規範之間並不對立一樣。
Q&A
Q1:DocLang 是什麼?和普通 XML 有什麼區別?
A:DocLang 是 IBM 研究團隊推出的一種基於 XML 的標記語言子集,專為讓 AI 模型理解文檔內容而設計。與普通 XML 不同,DocLang 對語法詞彙做了嚴格約束(上限約 1000 個 Token),每個語義標籤直接映射到一個大語言模型 Token,結構清晰、無歧義。它還要求同一份文檔只能有一種編碼形式,保證輸出可訓練、可驗證,而普通 XML 沒有這一約束。
Q2:DocLang 和 Docling 是什麼關係?
A:兩者是互補關係,而非競爭關係。Docling 是一個開源文檔解析工具,負責將 PDF、PPT、XLSX、MP4 等格式的非結構化數據轉化為結構化內容;DocLang 則是承載這些結構化內容的標準化格式。Docling 生成 DocLang,DocLang 讓 Docling 的輸出可以被任何下游系統消費,類似於編譯器與機器碼規範的關係。
Q3:DocLang 能降低 AI 推理成本嗎?是怎麼實現的?
A:可以。DocLang 通過更緊湊的 Token 表示方式,減少模型在解析文檔結構上浪費的計算資源。每個語義標籤對應一個 Token,模型無需學習複雜的標記解析規則,可以將更多能力集中在內容理解上。IBM 此前基於類似思路開發的 OTSL 和 SmolDocling 已經驗證了這一方向——SmolDocling 僅有 2.56 億參數,但能與體量大 27 倍的模型媲美。






