OCR tài liệu nội bộ bằng model local: chọn gemma4, Qwen-VL hay model chuyên OCR? (kinh nghiệm thực tế với Ollama)
Công ty mình có một kho lớn tài liệu giấy cần số hoá: hợp đồng scan, biên bản có chữ ký và ghi chú tay, phiếu đề xuất viết tay, hoá đơn, bảng kê. Yêu cầu bắt buộc là dữ liệu không được gửi ra dịch vụ bên ngoài, nên mình chuyển sang chạy model vision local bằng Ollama. Sau một thời gian thử nhiều model, chia sẻ lại để ai cần đỡ mất công. TẠI SAO KHÔNG DÙNG OCR TRUYỀN THỐNG? Các công cụ OCR truyền thống (như Tesseract) vẫn tốt với văn bản in rõ ràng, nhưng gặp khó với: - Chữ viết tay, nhất là tiếng Việt có dấu - Ảnh chụp điện thoại bị nghiêng, mờ, thiếu sáng - Bảng biểu phức tạp, ô gộp - Tài liệu lẫn chữ in và chữ tay (ví dụ mẫu in sẵn rồi điền tay) Model vision hiểu được bố cục, đọc được chữ tay và có thể trả ra luôn dữ liệu có cấu trúc (JSON, bảng), bỏ qua được bước hậu xử lý phức tạp. CÁC MODEL MÌNH ĐÃ THỬ (ĐỀU CÓ SẴN TRÊN OLLAMA) 1. gemma4:26b (Google) - Dung lượng khoảng 16–19GB, ngữ cảnh 256K, nhận đầu vào văn bản và hình ảnh. - Kiến trúc MoE: tổng 25,2B tham số nhưng mỗi token chỉ kích hoạt khoảng 3,8B, nên tốc độ nhanh gần bằng model nhỏ mà chất lượng lại của model lớn. - Trải nghiệm: nhận diện chữ viết tay tốt nhất trong các model mình thử, kể cả chữ tay tiếng Việt khá "bay". Tiếng Việt có dấu chuẩn, ít khi sai dấu. Tốc độ nhanh. - Phù hợp: phiếu viết tay, biên bản có ghi chú tay, tài liệu lẫn chữ in và chữ tay. - Máy yếu hơn có thể dùng gemma4:12b (khoảng 8GB) hoặc gemma4:e4b, chất lượng giảm nhưng vẫn dùng được với chữ in. 2. Qwen vision: qwen3-vl và qwen3.5 - qwen3-vl có các bản 2b, 4b, 8b (6,1GB), 30b (20GB), 32b (21GB), ngữ cảnh 256K. Nhà phát triển cho biết bản này hỗ trợ OCR 32 ngôn ngữ, đọc tốt hơn khi ảnh thiếu sáng, mờ, nghiêng, và hiểu tốt tài liệu dài. - qwen3.5 là thế hệ mới hơn, cũng nhận ảnh, có các bản 0.8b, 2b, 4b, 9b, 27b, 35b, hỗ trợ hơn 200 ngôn ngữ. - Trải nghiệm: đây là dòng mình thích nhất cho tài liệu in, bảng biểu và ảnh chụp điện thoại. Giữ cấu trúc bảng tốt, trả JSON rất "ngoan". Chữ viết tay cũng ổn nhưng theo mình gemma4:26b nhỉnh hơn. - Phù hợp: hợp đồng, hoá đơn, bảng kê, tài liệu nhiều trang. 3. Model chuyên OCR, cỡ nhỏ: glm-ocr và deepseek-ocr - glm-ocr chỉ khoảng 0,9B tham số (file 1,8–2,7GB), chuyên nhận diện văn bản, bảng và hình trong tài liệu. Dùng prompt dạng "Text Recognition:" hoặc "Table Recognition:". - deepseek-ocr bản 3b, cũng chuyên cho OCR. - Ưu điểm: rất nhẹ, chạy nhanh, hợp để xử lý số lượng lớn hoặc chạy trên máy không có GPU mạnh. - Lưu ý: các model này tối ưu chủ yếu cho tiếng Anh và tiếng Trung, mọi người nên tự thử kỹ với tài liệu tiếng Việt của mình (đặc biệt là dấu) trước khi dùng thật. Các model vision khác (ví dụ minicpm-v) nhận diện hình ảnh nhìn chung đều ổn. Muốn tìm thêm, vào ollama.com, chọn mục Vision hoặc gõ "ocr" vào ô tìm kiếm. GỢI Ý CHỌN THEO CẤU HÌNH MÁY - GPU 8GB: qwen3-vl:8b hoặc qwen3.5:9b cho tài liệu in; gemma4:12b nếu cần chữ tay; glm-ocr cho xử lý số lượng lớn. - GPU 16GB: gemma4:12b, qwen3.5:9b chạy thoải mái với ngữ cảnh dài hơn. - GPU 24GB trở lên: gemma4:26b…