DeepSeek-R1 32B: QwQ của Alibaba?

Thách Thức Những Gã Khổng Lồ: Một Đối Thủ Nhỏ Gọn

QwQ, mặc dù chỉ có 32 tỷ tham số so với 671 tỷ của DeepSeek R1, được định vị là một mô hình “lý luận”. Alibaba khẳng định rằng mô hình tương đối nhỏ này có thể vượt qua R1 trong các bài kiểm tra cụ thể, đặc biệt là trong các lĩnh vực như toán học, viết code và gọi hàm (function-calling). Tuyên bố đầy tham vọng này đòi hỏi phải xem xét kỹ hơn về hoạt động bên trong và hiệu suất thực tế của QwQ.

Học Tăng Cường: Chìa Khóa Cho Sức Mạnh Của QwQ

Tương tự như DeepSeek R1, nhóm Qwen đã sử dụng học tăng cường (RL) để tinh chỉnh khả năng suy luận chuỗi suy nghĩ (chain-of-thought) của QwQ. Phương pháp này nâng cao khả năng phân tích và chia nhỏ các vấn đề phức tạp theo từng bước của mô hình. Cách tiếp cận truyền thống trong RL là thưởng cho mô hình khi có câu trả lời đúng, do đó củng cố các phản hồi chính xác.

Tuy nhiên, nhóm Qwen đã có một cách tiếp cận khác biệt hơn với QwQ. Họ tích hợp một trình xác minh độ chính xác và một máy chủ thực thi code. Sự bổ sung quan trọng này đảm bảo rằng phần thưởng chỉ được trao cho các giải pháp toán học hợp lý và code hoạt động được. Bằng cách thực hiện quy trình xác minh nghiêm ngặt này, nhóm nghiên cứu hướng tới việc phát triển một mô hình thể hiện mức độ chính xác và độ tin cậy cao hơn.

Tuyên Bố Về Hiệu Suất: Kiểm Chứng Thực Tế

Những nỗ lực của nhóm Qwen, theo họ tuyên bố, đã tạo ra một mô hình vượt trội hơn đáng kể so với kích thước của nó. Họ khẳng định rằng QwQ đạt được mức hiệu suất ngang bằng và trong một số trường hợp thậm chí còn vượt trội hơn các mô hình lớn hơn nhiều.

Tuy nhiên, thế giới của các bài kiểm tra AI có thể rất phức tạp. Điều quan trọng là phải vượt ra ngoài các số liệu được báo cáo và xem xét cách những tuyên bố này chuyển thành các tình huống thực tế, thiết thực.

Thử Nghiệm Thực Tế: Đưa QwQ Vào Thử Thách

Để đánh giá khả năng của QwQ, một loạt các câu hỏi kiểm tra đã được thiết kế, bao gồm nhiều lĩnh vực. Chúng bao gồm kiến thức chung, suy luận không gian, giải quyết vấn đề, toán học và các thử thách khác được biết là gây khó khăn cho ngay cả các mô hình ngôn ngữ lớn (LLM) tiên tiến nhất.

Do yêu cầu bộ nhớ đáng kể của mô hình đầy đủ, việc kiểm tra được thực hiện ở hai cấu hình. Đầu tiên, mô hình hoàn chỉnh được đánh giá bằng bản demo QwQ trên Hugging Face. Điều này cho phép đánh giá tiềm năng đầy đủ của nó. Thứ hai, phiên bản lượng tử hóa 4 bit đã được thử nghiệm trên GPU 24GB (cụ thể là Nvidia 3090 hoặc AMD Radeon RX 7900XTX). Cấu hình này nhằm mục đích đánh giá tác động của lượng tử hóa đối với độ chính xác của mô hình, giúp người dùng có phần cứng kém mạnh mẽ hơn có thể truy cập được.

Kiến Thức Chung: Giữ Vững Phong Độ

Để trả lời hầu hết các câu hỏi kiến thức chung, QwQ đã thể hiện hiệu suất tương đương với R1 671 tỷ tham số của DeepSeek và các mô hình suy luận khác như o3-mini của OpenAI. Mô hình thường mất vài giây để hình thành suy nghĩ trước khi đưa ra câu trả lời cho truy vấn. Hành vi này là đặc trưng của các mô hình suy luận, ưu tiên cân nhắc cẩn thận hơn là phản hồi ngay lập tức.

Vượt Trội Trong Sự Phức Tạp: Logic, Lập Trình và Toán Học

Nơi QwQ thực sự bắt đầu tạo sự khác biệt là trong việc giải quyết các thử thách phức tạp hơn liên quan đến logic, lập trình hoặc toán học. Hãy đi sâu vào các lĩnh vực này, làm nổi bật điểm mạnh và giải quyết một số lĩnh vực mà nó còn thiếu sót.

Suy Luận Không Gian: Điều Hướng Mê Cung

Một bài kiểm tra suy luận không gian tương đối mới, được phát triển bởi Homebrew Research như một phần của dự án AlphaMaze của họ, đã được sử dụng để đánh giá QwQ.

Cả phiên bản QwQ được lưu trữ cục bộ và mô hình có kích thước đầy đủ đều giải quyết thành công các câu đố này. Tuy nhiên, mỗi lần chạy cần vài phút để hoàn thành. Điều này cho thấy rằng mặc dù QwQ có thể xử lý suy luận không gian một cách hiệu quả, nhưng nó không nhất thiết phải là nhanh nhất.

Ngược lại, R1 của DeepSeek và bản distill 32B của nó thể hiện các hành vi khác nhau. Cả hai mô hình đều giải quyết thành công mê cung đầu tiên. Tuy nhiên, R1 gặp khó khăn với mê cung thứ hai, trong khi bản distill 32B đạt tỷ lệ thành công 90% ở mê cung thứ hai. Sự thay đổi này không hoàn toàn bất ngờ, vì R1 và bản distill sử dụng các mô hình cơ sở khác biệt.

Mặc dù QwQ đã thể hiện hiệu suất vượt trội so với DeepSeek trong bài kiểm tra cụ thể này, một số hành vi bất thường đã được quan sát thấy với mô hình 4 bit. Ban đầu, nó cần số lượng token “suy nghĩ” gần gấp đôi để hoàn thành bài kiểm tra. Điều này ban đầu cho thấy khả năng mất mát do lượng tử hóa. Tuy nhiên, điều tra sâu hơn cho thấy rằng mô hình lượng tử hóa, ở trạng thái ban đầu, thể hiện hiệu suất dưới mức tối ưu. Điều chỉnh các siêu tham số và chạy lại các bài kiểm tra đã giải quyết vấn đề này, chứng minh tầm quan trọng của cấu hình phù hợp.

Lập Trình One-Shot: Một Điểm Mạnh Tiềm Năng

QwQ đã thu hút sự chú ý đáng kể vì tiềm năng của nó trong việc tạo code “one-shot” – khả năng tạo code có thể sử dụng được ngay trong lần thử đầu tiên. Lĩnh vực cụ thể này dường như là một thế mạnh đáng kể của mô hình.

Mô hình được giao nhiệm vụ tạo lại một số trò chơi tương đối đơn giản bằng Python sử dụng thư viện pygame. Các trò chơi được chọn là Pong, Breakout, Asteroids và Flappy Bird.

QwQ xử lý Pong và Breakout tương đối dễ dàng. Sau vài phút xử lý, mô hình đã tạo ra các phiên bản hoạt động của cả hai trò chơi.

Tuy nhiên, khi được giao nhiệm vụ tạo lại Asteroids, QwQ gặp khó khăn. Mặc dù code được tạo ra đã chạy, đồ họa và cơ chế trò chơi thường bị méo mó và lỗi. Ngược lại, R1, trong lần thử đầu tiên, đã tái tạo trung thực trò chơi bắn súng arcade cổ điển.

Điều quan trọng là phải xem xét dữ liệu đào tạo cho các mô hình này. Chúng đã được tiếp xúc với một lượng lớn code nguồn có sẵn công khai, có khả năng bao gồm các bản sao của các trò chơi cổ điển. Điều này đặt ra câu hỏi liệu các mô hình có đơn giản là nhớ lại thông tin đã học hay không thay vì suy luận độc lập các cơ chế trò chơi từ đầu. Điều này nhấn mạnh bản chất cơ bản của các mạng nơ-ron khổng lồ này, nơi trí thông minh rõ ràng thường bắt nguồn từ việc nhận dạng mẫu rộng rãi.

Ngay cả với những hạn chế này, hiệu suất của QwQ trong việc tạo lại các trò chơi arcade cổ điển là rất ấn tượng, đặc biệt là khi xem xét số lượng tham số của nó. Nó có thể không sánh được với R1 trong mọi bài kiểm tra, nhưng nó thể hiện một mức độ khả năng đáng chú ý. Cụm từ “không có gì thay thế được dung tích”, thường được sử dụng trong thế giới ô tô, có thể có liên quan ở đây. Điều này có thể giải thích tại sao Alibaba đang phát triển phiên bản “Max” của QwQ, mặc dù nó khó có thể chạy trên phần cứng tiêu dùng trong thời gian sớm.

So với bản distill Qwen 2.5 32B có kích thước tương tự của DeepSeek R1, quyết định tích hợp máy chủ thực thi code vào quy trình học tăng cường của Alibaba có thể đã mang lại lợi thế trong các thử thách liên quan đến lập trình.

Toán Học: Khả Năng Với Một Lưu Ý

Trong lịch sử, các LLM đã gặp khó khăn với toán học, một hệ quả của việc đào tạo tập trung vào ngôn ngữ của chúng. Mặc dù các mô hình mới hơn đã cho thấy sự cải thiện, QwQ vẫn phải đối mặt với những thách thức, mặc dù không nhất thiết phải vì những lý do mà người ta có thể mong đợi.

QwQ đã giải quyết thành công tất cả các bài toán trước đây đã đặt ra cho R1. Điều này cho thấy rằng QwQ có thể xử lý số học cơ bản và thậm chí một số đại số. Tuy nhiên, vấn đề nằm ở hiệu quả của nó. Sử dụng LLM cho các phép tính toán học có vẻ phản trực giác khi máy tính và tính toán trực tiếp vẫn có sẵn và nhanh hơn đáng kể.
Ví dụ, giải một phương trình đơn giản như 7*43 yêu cầu QwQ tạo ra hơn 1.000 token, mất khoảng 23 giây trên RTX 3090 Ti. Đây là một nhiệm vụ có thể được hoàn thành trên một máy tính bỏ túi trong một phần nhỏ thời gian.

Sự kém hiệu quả càng trở nên rõ rệt hơn với các phép tính lớn hơn. Giải 3394*35979, một bài toán nhân vượt quá khả năng của hầu hết các mô hình không suy luận, đã khiến phiên bản QwQ cục bộ mất ba phút và hơn 5.000 token để tính toán.

Trước khi sửa lỗi siêu tham số, phương trình tương tự cần tới chín phút và gần 12.000 token.

Điểm mấu chốt ở đây là mặc dù một mô hình có thể có khả năng ép buộc theo cách của nó để có câu trả lời đúng, điều đó không nhất thiết có nghĩa là nó là công cụ tối ưu cho công việc. Một cách tiếp cận thực tế hơn là cung cấp cho QwQ quyền truy cập vào một máy tính Python. Điều này tận dụng thế mạnh của mô hình trong khi giảm tải các tác vụ tính toán chuyên sâu cho một công cụ phù hợp hơn.

Khi được giao nhiệm vụ giải phương trình 3394*35979 tương tự bằng cách sử dụng công cụ, thời gian phản hồi của QwQ giảm xuống còn tám giây, vì máy tính đã xử lý phần nặng.

Sự Phổ Biến Của “Wait”: Một Cái Nhìn Sơ Lược Về Quá Trình Suy Nghĩ

Kiểm tra “suy nghĩ” của QwQ cho thấy sự xuất hiện thường xuyên của từ “wait”, đặc biệt là trong các tác vụ phức tạp hoặc các bài toán đố. Điều này phản ánh quá trình nội bộ của mô hình kiểm tra công việc của nó với các kết quả thay thế.

Mặc dù hành vi này là phổ biến ở các mô hình suy luận, nó có thể đặc biệt gây khó chịu khi QwQ tạo ra một câu trả lời không chính xác, ngay cả sau khi thể hiện sự hiểu biết về câu trả lời đúng trong quá trình “suy nghĩ” của nó.

Vấn đề này đã gặp phải thường xuyên trong quá trình thử nghiệm. Một trong những ví dụ minh họa nhất là sự điều chỉnh của AutoGen AI về bài toán sói, dê và bắp cải cổ điển. Câu đố này đưa ra một thử thách tối ưu hóa vận chuyển với một điểm khác biệt:

Giải pháp được nhúng trong câu hỏi: với ba ngăn an toàn, người nông dân có thể vận chuyển tất cả các vật phẩm trong một chuyến đi. Tuy nhiên, do câu đố giống với phiên bản cổ điển, các mô hình thường bỏ qua các ngăn.

Trong thử nghiệm, QwQ liên tục không giải được câu đố này một cách chính xác. Kiểm tra quá trình suy nghĩ của nó cho thấy rằng nó không bỏ qua ba ngăn. Trên thực tế, nó thừa nhận chúng nhưng bác bỏ chúng vì quá đơn giản:

“Wait, nếu người nông dân có thể mang cả ba trong một chuyến đi, thì anh ta có thể làm điều đó và xong. Nhưng điều đó sẽ làm cho vấn đề trở nên tầm thường, điều này khó xảy ra. Vì vậy, có lẽ các ngăn là riêng biệt nhưng thuyền chỉ có thể chở hai vật phẩm cộng với người nông dân?”

Bất kể bài kiểm tra được chạy trên mô hình đầy đủ trên đám mây hay cục bộ, QwQ đều gặp khó khăn trong việc giải quyết vấn đề này một cách nhất quán. Điều này làm nổi bật một hạn chế tiềm ẩn trong khả năng suy luận của nó, nơi nó có thể suy nghĩ quá mức hoặc hiểu sai các ràng buộc của vấn đề.

Độ Nhạy Siêu Tham Số: Một Sự Cân Bằng Tinh Tế

So với các mô hình khác, QwQ thể hiện độ nhạy cao hơn với cấu hình của nó. Ban đầu, Alibaba đã đề xuất các tham số lấy mẫu cụ thể:

  • Temperature: 0.6
  • TopP: 0.95
  • TopK: từ 20 đến 40

Sau đó, các khuyến nghị này đã được cập nhật để bao gồm:

  • MinP: 0
  • Presence Penalty: từ 0 đến 2

Do một lỗi rõ ràng trong việc xử lý các tham số lấy mẫu của Llama.cpp (Llama.cpp được sử dụng để chạy suy luận trên các mô hình), cũng cần phải tắt hình phạt lặp lại bằng cách đặt nó thành 1.

Như đã đề cập trước đó, việc giải quyết các vấn đề cấu hình này đã dẫn đến một sự cải thiện đáng kể, giảm hơn một nửa số lượng token “suy nghĩ” cần thiết để đi đến câu trả lời. Tuy nhiên, lỗi này dường như chỉ xảy ra với các phiên bản lượng tử hóa GGUF của mô hình khi chạy trên công cụ suy luận Llama.cpp, được sử dụng bởi các ứng dụng phổ biến như Ollama và LM Studio.

Đối với người dùng có kế hoạch sử dụng Llama.cpp, bạn nên tham khảo hướng dẫn của Unsloth để sửa thứ tự lấy mẫu.

Bắt Đầu Với QwQ: Hướng Dẫn Thực Tế

Đối với những người quan tâm đến việc thử nghiệm với QwQ, việc thiết lập nó trong Ollama tương đối đơn giản. Tuy nhiên, điều quan trọng cần lưu ý là nó yêu cầu một GPU có một lượng vRAM đáng kể. Mô hình đã được chạy thành công trên 3090 Ti 24GB với cửa sổ ngữ cảnh đủ lớn để sử dụng thực tế.

Mặc dù về mặt kỹ thuật có thể chạy mô hình trên CPU và bộ nhớ hệ thống, điều này có thể dẫn đến thời gian phản hồi cực kỳ chậm trừ khi sử dụng máy trạm hoặc máy chủ cao cấp.

Điều Kiện Tiên Quyết:

  1. Một máy có khả năng chạy các LLM cỡ trung bình ở mức lượng tử hóa 4 bit. Nên sử dụng GPU tương thích có ít nhất 24GB vRAM. Danh sách các card được hỗ trợ có thể được tìm thấy tại đây.
  2. Đối với máy Mac Apple Silicon, nên có tối thiểu 32GB bộ nhớ.

Hướng dẫn này giả định sự quen thuộc cơ bản với giao diện dòng lệnh của Linux và Ollama.

Cài Đặt Ollama

Ollama là một trình chạy mô hình phổ biến giúp đơn giản hóa quá trình tải xuống và phục vụ các LLM trên phần cứng tiêu dùng. Đối với người dùng Windows hoặc macOS, hãy tải xuống và cài đặt nó giống như bất kỳ ứng dụng nào khác từ ollama.com.

Đối với người dùng Linux, Ollama cung cấp một dòng lệnh tiện lợi để cài đặt: