ข้ามไปยังเนื้อหาหลัก

โอเพนเวท

OpenThai 2.0 OCR Markdown

โมเดลแบบเปิดที่อ่านหน้าเอกสารภาษาไทยออกมาเป็น Markdown โดยตารางทุกตารางยังเป็นตาราง

  • พารามิเตอร์630ล้าน
  • สัญญาอนุญาตOpenMDW-1.1
  • ตารางในเอกสารไทย95.2คะแนน
  • H100 หนึ่งใบ1.6วินาทีต่อหน้า

ดาวน์โหลดโมเดลอ่านบทความเปิดตัว

เปิดน้ำหนักโมเดลบน Hugging Face เมื่อ 12 พฤศจิกายน 2569 โดย iApp Technology ดาวน์โหลดได้ฟรี

ทำอะไรได้บ้าง​

  • ตารางยังคงเป็นตารางเขียนตารางออกมาเป็น HTML พร้อม rowspan และ colspan หัวตารางที่ผสานเซลล์ในแบบฟอร์มราชการจึงไม่หาย ได้ 95.2 คะแนนบนหน้าเอกสารจริงของหน่วยงานรัฐและมหาวิทยาลัยไทย 65 หน้า เทียบกับ 91.3 ของโมเดลฐาน
  • เขียนเป็น Markdownหัวข้อ รายการ และย่อหน้าออกมาเป็น Markdown พร้อมใช้กับระบบค้นหา ระบบ RAG หรือส่งเข้าโมเดลภาษา
  • บอกตำแหน่งของทุกบล็อกทุกบล็อกมีกรอบตำแหน่งและประเภท เช่น หัวเรื่อง ข้อความ ตาราง หรือรูปภาพ เรียงตามลำดับการอ่าน
  • อ่านหลายคอลัมน์ตามลำดับหน้าที่มีสองหรือสามคอลัมน์อ่านทีละคอลัมน์ ไม่อ่านข้ามคอลัมน์ในแนวนอน
  • ใช้ GPU ใบเดียว1.6 วินาทีต่อหน้าบน NVIDIA H100 หนึ่งใบด้วย vLLM เมื่อส่งทีละหน้า ขนาด 0.63 พันล้านพารามิเตอร์

ผลการทดสอบ​

ทุกโมเดลอ่านหน้าเดียวกันและให้คะแนนด้วยสคริปต์เดียวกัน Typhoon OCR V2 2B และ Typhoon OCR V2 0.8B ใช้ค่าตั้งตามการ์ดโมเดลของตน ช่วงความเชื่อมั่นเป็นช่วง 95% จาก paired bootstrap รายหน้า

โมเดลขนาดตารางในเอกสารไทยตาราง ThaiOCRBenchข้อความไทยตัวพิมพ์วินาทีต่อหน้าราชกิจจานุเบกษาชุดใหม่
OpenThai 2.0 OCR Markdown0.63B95.268.990.31.698.7
Nemotron 3.5 Parse (โมเดลฐาน)0.63B91.368.389.01.891.5
Typhoon OCR V2 2B2B91.667.689.615.894.6
Typhoon OCR V2 0.8B0.8B89.064.785.818.7–
  • ตารางในเอกสารไทย: หน้าเอกสารจริงของหน่วยงานรัฐและมหาวิทยาลัยไทย 65 หน้า ให้คะแนนข้อความและตารางรวมกัน สูงกว่า Typhoon OCR V2 2B 3.6 คะแนน ช่วงความเชื่อมั่น 95% [+1.2, +6.2] และสูงกว่าโมเดลฐาน 3.9 คะแนน
  • ตาราง ThaiOCRBench: คะแนนโครงสร้างและเนื้อหาตาราง (TEDS) บนภาพตาราง 193 ภาพ ต่างจาก Typhoon OCR V2 2B +1.3 [−1.7, +4.6] ถือว่าเสมอกัน
  • ข้อความไทยตัวพิมพ์: ความแม่นยำระดับตัวอักษร 100 × (1 − อัตราผิดพลาดระดับตัวอักษร) เฉลี่ย 12 ชุด รวม 1,200 หน้าและคำพิพากษาศาลปกครองฉบับเต็ม 50 ฉบับ ต่างจาก Typhoon OCR V2 2B +0.76 [−0.04, +1.51] ถือว่าเสมอกัน หน้าที่ถูกตัดเพราะวนซ้ำนับเป็นหน้าว่าง และไม่มีหน้าใดใน 2,270 หน้าถูกตัด
  • วินาทีต่อหน้า: ค่ามัธยฐานของ 12 หน้าที่ส่งทีละหน้าเข้า vLLM บน NVIDIA H100 หนึ่งใบ Typhoon OCR V2 2B ต้องใช้ --enforce-eager บน vLLM รุ่นที่เราใช้ เวลาของโมเดลนั้นจึงสูงกว่าที่ควรเป็น
  • ราชกิจจานุเบกษาชุดใหม่: 339 หน้าจาก 293 ฉบับที่ประกาศในวันที่ 4–9 พฤศจิกายน 2569 หลังจากที่เราเก็บข้อมูลเทรนเสร็จแล้ว ชุดนี้ถูกล็อกไว้ก่อนที่โมเดลใดจะอ่าน และทุกโมเดลอ่านแต่ละหน้าเพียงครั้งเดียว วัดความแม่นยำระดับตัวอักษร เอกสารเหล่านี้เป็นเอกสารใหม่ แต่เป็นประเภทที่ OpenThai 2.0 OCR Markdown เคยเทรน (ราชกิจจานุเบกษาของเดือนก่อน ๆ) ผลนี้จึงบอกว่าโมเดลอ่านเอกสารที่ไม่เคยเห็นได้ดีเพียงใด ไม่ใช่เอกสารประเภทใหม่ ข้อความอ้างอิงสร้างด้วยเครื่องมือเดียวกับที่สร้างป้ายกำกับราชกิจจานุเบกษาในข้อมูลเทรนของเรา จึงเป็นไปตามรูปแบบที่โมเดลนี้เรียนรู้มา ต่างจาก Typhoon OCR V2 2B +4.1 [+3.7, +4.4] และเมื่อตัดช่องว่างทั้งหมดออกเพื่อไม่ให้วิธีต่อบรรทัดมีผล ต่าง +3.5 [+3.2, +3.9] ไม่ได้ทดสอบ Typhoon OCR V2 0.8B กับชุดนี้

โดยสรุป: ดีกว่า Typhoon OCR V2 2B อย่างมีนัยสำคัญในตารางเอกสารไทยและหน้าราชกิจจานุเบกษาใหม่ ใกล้เคียงกันในตาราง ThaiOCRBench และข้อความตัวพิมพ์ และเร็วกว่าราว 10 เท่าด้วยขนาดราวหนึ่งในสาม บนหน้าราชกิจจานุเบกษาใหม่ 339 หน้าที่ประกาศหลังจากเราเก็บข้อมูลเทรนเสร็จ อ่านตัวอักษรถูก 98.7% เทียบกับ 94.6% ของ Typhoon OCR V2 2B ชุดทดสอบ สคริปต์ให้คะแนน และวิธีเลือก checkpoint อยู่ในการ์ดโมเดล

วิธีรัน​

ในรีโพโมเดลมีแพ็กเกจ nemotron_parse ของ NVIDIA สำหรับรันโมเดลและจัดผลลัพธ์

hf download iapp/OpenThai2.0-OCR-Markdown --local-dir OpenThai2.0-OCR-Markdown
pip install vllm==0.26.0
pip install -e ./OpenThai2.0-OCR-Markdown
vllm serve ./OpenThai2.0-OCR-Markdown --served-model-name nemotron-parse --trust-remote-code

ทดสอบกับ vLLM 0.26.0, transformers 5.14.1, PyTorch 2.11 และ Python 3.10 รันได้ทุกที่ที่ Nemotron 3.5 Parse รันได้

ต้องการบริการที่โฮสต์ให้? OpenThai 2.0 OCR Markdown API รันโมเดลนี้ให้ในประเทศไทย หน้าละ 0.15 IC ถ้าต้องการข้อความล้วน Word PowerPoint Excel หรือ PDF ที่ค้นหาได้ OpenThai 2.0 OCR Text เริ่มต้น 0.049 IC ต่อหน้า

ข้อจำกัด​

  • การวนซ้ำ ไม่พบในการทดสอบของเรา ไม่มีหน้าใดถูกตัดเพราะวนซ้ำ ทั้งหน้าข้อความตัวพิมพ์ 2,270 หน้า ภาพตาราง ThaiOCRBench 193 ภาพ หน้าตารางเอกสารไทย 65 หน้า และหน้าชุดพัฒนา 6,137 หน้า หากหน้าอื่นถูกตัดที่ขีดจำกัดโทเค็น DocumentParser จะแจ้ง GenerationError จึงส่งหน้านั้นไปให้ตัวอ่านอื่นได้
  • ภาพถ่ายคำเดี่ยวและภาพตัดสั้นมาก อ่านได้แย่กว่าหน้าเต็ม: 96.4 บนชุดภาพถ่ายส่วนตัดจากเอกสาร OCR104 เทียบกับ 99.8 ของ Typhoon OCR V2 2B
  • ตัวพิมพ์ดอตเมทริกซ์ (สมุดบัญชีธนาคาร แบบฟอร์มที่พิมพ์ด้วยเครื่องพิมพ์หัวเข็ม) อ่านได้ไม่ดีเท่าตัวพิมพ์ทั่วไป: ความแม่นยำระดับตัวอักษรราว 89% บนภาพตัดตัวพิมพ์ดอตเมทริกซ์ในชุดพัฒนาของเรา ภาพตัดเหล่านี้สร้างขึ้นเอง และยังไม่มีชุดทดสอบจากเอกสารดอตเมทริกซ์จริง จึงควรคาดว่าสมุดบัญชีจริงจะได้ผลต่ำกว่านี้
  • ลายมือ อ่านได้ในระดับบรรทัดเดี่ยว หน้าลายมือทั้งหน้าไม่ใช่เป้าหมาย
  • ข้อความในภาพถ่ายฉากและภาพถ่ายหน้าจอ ไม่ใช่เป้าหมาย
  • แผนภูมิ อ่านแบบเดียวกับโมเดลฐาน ไม่ได้อยู่ในการปรับจูน

การเทรน​

ป้ายกำกับข้อความเป็นข้อความที่ถูกต้องแน่นอน ไม่ใช่ผลอ่านของโมเดลอื่น: ข้อมูลเทรน 54,596 แถว ส่วนใหญ่มาจากเอกสารภาษาไทยสังเคราะห์ (แบบฟอร์ม บันทึกข้อความ รายงานการประชุม ตารางเวลา และตารางผสานเซลล์ เรนเดอร์พร้อมร่องรอยการสแกนและการถ่ายด้วยโทรศัพท์ รวมถึงหน้าสองและสามคอลัมน์) และหน้าเอกสารราชการไทยที่สร้างจากไฟล์ดิจิทัล ได้แก่ เอกสารงบประมาณของรัฐสภาและราชกิจจานุเบกษา ซึ่งชั้นข้อความใน PDF ให้ข้อความที่ถูกต้องแน่นอน รวมถึงตารางแบบอื่น ได้แก่ ตารางการเงินและตารางงานวิจัยจากชุดข้อมูลสาธารณะ FinTabNet และ PubTabNet และใบเสร็จ ใบแจ้งยอด และผลตรวจแล็บภาษาไทยแบบสังเคราะห์ บางส่วนใช้เลขไทยทั้งหมด ในจำนวนนี้มีหน้าที่โมเดลที่ปรับจูนรอบก่อน ๆ เคยวนซ้ำ 420 หน้า ซึ่งสอนให้โมเดลไม่เขียนส่วนที่วนซ้ำนั้น เทรนบน H100 หนึ่งใบหนึ่งรอบ 1,707 ขั้น รุ่นที่เผยแพร่คือ checkpoint สุดท้ายตามที่เทรนมา โดยไม่ผสมน้ำหนักของโมเดลฐาน checkpoint นี้เลือกด้วยกฎที่กำหนดไว้ก่อนให้คะแนนโมเดลใด ๆ โดยใช้ชุดพัฒนาเท่านั้น ไม่มีหน้าใดจากชุดทดสอบถูกใช้เทรน รายละเอียดข้อมูล สูตรการเทรน และกฎการเลือกอยู่ในการ์ดโมเดล

สัญญาอนุญาต​

OpenMDW License Agreement เวอร์ชัน 1.1 ตามโมเดลฐาน OpenThai 2.0 OCR Markdown คือโมเดลที่ปรับจูนภาษาไทยจาก NVIDIA Nemotron 3.5 Parse (0.63B) สัญญาอนุญาต ประกาศ และการ์ดโมเดลต้นฉบับของ NVIDIA อยู่ในรีโพโดยไม่แก้ไข ส่วน tokenizer ใช้สัญญาอนุญาต MIT

Built on NVIDIA Nemotron.

พัฒนาโดย iApp Technology เทรนและทดสอบบน GPU NVIDIA H100 ที่สนับสนุนโดย Siam AI Corporation

Siam AI Corporation