VAON Multilingual OCR APPI compliance Offshore AI Development

Cái Bẫy Phụ Thuộc GPU và Cloud API: OCR Đa Ngôn Ngữ 132MB Chạy Thuần CPU Thoát Ra Sao

Thứ ba, 08 Th09 2026 8 phút đọc 13 lượt xem

Doanh nghiệp muốn thêm OCR (nhận dạng ký tự quang học) vào quy trình xử lý tài liệu, dù để tự động hóa RPA hay để nạp dữ liệu cho chatbot dạng RAG, thường vấp phải hai rào cản giống nhau.

Rào cản đầu tiên là chi phí GPU. Các mô hình OCR đa ngôn ngữ hiện đại, nhất là các mô hình vision-language cỡ lớn, cần chạy trên GPU mới đạt tốc độ dùng được. Máy chủ GPU trên cloud tính phí theo giờ cao hơn nhiều lần so với máy chủ CPU tương đương, trong khi tải xử lý tài liệu vốn không đều, nên việc chuẩn bị hạ tầng cho lúc cao điểm khiến phần lớn thời gian tài nguyên bị bỏ phí.

Rào cản thứ hai là rủi ro dữ liệu. Với các tổ chức tài chính, y tế, hoặc bất kỳ doanh nghiệp nào phải tuân thủ Luật bảo vệ thông tin cá nhân Nhật Bản (APPI) hoặc GDPR, việc gửi tài liệu chứa dữ liệu cá nhân lên một cloud API bên ngoài thường không phải là lựa chọn được phép. Mô hình tính phí theo lượt gọi API cũng khiến chi phí khó dự đoán khi khối lượng tài liệu tăng lên.

Giải pháp thường thấy là dùng engine CPU nhẹ như Tesseract, giải quyết được bài toán chi phí và bảo mật, nhưng lại yếu về độ chính xác với bất kỳ thứ gì ngoài ảnh scan sạch, đủ sáng, và gặp khó với các ngôn ngữ không dùng chữ Latin.

Chúng tôi thực sự đã xây dựng gì, và không tuyên bố làm được gì

VAON cần một microservice OCR đọc được các mã định danh (số serial, IMEI, mã model) từ ảnh chụp nhãn sản phẩm trong điều kiện làm việc thực tế: nghiêng, ánh sáng không đều, đôi khi bị mờ. Yêu cầu ngay từ đầu là chạy thuần CPU, không phụ thuộc GPU.

Thay vì huấn luyện một mô hình duy nhất xử lý tốt mọi ngôn ngữ, chúng tôi tách thành hai engine riêng.

Engine chính là PP-OCRv6_medium, một mô hình mã nguồn mở có sẵn, chạy dưới dạng hai phần: mô hình phát hiện 59MB và mô hình nhận dạng 73MB, tổng cộng 132MB. Engine này xử lý tiếng Anh, tiếng Nhật, tiếng Trung và chữ Latin, chạy hoàn toàn trên CPU. Kiểm chứng trên ảnh nhãn chụp thật, engine đạt độ tin cậy 0.997 với tiếng Anh và 0.999 với tiếng Nhật, cả hai đều đọc đúng hoàn toàn.

Engine thứ hai tồn tại vì một lỗi cụ thể. Khi thử tiếng Việt trên engine chính, dấu thanh bị mất hoàn toàn. Chuỗi Sản phẩm Việt Nam trả về thành Sn phm Vit Nam, không phải bị nhòe mà biến mất hẳn. Fine-tune engine chính có nguy cơ ảnh hưởng đến độ chính xác đang tốt của các ngôn ngữ khác, nên chúng tôi thêm một engine riêng cho tiếng Việt, VietOCR. Engine này nặng hơn nhiều, chỉ riêng trọng số đã 145MB và khoảng 623MB nếu tính cả PyTorch, nên chỉ được nạp khi có yêu cầu tiếng Việt thực sự, bật tắt bằng biến môi trường. Với VietOCR, độ tin cậy đạt 0.913, cải thiện rõ rệt so với engine chính vốn gần như không dùng được cho tiếng Việt.

Mỗi engine cũng chạy với semaphore riêng thay vì dùng chung một khóa, để một yêu cầu VietOCR nặng không làm các yêu cầu PP-OCRv6 nhẹ hơn phải chờ theo.

Chúng tôi không xây riêng một mô hình để trích xuất mã định danh. Phần này chạy bằng logic dựa trên luật: đối chiếu mẫu bằng regex theo đúng định dạng nhãn đã biết, liên kết theo tọa độ gần nhau trên ảnh, và kiểm tra checksum Luhn cho số IMEI. Mỗi giá trị trích xuất được đều có thể truy ngược về đúng luật đã tạo ra nó, điều quan trọng khi cần điều tra một trường hợp nhận diện sai.

Bảo mật và kiểm thử, không phải khẩu hiệu

Dịch vụ giới hạn ảnh tải lên ở mức 25 megapixel để chặn tấn công decompression-bomb, xác thực mọi file trọng số tải về bằng SHA256, và chạy trên phiên bản Pillow đã vá lỗ hổng CVE-2023-4863. Toàn bộ được kiểm thử bằng 54 test tự động: 42 unit test và 12 integration test chạy trên mô hình thật, không phải mock.

Điều này chứng minh gì, và giới hạn nằm ở đâu

Chạy thuần CPU giúp loại bỏ chi phí GPU khỏi bảng chi phí, và vì toàn bộ xử lý diễn ra trong hạ tầng của khách hàng, không ảnh hay văn bản trích xuất nào phải rời khỏi đó, điều có ý nghĩa trực tiếp với các tổ chức phải tuân thủ APPI hoặc GDPR. Chúng tôi không khẳng định đây là một chứng chỉ cụ thể. VAON hiện chưa có chứng chỉ ISO 27001, quy chuẩn bảo mật của chúng tôi được xây dựng theo khung ISO 27001, chứng chỉ chính thức nằm trong lộ trình.

Con số 132MB và các độ tin cậy nêu trên là kết quả đo trên đúng bộ ảnh nhãn chụp thật dùng để kiểm thử. Một kiểu nhãn khác, góc camera khác, hoặc điều kiện ánh sáng khác sẽ cần được kiểm chứng riêng trước khi chúng tôi cam kết cùng con số cho một triển khai cụ thể. Bước kiểm chứng này là một phần trong cách chúng tôi lên phạm vi cho mọi dự án thật, không phải bước bị bỏ qua để đưa ra một con số ấn tượng hơn.

Nếu bạn đang cân nhắc một pipeline OCR chạy CPU hoặc on-premise cho doanh nghiệp, có thể đọc toàn bộ case study kỹ thuật, bao gồm phương pháp kiểm thử và mọi con số nêu trên, hoặc liên hệ để được tư vấn miễn phí.

Case study: https://vaon.com.vn/vi/case-studies/multilingual-ocr-running-cpu-only-in-132-mb-extracting-identifiers-from-real-world-photos

Website: https://vaon.com.vn/vi

Sẵn sàng chuyển đổi doanh nghiệp?

Hãy thảo luận về cách chúng tôi có thể giúp bạn tận dụng AI và chuyển đổi số.

Câu hỏi thường gặp

Giải pháp này có thay thế OCR chạy GPU trong mọi trường hợp không?
Không. Với các tải xử lý đã đủ lớn để biện minh cho chi phí GPU, ví dụ yêu cầu tốc độ xử lý trang cực cao, mô hình chạy GPU vẫn có thể thắng về tốc độ thuần túy. Kiến trúc này nhắm đến trường hợp phổ biến hơn, nơi chi phí GPU và yêu cầu dữ liệu ở lại nội bộ mới là giới hạn thật, không phải thông lượng thuần túy.
Có thể chạy hoàn toàn on-premise, không cần kết nối internet không?
Có. Engine và các mô hình chạy như một dịch vụ nội bộ. Không ảnh hay văn bản nào cần gửi ra một API bên ngoài cho bước OCR.
Tại sao không fine-tune một mô hình cho cả bốn ngôn ngữ?
Chúng tôi đã thử hướng này trước. Fine-tune engine chính cho dấu thanh tiếng Việt có nguy cơ làm giảm độ chính xác đã đạt được cho tiếng Anh, Nhật, Trung, vì cả bốn ngôn ngữ dùng chung một bộ trọng số. Tách thành hai engine giúp sửa tiếng Việt mà không ảnh hưởng đến phần đang hoạt động tốt.
Cần gì để triển khai giải pháp này cho tài liệu hoặc nhãn của chúng tôi?
Tùy vào mức độ giống nhau giữa tài liệu của bạn và bộ nhãn chụp thật chúng tôi đã kiểm thử. Chúng tôi sẽ áp dụng đúng cách đánh giá tương tự, ảnh chụp thật trong điều kiện thật, trên một mẫu tài liệu của bạn trước khi cam kết số liệu chính xác cho trường hợp cụ thể.

Chia sẻ bài viết