4 คะแนน โดย GN⁺ 2025-01-29 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • Qwen2.5-1M เป็นโมเดลโอเพนซอร์สประสิทธิภาพสูงที่รองรับความยาวคอนเท็กซ์ได้ถึง 1M โทเค็น และเป็นการพัฒนาต่อยอดจาก Qwen2.5-Turbo ที่เปิดตัวไปเมื่อ 2 เดือนก่อน
  • เปิดเผยเช็กพอยต์ 2 รุ่น: Qwen2.5-7B-Instruct-1M และ Qwen2.5-14B-Instruct-1M
    • เป็นครั้งแรกของโมเดล Qwen ที่รองรับคอนเท็กซ์ 1M โทเค็น
  • เปิดเผยเฟรมเวิร์กสำหรับอนุมานผล: ให้เฟรมเวิร์กอนุมานผลที่ปรับแต่งบนพื้นฐาน vLLM โดยผสานเทคนิค sparse attention เพื่อประมวลผลอินพุต 1M โทเค็นได้ เร็วขึ้น 3~7 เท่า
  • เปิดเผยรายงานทางเทคนิค: แชร์รายงานทางเทคนิคโดยละเอียดเกี่ยวกับการออกแบบเฟรมเวิร์กการฝึกและการอนุมานผล รวมถึงผลการทดลอง

ประสิทธิภาพของโมเดล

งานคอนเท็กซ์ยาว

  • การประเมิน Passkey Retrieval: ดึงข้อมูลจากเอกสาร 1M โทเค็นได้อย่างแม่นยำ โดยโมเดล Qwen2.5-7B มีข้อผิดพลาดเล็กน้อย ส่วน Qwen2.5-14B ยังคงรักษาความแม่นยำได้สูง
  • การประเมินงานที่ซับซ้อน:
    • ใน RULER, LV-Eval, LongbenchChat เป็นต้น โมเดล Qwen2.5-1M ทำผลงานได้ดีกว่าโมเดล 128K
    • โดยเฉพาะ Qwen2.5-14B มีประสิทธิภาพโดยรวมสูงกว่าแม้เมื่อเทียบกับ GPT-4o-mini

งานคอนเท็กซ์สั้น

  • ในงานคอนเท็กซ์สั้น โมเดล Qwen2.5-1M ยังคงรักษาประสิทธิภาพได้เทียบเท่ากับเวอร์ชัน 128K
  • ให้ประสิทธิภาพในงานคอนเท็กซ์สั้นใกล้เคียงกับ GPT-4o-mini ขณะเดียวกันก็รองรับคอนเท็กซ์ที่ยาวขึ้นได้สูงสุด 8 เท่า

เทคโนโลยีหลัก

การฝึกคอนเท็กซ์ยาว

  • ขยายความยาวคอนเท็กซ์แบบค่อยเป็นค่อยไปจาก 4K ไปเป็น 256K
  • ใช้การปรับจูนบนพื้นฐาน RoPE, การฝึกแบบเป็นขั้นตอน และ reinforcement learning
  • รองรับการขยายไปสู่คอนเท็กซ์ 1M โทเค็นด้วยเทคนิค Dual Chunk Attention(DCA)
  • DCA รักษาความแม่นยำสูงในข้อความยาวได้แม้ไม่ต้องฝึกเพิ่มเติม

Sparse Attention

  • นำ sparse attention บนพื้นฐาน MInference มาใช้
  • Chunked Prefill แบบบูรณาการ: ลดการใช้หน่วยความจำลง 96.7%
  • Length Extrapolation แบบบูรณาการ: ผสานกับ DCA เพื่อเพิ่มทั้งความแม่นยำและประสิทธิภาพในการอนุมานผล
  • Sparsity Refinement on Long Sequences: ใช้คอนฟิกการทำให้ sparse ที่ปรับแต่งมาเพื่อลดการสูญเสียประสิทธิภาพในข้อความยาวให้น้อยที่สุด
  • ส่งผลให้ความเร็วในการอนุมานผลที่ความยาว 1M โทเค็นเพิ่มขึ้น 3.2 เท่า~6.7 เท่า

การติดตั้ง Qwen2.5-1M ในสภาพแวดล้อมโลคัล

ความต้องการของระบบ

  • CUDA 12.1/12.3, Python 3.9~3.12
  • ข้อกำหนด VRAM:
    • Qwen2.5-7B: 120GB ขึ้นไป
    • Qwen2.5-14B: 320GB ขึ้นไป

การติดตั้งและการรัน

  1. โคลนรีโพซิทอรี vLLM แล้วติดตั้ง
  2. เริ่มต้นบริการ API ที่เข้ากันได้กับ OpenAI
  3. สามารถโต้ตอบกับโมเดลผ่าน Curl หรือ Python ได้

ทิศทางต่อจากนี้

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

3 ความคิดเห็น

 
yangeok 2025-01-30

รันในเครื่องแล้วจะรองรับภาษาเกาหลีได้ดีไหมนะ

 
GN⁺ 2025-01-29
ความคิดเห็นจาก Hacker News
  • สำหรับการเขียนโค้ดด้วย AI หน้าต่างคอนเท็กซ์ที่ใหญ่มากไม่ได้มีประโยชน์จริงนัก เมื่อป้อนเกินราว 25-30k โทเค็น โมเดลจะเริ่มสับสน

    • ปัญหานี้เกิดขึ้นกับ gpt-4o, Sonnet, DeepSeek และรุ่นอื่น ๆ
    • ผู้ใช้จำนวนมากรายงานปัญหานี้ และมีการทำหน้าช่วยเหลือเฉพาะขึ้นมาเพื่อแก้ปัญหา
    • คอนเท็กซ์ขนาดใหญ่อาจมีประโยชน์กับงานบางประเภทที่มีคอนเท็กซ์ "มูลค่าต่ำ" จำนวนมาก แต่สำหรับงานเขียนโค้ดอาจก่อปัญหาได้
  • Ollama มีพารามิเตอร์ num_ctx สำหรับควบคุมความยาวของหน้าต่างคอนเท็กซ์ โดยค่าเริ่มต้นคือ 2048

    • มีเคล็ดลับในการรันบน macOS โดยใช้ MLX
  • มีการพูดคุยเกี่ยวกับเทคโนโลยีล้ำสมัยล่าสุด (SOTA) ของการประมวลผลที่มีหน่วยความจำเป็นศูนย์กลาง

    • อาจต้องมีพาราไดม์ใหม่เพื่อลดต้นทุนหน่วยความจำของ AI
    • อาจมีวิธีเชื่อม DRAM กับ optical interconnects
    • สงสัยว่ามีสิ่งที่ให้ความสามารถคล้ายทรานส์ฟอร์เมอร์แต่ไม่พึ่งพาลำดับหรือไม่
  • อยากยืนยันว่าโมเดลรันโลคัลตัวแรกที่มีความยาวคอนเท็กซ์เกิน 128K ได้กระโดดไปที่ 1M เลยหรือไม่

  • อยากฟังความเห็นจากคนที่รันพรอมป์ต์ยาว ๆ บน Mac ได้สำเร็จ

  • โมเดลแบบ API-only ที่มีหน้าต่างคอนเท็กซ์ 1M เปิดตัวในเดือนพฤศจิกายน

  • เคยได้ยินข่าวลือเรื่องความยาวคอนเท็กซ์แบบเนทีฟ แต่ไม่แน่ใจว่าเป็น 1M จริงหรือไม่

    • โมเดลอย่าง llama3 8b ถูกพูดว่ามีคอนเท็กซ์ใหญ่กว่า แต่ในความเป็นจริงไม่เป็นเช่นนั้น
    • บน vram 16gb การจะเกิน 8k นั้นทำได้ยาก
  • ทุกคนกำลังทำให้หน้าต่างคอนเท็กซ์ใหญ่ขึ้นเรื่อย ๆ แต่ก็ควรคิดเรื่องเอาต์พุตด้วย

    • อยากสร้างโค้ดหลายพันบรรทัด และสงสัยว่ามีเคล็ดลับอะไรบ้าง