AI อะไรเนี่ย

Tools

AWS เปิดตัวการอนุมาน LLM แบบกระจายศูนย์ด้วย llm-d

AWS เปิดตัวการอนุมาน LLM แบบกระจายศูนย์ด้วย llm-d

ช่วงนี้กระแส AI มาแรงมากๆ การนำ LLM ไปใช้งานจริงในระดับใหญ่ก็มีแต่จะเพิ่มขึ้นเรื่อยๆ แต่รู้ไหมว่าการทำให้ LLM ทำงานได้เร็วและประหยัดค่าใช้จ่ายนี่ไม่ใช่เรื่องง่ายเลย AWS เข้าใจปัญหานี้ดี เลยร่วมมือกับทีม llm-d พัฒนาโซลูชันใหม่ที่เรียกว่า Disaggregated Inference เพื่อแก้ Pain Point เหล่านี้

วันนี้ AWS ได้เปิดตัวความสามารถในการอนุมาน LLM แบบกระจายศูนย์ (Disaggregated Inference) ที่ขับเคลื่อนด้วยเฟรมเวิร์กโอเพนซอร์ส llm-d ซึ่งออกแบบมาเพื่อช่วยเพิ่มประสิทธิภาพสูงสุด ใช้ GPU ให้คุ้มค่า และลดต้นทุนในการรัน LLM ขนาดใหญ่ โดยเฉพาะอย่างยิ่งในเวิร์กโหลดการอนุมานขนาดใหญ่ (large-scale inference workloads) ใครที่กำลังปวดหัวกับการปรับใช้ LLM ที่ต้องใช้ทรัพยากรเยอะๆ ต้องอ่านเลยนะ! อ่านรายละเอียดเพิ่มเติมได้ที่ Introducing Disaggregated Inference on AWS

llm-d คืออะไร?

llm-d คือเฟรมเวิร์กโอเพนซอร์สที่ออกแบบมาสำหรับ Large Language Model (LLM) serving แบบกระจายศูนย์ (distributed) ซึ่งทำงานบน Kubernetes โดยเฉพาะ โดยพื้นฐานแล้ว llm-d สร้างขึ้นบน vLLM ซึ่งเป็นเอนจินอนุมานที่ได้รับความนิยมอยู่แล้ว แต่ llm-d จะขยายความสามารถหลักของ vLLM ด้วยการเพิ่ม:

  • Orchestration ระดับ Production: ทำให้การจัดการ LLM ในสภาพแวดล้อมการผลิตง่ายขึ้น
  • การจัดตารางเวลาขั้นสูง (Advanced Scheduling): ช่วยให้ LLM สามารถใช้ทรัพยากรได้อย่างมีประสิทธิภาพ
  • รองรับ High-Performance Interconnect: เพื่อรองรับการทำงานของโมเดลขนาดใหญ่แบบ Multi-node ได้อย่างราบรื่น

แทนที่จะมองว่าการอนุมานเป็นปัญหาที่ต้องรันบนโหนดเดียว llm-d ได้นำเสนอสถาปัตยกรรมแบบ disaggregated serving ที่แยกและปรับแต่งขั้นตอนต่างๆ เช่น prefill, decode และการจัดการ KV-cache ออกจากกัน แล้วกระจายไปตามทรัพยากร GPU ที่แตกต่างกัน นี่แหละคือหัวใจสำคัญของการเพิ่มประสิทธิภาพ!

ทำไมถึงต้องมี Disaggregated Inference?

การอนุมาน LLM ปกติจะแบ่งออกเป็น 2 เฟสหลักๆ คือ:

  1. Prefill Phase: เป็นช่วงที่ต้องใช้คอมพิวเตอร์เยอะ (compute-bound) เพราะต้องประมวลผลอินพุตพรอมต์ทั้งหมดพร้อมกัน เพื่อสร้างชุดข้อมูล Key-Value (KV) cache เริ่มต้น
  2. Decode Phase: เป็นช่วงที่หน่วยความจำมีบทบาทสำคัญ (memory-bound) เพราะต้องสร้างโทเค็นออกมาทีละตัวแบบอัตโนมัติ และต้องการแบนด์วิดท์หน่วยความจำสูงเพื่อเข้าถึง Model Weights และ KV cache ที่ขยายใหญ่ขึ้นเรื่อยๆ

ปัญหาคือ การ deploy แบบเดิมๆ มักจะให้ทั้งสองเฟสนี้ใช้ฮาร์ดแวร์ชุดเดียวกัน ทำให้ไม่สามารถ optimize แต่ละเฟสได้อย่างอิสระ ผลก็คือ GPU อาจจะถูกใช้งานไม่เต็มที่หรือไม่ก็โอเวอร์โหลดในช่วงที่ต่างกัน

การแยกเฟสเหล่านี้ออกจากกันโดย llm-d ทำให้เราสามารถปรับแต่งแต่ละเฟสได้อย่างอิสระ ตัวอย่างเช่น ถ้า output context length ยาวกว่า input เราก็สามารถจัดสรร GPU ให้กับส่วน decode มากกว่า prefill ได้ หรือจะใช้ฮาร์ดแวร์คนละชนิดที่เหมาะกับลักษณะงานของแต่ละเฟสก็ได้เลย ช่วยให้ Time to First Token (TTFT) และ throughput โดยรวมดีขึ้นอย่างเห็นได้ชัด โดยเฉพาะกับงานที่มี prompts ยาวๆ หรือใช้โมเดลขนาดใหญ่

ฟีเจอร์เด่นๆ ของ llm-d บน AWS

AWS ร่วมมือกับทีม llm-d อย่างใกล้ชิดมาหลายเดือน เพื่อให้ลูกค้าสามารถเข้าถึงความสามารถอันทรงพลังนี้บน AWS ได้อย่างราบรื่น:

  • คอนเทนเนอร์ใหม่เฉพาะ AWS: มีคอนเทนเนอร์ ghcr.io/llm-d/llm-d-aws ที่รวมไลบรารีเฉพาะของ AWS เข้าไป เช่น Elastic Fabric Adapter (EFA) และ libfabric เพื่อประสิทธิภาพการเชื่อมต่อเครือข่ายความเร็วสูง
  • รองรับ Multi-Node และ Expert Parallelism: llm-d ทำงานร่วมกับไลบรารี NIXL เพื่อรองรับการอนุมานแบบกระจายศูนย์บนหลายโหนด และ Expert Parallelism ซึ่งเป็นสิ่งสำคัญสำหรับโมเดล Mixture-of-Experts (MoE) ขนาดใหญ่
  • พร้อมใช้งานบน Kubernetes ของ AWS: ความสามารถเหล่านี้พร้อมให้ใช้งาน "out of the box" บนระบบ Kubernetes ของ AWS เช่น Amazon SageMaker HyperPod และ Amazon Elastic Kubernetes Service (Amazon EKS)
  • การจัดตารางเวลาอนุมานที่ชาญฉลาด (Intelligent Inference Scheduling): llm-d มีกลไกการจัดตารางเวลาที่พยายามคาดเดาตำแหน่งของ requests ใน KV-cache เพื่อช่วยในการตัดสินใจเลือกเส้นทาง (routing) ที่เหมาะสมที่สุดในสภาพแวดล้อมที่มีหลาย replica ทำให้การใช้แคชมีประสิทธิภาพสูงสุด โดยเฉพาะในเวิร์กโหลดที่มีการนำ prefix กลับมาใช้ซ้ำสูง เช่น การสนทนาหลายรอบ หรือ agentic workflows

ประโยชน์ที่จะได้รับ

การใช้ llm-d บน AWS จะช่วยให้คุณ:

  • เพิ่มประสิทธิภาพ: ทำให้การอนุมาน LLM ทำงานได้เร็วขึ้นอย่างเห็นได้ชัด
  • ใช้ GPU ได้คุ้มค่าที่สุด: ลดปัญหา GPU ว่าง หรือโอเวอร์โหลด
  • ลดต้นทุน: ด้วยการใช้ทรัพยากรอย่างมีประสิทธิภาพมากขึ้น
  • ปรับขนาดได้ง่าย: รองรับการใช้งาน LLM ในระดับ production ขนาดใหญ่

สำหรับใครที่อยากรู้ลึกกว่านี้ หรืออยากลองนำ llm-d ไปใช้กับโปรเจกต์ของตัวเอง

อ่านต่อ: Introducing Disaggregated Inference on AWS powered by llm-d เพื่อดูรายละเอียดทางเทคนิคและวิธีการเริ่มต้นใช้งานได้เลย!