{"notes":[{"id":"model-evaluation/faithc4","category":"model-evaluation","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"FaithC4","subtitle":"熱心的校對員","author":"Z. Yuan","paperDate":"2026-05-29","publishedOn":"2026-09-16","paperTitle":"Do VLMs Read or Rewrite? On Transcription Faithfulness in Vision-Language Models","paperUrl":"https://arxiv.org/abs/2607.21617","bibliography":{"title":"Do VLMs Read or Rewrite? On Transcription Faithfulness in Vision-Language Models","authors":["Gwang Gook Lee","Kenan Emir Ak","Jay Mohta","Yan Xu","Dimitrios Dimitriadis"],"url":"https://arxiv.org/abs/2607.21617","pdfUrl":"https://arxiv.org/pdf/2607.21617v2","codeUrl":"https://github.com/gwanglee/DoVLMsRead","preprint":{"id":"2607.21617","submittedOn":"2026-05-29","url":"https://arxiv.org/abs/2607.21617"},"publication":null,"citation":"@misc{modelevaluationfaithc42026,\n  title = {{Do VLMs Read or Rewrite? On Transcription Faithfulness in Vision-Language Models}},\n  author = {Gwang Gook Lee and Kenan Emir Ak and Jay Mohta and Yan Xu and Dimitrios Dimitriadis},\n  year = {2026},\n  eprint = {2607.21617},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2607.21617}\n}\n","citationPath":"/content/papers/citations/model-evaluation/faithc4.b3840dfe13e8.bib"},"thumbnail":{"src":"/content/papers/assets/b3abbe439520c55767dbdc0c5b9cf7cf870e35ff129f6977b59b97671099b945.png","width":1338,"height":338},"locale":"zh-hant","path":"/content/papers/zh-hant/model-evaluation/faithc4.c71c503147e0.md","headings":[{"id":"定義問題","text":"定義問題","depth":2},{"id":"解決問題","text":"解決問題","depth":2},{"id":"從乾淨文字開始","text":"從乾淨文字開始","depth":3},{"id":"15-個系統三種類別","text":"15 個系統，三種類別","depth":3},{"id":"討論","text":"討論","depth":2},{"id":"誰最會校對","text":"誰最會「校對」","depth":3},{"id":"把錯誤分類","text":"把錯誤分類","depth":3},{"id":"錯誤會擴散","text":"錯誤會擴散","depth":3},{"id":"改寫發生在哪一層","text":"改寫發生在哪一層","depth":3},{"id":"直接叫它別改有用嗎","text":"直接叫它別改，有用嗎？","depth":3},{"id":"讀這篇時要知道的事","text":"讀這篇時要知道的事","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[]}],"text":"給 VLM 看一張圖，上面印著「prbolem」。它常常會回答「problem」。\n\n如果你要的是理解內容，這很貼心；如果你要的是**照抄**，這就是錯的。法律文件、醫療紀錄、歷史手稿，原文寫錯了，抄本就該照錯的抄。\n\n這有點像人讀亂序字的經驗：字母順序打亂了，我們還是讀得懂。這篇來自 Amazon 的論文想量的，就是 VLM 有多常替你「校對」原文，而且這件事發生在哪一層。\n\n論文 2026 年 5 月 29 日首次上傳 arXiv，本文依 9 月 2 日的 v2 閱讀。資料集叫 **FaithC4**。\n\n## 定義問題\n\n現有的 OCR 基準，例如 DocVQA、OCRBench、OmniDocBench，用的都是既有的文件影像，內容本身大多是正確的文字。它們能量模型讀得準不準，卻看不出模型在遇到不完美的文字時，是照實抄寫，還是默默改正。\n\n作者也把自己和兩類相近的研究分開：\n\n- 2025 年的 KIE-HVQA 處理的是**被模糊、遮擋的字**：影像證據不足，考的是模型能不能承認看不清楚。\n- FaithC4 處理的是**清楚但被改過的字**：影像證據足夠，考的是模型會不會用自己的預期蓋過看到的東西。\n\n## 解決問題\n\n### 從乾淨文字開始\n\n[![FaithC4 建立流程：從 C4 取出文字，對單字做打亂、形近替換或隨機替換，得到改過的標準答案，渲染成文件圖片後交給 VLM 轉錄](/content/papers/assets/b3abbe439520c55767dbdc0c5b9cf7cf870e35ff129f6977b59b97671099b945.png)](/content/papers/assets/b3abbe439520c55767dbdc0c5b9cf7cf870e35ff129f6977b59b97671099b945.png)\n\n*原論文 Figure 1，取自 [**v2 PDF 第 4 頁**](https://arxiv.org/pdf/2607.21617v2#page=4)，CC BY 4.0。範例單字 victory 分別被打亂成 virtcoy、形近替換成 vjctery、隨機替換成 xtndovk。*\n\n既有的文件影像沒辦法控制內容，所以作者反過來做：先拿文字，再改，再渲染。\n\n1. 從多語版的 C4 網路語料取出能放進一頁的段落：英文 500 篇、中文 500 篇、韓文 455 篇，共 1,455 篇。英文平均每篇 599 個字。\n2. 對至少 4 個字元的單字做擾動，**改過的文字就是標準答案**。\n3. 用 9pt 襯線字、1.2 倍行距，把它渲染成單頁 PDF 影像。\n\n擾動有三種，加上原文當對照：\n\n- **打亂（Scramble）**：保留第一個與最後一個字母，中間打亂。victory → virtcoy。\n- **形近（Visual）**：換成長得像的字元。standard → stsndord。\n- **隨機（Random）**：每個字元換成同一文字系統的隨機字母。standard → xkpmewqi。\n\n中文沒有空白分詞，所以以不重疊的四字視窗為單位，只做形近與隨機兩種；形近字限於共用部首或筆畫的字，隨機字取自常用字表。\n\n所有語言與條件都校準到大約 **5% 的字元被改動**（實際落在 4.65% 到 5.20%）。這一點很重要：韓文單字很短，如果固定「改幾個單字」，韓文被改的字元會少很多，看起來就會比較穩，比較就不公平了。\n\n### 15 個系統，三種類別\n\n- **通用 VLM**：Qwen3.5-4B、Qwen3-VL-4B、InternVL3.5-4B、Gemma4-E4B／E2B、Gemini 3 Flash、Gemini 2.5 Flash、GPT-5.4-mini 等。\n- **OCR 專用 VLM**：olmOCR-2-7B、DeepSeek-OCR-2、MinerU2.5-Pro、LightOnOCR-2-1B、PaddleOCR 等。\n- **傳統 OCR**：Tesseract、docTR，逐字元辨識。\n\n提示詞統一是「把文件裡的文字全部抽出來」，不特別提醒有錯字，讓模型照自己的習慣作答。OCR 專用模型用各自建議的提示詞。主要指標是詞錯誤率（WER），中文改用字元錯誤率；為了不讓「某模型在某幾篇失敗」混進比較，只計算模型在四種條件下都成功處理的文件。\n\n## 討論\n\n### 誰最會「校對」\n\n以英文來說，三種擾動造成的 WER 增幅：\n\n- **傳統 OCR** 最多 0.72 個百分點。\n- **OCR 專用 VLM** 範圍很大：MinerU 0.10–0.84、LightOnOCR 0.21–1.40、DeepSeek 0.53–2.47、PaddleOCR 0.64–3.19、olmOCR 0.76–3.42。\n- **通用 VLM** 多數在 0.59–3.44，InternVL3.5-4B 達 6.90。例外是 Gemini 3 Flash，最多只有 0.23，和傳統 OCR 差不多。\n\n作者的解讀是：這個排序大致反映語言先驗的強弱。通用 VLM 帶著廣泛預訓練的語言知識；OCR 專用模型經過文件微調，先驗弱一些；傳統 OCR 逐字元辨識，幾乎沒有語言模型可以「改正」它。\n\n不過，WER 只告訴我們錯了多少，沒說是怎麼錯的。\n\n### 把錯誤分類\n\n作者把打亂條件下、讀錯的那些單字分成四類：\n\n- **改寫**：輸出正好是原本沒改過的單字，最直接的「用先驗蓋過影像」。\n- **接近**：和改過的字只差兩個以內的編輯，屬於一般 OCR 的雜訊。\n- **中等**：至少一半的字元相同。\n- **錯誤**：和原字、改過的字都不像。\n\n[![FaithC4 Table 5：英文打亂條件下，各系統讀錯的單字中，改寫、接近、中等、錯誤四類的比例，依改寫比例排序，從 Tesseract 的 0% 到 olmOCR 的 58.63%](/content/papers/assets/6ee5629d6762f01ca90d6377a05ca400e408a7d765c225326312b95da772db14.png)](/content/papers/assets/6ee5629d6762f01ca90d6377a05ca400e408a7d765c225326312b95da772db14.png)\n\n*原論文 Table 5，取自 [**v2 PDF 第 6 頁**](https://arxiv.org/pdf/2607.21617v2#page=6)，CC BY 4.0。每一列加總為 100%，分母是該系統讀錯的擾動單字。*\n\n這張表比 WER 有意思得多。\n\n傳統 OCR 讀錯時，從來不是改回原字；它們的錯大多屬於「接近」，也就是看錯了一兩個字母。Gemini 3 Flash 也一樣。\n\n其他模型差很多。InternVL 讀錯的字裡有 46% 是改回原字；OCR 專用的 LightOn 與 olmOCR 更高，分別是 54% 與 59%。\n\n換句話說，**OCR 專用模型的整體錯誤比較少，但它們錯的時候，很可能就是在「校對」**。類別只能給個大概，模型之間的差距比類別之間還大。\n\n### 錯誤會擴散\n\n只改 5% 的字元，影響不只那 5%。\n\n作者把錯誤率拆成「被擾動的單字」與「沒被擾動的單字」兩部分。以 Qwen3-VL 為例，原文的每字錯誤率是 0.40%；在打亂條件下，**沒被擾動**的單字錯誤率升到 2.93%，約 7.3 倍。Gemini 3 Flash 則是 0.35% 到 0.41%，約 1.2 倍。\n\n作者在摘要裡說，通用 VLM 最多放大到 7.3 倍；不過同一張表上，olmOCR 從 0.42% 升到 3.76%，換算起來將近 9 倍。\n\n這帶來兩個實務上的結論：\n\n1. **不能只看擾動比例估算成本**。一小部分錯字，可能拖累更大範圍的輸出。\n2. **乾淨文字上的成績預測不了這件事**。Gemini 3 Flash 和 Qwen3.5-4B 在原文上的每字錯誤率一樣都是 0.35%，擾動後的擴散程度卻差了好幾倍。\n\n### 改寫發生在哪一層\n\n最後，作者打開 Qwen3-VL-4B（36 層）看內部。\n\n他們從 500 篇英文文件各隨機挑一個單字，在圖上用黃色標出來，請模型「讀出標示的那個字」，四種條件共 2,000 組。每組記錄兩件事：每一層 FFN 輸出在原文與擾動版之間的餘弦相似度，以及開始生成時，模型的注意力有多少落在那個單字的影像區塊上。\n\n結果有三點：\n\n1. **模型看到了**。前 12 層的表示幾乎一樣，從第 16 層開始逐漸分開，最後一層的相似度：隨機 0.321、形近 0.469、打亂 0.602，和擾動破壞字形的程度一致。模型對擾動單字的注意力也比原文高，第 4 層的打亂條件達 2.14 倍。作者的說法是：模型注意到了擾動，只是沒有照著寫。\n2. **完全隨機不會被改寫**。單字探測裡，打亂有 4.9%、形近有 6.0% 被改回原字，隨機替換是 0%：xkpmewqi 不像任何真正的單字，語言先驗找不到可以改回去的目標。\n3. **表示沒怎麼變的時候才會改寫**。把打亂的樣本依最後一層的相似度分成四組，相似度最低的兩組從未被改寫，最高的一組改寫率 4.66%。注意力的多寡反而和改寫無關。\n\n作者也發現，短字比較容易被改寫：4 到 6 個字母的字最多約 10%，8 個字母以上就急遽下降。短字被打亂後，仍然很像原本的字。\n\n### 直接叫它別改，有用嗎？\n\n附錄 F 試了最直覺的辦法：在提示詞裡明講「這份文件可能有錯字、打亂的單字或隨機字串，請完全照原樣抄寫，不要更正」。\n\n對 Qwen3-VL-4B 與 Qwen3.5-4B，這句話讓各種擾動下的 WER 增幅降了大約三到五成，例如 Qwen3-VL 在打亂條件下從 2.04 降到 1.07 個百分點。代價是模型變得比較保守，原文本身的 WER 反而上升：Qwen3-VL 從 0.29% 升到 0.66%。\n\n再開啟思考模式，幾乎沒有額外幫助。兩個模型其實都沒有產生實質的推理內容，Qwen3-VL 沒有輸出思考 token，Qwen3.5 只給出空的思考區塊。作者認為，這些模型把 OCR 當成直接的感知任務，不會因為「多想一下」而改善。\n\n### 讀這篇時要知道的事\n\n作者在限制一節列了幾點：\n\n1. **只有三種語言**，阿拉伯文、天城文，或數學、程式碼等領域可能不同。\n2. **擾動是人為控制的**，和掃描雜訊、手寫差異、低解析度這些真實的劣化不同。\n3. **文件是合成渲染的**，比真實掃描檔乾淨得多。\n4. **內部探測只做了 Qwen3-VL-4B 一個模型**，其他架構是否相同，還要再驗證。\n5. **緩解方法只試了提示詞與思考模式**，沒有測微調、解碼階段的介入或專門的忠實度訓練。\n\n## 結論\n\nFaithC4 把「VLM 會不會替你改字」變成一個能量的問題：\n\n1. **改寫普遍存在，但程度因模型而異**。英文 WER 增幅大致是通用 VLM > OCR 專用 VLM > 傳統 OCR；Gemini 3 Flash 是通用 VLM 裡的例外。\n2. **錯的方式不同**。傳統 OCR 錯的時候是看錯字母；不少 VLM 錯的時候是改回它認得的字，olmOCR 有 59% 的錯屬於這種。\n3. **錯誤會擴散**。只擾動 5% 的字元，沒被擾動的單字錯誤率也可能升高好幾倍。\n4. **模型看到了，只是沒照著寫**。內部表示顯示擾動被偵測到，改寫只在表示和原字很接近時發生。\n\n對工程師來說，最實用的是它的做法：拿乾淨文字，自己改幾個字，再渲染成圖，就能測出手上的模型是讀者還是校對員。\n","imageSizes":{"/content/papers/assets/b3abbe439520c55767dbdc0c5b9cf7cf870e35ff129f6977b59b97671099b945.png":{"width":1338,"height":338},"/content/papers/assets/6ee5629d6762f01ca90d6377a05ca400e408a7d765c225326312b95da772db14.png":{"width":666,"height":486}}}
