- ทีมวิจัย Qwen ของ Alibaba เปิดตัว Qwen2.5-Coder ซีรีส์ LLM โอเพนซอร์ส (ไลเซนส์ Apache 2.0)
- มีการอ้างว่าโมเดล Qwen2.5-Coder-32B-Instruct มี ความสามารถด้านการเขียนโค้ดระดับ GPT-4o
- โมเดล 32B มีขนาดค่อนข้างเล็กพอที่จะรันได้แม้บน MacBook Pro M2 64GB
- ในผลการทดสอบเบนช์มาร์ก ทำคะแนนได้ใกล้เคียงหรือสูงกว่าโมเดล GPT-4o และ Claude 3.5 Sonnet
การเปรียบเทียบประสิทธิภาพเบนช์มาร์ก
- โมเดล Qwen2.5-Coder-32B-Instruct โดดเด่นในเบนช์มาร์กต่อไปนี้:
- ใน LiveCodeBench, Spider, BIRD-SQL ทำผลงานได้ดีกว่า GPT-4o และ Claude 3.5 Sonnet
- ใน MBPP, Aider, CodeArena ประสิทธิภาพตามหลังเล็กน้อย
- ใน HumanEval, McEval แสดงประสิทธิภาพในระดับใกล้เคียงกัน
ประสิทธิภาพในเบนช์มาร์ก Aider
- ยังทำผลงานได้ดีใน Aider benchmark ของ Paul Gauthier
- ในเบนช์มาร์ก "Whole edit" นั้น Qwen2.5-Coder-32B-Instruct ทำผลงานอยู่ ระหว่าง GPT-4o กับ 3.5 Haiku
- การเปรียบเทียบคะแนน:
- 3.5 Sonnet: 84%
- 3.5 Haiku: 75%
- Qwen2.5-Coder 32B: 74%
- GPT-4o: 71%
- Qwen2.5-Coder 14B: 69%
- Qwen2.5-Coder 7B: 58%
- ในเบนช์มาร์ก "Diff" ทำคะแนน เท่ากับ GPT-4o แต่ ตามหลัง Claude 3.5 Haiku เล็กน้อย
การทดสอบรัน Qwen2.5-Coder บน Mac
- ผู้ใช้ลองรันโมเดล Qwen2.5-Coder-32B-Instruct-GGUF Q8 ด้วย llm-gguf แต่เนื่องจากไม่ได้ใช้ GPU จึง ทำงานช้า
- เวอร์ชัน Ollama และ MLX ทำงานได้ดีบน MacBook
- วิธีติดตั้ง Ollama:
- ดาวน์โหลดไฟล์ควอนไทซ์ขนาด 20GB ด้วยคำสั่ง
ollama pull qwen2.5-coder:32b
- สำหรับคำขอให้สร้างฟังก์ชัน Python นั้น ทำงานได้สำเร็จ ยกเว้นปัญหา ssl
- การใช้งาน MLX:
- ใช้ เฟรมเวิร์ก MLX ของ Apple Silicon เพื่อเพิ่มประสิทธิภาพ
- รันโค้ดสร้าง Mandelbrot fractal ในเทอร์มินัลและแสดงผลเป็น ASCII art ได้สำเร็จ
- ตัวชี้วัดประสิทธิภาพ:
- ความเร็วในการสร้างโทเค็น: 10.016 tokens/sec
- การใช้หน่วยความจำ: สูงสุด 32.685GB
การทดสอบเพิ่มเติม: เบนช์มาร์ก Pelican on a bicycle
- รันคำขอ
llm -m qwen2.5-coder:32b 'Generate an SVG of a pelican riding a bicycle'
- ผลลัพธ์เป็นภาพ SVG ของนกกระทุงและจักรยานที่ รูปร่างไม่ชัดเจน แต่ก็น่าสนใจในแง่ประสบการณ์ผู้ใช้
บทสรุปและประสบการณ์ผู้ใช้
- การใช้หน่วยความจำ 32GB อยู่ในระดับที่รันบน Mac ได้ และยังใช้งานได้โดยไม่ต้องปิดแอปอื่น
- ในด้าน ความเร็วและคุณภาพผลลัพธ์ ถือว่าแข่งขันกับโมเดลที่โฮสต์อยู่ในปัจจุบันได้
- เนื่องจากการใช้งาน LLM ของผู้ใช้ 80% เกี่ยวข้องกับการเขียนโค้ด จึงมองว่า Qwen2.5-Coder เป็นการปรับปรุงที่มีความหมาย
1 ความคิดเห็น
แม้จะต่างจากกรณีใช้งานของผู้ใช้สายโค้ดอยู่บ้าง แต่ผมก็ยังทึ่งว่าโหมด JSON ของ Claude เขาทำกันอย่างไร โมเดลที่โฮสต์บางตัว ต่อให้ชี้นำให้สร้างผลลัพธ์เป็น JSON ก็ยังทำออกมาเป็น JavaScript ที่มีคอมเมนต์หรือข้อความแบบ Markdown อยู่เลย จากประสบการณ์ที่เคยลองใช้โมเดลแบบโฮสต์มาหลายครั้ง ผมรู้สึกว่าการใช้บริการแบบ managed service ให้ผลลัพธ์ที่น่าพอใจกว่า ดูเหมือนว่ายังมีอะไรบางอย่างที่โมเดลแบบโฮสต์ทำเองไม่ได้อยู่