Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Qwen-2.5-72b: VLM mã nguồn mở tốt nhất cho OCR?

中村 拓也

中村 拓也

Updated on tháng 3 29, 2025

Đối với ngành công nghiệp AI, khả năng nhận diện ký tự quang học (OCR) ngày càng quan trọng trong việc xử lý tài liệu, trích xuất dữ liệu và tự động hóa quy trình làm việc. Trong số các mô hình ngôn ngữ tầm nhìn mã nguồn mở (VLM) hiện có, Qwen-2.5-72b đã xuất hiện như một đối thủ mạnh mẽ, đặc biệt là trong các nhiệm vụ OCR.

Hướng dẫn này khám phá lý do tại sao Qwen-2.5-72b nổi bật như một mô hình mã nguồn mở tốt nhất cho các nhiệm vụ OCR, xem xét các chỉ số hiệu suất, khả năng kỹ thuật và cách triển khai nó cục bộ bằng cách sử dụng Ollama.

💡
Tìm kiếm một cách hiệu quả hơn để phát triển, kiểm tra và tài liệu hóa API của bạn? Apidog cung cấp một giải pháp thay thế toàn diện cho Postman, kết hợp thiết kế API, gỡ lỗi, mô phỏng, kiểm tra và tài liệu trong một nền tảng thống nhất. 
button

Với giao diện trực quan và các tính năng cộng tác mạnh mẽ, Apidog tối ưu hóa toàn bộ vòng đời phát triển API, giúp các nhóm làm việc hiệu quả hơn trong khi duy trì tính nhất quán trên các dự án.

Dù bạn là một nhà phát triển cá nhân hay là một phần của một doanh nghiệp lớn, việc tích hợp quy trình làm việc liền mạch và bộ công cụ mạnh mẽ của Apidog khiến nó trở thành người bạn đồng hành hoàn hảo cho việc phát triển API hiện đại.

button

Các chỉ số hiệu suất mô hình Qwen-2.5: Một cái nhìn nhanh

Qwen-2.5 đại diện cho chuỗi mô hình ngôn ngữ lớn mới nhất của Alibaba Cloud, phát hành vào tháng 9 năm 2024. Đây là một bước tiến đáng kể so với người tiền nhiệm Qwen-2, với một số cải tiến chính:

  • Được huấn luyện trước trên một tập dữ liệu khổng lồ lên đến 18 nghìn tỷ token
  • Nâng cao khả năng kiến thức và chuyên môn trong lĩnh vực
  • Khả năng thực hiện hướng dẫn vượt trội
  • Quản lý văn bản dài (tối đa phát sinh 8K token) nâng cao
  • Cải thiện khả năng hiểu và sinh dữ liệu có cấu trúc
  • Hỗ trợ chiều dài ngữ cảnh lên đến 128K token
  • Hỗ trợ đa ngôn ngữ cho 29 ngôn ngữ

Gia đình Qwen-2.5 bao gồm các mô hình từ 0.5B đến 72B tham số. Đối với các nhiệm vụ OCR, mô hình lớn nhất 72B cung cấp hiệu suất ấn tượng nhất, mặc dù biến thể 32B cũng hoạt động rất tốt.

Tại sao Qwen-2.5-72B là mô hình OCR mã nguồn mở tốt nhất

Kết quả đánh giá

Theo các chỉ số đánh giá toàn diện do OmniAI thực hiện, đánh giá các mô hình mã nguồn mở cho OCR, các mô hình Qwen-2.5-VL (cả biến thể 72B và 32B) đã thể hiện hiệu suất đáng kể:

  • Độ chính xác: Cả hai mô hình Qwen-2.5-VL đạt được độ chính xác khoảng 75% trong các nhiệm vụ trích xuất JSON từ tài liệu, tương đương với hiệu suất của GPT-4o.
  • Ưu thế cạnh tranh: Các mô hình Qwen-2.5-VL vượt trội hơn mistral-ocr (72.2%), mô hình được huấn luyện đặc biệt cho các nhiệm vụ OCR.
  • Hiệu suất vượt trội: Chúng vượt trội hơn nhiều mô hình mã nguồn mở phổ biến khác, bao gồm Gemma-3 (27B) chỉ đạt 42.9% độ chính xác, và các mô hình Llama.

Điều khiến điều này đặc biệt ấn tượng là các mô hình Qwen-2.5-VL không được thiết kế độc quyền cho các nhiệm vụ OCR, nhưng vẫn vượt trội hơn các mô hình OCR chuyên biệt. Điều này thể hiện khả năng xử lý tầm nhìn linh hoạt và mạnh mẽ của chúng.

Các lợi thế chính cho các nhiệm vụ OCR

Nhiều yếu tố góp phần vào hiệu suất OCR xuất sắc của Qwen-2.5-72b:

  1. Xử lý dữ liệu có cấu trúc nâng cao: Các mô hình Qwen-2.5 rất xuất sắc trong việc hiểu các định dạng dữ liệu có cấu trúc như bảng và biểu mẫu, thường gặp trong các tài liệu cần OCR.
  2. Tạo đầu ra JSON cải tiến: Mô hình đã được tối ưu hóa đặc biệt để tạo ra các đầu ra có cấu trúc ở định dạng như JSON, điều này rất quan trọng cho việc trích xuất và tổ chức thông tin từ các tài liệu quét.
  3. Cửa sổ ngữ cảnh lớn: Với hỗ trợ ngữ cảnh lên đến 128K token, mô hình có thể xử lý toàn bộ tài liệu hoặc nhiều trang đồng thời, duy trì tính nhất quán và sự hiểu biết ngữ cảnh trong suốt quá trình.
  4. Các khả năng OCR đa ngôn ngữ: Hỗ trợ cho 29 ngôn ngữ giúp mô hình phù hợp cho các nhu cầu xử lý tài liệu quốc tế.
  5. Tích hợp hình ảnh-văn bản: Mô hình 72B tận dụng số lượng tham số khổng lồ của nó để kết nối tốt hơn các yếu tố hình ảnh với sự hiểu biết văn bản, cải thiện khả năng hiểu layout tài liệu, bảng và nội dung kết hợp giữa văn bản và hình ảnh.
  6. Khả năng chịu độ biến động của tài liệu: Mô hình hoạt động nhất quán trên nhiều loại tài liệu, chất lượng và định dạng khác nhau, cho thấy khả năng OCR mạnh mẽ trong các kịch bản thực tế.

Chạy Qwen-2.5-72b cục bộ bằng Ollama

Ollama cung cấp một cách dễ dàng để chạy các mô hình ngôn ngữ lớn cục bộ, bao gồm Qwen-2.5-72b. Dưới đây là hướng dẫn từng bước để triển khai mô hình OCR mạnh mẽ này trên máy của bạn:

Yêu cầu hệ thống

Trước khi tiếp tục, hãy đảm bảo hệ thống của bạn đáp ứng các yêu cầu tối thiểu này:

  • RAM: 64GB+ được khuyến nghị (kích thước mô hình 47GB cộng với overhead)
  • GPU: GPU NVIDIA với ít nhất 48GB VRAM cho độ chính xác đầy đủ, hoặc 24GB+ với độ lượng hóa
  • Lưu trữ: Ít nhất 50GB dung lượng trống cho mô hình và file tạm thời
  • Hệ điều hành: Linux, macOS hoặc Windows (với WSL2)

Các bước cài đặt

Cài đặt Ollama

Truy cập ollama.com/download và tải về phiên bản phù hợp cho hệ điều hành của bạn. Làm theo hướng dẫn cài đặt.

Kéo mô hình Qwen-2.5-72b

Mở terminal hoặc command prompt và chạy:

ollama pull qwen2.5:72b

Điều này sẽ tải mô hình, có kích thước khoảng 47GB với độ lượng hóa Q4_K_M. Việc tải xuống có thể mất một thời gian tùy thuộc vào kết nối internet của bạn.

Bắt đầu mô hình

Sau khi tải xuống, bạn có thể bắt đầu mô hình với:

ollama run qwen2.5:72b

Sử dụng mô hình cho các nhiệm vụ OCR

Bạn có thể tương tác với mô hình trực tiếp thông qua dòng lệnh hoặc sử dụng API của Ollama cho các ứng dụng phức tạp hơn. Đối với các nhiệm vụ OCR, bạn sẽ cần gửi hình ảnh đến mô hình.

Tích hợp API cho các nhiệm vụ OCR

Để sử dụng Qwen-2.5-72b cho OCR thông qua API của Ollama:

Bắt đầu máy chủ Ollama

Nếu chưa chạy, hãy khởi động dịch vụ Ollama.

Thiết lập yêu cầu API

Dưới đây là ví dụ Python sử dụng thư viện requests:

import requests
import base64

# Hàm để mã hóa hình ảnh
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

# Đường dẫn đến hình ảnh tài liệu của bạn
image_path = "path/to/your/document.jpg"
base64_image = encode_image(image_path)

# Xây dựng yêu cầu API
api_url = "<http://localhost:11434/api/generate>"
payload = {
    "model": "qwen2.5:72b",
    "prompt": "Trích xuất văn bản từ tài liệu này và định dạng nó dưới dạng JSON.",
    "images": [base64_image],
    "stream": False
}

# Gửi yêu cầu
response = requests.post(api_url, json=payload)
result = response.json()

# In văn bản đã trích xuất
print(result['response'])

Tối ưu hóa các yêu cầu OCR

Để có kết quả OCR tốt hơn, hãy sử dụng các yêu cầu cụ thể theo loại tài liệu của bạn:

  • Đối với hóa đơn: "Trích xuất tất cả thông tin hóa đơn bao gồm số hóa đơn, ngày, nhà cung cấp, mặt hàng và tổng số tiền dưới dạng JSON có cấu trúc."
  • Đối với biểu mẫu: "Trích xuất tất cả các trường và giá trị của chúng từ biểu mẫu này và định dạng chúng dưới dạng JSON."
  • Đối với bảng: "Trích xuất dữ liệu bảng này và chuyển đổi nó thành cấu trúc mảng JSON."

Quy trình OCR nâng cao

Để có các quy trình OCR tinh vi hơn, bạn có thể kết hợp Qwen-2.5-72b với các công cụ tiền xử lý:

  1. Tiền xử lý tài liệu
  • Sử dụng OpenCV hoặc các thư viện xử lý hình ảnh khác để cải thiện chất lượng hình ảnh tài liệu
  • Áp dụng điều chỉnh độ nghiêng, tăng cường độ tương phản và giảm tiếng ồn

2. Phân đoạn Trang

  • Đối với tài liệu nhiều trang, hãy phân tách và xử lý từng trang riêng lẻ
  • Sử dụng cửa sổ ngữ cảnh của mô hình để duy trì tính nhất quán trên các trang

3. Hậu xử lý

  • Thực hiện logic xác thực và làm sạch cho văn bản đã trích xuất
  • Sử dụng biểu thức chính quy hoặc các lượt LLM thứ hai để sửa lỗi OCR phổ biến

Tối ưu hóa hiệu suất OCR

Để có được kết quả OCR tốt nhất từ Qwen-2.5-72b, hãy tham khảo các phương pháp tốt nhất này:

  1. Chất lượng hình ảnh quan trọng: Cung cấp hình ảnh có độ phân giải cao nhất có thể trong giới hạn API.
  2. Rõ ràng trong các yêu cầu: Hãy nói cho mô hình biết chính xác thông tin nào cần trích xuất và ở định dạng nào.
  3. Tận dụng đầu ra có cấu trúc: Tận dụng khả năng sinh JSON của mô hình bằng cách yêu cầu các định dạng có cấu trúc một cách rõ ràng.
  4. Sử dụng thông điệp hệ thống: Thiết lập các thông điệp hệ thống phù hợp để hướng dẫn hành vi OCR của mô hình.
  5. Cài đặt nhiệt độ: Giá trị nhiệt độ thấp (0.0-0.3) thường sản xuất các kết quả OCR chính xác hơn.

Kết luận

Qwen-2.5-72b đại diện cho một bước tiến đáng kể trong khả năng OCR mã nguồn mở. Hiệu suất xuất sắc của nó trong các chỉ số hiệu suất, vượt qua thậm chí cả các mô hình OCR chuyên biệt, làm cho nó trở thành sự lựa chọn hấp dẫn cho các nhà phát triển và tổ chức tìm kiếm các giải pháp xử lý tài liệu mạnh mẽ.

Sự kết hợp giữa hiểu biết hình ảnh, xử lý dữ liệu có cấu trúc và khả năng đa ngôn ngữ của mô hình tạo ra một giải pháp OCR linh hoạt có thể xử lý nhiều loại tài liệu khác nhau trên nhiều ngôn ngữ. Trong khi nó yêu cầu tài nguyên tính toán đáng kể, các kết quả mang lại là xứng đáng cho nhiều trường hợp sử dụng.

Bằng cách tận dụng Ollama cho việc triển khai cục bộ, các nhà phát triển có thể dễ dàng tích hợp mô hình mạnh mẽ này vào quy trình làm việc của họ mà không cần phụ thuộc vào các API bên ngoài. Điều này mở ra những khả năng cho các giải pháp xử lý tài liệu an toàn, tại chỗ mà vẫn duy trì quyền riêng tư dữ liệu trong khi cung cấp hiệu suất OCR tiên tiến.

Dù bạn đang xây dựng một quy trình tự động hóa xử lý tài liệu, trích xuất dữ liệu từ biên lai và biểu mẫu, hay số hóa tài liệu in, Qwen-2.5-72b cung cấp một trong những giải pháp mã nguồn mở có khả năng nhất hiện nay cho các nhiệm vụ OCR.