Generative Recommenders: การปฏิวัติระบบแนะนำสินค้าให้ก้าวข้ามขีดจำกัด
ในยุคที่ข้อมูลมีมหาศาลและพฤติกรรมผู้บริโภคเปลี่ยนแปลงอย่างรวดเร็ว ระบบแนะนำสินค้า (Recommender Systems หรือ RecSys) กลายเป็นเครื่องมือสำคัญที่ช่วยให้ธุรกิจออนไลน์สามารถนำเสนอสินค้าหรือบริการที่ตรงใจลูกค้าแต่ละรายได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม ระบบ RecSys แบบดั้งเดิมต้องเผชิญกับความท้าทายมากมายเมื่อต้องทำงานในระดับ "Scale" หรือปริมาณข้อมูลมหาศาล การมาถึงของโมเดลภาษาขนาดใหญ่ (LLMs) ได้จุดประกายการเปลี่ยนแปลงครั้งสำคัญ นำไปสู่แนวคิดใหม่ที่เรียกว่า Generative Recommenders (GRs) ซึ่งกำลังเข้ามาพลิกโฉมวงการ RecSys อย่างที่ไม่เคยมีมาก่อน
ทำไม RecSys แบบดั้งเดิมถึงมีข้อจำกัดเมื่อใช้งานในระดับ Scale?
ระบบ RecSys แบบดั้งเดิมมักอาศัยการเปรียบเทียบ "ความคล้ายคลึง" ของข้อมูลผู้ใช้และสินค้า (Embedding-based) แต่เมื่อปริมาณข้อมูลเพิ่มขึ้นอย่างมหาศาล ปัญหาเหล่านี้ก็เริ่มปรากฏชัดเจน:
- ปริมาณและประเภทข้อมูลที่ซับซ้อน: ข้อมูลประวัติการใช้งานของผู้ใช้ (User Histories) ประกอบด้วยข้อมูลหลายประเภท ทั้งแบบหมวดหมู่ (Categorical) และแบบต่อเนื่อง (Continuous) ซึ่งเปลี่ยนแปลงตลอดเวลา เมื่อข้อมูลมีขนาดใหญ่ระดับเทราไบต์หรือเพตะไบต์ แม้แต่ฮาร์ดแวร์ประสิทธิภาพสูงก็ไม่สามารถเก็บข้อมูลทั้งหมดไว้ในหน่วยความจำได้ ทำให้เกิดคอขวดทั้งในขั้นตอนการฝึกโมเดล (Training) และการนำไปใช้งานจริง (Inference)
- ความเบาบางของข้อมูลและปัญหา Long-tail: ในระบบที่มีสินค้าจำนวนมหาศาล เมื่อเทียบกับจำนวนผู้ใช้ ข้อมูลการปฏิสัมพันธ์ระหว่างผู้ใช้กับสินค้าจะมีความเบาบาง (Sparsity) สินค้าบางส่วนที่ได้รับความนิยมสูงจะถูกโต้ตอบบ่อยครั้ง ในขณะที่สินค้าเฉพาะกลุ่ม (Niche Items) หรือสินค้าใหม่ ๆ แทบไม่มีข้อมูล ทำให้โมเดลไม่สามารถเรียนรู้ความชอบของผู้ใช้ที่มีต่อสินค้าเหล่านั้นได้ดีเท่าที่ควร และการแนะนำสินค้าใหม่หรือสำหรับผู้ใช้ใหม่ก็ยังคงเป็นเรื่องท้าทาย
- ข้อจำกัดด้านเวลาตอบสนอง (Latency): ระบบ RecSys ที่ใช้งานจริงมักต้องตอบสนองผู้ใช้หลายล้านคนภายใต้ข้อตกลงระดับการให้บริการ (SLA) ที่เข้มงวด การเพิ่มขึ้นเพียงเล็กน้อยของเวลาตอบสนองอาจส่งผลกระทบต่อประสบการณ์ผู้ใช้ ระบบ RecSys ไม่สามารถทนต่อการประมวลผลที่ล่าช้าได้เหมือนกับ LLMs บางประเภท แต่ต้องสามารถค้นหาและจัดอันดับสินค้าหลายพันรายการได้ภายในเสี้ยววินาที
Generative Recommenders: มุมมองใหม่ในการแนะนำสินค้า
Generative Recommenders (GRs) เปลี่ยนมุมมองจากการเปรียบเทียบความคล้ายคลึง มาเป็นการ มองปัญหาการแนะนำสินค้าเป็นปัญหาการสร้างลำดับ (Sequence Modeling) คล้ายคลึงกับหลักการของ LLMs โดยมีเป้าหมายคือการ คาดการณ์การกระทำหรือสินค้าถัดไป โดยพิจารณาจากประวัติการใช้งานของผู้ใช้ที่ผ่านมา
การปรับเปลี่ยนไปสู่สถาปัตยกรรมที่คล้าย Transformer มากขึ้นนี้ ช่วยให้สามารถใช้ประโยชน์จาก "Scaling Laws" ได้ดีขึ้น อาจรวมขั้นตอนการค้นหา (Retrieval) และการจัดอันดับ (Ranking) ไว้ในโมเดลเดียว และยังสามารถทำงานร่วมกับระบบนิเวศของ LLMs ที่พัฒนาอย่างรวดเร็วได้อย่างเป็นธรรมชาติ
แนวทางหลักที่ใช้ในการสร้าง Generative Recommenders ได้แก่:
- Hierarchical Sequential Transduction Units (HSTU): พัฒนาโดย Meta โมเดล HSTU มองประวัติการใช้งานของผู้ใช้เป็นลำดับของรายการสินค้าและการกระทำ (เช่น การกดไลค์, การคลิก) เรียงตามเวลา โดยไม่ต้องอาศัยการสร้างคุณลักษณะ (Feature Engineering) แบบเดิม ๆ แต่ใช้การเรียนรู้การแทนค่า (Learned Representations) จากกลไก Attention ที่ทำงานกับประวัติการโต้ตอบของผู้ใช้ ทำให้การฝึกโมเดลได้รับสัญญาณการเรียนรู้ที่มีความหมายทั้งภายในลำดับและข้ามชุดข้อมูล
- Semantic IDs (SIDs): พัฒนาโดย Google วิธีนี้ช่วยแก้ปัญหาคอขวดจากการคำนวณ Softmax ขนาดใหญ่ และการเรียนรู้สัญญาณที่อ่อนแอจากสินค้า Long-tail โดยการสร้างชุดโทเค็นใหม่ (Vocabulary) ที่มีขนาดเล็กลงจากการจัดกลุ่มแบบลำดับชั้น (Hierarchical Clustering) ของ Item Embeddings โมเดลที่ใช้ SIDs เช่น TIGER, PLUM, OneRec v1/v2 จะสร้างการแนะนำโดยตรงจากการถอดรหัสแบบ Autoregressive ของ Semantic IDs แทนการค้นหาในพื้นที่ Embedding และยังสามารถจัดอันดับได้โดยตรงผ่านค่า Logits ที่ได้จากการถอดรหัส ทำให้การค้นหาด้วย Beam Search สามารถสร้าง Semantic IDs ได้หลายรายการในการประมวลผลเพียงครั้งเดียว
NVIDIA recsys-examples และ nv-embedding-cache: เครื่องมือสำหรับ Generative Recommenders ระดับ Production
NVIDIA ได้พัฒนาเครื่องมือที่ช่วยให้การสร้างและใช้งาน Generative Recommenders บน GPU เป็นไปอย่างมีประสิทธิภาพ:
- recsys-examples Repository: เป็นแหล่งรวมตัวอย่างการใช้งานที่ดีที่สุดสำหรับการฝึกและนำ Generative Recommenders ไปใช้จริงบน NVIDIA GPUs ด้วย PyTorch ครอบคลุมทั้งการฝึกและการนำไปใช้งานจริง ประกอบด้วยส่วนประกอบสำคัญที่ออกแบบมาเพื่อ RecSys โดยเฉพาะ:
- DynamicEmb: ระบบจัดการ Embedding Tables แบบไดนามิกที่ทำงานบน GPU โดยจะจัดสรรหน่วยความจำเฉพาะ ID ที่โมเดลได้พบเจอจริง ทำให้สามารถจัดการกับ Embedding Tables ที่มีขนาดใหญ่เกินกว่า HBM ของ GPU ตัวเดียวได้ ช่วยแก้ปัญหาการสิ้นเปลืองหน่วยความจำและจัดการกับปัญหา Long-tail ได้อย่างมีประสิทธิภาพ
- KV Cache ที่ปรับให้เหมาะสม: จัดการและจัดเก็บ Cache สำหรับ Key-Value ในขั้นตอน Inference ให้มีประสิทธิภาพสูงสุดสำหรับ Workloads ของ RecSys
- CUDA Kernels ที่ผสานรวม: สร้าง Kernel ประสิทธิภาพสูงสำหรับขั้นตอนการฝึกและการ Inference โดยเฉพาะสำหรับสถาปัตยกรรม HSTU และ Semantic ID Beam Search Decoding
- nv-embedding-cache (NVE): ระบบแคชแบบลำดับชั้นหลายระดับ (Multi-tier Caching) ที่รองรับการแบ่ง Sharding และการค้นหา/การนำออก (Lookup/Eviction) พร้อมกันสำหรับ Embedding Tables ขนาดมหึมา ช่วยให้การ Inference มี Latency ต่ำและ Throughput สูง สามารถทำงานแทนที่ PyTorch Embedding Layers แบบ Drop-in Replacement ได้
เครื่องมือเหล่านี้ช่วยลดปัญหาคอขวดที่เกิดจากปริมาณข้อมูล, จัดการกับความเบาบางของข้อมูล, และตอบสนองข้อกำหนดด้าน Latency ที่เข้มงวด ทำให้ Generative Recommenders สามารถทำงานได้อย่างเต็มประสิทธิภาพในระดับ Production Scale
สรุป
Generative Recommenders คือก้าวสำคัญในการพัฒนาระบบแนะนำสินค้า โดยเปลี่ยนจากการเปรียบเทียบความคล้ายคลึงมาเป็นการสร้างลำดับข้อมูล ทำให้สามารถจัดการกับข้อมูลขนาดใหญ่, ปัญหา Long-tail, และข้อจำกัดด้าน Latency ได้ดียิ่งขึ้น ด้วยเครื่องมืออย่าง NVIDIA recsys-examples และ nv-embedding-cache ธุรกิจต่าง ๆ จึงมีศักยภาพที่จะสร้างประสบการณ์แนะนำสินค้าที่เป็นส่วนตัวและมีประสิทธิภาพเหนือกว่าเดิมได้อย่างที่ไม่เคยมีมาก่อน
ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/how-generative-recommenders-are-redefining-recsys-at-scale/