Multiverse Computing công bố kết quả thu nhỏ mô hình GPT-OSS của OpenAI từ 120 tỷ tham số xuống 60 tỷ, đồng thời nén trọng số xuống 4-bit — và bản nhỏ này thắng bản gốc ở 7 trong 9 bài kiểm tra. Điều thú vị không nằm ở con số, mà ở lý do vì sao nén lại không làm hỏng mô hình.
Kết quả cụ thể
Theo Decrypt và Yahoo Tech, nhóm nghiên cứu đã cắt một nửa số tham số của GPT-OSS và giảm độ chính xác lưu trữ của số còn lại xuống 4-bit. Phương pháp được đặt tên Quantization-Aware Healing. Bản rút gọn đạt điểm cao hơn bản đầy đủ ở 7 trên 9 bài kiểm tra được dùng để so sánh.
Nhóm nghiên cứu được cả hai nguồn dẫn lại cùng một kết luận: trong quy trình "healing" dựa trên chưng cất, bước lượng tử hoá "không phải là chi phí cần giảm thiểu mà là cơ hội bổ sung để giám sát từ giáo viên", cho ra mô hình rẻ hơn khi vận hành, nhẹ hơn về bộ nhớ, và có độ chính xác ít nhất tương đương bản đầy đủ.
Hai thứ bị giảm ở đây là hai thứ khác nhau
Phần lớn tranh cãi quanh tin này đến từ việc gộp hai khái niệm vào làm một. Cần tách chúng ra.
Số tham số là số lượng trọng số trong mạng — có thể hình dung như số núm điều chỉnh mà mô hình học được trong quá trình huấn luyện. Cắt từ 120 tỷ xuống 60 tỷ nghĩa là bỏ đi một nửa số núm đó. Đây là thay đổi về kiến trúc.
Độ chính xác là số bit dùng để lưu mỗi trọng số. Mô hình thường được huấn luyện ở 16-bit; hạ xuống 4-bit nghĩa là mỗi núm chỉ còn 16 nấc thay vì hàng chục nghìn nấc. Đây là thay đổi về cách lưu, không phải về số lượng.
Hai bước này nhân với nhau về mặt dung lượng. Một nửa số tham số, mỗi tham số nhẹ đi bốn lần, cho ra mô hình chiếm khoảng một phần tám bộ nhớ so với bản gốc ở 16-bit. Với người chạy mô hình cục bộ, đó là khác biệt giữa "cần một cụm máy chủ" và "chạy được trên một máy".
Vì sao "chữa lành" không giống nén thông thường
Cách nén truyền thống là lấy mô hình đã huấn luyện xong rồi làm tròn các trọng số xuống độ chính xác thấp hơn. Kết quả thường tụt một chút chất lượng, và người ta chấp nhận đánh đổi đó để lấy tốc độ.
Cách làm trong nghiên cứu này khác ở chỗ mô hình nhỏ được huấn luyện lại dưới sự hướng dẫn của mô hình gốc. Kỹ thuật nền là chưng cất tri thức: mô hình lớn đóng vai giáo viên, mô hình nhỏ đóng vai học trò, và học trò không học từ dữ liệu thô mà học từ cách giáo viên phản ứng với dữ liệu đó. Tín hiệu học vì thế giàu hơn nhiều so với việc chỉ biết đáp án đúng hay sai.
Điểm mới nằm ở chữ "aware" — nhận biết. Thay vì huấn luyện xong rồi mới lượng tử hoá, quá trình lượng tử hoá được đưa vào ngay trong lúc huấn luyện. Mô hình nhỏ biết trước rằng nó sẽ phải sống ở 4-bit, nên nó học cách phân bố tri thức sao cho chịu được mức thô đó. Đây là khác biệt giữa việc thiết kế một món đồ để đóng gói được, và việc cố nhét một món đồ đã làm xong vào hộp quá nhỏ.
Câu nói của nhóm nghiên cứu, đọc kỹ, chính là điểm này: bước lượng tử hoá tạo ra sai lệch, và mỗi lần sai lệch xuất hiện là một dịp để mô hình giáo viên chỉnh lại học trò. Nhiễu trở thành cơ hội giám sát thay vì thành hư hỏng.
Nhỏ hơn mà điểm cao hơn — nên tin tới mức nào
Kết quả 7/9 nghe phản trực giác, và cần đọc thận trọng.
Có một cách giải thích không hề huyền bí: mô hình lớn thường chứa dư thừa. Chúng được huấn luyện để bao phủ rất nhiều loại nhiệm vụ, và với một tập bài kiểm tra cụ thể, phần lớn năng lực đó không được dùng tới. Khi ép mô hình đi qua một quá trình huấn luyện lại có định hướng, phần dư thừa bị loại và phần liên quan tới nhiệm vụ được củng cố. Điểm số trên bài kiểm tra tăng — nhưng thứ có thể đã mất là năng lực ở những vùng mà bài kiểm tra không chạm tới.
Đây là giới hạn cố hữu của việc đánh giá mô hình bằng benchmark. Chín bài kiểm tra không đại diện cho toàn bộ những gì người ta sẽ dùng mô hình để làm. Một mô hình thu gọn có thể giữ nguyên khả năng giải toán và lập trình mà vẫn sa sút ở những thứ ít được đo: xử lý ngôn ngữ ít tài nguyên, hội thoại dài, hoặc các trường hợp hiếm.
Những gì chưa rõ từ hai bản tin: đó là chín bài kiểm tra nào, chênh lệch điểm lớn hay chỉ trong sai số, hai bài thua thuộc nhóm nào, và trọng số của mô hình rút gọn có được công bố để bên thứ ba kiểm chứng hay không. Chừng nào chưa có người ngoài chạy lại được kết quả, đây vẫn là công bố của chính nhóm thực hiện.
Điều này đổi gì trên thực tế
Nếu phương pháp nhân rộng được, tác động rõ nhất nằm ở chi phí vận hành chứ không ở chất lượng đầu ra.
Chi phí chạy mô hình phụ thuộc chủ yếu vào bộ nhớ card đồ hoạ và số phép tính mỗi lượt trả lời. Giảm một bậc lớn về cả hai đồng nghĩa với việc các mô hình vốn chỉ chạy nổi trên hạ tầng thuê theo giờ có thể chuyển về máy chủ riêng. Với các tổ chức không được phép đưa dữ liệu ra ngoài — bệnh viện, ngân hàng, cơ quan nhà nước — đây là điều kiện tiên quyết chứ không phải tối ưu hoá.
Hướng thứ hai là thiết bị biên: máy trạm, máy chủ nhỏ đặt tại chỗ, và xa hơn là thiết bị cá nhân. Mỗi lần ngưỡng bộ nhớ giảm, danh sách phần cứng chạy được mô hình lại dài thêm.
Với người làm AI ở Việt Nam
Nhóm hưởng lợi trực tiếp là các đội đang phải chạy mô hình trên hạ tầng hạn chế — vốn là tình trạng phổ biến ở đây, nơi rất ít tổ chức sở hữu cụm GPU lớn và phần lớn phải thuê theo giờ hoặc dùng card đơn lẻ.
Việc nên làm ngay không phải là chờ phương pháp này được công bố đầy đủ, mà là làm chủ trước lớp kỹ thuật cơ bản đã có sẵn và miễn phí: chạy thử một mô hình mở ở các mức lượng tử hoá khác nhau trên chính tập dữ liệu của mình, rồi tự đo xem chất lượng tụt bao nhiêu. Con số tụt đó phụ thuộc rất mạnh vào ngôn ngữ và loại nhiệm vụ, nên kết quả đo trên tiếng Anh không nói được gì nhiều về tiếng Việt.
Một lưu ý riêng cho tiếng Việt: các mô hình đa ngữ thường phân bổ ít năng lực hơn cho ngôn ngữ ít tài nguyên, và đó chính là phần dễ hỏng nhất khi nén. Bất kỳ ai định đưa mô hình rút gọn vào sản phẩm phục vụ người dùng Việt đều nên dựng một bộ bài kiểm tra tiếng Việt của riêng mình trước, thay vì tin vào điểm benchmark quốc tế.
Nguồn tham khảo
- Decrypt — These Researchers Just Shrunk an AI Model and Somehow Made It Smarter
- tech.yahoo.com — These Researchers Just Shrunk an AI Model and Somehow Made It Smarter