DeepSeek-R1 ในแพ็คเกจ 32B? El Reg รีวิว QwQ ของ Alibaba

ท้าทายยักษ์ใหญ่: ผู้เข้าแข่งขันขนาดกะทัดรัด

QwQ แม้จะมีพารามิเตอร์เพียง 32 พันล้านพารามิเตอร์ เมื่อเทียบกับ DeepSeek R1 ที่อ้างว่ามี 671 พันล้านพารามิเตอร์ แต่ก็ถูกวางตำแหน่งเป็นแบบจำลอง “การให้เหตุผล” Alibaba ยืนยันว่าแบบจำลองขนาดเล็กนี้สามารถเอาชนะ R1 ในเกณฑ์มาตรฐานเฉพาะ โดยเฉพาะอย่างยิ่งในด้านต่างๆ เช่น คณิตศาสตร์ การเขียนโค้ด และการเรียกใช้ฟังก์ชัน การอ้างสิทธิ์ที่ทะเยอทะยานนี้รับประกันการตรวจสอบการทำงานภายในและประสิทธิภาพในโลกแห่งความเป็นจริงของ QwQ อย่างใกล้ชิด

การเรียนรู้แบบเสริมกำลัง: กุญแจสู่ความสามารถของ QwQ

คล้ายกับ DeepSeek R1 ทีม Qwen ใช้การเรียนรู้แบบเสริมกำลัง (RL) เพื่อปรับแต่งความสามารถในการให้เหตุผลแบบ chain-of-thought ของ QwQ วิธีนี้ช่วยเพิ่มความสามารถของแบบจำลองในการวิเคราะห์และแยกย่อยปัญหาที่ซับซ้อนทีละขั้นตอน แนวทางดั้งเดิมใน RL เกี่ยวข้องกับการให้รางวัลแก่แบบจำลองสำหรับคำตอบที่ถูกต้อง ซึ่งจะช่วยเสริมการตอบสนองที่ถูกต้อง

อย่างไรก็ตาม ทีม Qwen ใช้แนวทางที่แตกต่างกันเล็กน้อยกับ QwQ พวกเขาได้รวมตัวตรวจสอบความถูกต้องและเซิร์ฟเวอร์การดำเนินการโค้ด การเพิ่มที่สำคัญนี้ทำให้มั่นใจได้ว่าจะมีการให้รางวัลสำหรับวิธีแก้ปัญหาทางคณิตศาสตร์ที่ถูกต้องและโค้ดที่ใช้งานได้เท่านั้น ด้วยการใช้กระบวนการตรวจสอบที่เข้มงวดนี้ ทีมงานมีเป้าหมายที่จะปลูกฝังแบบจำลองที่แสดงระดับความแม่นยำและความน่าเชื่อถือที่สูงขึ้น

การอ้างสิทธิ์ประสิทธิภาพ: การตรวจสอบความเป็นจริง

ความพยายามของทีม Qwen ได้สร้างแบบจำลองที่พวกเขาอ้างว่ามีประสิทธิภาพเหนือกว่าระดับเดียวกันอย่างมาก พวกเขายืนยันว่า QwQ บรรลุระดับประสิทธิภาพที่เทียบเท่ากับ และในบางกรณีก็เกินกว่าแบบจำลองขนาดใหญ่กว่ามาก

อย่างไรก็ตาม โลกของเกณฑ์มาตรฐาน AI อาจมีความซับซ้อน สิ่งสำคัญคือต้องก้าวไปไกลกว่าตัวเลขที่รายงาน และตรวจสอบว่าการอ้างสิทธิ์เหล่านี้แปลเป็นสถานการณ์จริงในทางปฏิบัติได้อย่างไร

การทดสอบภาคปฏิบัติ: ทำให้ QwQ ผ่านขั้นตอนต่างๆ

เพื่อประเมินความสามารถของ QwQ ได้มีการออกแบบชุดข้อความแจ้งการทดสอบ ซึ่งครอบคลุมโดเมนต่างๆ ซึ่งรวมถึงความรู้ทั่วไป การให้เหตุผลเชิงพื้นที่ การแก้ปัญหา คณิตศาสตร์ และความท้าทายอื่นๆ ที่ทราบกันดีว่าก่อให้เกิดความยากลำบากแม้กระทั่งแบบจำลองภาษาขนาดใหญ่ (LLM) ที่ทันสมัยที่สุด

เนื่องจากข้อกำหนดด้านหน่วยความจำจำนวนมากของแบบจำลองเต็มรูปแบบ การทดสอบจึงดำเนินการในสองรูปแบบ อย่างแรก แบบจำลองที่สมบูรณ์ได้รับการประเมินโดยใช้การสาธิต QwQ บน Hugging Face สิ่งนี้ทำให้สามารถประเมินศักยภาพทั้งหมดได้ อย่างที่สอง รุ่น quantized 4 บิตได้รับการทดสอบบน GPU 24GB (โดยเฉพาะ Nvidia 3090 หรือ AMD Radeon RX 7900XTX) การกำหนดค่านี้มีจุดมุ่งหมายเพื่อวัดผลกระทบของ quantization ต่อความแม่นยำของแบบจำลอง ทำให้ผู้ใช้ที่มีฮาร์ดแวร์ที่มีประสิทธิภาพน้อยกว่าสามารถเข้าถึงได้มากขึ้น

ความรู้ทั่วไป: การรักษาตัวเอง

ในการตอบคำถามความรู้ทั่วไปส่วนใหญ่ QwQ แสดงประสิทธิภาพที่เทียบได้กับ R1 671 พันล้านพารามิเตอร์ของ DeepSeek และแบบจำลองการให้เหตุผลอื่นๆ เช่น o3-mini ของ OpenAI โดยทั่วไปแล้ว แบบจำลองจะใช้เวลาสองสามวินาทีในการสร้างความคิดก่อนที่จะให้คำตอบสำหรับคำถาม ลักษณะการทำงานนี้เป็นลักษณะเฉพาะของแบบจำลองการให้เหตุผล ซึ่งจัดลำดับความสำคัญของการพิจารณาอย่างรอบคอบมากกว่าการตอบสนองทันที

ความเป็นเลิศในความซับซ้อน: ตรรกะ การเขียนโค้ด และคณิตศาสตร์

สิ่งที่ QwQ เริ่มสร้างความแตกต่างอย่างแท้จริงคือการจัดการกับความท้าทายที่ซับซ้อนมากขึ้นซึ่งเกี่ยวข้องกับตรรกะ การเขียนโค้ด หรือคณิตศาสตร์ มาเจาะลึกในด้านเหล่านี้ โดยเน้นจุดแข็งและจัดการกับบางส่วนที่ยังขาดอยู่

การให้เหตุผลเชิงพื้นที่: การนำทางเขาวงกต

การทดสอบการให้เหตุผลเชิงพื้นที่ที่ค่อนข้างใหม่ ซึ่งพัฒนาโดย Homebrew Research ซึ่งเป็นส่วนหนึ่งของโครงการ AlphaMaze ถูกใช้เพื่อประเมิน QwQ

ทั้งอินสแตนซ์ QwQ ที่โฮสต์ในเครื่องและแบบจำลองขนาดเต็มสามารถแก้ปริศนาเหล่านี้ได้สำเร็จอย่างสม่ำเสมอ อย่างไรก็ตาม แต่ละรันต้องใช้เวลาสองสามนาทีจึงจะเสร็จสมบูรณ์ สิ่งนี้บ่งชี้ว่าในขณะที่ QwQ สามารถจัดการกับการให้เหตุผลเชิงพื้นที่ได้อย่างมีประสิทธิภาพ แต่ก็ไม่จำเป็นต้องเร็วที่สุด

ในทางตรงกันข้าม R1 ของ DeepSeek และ distill 32B แสดงพฤติกรรมที่แตกต่างกัน ทั้งสองรุ่นแก้เขาวงกตแรกได้สำเร็จ อย่างไรก็ตาม R1 ประสบปัญหาในเขาวงกตที่สอง ในขณะที่ distill 32B ประสบความสำเร็จ 90% ในเขาวงกตที่สอง ความแปรปรวนนี้ไม่ได้คาดไม่ถึงทั้งหมด เนื่องจาก R1 และ distill ใช้แบบจำลองพื้นฐานที่แตกต่างกัน

ในขณะที่ QwQ แสดงประสิทธิภาพที่เหนือกว่าเมื่อเทียบกับ DeepSeek ในการทดสอบเฉพาะนี้ มีการสังเกตพฤติกรรมที่ผิดปกติบางอย่างกับแบบจำลอง 4 บิต ในตอนแรก มันต้องการโทเค็น “ความคิด” เกือบสองเท่าเพื่อทำการทดสอบให้เสร็จสมบูรณ์ ในตอนแรกสิ่งนี้ชี้ให้เห็นถึงการสูญเสียที่อาจเกิดขึ้นเนื่องจาก quantization อย่างไรก็ตาม การตรวจสอบเพิ่มเติมพบว่าแบบจำลอง quantized ในสถานะเริ่มต้นแสดงประสิทธิภาพที่ต่ำกว่าเกณฑ์ การปรับ hyperparameters และเรียกใช้การทดสอบซ้ำแก้ไขปัญหานี้ ซึ่งแสดงให้เห็นถึงความสำคัญของการกำหนดค่าที่เหมาะสม

การเขียนโค้ดแบบ One-Shot: จุดแข็งที่เป็นไปได้

QwQ ได้รับความสนใจอย่างมากจากศักยภาพในการสร้างโค้ด “one-shot” ซึ่งเป็นความสามารถในการสร้างโค้ดที่ใช้งานได้ในครั้งแรก พื้นที่เฉพาะนี้ดูเหมือนจะเป็นจุดแข็งที่สำคัญสำหรับแบบจำลอง

แบบจำลองได้รับมอบหมายให้สร้างเกมที่ค่อนข้างง่ายหลายเกมใน Python โดยใช้ไลบรารี pygame เกมที่เลือกคือ Pong, Breakout, Asteroids และ Flappy Bird

QwQ จัดการ Pong และ Breakout ได้อย่างง่ายดาย หลังจากประมวลผลสองสามนาที แบบจำลองก็สร้างเกมทั้งสองเวอร์ชันที่ใช้งานได้

อย่างไรก็ตาม เมื่อได้รับมอบหมายให้สร้าง Asteroids ขึ้นมาใหม่ QwQ ก็พบกับความยากลำบาก แม้ว่าโค้ดที่สร้างขึ้นจะทำงาน แต่กราฟิกและกลไกของเกมมักจะบิดเบี้ยวและมีข้อบกพร่อง ในทางตรงกันข้าม R1 ในความพยายามครั้งแรก ได้สร้างเกมยิงอาร์เคดคลาสสิกขึ้นมาใหม่อย่างซื่อสัตย์

สิ่งสำคัญคือต้องพิจารณาข้อมูลการฝึกอบรมสำหรับแบบจำลองเหล่านี้ พวกเขาได้สัมผัสกับซอร์สโค้ดที่เปิดเผยต่อสาธารณะจำนวนมาก ซึ่งอาจรวมถึงการทำซ้ำของเกมคลาสสิก สิ่งนี้ทำให้เกิดคำถามว่าแบบจำลองนั้นเพียงแค่เรียกคืนข้อมูลที่เรียนรู้มาหรือไม่ แทนที่จะได้กลไกของเกมมาอย่างอิสระตั้งแต่เริ่มต้น สิ่งนี้เน้นย้ำถึงธรรมชาติพื้นฐานของเครือข่ายประสาทเทียมขนาดใหญ่เหล่านี้ ซึ่งความฉลาดที่ปรากฏมักเกิดจากการจดจำรูปแบบที่กว้างขวาง

แม้จะมีข้อจำกัดเหล่านี้ ประสิทธิภาพของ QwQ ในการสร้างเกมอาร์เคดคลาสสิกขึ้นมาใหม่นั้นน่าประทับใจ โดยเฉพาะอย่างยิ่งเมื่อพิจารณาจากจำนวนพารามิเตอร์ อาจไม่ตรงกับ R1 ในทุกการทดสอบ แต่ก็แสดงให้เห็นถึงระดับความสามารถที่น่าทึ่ง วลี “ไม่มีสิ่งใดมาทดแทนการกระจัดได้” ซึ่งมักใช้ในโลกยานยนต์ อาจเกี่ยวข้องกับที่นี่ สิ่งนี้อาจอธิบายได้ว่าทำไม Alibaba จึงพัฒนา QwQ เวอร์ชัน “Max” แม้ว่าจะไม่น่าจะสามารถทำงานบนฮาร์ดแวร์ของผู้บริโภคได้ในเร็วๆ นี้

เมื่อเทียบกับ R1 Qwen 2.5 32B distill ที่มีขนาดใกล้เคียงกันของ DeepSeek การตัดสินใจของ Alibaba ในการรวมเซิร์ฟเวอร์การดำเนินการโค้ดเข้ากับไปป์ไลน์การเรียนรู้แบบเสริมกำลังอาจทำให้ได้เปรียบในความท้าทายที่เกี่ยวข้องกับการเขียนโปรแกรม

คณิตศาสตร์: ความสามารถพร้อมข้อแม้

ในอดีต LLM มีปัญหากับคณิตศาสตร์ ซึ่งเป็นผลมาจากการฝึกอบรมที่เน้นภาษา แม้ว่าแบบจำลองที่ใหม่กว่าจะแสดงให้เห็นถึงการปรับปรุง แต่ QwQ ยังคงเผชิญกับความท้าทาย แม้ว่าจะไม่ใช่ด้วยเหตุผลที่ใครๆ อาจคาดหวังก็ตาม

QwQ แก้ปัญหาทางคณิตศาสตร์ทั้งหมดที่เคยถาม R1 ได้สำเร็จ สิ่งนี้บ่งชี้ว่า QwQ สามารถจัดการเลขคณิตพื้นฐานและแม้แต่พีชคณิตบางส่วนได้ อย่างไรก็ตาม ปัญหาอยู่ที่ประสิทธิภาพ การใช้ LLM สำหรับการคำนวณทางคณิตศาสตร์ดูเหมือนจะไม่สมเหตุสมผลเมื่อเครื่องคิดเลขและการคำนวณโดยตรงยังคงมีอยู่และเร็วกว่ามาก
ตัวอย่างเช่น การแก้สมการง่ายๆ เช่น 7*43 QwQ ต้องสร้างโทเค็นมากกว่า 1,000 โทเค็น โดยใช้เวลาประมาณ 23 วินาทีบน RTX 3090 Ti นี่เป็นงานที่สามารถทำได้บนเครื่องคิดเลขพกพาในเวลาเพียงเล็กน้อย

ความไร้ประสิทธิภาพจะยิ่งชัดเจนมากขึ้นด้วยการคำนวณที่มากขึ้น การแก้ 3394*35979 ซึ่งเป็นปัญหาการคูณที่เกินความสามารถของแบบจำลองที่ไม่ใช่การให้เหตุผลส่วนใหญ่ ทำให้อินสแตนซ์ในเครื่องของ QwQ ใช้เวลาสามนาทีและมากกว่า 5,000 โทเค็นในการคำนวณ

ก่อนการแก้ไข hyperparameter สมการเดียวกันต้องใช้เวลาเก้านาทีและเกือบ 12,000 โทเค็น

ประเด็นสำคัญที่นี่คือ แม้ว่าแบบจำลองอาจมีความสามารถในการบังคับให้ไปสู่คำตอบที่ถูกต้องได้ แต่นั่นไม่ได้หมายความว่าจะเป็นเครื่องมือที่เหมาะสมที่สุดสำหรับงานเสมอไป แนวทางที่เป็นประโยชน์มากกว่าคือการให้ QwQ เข้าถึงเครื่องคิดเลข Python สิ่งนี้ใช้ประโยชน์จากจุดแข็งของแบบจำลองในขณะที่ถ่ายโอนงานที่ต้องใช้การคำนวณมากไปยังเครื่องมือที่เหมาะสมกว่า

เมื่อได้รับมอบหมายให้แก้สมการ 3394*35979 เดียวกันโดยใช้เครื่องมือ เวลาตอบสนองของ QwQ ลดลงเหลือแปดวินาที เนื่องจากเครื่องคิดเลขจัดการงานหนัก

ความชุกของ “รอ”: ภาพรวมของกระบวนการคิด

การตรวจสอบ “ความคิด” ของ QwQ เผยให้เห็นการเกิดขึ้นบ่อยครั้งของคำว่า “รอ” โดยเฉพาะอย่างยิ่งในระหว่างงานที่ซับซ้อนหรือปัญหาคำ สิ่งนี้สะท้อนให้เห็นถึงกระบวนการภายในของแบบจำลองในการตรวจสอบงานกับผลลัพธ์ทางเลือก

แม้ว่าพฤติกรรมนี้เป็นเรื่องปกติในแบบจำลองการให้เหตุผล แต่ก็อาจน่าหงุดหงิดเป็นพิเศษเมื่อ QwQ สร้างคำตอบที่ไม่ถูกต้อง แม้ว่าจะแสดงให้เห็นถึงความเข้าใจในคำตอบที่ถูกต้องในระหว่างกระบวนการ “คิด” ก็ตาม

ปัญหานี้พบได้บ่อยในระหว่างการทดสอบ หนึ่งในตัวอย่างที่แสดงให้เห็นได้ชัดเจนที่สุดคือการดัดแปลงปัญหาหมาป่า แพะ และกะหล่ำปลีคลาสสิกของ AutoGen AI ปริศนานี้นำเสนอความท้าทายในการเพิ่มประสิทธิภาพการขนส่งด้วยการบิด:

วิธีแก้ปัญหาฝังอยู่ในข้อความแจ้ง: ด้วยช่องเก็บของที่ปลอดภัยสามช่อง เกษตรกรสามารถขนส่งสิ่งของทั้งหมดได้ในการเดินทางครั้งเดียว อย่างไรก็ตาม เนื่องจากปริศนามีความคล้ายคลึงกับเวอร์ชันคลาสสิก แบบจำลองจึงมักมองข้ามช่องต่างๆ

ในการทดสอบ QwQ ล้มเหลวในการแก้ปริศนานี้อย่างถูกต้องอย่างสม่ำเสมอ การตรวจสอบกระบวนการคิดเผยให้เห็นว่าไม่ได้มองข้ามช่องทั้งสามช่อง ในความเป็นจริง มันยอมรับพวกเขาแต่ปฏิเสธพวกเขาว่าเรียบง่ายเกินไป:

“เดี๋ยวก่อน ถ้าเกษตรกรสามารถนำทั้งสามอย่างไปในการเดินทางครั้งเดียวได้ เขาก็สามารถทำเช่นนั้นและเสร็จสิ้นได้ แต่นั่นจะทำให้ปัญหานั้นเล็กน้อย ซึ่งไม่น่าเป็นไปได้ ดังนั้นบางทีช่องอาจแยกจากกัน แต่เรือสามารถบรรทุกสิ่งของได้เพียงสองชิ้นบวกกับเกษตรกร?”

ไม่ว่าการทดสอบจะรันบนแบบจำลองเต็มรูปแบบในคลาวด์หรือในเครื่อง QwQ ก็พยายามแก้ปัญหานี้อย่างสม่ำเสมอ สิ่งนี้เน้นให้เห็นถึงข้อจำกัดที่อาจเกิดขึ้นในความสามารถในการให้เหตุผล ซึ่งอาจคิดมากเกินไปหรือตีความข้อจำกัดของปัญหาผิด

ความไวของ Hyperparameter: ความสมดุลที่ละเอียดอ่อน

เมื่อเทียบกับแบบจำลองอื่นๆ QwQ แสดงความไวต่อการกำหนดค่าที่เพิ่มขึ้น ในตอนแรก Alibaba แนะนำพารามิเตอร์การสุ่มตัวอย่างเฉพาะ:

  • อุณหภูมิ: 0.6
  • TopP: 0.95
  • TopK: ระหว่าง 20 ถึง 40

ต่อมา คำแนะนำเหล่านี้ได้รับการอัปเดตให้รวม:

  • MinP: 0
  • บทลงโทษการแสดงตน: ระหว่าง 0 ถึง 2

เนื่องจากข้อบกพร่องที่ชัดเจนในการจัดการพารามิเตอร์การสุ่มตัวอย่างของ Llama.cpp (Llama.cpp ใช้สำหรับการรันการอนุมานบนแบบจำลอง) จึงจำเป็นต้องปิดใช้งานการลงโทษซ้ำโดยตั้งค่าเป็น 1

ดังที่ได้กล่าวไว้ก่อนหน้านี้ การแก้ไขปัญหาการกำหนดค่าเหล่านี้ส่งผลให้เกิดการปรับปรุงที่สำคัญ ซึ่งลดจำนวนโทเค็น “การคิด” ที่จำเป็นในการหาคำตอบลงมากกว่าครึ่ง อย่างไรก็ตาม ข้อบกพร่องนี้ดูเหมือนจะเฉพาะเจาะจงกับรุ่น quantized GGUF ของแบบจำลองเมื่อทำงานบนเอ็นจิ้นการอนุมาน Llama.cpp ซึ่งใช้โดยแอปพลิเคชันยอดนิยม เช่น Ollama และ LM Studio

สำหรับผู้ใช้ที่วางแผนจะใช้ Llama.cpp ขอแนะนำให้ศึกษาคู่มือของ Unsloth ในการแก้ไขลำดับการสุ่มตัวอย่าง

เริ่มต้นใช้งาน QwQ: คู่มือปฏิบัติ

สำหรับผู้ที่สนใจทดลองใช้ QwQ การตั้งค่าใน Ollama นั้นค่อนข้างตรงไปตรงมา อย่างไรก็ตาม สิ่งสำคัญคือต้องทราบว่าต้องใช้ GPU ที่มี vRAM จำนวนมาก แบบจำลองทำงานได้สำเร็จบน 3090 Ti 24GB พร้อมหน้าต่างบริบทที่ใหญ่พอสำหรับการใช้งานจริง

แม้ว่าในทางเทคนิคแล้วจะเป็นไปได้ที่จะรันแบบจำลองบน CPU และหน่วยความจำระบบ แต่นี่อาจส่งผลให้เวลาตอบสนองช้ามาก เว้นแต่จะใช้เวิร์กสเตชันหรือเซิร์ฟเวอร์ระดับไฮเอนด์

ข้อกำหนดเบื้องต้น:

  1. เครื่องที่สามารถรัน LLM ขนาดกลางที่ quantization 4 บิต ขอแนะนำให้ใช้ GPU ที่เข้ากันได้กับ vRAM อย่างน้อย 24GB สามารถดูรายการการ์ดที่รองรับได้ ที่นี่
  2. สำหรับ Apple Silicon Macs ขอแนะนำให้ใช้หน่วยความจำขั้นต่ำ 32GB

คู่มือนี้ถือว่ามีความคุ้นเคยกับอินเทอร์เฟซบรรทัดคำสั่ง Linux-world และ Ollama

การติดตั้ง Ollama

Ollama เป็นตัวเรียกใช้แบบจำลองยอดนิยมที่ทำให้กระบวนการดาวน์โหลดและให้บริการ LLM บนฮาร์ดแวร์ของผู้บริโภคง่ายขึ้น สำหรับผู้ใช้ Windows หรือ macOS ให้ดาวน์โหลดและติดตั้งเหมือนแอปพลิเคชันอื่นๆ จาก ollama.com

สำหรับผู้ใช้ Linux Ollama มี one-liner ที่สะดวกสำหรับการติดตั้ง: