英偉達ECLAIR-端到端的文檔布局提取,并集成閱讀順序方法 原創
筆者在前期一個系列分享了各種文檔智能相關的技術方法,可以參考《??文檔智能系列欄目??》,涵蓋各種常見方法。
下面直接看看這個端到端的文檔智能結構化方法,供參考。
方法
一、架構
紅色三部分組成的模型結構
ECLAIR 采用了一個較大的視覺編碼器(657M 參數-ViT-H/16)和一個較輕量級的解碼器(279M 參數-mBART)組成端到端的模型,主要為了在推理時提高效率。ECLAIR 包括以下幾個組件:
視覺編碼器(Vision Encoder)
ECLAIR 的視覺編碼器是從 RADIO 模型初始化的,該模型基于 ViT-H/16 架構。
- 輸入:視覺編碼器的輸入是一張圖像,表示為 ,其中 和 分別是圖像的高度和寬度,3 表示 RGB 通道。
- 輸出:編碼器將圖像映射到一個潛在表示 ,其中 是序列長度, 是隱藏維度。
通過視覺編碼器,圖像被轉換為一個序列化的特征向量。
頸部(Neck)
這部分主要是做降維操作,通常使用卷積或其他變換來壓縮特征表示,以便更好地適應解碼器的輸入要求。
解碼器(Decoder)
ECLAIR 使用 mBART 解碼器,這是一個多語言的 Transformer 解碼器。
- 輸入:解碼器通過條件化于編碼器的潛在表示 和上下文 來預測文本標記 。這里的 是編碼器的輸出, 是提示標記, 是提示增強后的序列長度。
- 輸出:解碼器預測文本標記,這些標記可以是格式化的文本、邊界框和語義類別。
二、提示設計
Prompt機制是用于指導模型輸出特定類型信息的關鍵組成部分。用戶可以通過提示指定模型輸出的格式和內容,實現靈活的輸出控制。
ECLAIR的提示是一個三元組(文章中附上了數據合成的方法,感興趣可以看看,這里不再展開),包含三個選項,每個選項可以有八種可能的組合(忽略沒有輸出的情況以及請求語義類別但沒有相應邊界框的情況)。
提示的組成
- 輸出格式:
- <structured_text>:以 Markdown 格式輸出文本,內聯公式以 LaTeX 格式表示。
- <plain_text>:以純文本格式輸出所有內容。
- <no_text>:不輸出文本。
- 邊界框:
- < bbox > :輸出文本塊的邊界框坐標。
- <no_bbox>:不輸出邊界框。
- 語義類別:
- < classes >:輸出每個文本塊的語義類別。
- < no_classes >:不輸出語義類別。
提示的組合
通過不同的組合,ECLAIR 可以生成多種類型的輸出。例如:
- 最大信息提示(MIP):同時輸出結構化文本、邊界框和語義類別。這是最詳細的輸出形式。
- 僅文本提示:只輸出結構化文本或純文本,不輸出邊界框和語義類別。
- 僅邊界框提示:輸出邊界框和相應的文本,但不輸出語義類別。
- 最小信息提示:只輸出文本,不輸出邊界框和語義類別。
提示的使用
在訓練過程中,ECLAIR 在預訓練階段使用最大信息提示進行訓練,以確保模型能夠處理所有可能的輸出類型。在微調階段,可以通過減少信息密度來適應具有部分標注的數據集。這種方法允許模型利用多樣化的視覺數據進行訓練,即使這些數據集的標注不完全。
實驗效果
參考文獻
ECLAIR – Extracting Content and Layout with Integrated Reading Order for Documents,https://arxiv.org/pdf/2502.04223v1
注:代碼未開源,基準評價數據集也未開放。
本文轉載自公眾號大模型自然語言處理 作者:余俊暉
