Cách OCRia đạt được tốc độ suy luận nhanh gấp 10 lần trên GPU B200
OCRia-1 đã giảm độ trễ bằng cách kết hợp lượng tử hóa độ chính xác hỗn hợp, giải mã suy đoán với DFlash2 và tối ưu hóa kernel sâu, đạt tới 2800 token/giây.
Được dịch tự động từ bản gốc tiếng Anh.
Đội ngũ kỹ thuật đứng sau OCRia-1 đã chi tiết hóa cách họ đạt được mức tăng gần mười lần về tốc độ tạo sinh token, từ khoảng 285 token mỗi giây lên 2800 token mỗi giây trên một GPU NVIDIA B200 duy nhất. Được công bố vào ngày 3 tháng 11 năm 2026, bản phân tích kỹ thuật cho thấy bước nhảy vọt về hiệu suất này không phải là kết quả của một đột phá đơn lẻ, mà là sự giảm thiểu có hệ thống các nút thắt cổ chai bộ nhớ và chi phí tính toán trên toàn bộ ngăn xếp suy luận.
Chuyện gì đã xảy ra
Độ trễ từ lâu đã là một ràng buộc chính đối với các quy trình phân tích tài liệu, nơi các trang dày đặc đòi hỏi đầu ra cấu trúc dài dòng. Nhóm OCRia xác định rằng pipeline suy luận của họ bị giới hạn bởi băng thông bộ nhớ (memory-bandwidth-bound) thay vì giới hạn bởi năng lực tính toán (compute-bound), nghĩa là GPU dành nhiều thời gian để di chuyển trọng số mô hình và dữ liệu trạng thái hơn là thực hiện các phép toán học. Để giải quyết vấn đề này, họ tập trung vào ba lĩnh vực cốt lõi: giảm khối lượng dữ liệu được di chuyển trong mỗi bước giải mã, tạo ra nhiều token hơn cho mỗi lần truyền tiến (forward pass) và giảm thiểu chi phí CPU và GPU liên quan đến mỗi bước.
Chiến lược tối ưu hóa resulting kết hợp các kỹ thuật đã thiết lập như lượng tử hóa với các triển khai mới lạ về giải mã suy đoán và phát triển kernel tùy chỉnh. Bằng cách lập hồ sơ (profiling) nghiêm ngặt từng giai đoạn của quá trình suy luận, nhóm đã loại bỏ các lần truyền bộ nhớ dư thừa và hợp lý hóa việc chuẩn bị siêu dữ liệu. Những thay đổi này cho phép hệ thống xử lý các yêu cầu đồng thời hiệu quả hơn, giúp lặp lại nhanh hơn trên các bài kiểm tra chuẩn (benchmark) và mang lại kết quả nhanh hơn cho người dùng cuối mà không làm giảm độ chính xác.
Cách thức hoạt động
Nền tảng của việc tăng tốc nằm ở lượng tử hóa nhận biết khối lượng công việc (workload-aware quantization). Thay vì áp dụng giảm độ chính xác đồng đều, nhóm sử dụng độ chính xác hỗn hợp, giữ các lớp nhạy cảm ở độ chính xác cao hơn trong khi nén các lớp khác xuống FP8 hoặc NVFP4. Họ áp dụng lượng tử hóa nhận biết kích hoạt (activation-aware quantization), hiệu chỉnh các hệ số tỷ lệ bằng dữ liệu trong phân phối (in-distribution data) để đảm bảo việc nén vẫn gần như không gây mất mát cho các tác vụ mục tiêu. Đáng chú ý, bộ mã hóa thị giác (vision encoder) được giữ nguyên không lượng tử hóa để bảo toàn độ chính xác thị giác, thể hiện một phương pháp tiếp cận có mục tiêu nhằm cân bằng giữa kích thước và độ trung thực.
Để vượt qua hạn chế tự hồi quy (autoregressive) của việc tạo ra một token mỗi bước, nhóm đã triển khai giải mã suy đoán sử dụng một mô hình dự thảo (drafter model) tên là DFlash2. Mô hình nhỏ hơn này dự đoán song song nhiều token tương lai, sau đó mô hình mục tiêu lớn hơn sẽ xác minh chúng trong một lần truyền tiến duy nhất. DFlash2 sử dụng các phép tích chập cục bộ và một bộ chọn ứng viên để đạt tỷ lệ chấp nhận trên 12 token, giúp tăng đáng kể thông lượng. Quá trình này được đảm bảo về mặt toán học là không gây mất mát, vì bất kỳ suy đoán sai nào đều bị loại bỏ mà không ảnh hưởng đến phân phối đầu ra cuối cùng.
Những cải thiện thêm đến từ các tối ưu hóa sâu trong engine. Nhóm đã điều chỉnh ReplaySSM để tối ưu hóa quản lý trạng thái trong Gated Delta Networks, giảm chi phí hoàn tác các token suy đoán bị từ chối. Họ cũng hợp nhất (fuse) các phép toán liên tiếp, chẳng hạn như kích hoạt SiLU và lượng tử hóa, để giữ các kết quả trung gian trong thanh ghi GPU tốc độ cao thay vì ghi chúng vào bộ nhớ băng thông cao. Về phía CPU, họ tái cấu trúc việc xây dựng siêu dữ liệu để tránh các tính toán dư thừa giữa các nhóm cache khác nhau, giảm số lần khởi chạy GPU cần thiết cho mỗi bước giải mã từ hàng trăm xuống chỉ còn một.
Chi tiết chính
- Tăng trưởng hiệu suất: Tốc độ tạo sinh token tăng từ ~285 token/giây lên ~2800 token/giây trên một GPU B200 duy nhất.
- Chiến lược lượng tử hóa: Độ chính xác hỗn hợp sử dụng BF16, FP8 và NVFP4, với hiệu chỉnh nhận biết kích hoạt để duy trì độ chính xác.
- Giải mã suy đoán: Sử dụng DFlash2, một mô hình dự thảo block-diffusion đạt tỷ lệ chấp nhận trên 12 token mỗi lần truyền.
- Tối ưu hóa kernel: Các kernel CUDA tùy chỉnh đã giảm thời gian xác minh ReplaySSM từ 72–80 µs xuống còn 23–24 µs mỗi lớp.
- Hiệu quả CPU: Việc xây dựng siêu dữ liệu được tối ưu hóa để chỉ yêu cầu một lần khởi chạy GPU mỗi bước, giảm từ khoảng 290 lần.
- Khả năng sẵn có: OCRia-1 hiện có trên LlamaParse, và các tối ưu hóa có thể khái quát hóa sẽ được đóng góp trở lại cho vLLM.
Tại sao điều này quan trọng
Đối với các kỹ sư xây dựng sản phẩm AI tài liệu, nghiên cứu tình huống này nhấn mạnh rằng sức mạnh phần cứng thô thường không đủ nếu thiếu sự tối ưu hóa phần mềm cẩn thận. Sự chuyển dịch từ các phép toán bị giới hạn bởi năng lực tính toán sang bị giới hạn bởi bộ nhớ trong các mô hình lớn có nghĩa là giảm thiểu di chuyển dữ liệu thường có tác động lớn hơn so với việc bổ sung thêm đơn vị tính toán. Hiểu mô hình đường bao hiệu suất (roofline model) và xác định xem khối lượng công việc bị giới hạn bởi băng thông hay năng lực tính toán cho phép các nhóm ưu tiên đúng chiến lược tối ưu hóa, chẳng hạn như lượng tử hóa hoặc hợp nhất kernel, thay vì mở rộng tài nguyên một cách mù quáng.
Việc sử dụng giải mã suy đoán minh họa một con đường thực tế để phá vỡ nút thắt cổ chai tuần tự của việc tạo sinh tự hồi quy. Bằng cách xác minh nhiều token song song, các nhà phát triển có thể cải thiện đáng kể tính tương tác và thông lượng cho người dùng xử lý các tài liệu dài. Tuy nhiên, điều này đòi hỏi triển khai cẩn thận để đảm bảo mô hình dự thảo phù hợp tốt với mô hình mục tiêu, vì tỷ lệ chấp nhận kém có thể triệt tiêu lợi ích. Thành công của nhóm OCRia với DFlash2 cho thấy việc đầu tư vào kiến trúc mô hình dự thảo chuyên biệt có thể mang lại lợi nhuận đáng kể.
Cuối cùng, sự nhấn mạnh vào lập hồ sơ và cải tiến gia tăng underscores tầm quan trọng của đo lường trong kỹ thuật hệ thống. Nhiều cải thiện đến từ các tối ưu hóa nhỏ, tích lũy như hợp nhất phép toán hoặc tinh chỉnh xử lý siêu dữ liệu. Những thay đổi này, dù riêng lẻ khiêm tốn, nhưng tổng thể đã đóng góp hơn 60% thông lượng bổ sung. Phương pháp tiếp cận này khuyến khích các nhà phát triển nhìn xa hơn các cài đặt framework cấp cao và đi sâu vào chi tiết triển khai của các engine suy luận để mở khóa hiệu suất ẩn.
Bạn có thể làm gì
- Lập hồ sơ pipeline suy luận của bạn để xác định xem nó bị giới hạn bởi băng thông bộ nhớ hay năng lực tính toán trước khi chọn chiến lược tối ưu hóa.
- Triển khai lượng tử hóa độ chính xác hỗn hợp với hiệu chỉnh nhận biết kích hoạt để giảm sử dụng bộ nhớ mà không gây mất mát độ chính xác đáng kể.
- Khám phá giải mã suy đoán với một mô hình dự thảo nhẹ để tạo ra nhiều token cho mỗi lần truyền tiến.
- Hợp nhất các phép toán kernel liên tiếp để giảm thiểu ghi vào bộ nhớ băng thông cao và giữ dữ liệu trong thanh ghi.
- Tối ưu hóa việc chuẩn bị siêu dữ liệu phía CPU bằng cách lưu trữ đệm (cache) các cấu trúc chia sẻ và giảm các lần khởi chạy GPU dư thừa.
- Đóng góp các tối ưu hóa có thể khái quát hóa trở lại cho các engine suy luận mã nguồn mở như vLLM để mang lại lợi ích cho cộng đồng rộng lớn hơn.



