Downloads · 30 days
103
15% of all-time downloads
hataphu/PaddleOCR-VL-1.6-vi-gguf
PaddleOCR-VL-1.6-vi-gguf is a machine learning model from hataphu. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
Đây là bản chuyển đổi sang định dạng GGUF của mô hình PaddlePaddle/PaddleOCR-VL-1.6 (~1 tỷ tham số) sau khi được fine-tune (LoRA) để nhận dạng chữ (OCR) tiếng Việt, dùng được với llama.cpp.
Downloads · 30 days
103
15% of all-time downloads
All-time downloads
710
Public
Repo size
1.8 GB
Likes
0
Public
Click a slice to open those files.
.gguf1.8 GB · 100%
From the Hugging Face model README
Đây là bản chuyển đổi sang định dạng GGUF của mô hình PaddlePaddle/PaddleOCR-VL-1.6 (~1 tỷ tham số) sau khi được fine-tune (LoRA) để nhận dạng chữ (OCR) tiếng Việt, dùng được với llama.cpp.
| File | Mô tả | Dung lượng |
|---|---|---|
paddleocr-vl-1.6-vi-v5.bf16.gguf | Phần mô hình ngôn ngữ (đã merge trọng số LoRA), bf16 | ~933 MB |
mmproj-paddleocr-vl-1.6-vi-v5.bf16.gguf | Phần vision encoder + projector (đọc ảnh), bf16 | ~882 MB |
Cả 2 file đều cần thiết để chạy — thiếu file mmproj-* thì mô hình sẽ không "nhìn" được ảnh.
mlp_AR.mlp_AR (không train vision encoder để tiết kiệm tài nguyên).iAmHieu2012/vietnamese-ocr-dataset-aggregated) — ~3.000 mẫu train. Đính chính: tên bộ dữ liệu này gây hiểu nhầm là "chữ in" (printed), nhưng kiểm tra trực quan cho thấy toàn bộ là chữ viết tay (từ kiểu "in thường" rõ ràng đến chữ thảo nối nét). Vẫn giữ lại trong pipeline vì giúp mô hình học thêm khả năng đọc ảnh chụp/scan đời thực (không phải render sạch), nhưng không đại diện cho chữ in scan thật.Đánh giá bằng suy luận tự hồi quy thực tế (không phải teacher-forcing), chỉ số CER (Character Error Rate) tính bằng thư viện jiwer.
| Phiên bản | CER | Độ chính xác ký tự | Exact match |
|---|---|---|---|
| v5 (bản GGUF này) | 0.0001 | 99.99% | 99.5% |
Trên đúng miền dữ liệu chữ in (font render sạch, không nhiễu nặng), mô hình gần như hoàn hảo — vượt xa mục tiêu 96%. Lưu ý: đây là tập test cùng pipeline render với dữ liệu train (không phải ảnh scan chữ in thật ngoài đời), nên số liệu có phần lạc quan hơn thực tế; xem phần "Hạn chế" bên dưới.
iAmHieu2012)| Phiên bản | CER | Độ chính xác ký tự | Exact match |
|---|---|---|---|
| Mô hình gốc (zero-shot, chưa fine-tune) | ~0.275 | ~72.5% | — |
| v3 (chỉ train synthetic chữ in) | 0.2470 | 75.3% | 0% |
| v4 (train thêm trên chữ viết tay thật) | 0.1533 | 84.67% | 6.0% |
| v5 (bản GGUF này) | 0.1478 | 85.22% | 9.0% |
Phân tích theo độ dài văn bản (v5): dòng ngắn (địa chỉ, <100 ký tự) đạt CER 0.095 (~90.5%), đoạn dài nhiều câu (≥100 ký tự) đạt CER 0.165 (~83.5%) — nhận dạng chữ viết tay dạng đoạn dài vẫn là điểm yếu nhất.
Mục tiêu ban đầu của dự án là đạt 96% độ chính xác ký tự cho văn bản in tiếng Việt. Trên dữ liệu chữ in tổng hợp, mô hình đã vượt mục tiêu này (99.99%). Tuy nhiên:
iAmHieu2012) hoá ra là chữ viết tay, không phải chữ in. Do đó con số 99.99% chưa được xác nhận trên ảnh scan chữ in thật ngoài đời (font lạ, nhiễu scan thật, độ phân giải thấp...).git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release # thêm -DGGML_CUDA=ON nếu có CUDA Toolkit để chạy bằng GPU
cmake --build build --config Release -j$(nproc)
Lưu ý: hỗ trợ kiến trúc PaddleOCR-VL đã được merge vào llama.cpp (qua PR #18825), nên cần bản llama.cpp đủ mới (không cần dùng fork riêng).
Tải cả paddleocr-vl-1.6-vi-v5.bf16.gguf và mmproj-paddleocr-vl-1.6-vi-v5.bf16.gguf từ repo này về cùng một thư mục.
./build/bin/llama-mtmd-cli \
-m paddleocr-vl-1.6-vi-v5.bf16.gguf \
--mmproj mmproj-paddleocr-vl-1.6-vi-v5.bf16.gguf \
--image duong_dan_anh_cua_ban.jpg \
-p "OCR:" \
--temp 0 \
--jinja
Quan trọng: bắt buộc phải có cờ --jinja — mô hình này dùng chat template tùy chỉnh mà bộ so khớp template dựng sẵn của llama.cpp không xử lý được, thiếu cờ này chương trình sẽ báo lỗi và thoát.
Có thể tăng -n <số token> (mặc định giới hạn số token sinh ra) nếu ảnh chứa đoạn văn dài cần nhiều token hơn để sinh hết.
Input: ảnh chụp một dòng địa chỉ viết tay.
Output mô hình:
16 đường 588 khu phố 1, Phường Phước Long A, Quận 9, TP Hồ Chí Minh
So với nhãn gốc: 16 Đường 588 Khu Phố 1, Phường Phước Long A, Quận 9, TP Hồ Chí Minh — chỉ khác biệt nhỏ về viết hoa/thường.
Apache 2.0, kế thừa từ mô hình gốc PaddleOCR-VL-1.6.