ข้ามไปเนื้อหาหลัก

Perplexity เผยเบื้องหลัง GPU Embedding Stack: Ivy, Tulip และ ROSE

เจาะลึกสถาปัตยกรรม GPU Embedding Stack ของ Perplexity ที่นำเคอร์เนล LLM มาประยุกต์ใช้ พร้อมระบบ Tulip, ROSE และ LazyTensor

เรียบเรียงโดย AI
Inewgen
06 Sep 2026ที่มา: MarkTechPost2 นาทีอ่าน (0 ครั้ง)
แชร์
Perplexity เผยเบื้องหลัง GPU Embedding Stack: Ivy, Tulip และ ROSE

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • Perplexity นำเคอร์เนล prefill และ decode จาก LLM มาใช้กับโมเดล embedding โดยไม่สร้างเอนจิ้นแยก
  • ระบบ Tulip จัดการคิวแบบ first-come, first-served เหมาะกับโมเดลขนาดเล็กที่มีต้นทุนจากเลเยอร์หนาแน่น
  • ใช้ CUDA graphs ทั้งโมเดลเพื่อลดปัญหาคอขวดจากการรันเคอร์เนลบน CPU
  • ระบบ LazyTensor ช่วยให้งาน async ในภาษา Rust ทำงานร่วมกับ CUDA ได้อย่างไร้รอยต่อ

ทีมงาน Perplexity เปิดเผยรายละเอียดสถาปัตยกรรมระบบ embedding บนหน่วยประมวลผลกราฟิก (GPU) ซึ่งปัจจุบันมีความใกล้เคียงกันในฮาร์ดแวร์รุ่นใหม่อย่าง Hopper และ Blackwell โดยจุดได้เปรียบสำคัญอยู่ที่รันไทม์และการจัดการรอบตัวโมเดล เช่น การจัดการ CUDA graph, ระบบติดตามผลแบบอะซิงโครนัส และเส้นทางคำขอด้วยภาษา Rust

งานด้าน embedding ถูกแบ่งออกเป็นสองประเภทหลัก ได้แก่ การทำ batch embedding สำหรับสร้างหรือจัดทำดัชนีเวกเตอร์ฐานข้อมูลใหม่ที่เน้นปริมาณงาน และ online embedding สำหรับการฝังคำขอสั้นๆ ในเวลาค้นหาแบบเรียลไทม์ ขณะที่งานให้คะแนน (scoring) จะอยู่ตรงกลางระหว่างสองรูปแบบนี้

การที่ Perplexity เลือกนำเคอร์เนลจาก LLM stack มาใช้ซ้ำ ถือเป็นกลยุทธ์ทางวิศวกรรมที่ช่วยประหยัดเวลาและทรัพยากรได้อย่างมหาศาล เนื่องจากโมเดล embedding ขนาดเล็กมีพฤติกรรมการประมวลผลที่คล้ายคลึงกับโมเดลภาษาขนาดใหญ่ ทำให้ไม่ต้องลงทุนพัฒนาโครงสร้างพื้นฐานใหม่ตั้งแต่ต้น

gpu chip microchip hardware tech background

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ระบบ Tulip ของ Perplexity เลือกจัดลำดับลำดับชุดข้อมูลแบบมาถึงก่อนให้บริการก่อน (first-come, first-served) เนื่องจากต้นทุนเชิงเส้นของเลเยอร์หนาแน่น (dense layers) มีผลมากกว่าต้นทุนเชิงกำลังสองของความสนใจ (attention) ในโมเดลขนาดเล็ก ทำให้อัตราความหน่วงแปรผันตามจำนวนโทเค็นเป็นหลัก

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

512โทเค็นจุดอิ่มตัว GPU สำหรับโมเดลขนาดเล็กกว่าหนึ่งพันล้านพารามิเตอร์
64/256ขนาดบัคเก็ตโทเค็นสำหรับการทำแพดดิ้ง CUDA graphs

เพื่อแก้ปัญหาคอขวดที่การสั่งรันเคอร์เนลจากฝั่ง CPU ใช้เวลานานกว่าการประมวลผลบน GPU ในชุดข้อมูลขนาดเล็ก Perplexity จึงสร้าง CUDA graphs สำหรับโมเดล embedding ทั้งหมด พร้อมนำระบบ Lazy capture มาช่วยกระจายเวลาการเริ่มต้นทำงาน และใช้งาน LazyTensor เพื่อให้ทาสก์แบบ async ในภาษา Rust รอชุดข้อมูลชุดที่ N ได้ในขณะที่ CPU กำลังเตรียมข้อมูลชุดที่ N+1

"Perplexity benchmarks against vLLM v0.22.0 in BF16 on real weights and eval-derived inputs, with warmup runs verifying cosine similarity divergence within 0.1%."

MarkTechPost

ในส่วนของระบบ ROSE ทำหน้าที่รองรับแบ็กเอนด์ความสนใจที่หลากหลาย เช่น FlashInfer 2, FlashInfer 3 และ FlashAttention 4 ซึ่งจะมีการเลือกใช้งานตามความเหมาะสมของโมเดลแต่ละประเภท เช่น การใช้ FlashInfer 3 สำหรับโมเดลตระกูล Qwen ในลำดับความยาวมากๆ โดยไม่มีการสร้าง KV cache เพื่อป้องกันการเกิดแพดดิ้ง

ที่มา: MarkTechPost

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้