Nhiều người nghĩ việc công bố mô hình đơn giản quá mức: huấn luyện xong, tải lên tệp, viết một phần giới thiệu, nhiệm vụ kết thúc.

Nhưng những ai từng làm sản phẩm thật sự đều biết rằng, phần rắc rối nhất của mô hình thường bắt đầu sau khi đưa lên vận hành.

Dữ liệu được cập nhật thì phải huấn luyện lại; tham số được điều chỉnh thì phải phát hành phiên bản mới; người dùng phản hồi hiệu quả tệ đi thì lại phải lần ra rốt cuộc bước nào đã thay đổi. Có một mâu thuẫn hay bị bỏ qua: mọi người muốn mô hình được cập nhật nhanh, nhưng lại sợ mỗi lần cập nhật sẽ làm hỏng trực tiếp các chức năng vốn đã dùng được.

Vì vậy, tôi luôn cho rằng việc lưu trữ mô hình không thể chỉ là một ổ đĩa mạng. Nền tảng thực sự hữu ích, ít nhất phải giúp nhà phát triển biết mỗi phiên bản đã thay đổi gì, ai vẫn đang dùng phiên bản cũ, và phiên bản mới có thể được thử nghiệm trước khi triển khai hay không.

Model Hub của OpenGradient ở điểm này làm giống một hệ thống phát hành mô hình hơn.

Một mô hình có thể được tạo một kho riêng trước, rồi phát hành các Release khác nhau theo cách như v1.00, v1.01, v2.00. Dưới mỗi phiên bản có thể đặt các tệp mô hình, cấu hình và phần mô tả, thay vì cứ tải tệp mới lên là lại ghi đè trực tiếp mô hình cũ.

Quy trình làm việc thực tế cũng khá trơn tru.

Nhà phát triển huấn luyện xong một mô hình dự đoán rủi ro, trước tiên xuất ra định dạng ONNX, rồi tạo kho trên Model Hub và tải lên v1.00. Sau đó có thể chạy thử trực tiếp trong Playground trên web để xác nhận đầu vào và kết quả không có vấn đề rõ ràng, rồi để ứng dụng cố định gọi đúng phiên bản này.

Sau đó khi dữ liệu huấn luyện được cập nhật, có thể tiếp tục phát hành v1.01, ghi rõ những thay đổi, rồi cho một phần ứng dụng thử nghiệm trước. Phiên bản cũ vẫn được giữ lại, sẽ không vì một lần cập nhật mà làm mọi sản phẩm đang dùng nó đồng loạt bị mất hiệu lực. Nhóm cũng có thể, thông qua Python SDK và CLI, tải mô hình lên và tích hợp vào quy trình huấn luyện hoặc phát hành của chính họ.

Tất nhiên, dù số phiên bản có viết đẹp đến đâu cũng không thể chứng minh mô hình chắc chắn đáng tin. Việc chuyển đổi ONNX có thể tạo ra sai khác, dữ liệu mới cũng có thể làm hiệu quả thay đổi; cuối cùng vẫn phải dựa vào kiểm thử và kết quả sử dụng thực tế.

Nhưng ít nhất nó giải quyết được một vấn đề rất thực tế: mô hình không phải là một tệp dùng một lần, mà là một phần mềm cần được bảo trì lâu dài. Việc có thể nói rõ từng thay đổi hay không, rất nhiều lúc còn quan trọng hơn cả sự rầm rộ của lần công bố đầu tiên.

$OPG @OpenGradient #OPG