- กระบวนการแปลง PDF เป็น text chunks เป็นหนึ่งในปัญหาที่น่าปวดหัวที่สุดในการสร้างระบบ RAG ขนาดใหญ่
- แม้จะมีทั้งโซลูชันโอเพนซอร์สและเชิงพาณิชย์อยู่แล้ว แต่ก็ยังยากที่จะได้ผลลัพธ์ที่น่าพอใจในด้านความแม่นยำ ความสามารถในการขยายระบบ และความคุ้มค่าด้านต้นทุน
- ตัวอย่าง: nv-ingest ของ NVIDIA ต้องจัดหลายบริการให้ทำงานบน Kubernetes cluster และเป็นแนวทางที่ซับซ้อนซึ่งใช้ทรัพยากร GPU มาก
- บริการเชิงพาณิชย์บางรายก็มีปัญหาเรื่องความแม่นยำไม่คุ้มกับราคา หรือหากนำไปใช้กับเอกสารจำนวนมาก ราคาจะพุ่งสูงอย่างมหาศาล
การมาของ Gemini Flash 2.0
- ที่ผ่านมามีความพยายามนำโมเดลขนาดใหญ่ (LLM) มาใช้กับ OCR และการแปลง PDF แต่ในทางปฏิบัติกลับช่วยลดต้นทุนได้ไม่มาก และยังมีข้อผิดพลาดที่คาดเดาไม่ได้จำนวนมาก
- ตัวอย่าง: มีรายงานว่า GPT-4o เพิ่มเซลล์ที่ไม่จำเป็นเข้าไปในตาราง
- Gemini Flash 2.0 ถูกประเมินว่ามีความแม่นยำและความคุ้มค่าด้านต้นทุนดีขึ้นอย่างชัดเจนเมื่อเทียบกับเวอร์ชัน 1.5 Flash
- ผลการทดสอบภายในระบุว่าสามารถทำ OCR ได้แม่นยำเกือบสมบูรณ์แบบ ขณะที่ต้นทุนต่ำมาก
- แม้จะมีความเห็นว่าประสบการณ์นักพัฒนา (Developer Experience) ของ Google ยังตามหลัง OpenAI อยู่บ้าง แต่ราคาที่สมเหตุสมผลถือเป็นจุดแข็งสำคัญ
เปรียบเทียบต้นทุนและความแม่นยำ
- เมื่อแปลง PDF ให้อยู่ในรูปแบบ Markdown, Gemini Flash 2.0 มีความได้เปรียบด้านต้นทุนการประมวลผลต่อหน้า
- 2.0 Flash: ประมาณ 6,000 หน้า/$1
- 2.0 Flash Lite: ประมาณ 12,000 หน้า/$1 (ก่อนการทดสอบ)
- 1.5 Flash: ประมาณ 10,000 หน้า/$1
- AWS Textract: ประมาณ 1,000 หน้า/$1
- OpenAI 4o-mini: ประมาณ 450 หน้า/$1 เป็นต้น
- หากดูความแม่นยำในการดึงตารางออกมา โมเดลของ Reducto เองได้คะแนนสูงสุดที่ 0.90 ขณะที่ Gemini 2.0 Flash และ Anthropic Sonnet อยู่ที่ระดับ 0.84
- กรณีที่ Gemini ดูเหมือนจะพลาด ส่วนใหญ่เป็นปัญหาเชิงโครงสร้างของรูปแบบ มากกว่าการอ่านค่าตัวเลขผิดจริง
- ส่วนการดึงข้อความทั่วไปนั้นทำงานได้ใกล้เคียงกับคำว่าสมบูรณ์แบบมาก
การแบ่งเอกสาร (Chunking) และการใช้ LLM
- หากต้องการนำไปใช้ใน RAG pipeline จำเป็นต้องมีขั้นตอนแบ่งข้อความที่ดึงออกมาออกเป็นหน่วยความหมาย
- มีงานวิจัยที่ชี้ว่า การใช้ LLM ขนาดใหญ่ช่วยกำหนดขอบเขตของข้อความได้อย่างเป็นธรรมชาติมากขึ้น
- อย่างไรก็ตาม จนถึงตอนนี้ต้นทุนยังสูงเกินไป ทำให้ยากต่อการนำไปใช้จริงกับชุดเอกสารขนาดใหญ่
- ด้วย Gemini Flash 2.0 ทำให้สามารถนำการแบ่ง chunk แบบอิง LLM ไปใช้กับเอกสารจำนวนมากได้ในต้นทุนต่ำ
- ตัวอย่าง: สามารถประมวลผล PDF corpus ขนาด 100 ล้านหน้าได้ด้วยงบประมาณราว $5,000
- ตัวอย่างพรอมป์ตแบบง่าย:
OCR the following page into Markdown. Tables should be formatted as HTML.
Do not sorround your output with triple backticks.Chunk the document into sections of roughly 250 - 1000 words. Our goal is
to identify parts of the page with same semantic theme. These chunks will
be embedded and used in a RAG pipeline.Surround the chunks with <chunk> </chunk> html tags.
ปัญหา Bounding Box
- จำเป็นต้องคงข้อมูลตำแหน่งของข้อความใน PDF ไว้ (เช่น Bounding Box) เพื่อให้สามารถแสดงหลักฐานอ้างอิงที่แม่นยำแก่ผู้ใช้ได้
- การแปลงเป็น Markdown มีข้อเสียใหญ่คือทำให้ข้อมูลตำแหน่งสูญหาย
- แม้จะมีงานวิจัยบางส่วนที่แสดงให้เห็นว่า LLM สามารถเข้าใจเชิงพื้นที่ในภาพและเอกสารได้ แต่โมเดล Gemini ในปัจจุบันยังไม่สามารถให้ Bounding Box ที่แม่นยำได้
- หาก Google เพิ่มการฝึกเพิ่มเติมหรือทำ fine-tuning เพื่อเสริมข้อมูลด้าน layout ของเอกสาร ก็มีโอกาสที่ปัญหานี้จะถูกแก้ได้
เหตุผลและความสำคัญ
- โซลูชันสำหรับดึงและแบ่ง PDF ที่ทั้งราคาถูกและแม่นยำ คือองค์ประกอบสำคัญในการทำให้ pipeline สำหรับจัดทำดัชนีเอกสารขนาดใหญ่เรียบง่ายขึ้นและขยายระบบได้ดีขึ้น
- หากแก้ปัญหา parsing, chunking และ bounding box ได้ การประมวลผลเอกสารด้วย LLM จะทำได้ง่ายขึ้นมาก
- ในอนาคตคาดว่าจะมีไลบรารีโอเพนซอร์สที่สมบูรณ์มากขึ้นทยอยออกมา ซึ่งจะเป็นรากฐานให้บริษัทและนักพัฒนาหลากหลายกลุ่มนำไปใช้งานได้ง่าย
- หากมีใครรู้ข้อมูลเกี่ยวกับโปรแกรม AI Startup Credits ของ Google ผู้เขียนต้องการให้ ติดต่อ
หมายเหตุ
- [1] แนบภาพตัวอย่างเปรียบเทียบ Reducto vs Gemini vs PDF ต้นฉบับ
- [2] การคำนวณต้นทุนของ Gemini Flash 2.0: อิงจากค่าใช้จ่ายภาพอินพุต $0.00009675 และค่าใช้จ่ายเอาต์พุต $0.0000525 ต่อ 400 โทเค็น คำนวณได้ประมาณ 6,379 หน้า/$1
2 ความคิดเห็น
ดูเหมือนว่าการแบ่งเป็นชิ้นแบบเอเจนต์จะเริ่มได้ผลอยู่บ้างในแง่ของต้นทุนและประสิทธิภาพ
ตลาดการแปลงเป็นฟอร์แมตที่พร้อมสำหรับ LLM แข่งขันกันดุเดือดจริง ๆ