3 คะแนน โดย GN⁺ 2025-07-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • คู่มือ LLM Inference ให้คำแนะนำแบบครอบคลุมเกี่ยวกับ แนวคิดหลักและเทคนิคการเพิ่มประสิทธิภาพ ที่จำเป็นสำหรับ LLM inference ในสภาพแวดล้อม production จริง
  • ให้ข้อมูลสำคัญต่อการทำงานจริง เช่น ตัวชี้วัดด้านประสิทธิภาพ (เช่น Time to First Token, Tokens per Second) และ แนวปฏิบัติที่ดีด้านการปฏิบัติการ
  • อธิบาย วิธีการเพิ่มประสิทธิภาพ สมัยใหม่อย่างละเอียด เช่น continuous batching, prefix caching
  • รวบรวม องค์ความรู้ด้าน LLM inference ที่กระจัดกระจาย ไว้ในที่เดียว เพื่อเพิ่มความเข้าใจและการนำไปใช้ของนักพัฒนา
  • คู่มือได้รับการอัปเดตอย่างต่อเนื่องโดยสะท้อน ข้อมูลภาคสนามล่าสุดและวิธีการที่พิสูจน์แล้วเชิงประจักษ์

แนะนำคู่มือ LLM Inference

LLM Inference in Production เป็นการรวม อภิธานศัพท์ทางเทคนิค, คู่มือ, และหนังสืออ้างอิง ไว้ในหนึ่งเดียว
ในคู่มือนี้มีการอธิบายอย่างละเอียดถึงสิ่งที่ต้องรู้ในการทำงานจริง เช่น แนวคิดพื้นฐานของ LLM inference, ตัวชี้วัดด้านประสิทธิภาพ, เทคนิคการเพิ่มประสิทธิภาพ (continuous batching, prefix caching เป็นต้น), แนวปฏิบัติที่ดีด้านการปฏิบัติการ

  • ให้คำแนะนำเชิงปฏิบัติจริงสำหรับ การ deploy, scale, และ operation ของ LLM ในสภาพแวดล้อม production
  • ตัดข้อยกเว้นที่ไม่สมจริงหรือรายละเอียดทางเทคนิคที่ไม่จำเป็นออกไป และโฟกัสที่ ประเด็นสำคัญในภาคสนาม
  • แนะนำ เทคนิคการปรับปรุงประสิทธิภาพที่เหมาะกับแต่ละ use case ซึ่งช่วยยกระดับ performance ได้จริง
  • อัปเดตแนวโน้มล่าสุดของอุตสาหกรรมและ อินไซต์ที่ผ่านการพิสูจน์ในการทำงานจริง อย่างต่อเนื่อง

ที่มาของการเขียน

นักพัฒนามักค้นหาข้อมูลเกี่ยวกับ LLM inference ได้ยาก หรือพบว่าข้อมูลกระจัดกระจายอยู่หลายแหล่ง จึงเกิด ปัญหาความรู้ที่แตกเป็นเสี่ยง ๆ
ทีมผู้เขียนคู่มือได้รวบรวมเนื้อหาที่กระจายอยู่ตามงานวิจัย, บล็อกของผู้ให้บริการ, GitHub issues, บทสนทนาใน Discord เป็นต้น เพื่อจัดระเบียบให้เข้าใจได้ในครั้งเดียวเกี่ยวกับ

  • ความแตกต่างระหว่างการเทรน LLM กับ inference
  • ความสัมพันธ์ระหว่าง Goodput กับการบรรลุ SLO
  • การใช้งานจริงของเทคนิค Prefill-Decode separation เป็นต้น

ผู้อ่านเป้าหมาย

คู่มือนี้จัดทำขึ้นสำหรับ วิศวกรที่ deploy, scale, และดูแล operation ของ LLM ในสภาพแวดล้อม production
ตั้งแต่การ fine-tune โมเดลเปิดขนาดเล็กไปจนถึงการดูแลโครงสร้างพื้นฐานขนาดใหญ่ของตนเอง

  • โดยมีผู้อ่านหลักคือทุกคนที่ต้องการทำให้ LLM inference เร็วขึ้น ถูกลง และเชื่อถือได้มากขึ้น

วิธีใช้งาน

คู่มือนี้สามารถอ่านตั้งแต่ต้นจนจบ หรือใช้งานแบบ ค้นหาเฉพาะส่วนที่ต้องการเหมือนหนังสืออ้างอิง ได้
ไม่มีลำดับการเริ่มต้นหรือวิธีใช้ที่กำหนดตายตัว และ

  • มีแผนจะเพิ่ม/อัปเดตเนื้อหาล่าสุดอย่างต่อเนื่องให้ทันกับ ความเปลี่ยนแปลงอย่างรวดเร็วของวงการ LLM inference

การมีส่วนร่วม

ยินดีรับการแจ้งข้อผิดพลาด ข้อเสนอแนะเพื่อปรับปรุง และการเพิ่มหัวข้อใหม่

  • ทุกคนสามารถมีส่วนร่วมได้ผ่านการเปิด issue หรือ ส่ง Pull Request ไปยัง GitHub repository

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

 
GN⁺ 2025-07-12
ความคิดเห็นบน Hacker News
  • สวัสดีครับ ผมเป็นหนึ่งในผู้ดูแลหลักของโปรเจกต์นี้ รู้สึกยินดีและเป็นเกียรติมากที่โปรเจกต์ของเราได้ถูกแนะนำบน Hacker News เหตุผลที่ทำแฮนด์บุ๊กนี้ขึ้นมาก็เพื่อให้นักพัฒนาที่สร้างแอปพลิเคชัน LLM ใช้งานจริงสามารถเข้าถึงแนวคิดเรื่อง LLM inference ได้ง่าย เราตั้งใจรวบรวมความรู้ที่กระจัดกระจายอยู่หลายแห่งให้ชัดเจน ใช้งานได้จริง และต่อยอดได้ดี จะปรับปรุงต่อไปเพื่อให้เป็นแฮนด์บุ๊กที่ดียิ่งขึ้น และยินดีรับฟีดแบ็กอย่างเต็มที่ หวังว่าจะลองดู GitHub repository ด้วย
    • ขอบคุณมากที่สรุปไว้แบบนี้ มีคำถามหนึ่งครับ ถ้าดูภาพที่นิยาม TTFT และ ITL ในภาพนี้ จะเหมือนกับว่าโมเดลสร้างโทเค็น 4 ตัวตั้งแต่ T0 ถึง T3 ก่อนแล้วค่อยส่งออกโทเค็นผลลัพธ์หนึ่งตัว ผมคิดว่าภาพนี้เหมาะกับการอธิบาย ITL มากกว่า ส่วน TTFT นั้น ในขั้น decode น่าจะมีแค่ T0 ออกมาแล้วไป detokenization ทันทีเพื่อให้โทเค็นผลลัพธ์ตัวแรกมาถึงได้เลย (โดยเฉพาะในสภาพแวดล้อมแบบสตรีมมิง ไม่เช่นนั้นการวัด TTFT ก็จะไม่มีความหมาย)
    • ผมไม่ได้คิดจะเปิด issue แยก แต่หวังว่าในส่วน self-hosting ของแฮนด์บุ๊กจะมีการแนะนำโอเพ่นซอร์สสำหรับ inference แบบ self-hosting ในเครื่องอย่างชัดเจน เช่น llama.cpp
    • ชอบที่แฮนด์บุ๊กนี้มีประโยชน์และจัดระเบียบได้ดี แต่เนื้อหาถูกแยกเป็นหน้าสั้น ๆ มากเกินไป ทำให้อ่านบนมือถือไม่สะดวกเพราะสารบัญไม่แสดงโดยค่าเริ่มต้น ผมอ่านได้ไม่กี่หน้าก็หยุด อย่างน้อยอยากให้รวมเป็นหน้าเดียวต่อหนึ่งเซกชันก็ยังดี
    • งานยอดเยี่ยมมาก และทำออกมาสวย ใช้งานได้ดี
  • ดีไซน์ก็สวยมากเหมือนกัน เลยอยากถามว่ากระแสหรือชื่อเรียกของงานออกแบบที่ใช้บนเว็บไซต์นี้คืออะไร ผมชอบดีไซน์ของเว็บไซต์นี้มากจริง ๆ
    • ดูเหมือนว่าจะใช้เฟรมเวิร์ก CSS พื้นฐานชื่อ Infima ซึ่งเป็นเฟรมเวิร์ก CSS ดีฟอลต์ของ Docusaurus และใช้ system font stack ตามเดิม โดย font-family คือ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif
  • หวังว่าในอนาคตจะมีเนื้อหาเกี่ยวกับ Structured outputs/Guided generation และ sampling เพิ่มด้วย สำหรับแหล่งอ้างอิงเพิ่มเติมที่แนะนำอัลกอริทึมด้าน sampling ในขั้น inference ก็มีที่นี่ที่น่าอ่าน
    • ว้าว เอกสารสรุปเรื่อง sampling นี้ละเอียดมากจริง ๆ
  • ดีใจมากที่มีแฮนด์บุ๊กแบบนี้ออกมา เข้าใจได้ว่าจากข้อมูลสาธารณะจะมีความสนใจและความตื่นเต้นเรื่องการฝึกโมเดลสูงมาก แต่การรันและดูแลโมเดลให้ดีในทางปฏิบัติก็สำคัญมากเช่นกัน ถ้าจะนำไปใช้ในแอปพลิเคชันหลากหลายแบบอย่างกว้างขวาง ความรู้ด้านการใช้งานและการปฏิบัติการจะยิ่งจำเป็นมากขึ้นเรื่อย ๆ
  • ขอบคุณที่รวบรวมและจัดระเบียบไว้แบบนี้ ต่อไปคงแชร์ลิงก์เดียวนี้ให้คนที่สนใจไปเรียนรู้ได้เลย มีข้อเสนออย่างหนึ่งคือ ในหน้า "OpenAI-compatible API" อยากให้เพิ่มตัวอย่างการเรียกแบบ REST ล้วน ๆ โดยไม่ใช้แพ็กเกจ OpenAI ด้วย
  • ที่จำได้เกี่ยวกับ BentoML คือเดิมเหมือนจะเกี่ยวกับ MLOps และผมเคยลองใช้เมื่อประมาณ 1 ปีก่อน เลยสงสัยว่าบริษัทเปลี่ยนทิศทางหลักหรือเปล่า
    • ฝั่งการให้บริการ LLM กำลังกินสัดส่วนใหญ่ของตลาดอยู่ ถ้าเป็นเฟรมเวิร์กสำหรับเสิร์ฟโมเดล การขยายมาทางนี้ก็เป็นทิศทางที่เป็นธรรมชาติ
  • เป็นเอกสารอ้างอิงที่ดีมาก ขอบคุณที่จัดทำไว้ดีขนาดนี้