-
จัดการ VRAM เกินลิมิต: เมื่อการ์ดจอของคุณมีมากกว่าที่คุณคิด 🚀
เคยไหมที่เล่นเกมแล้วเจอปัญหา VRAM เต็ม การ์ดจอทำงานหนักจนเกมค้าง หรือแย่กว่านั้นคือเกมเด้งหลุดไปเลย? ปกติแล้วหลายคนจะคิดว่าเมื่อ VRAM เต็ม ก็คือจบแล้ว ประสบการณ์การเล่นเกมจะพังไปตลอดกาล แต่ในความเป็นจริงแล้ว การที่ VRAM เต็ม ไม่ได้หมายความว่าเราต้องยอมแพ้เสมอไป! บทความนี้จะพาคุณไปเจาะลึกว่าทำไมการ VRAM เต็มถึงส่งผลเสีย และที่สำคัญที่สุด เราจะทำอย่างไรให้ปัญหานี้ส่งผลกระทบน้อยที่สุดได้อย่างไร
ความคาดหวังเมื่อ VRAM เกินลิมิต 💡
ในทางทฤษฎี การที่ VRAM เต็มควรเป็นเพียงปัญหาด้านประสิทธิภาพ ไม่ใช่ความเสถียร เพราะไดรเวอร์การ์ดจอส่วนใหญ่รองรับการ "Overcommit" VRAM มานานแล้ว หมายความว่าเราสามารถขอใช้ VRAM มากกว่าที่การ์ดจอมีจริงได้ โดยไดรเวอร์จะจัดการจัดสรรหน่วยความจำเท่าที่ระบบจะทำได้
ทำไมประสิทธิภาพถึงตก? 📉
สาเหตุหลักที่ทำให้ประสิทธิภาพลดลงอย่างมากเมื่อ VRAM เต็ม คือเมื่อเกมร้องขอ VRAM มากกว่าที่มีอยู่จริง หน่วยความจำบางส่วนของเกมจะต้องถูกย้ายไปเก็บไว้ใน RAM ของ CPU แทน ซึ่งการที่ GPU (การ์ดจอ) จะเข้าถึง RAM ของ CPU นั้นช้ากว่า VRAM มาก ไม่ใช่แค่ความเร็วที่ช้ากว่า แต่การส่งข้อมูลยังต้องวิ่งผ่าน PCI bus ซึ่งเป็นคอขวดที่เพิ่มความหน่วง (Latency) และจำกัดแบนด์วิดท์ (Bandwidth) ในการดึงข้อมูลจาก RAM ของ CPU
ด้วยข้อจำกัดด้านความเร็วของ PCI bus หากมีการย้ายข้อมูล (Evict) ออกจาก VRAM จำนวนมากจน GPU ต้องดึงข้อมูลเกิน 1GB ต่อเฟรม ก็เป็นไปได้ยากที่จะรักษาเฟรมเรตให้ถึง 30 FPS ได้
ไม่ใช่ทุกหน่วยความจำจะเหมือนกัน 🧐
แม้ว่าการเข้าถึง RAM ของ CPU จะช้า แต่ก็ไม่ใช่จุดจบของประสิทธิภาพเสมอไป บางครั้งไดรเวอร์การ์ดจอก็เลือกที่จะเก็บข้อมูลบางอย่าง เช่น Command Buffer ไว้ใน RAM ของ CPU แม้ว่าจะมี VRAM เพียงพออยู่แล้วก็ตาม ซึ่งในกรณีเหล่านี้ ทุกอย่างก็ยังทำงานได้ดี
แล้วอะไรที่ทำให้การเข้าถึง VRAM ที่ถูกย้ายไป RAM ของ CPU แตกต่างกัน? ปัจจัยสำคัญคือ แคช (Cache)
แคชคือฮีโร่ (บางส่วน) 🦸
เมื่อข้อมูลอยู่ในแคช (ไม่ว่าจะเป็น L1, L2 หรือ L3) การเข้าถึงจะมีความเร็วใกล้เคียงกัน ไม่ว่าข้อมูลนั้นจะมาจาก RAM ของ CPU หรือ VRAM ก็ตาม เพราะข้อมูลถูกดึงมาจากแคชโดยตรง
จากการทดสอบ จะเห็นว่าเมื่อข้อมูลมีขนาดเล็กพอที่จะอยู่ในแคช L2 (ประมาณ 6MB สำหรับการ์ดจอบางรุ่น) ความหน่วงในการเข้าถึงข้อมูลจาก RAM ของ CPU และ VRAM จะใกล้เคียงกัน
อย่างไรก็ตาม การเข้าถึงข้อมูลครั้งแรกที่ยังไม่ได้อยู่ในแคช จะมีความหน่วงสูงมาก และการสูญเสีย Infinity Cache (แคชพิเศษของการ์ดจอ AMD) ก็ส่งผลกระทบอย่างมากเช่นกัน การเข้าถึงข้อมูลผ่าน PCIe อาจมีความหน่วงสูงกว่าการเข้าถึงผ่าน Infinity Cache ถึง 7.3 เท่า!
ดังนั้น การใช้ RAM ของ CPU แทน VRAM จะส่งผลกระทบต่อประสิทธิภาพอย่างหลีกเลี่ยงไม่ได้ แต่ผลกระทบจะมากน้อยแค่ไหน ขึ้นอยู่กับปัจจัยเหล่านี้:
- รูปแบบการเข้าถึงข้อมูล (Access Pattern): หากเข้าถึงข้อมูลในลักษณะที่เอื้อต่อแคช (Cache-friendly) ผลกระทบจะน้อยลง
- ความถี่ในการเข้าถึงข้อมูล: หากข้อมูลที่ถูกย้ายไป RAM ของ CPU ไม่ค่อยถูกเรียกใช้งาน ผลกระทบก็อาจจะไม่มากนัก
- ปริมาณข้อมูลที่ถูกเรียกใช้งานจริง: แม้จะย้ายข้อมูลไปหลาย GB แต่ถ้า GPU เรียกใช้ข้อมูลจริงแค่ส่วนเล็กๆ และไม่บ่อยนัก ประสิทธิภาพก็อาจจะไม่แย่ลงจนสังเกตได้
สรุปคือ แม้ประสิทธิภาพจะลดลง แต่ก็มีโอกาสที่คุณจะสามารถเล่นเกมต่อไปได้ โดยที่ประสิทธิภาพไม่พังไปเสียทั้งหมด หากการเข้าถึงข้อมูลที่ถูกย้ายไป RAM ของ CPU เป็นไปในลักษณะที่เหมาะสม
เมื่อทฤษฎีสวนทางกับความเป็นจริง: ปัญหาความเสถียร ⚠️
แม้ว่าเราจะสามารถจัดการให้ VRAM Overcommit ทำงานได้ดีขึ้นในทางทฤษฎี แต่ในทางปฏิบัติ การที่ VRAM เต็มมักนำมาซึ่งปัญหาความเสถียรเสมอ โดยเฉพาะอย่างยิ่งเมื่อลองเปิดเกมด้วยการตั้งค่าที่สูงขึ้น
ข้อความผิดพลาดอย่าง "radv/amdgpu: Not enough memory for command submission" อาจปรากฏขึ้น ซึ่งข้อความนี้ไม่ได้หมายถึงการจัดสรรทรัพยากรใหม่โดยตรง แต่เกิดจากการที่ Kernel คืนค่า -ENOMEM เมื่อพยายามส่งคำสั่ง (Submit commands) ทั้งที่ก่อนหน้านี้การจัดสรรหน่วยความจำทั้งหมดสำเร็จแล้ว
เบื้องหลังปัญหา Kernel Locking 🚧
ไดรเวอร์ amdgpu จำเป็นต้องตรวจสอบให้แน่ใจว่าหน่วยความจำทั้งหมดที่ GPU อาจจะต้องเรียกใช้ สามารถเข้าถึงได้ก่อนที่จะเริ่มประมวลผลคำสั่ง โดยเฉพาะอย่างยิ่งกับ API กราฟิกแบบ Bindless ที่อาจมีการเรียกใช้หน่วยความจำใดๆ ก็ได้
หน่วยความจำบางประเภท จำเป็นต้องอยู่บน VRAM เท่านั้น หากหน่วยความจำเหล่านี้ถูกย้ายไป RAM ของ CPU (เพราะแอปพลิเคชันอื่นขอใช้ VRAM) ไดรเวอร์ amdgpu จะต้องย้ายมันกลับมาที่ VRAM แต่เนื่องจาก VRAM เต็ม การย้ายกลับจึงต้องทำการย้ายข้อมูลอื่นออกไป ซึ่งบางครั้งกระบวนการนี้ก็ล้มเหลวและทำให้ Kernel รายงานว่าหน่วยความจำไม่เพียงพอ
ปัญหานี้เกิดจาก Deadlock ในการจัดการ Lock ของ Kernel เมื่อ GPU กำลังเตรียมคำสั่ง (Submission) ไดรเวอร์จะต้อง Lock หน่วยความจำทั้งหมดที่เกี่ยวข้อง เพื่อป้องกันไม่ให้แอปพลิเคชันอื่นมาย้ายหน่วยความจำเหล่านั้นในขณะที่กำลังทำงานอยู่
หาก GPU Submission หนึ่งกำลัง Lock หน่วยความจำหนึ่งอยู่ ในขณะที่ GPU Submission อีกอันหนึ่งต้องการ Lock หน่วยความจำจากอันแรกเพื่อทำงานของตัวเอง ก็จะเกิดสภาวะ ABBA Deadlock ขึ้น
การแก้ไขปัญหา Deadlock ใน Kernel 🛠️
Kernel มีกลไกในการตรวจจับและแก้ไข Deadlock โดยจะมีการทำเครื่องหมาย "Wounded" ให้กับ Transaction ที่เกิด Deadlock และเมื่อ Transaction นั้นพยายาม Lock หน่วยความจำอีกครั้ง จะได้รับข้อผิดพลาด -EDEADLCK เพื่อให้ยกเลิก Transaction นั้น ปลด Lock ที่ถืออยู่ทั้งหมด และเริ่มใหม่
ในบริบทของการส่งคำสั่ง GPU สิ่งนี้หมายถึงการที่ไดรเวอร์จะเริ่มกระบวนการตรวจสอบและทำให้หน่วยความจำทั้งหมดสามารถเข้าถึงได้ใหม่อีกครั้ง
ทำไมถึงยังเกิดปัญหา? 🤔
แม้ว่ากลไกนี้จะแข็งแกร่ง แต่ปัญหาที่พบคือ การนำไปใช้งานจริงยังไม่ครอบคลุมทั้งหมด ในส่วนของ TTM (หน่วยจัดการหน่วยความจำ GPU แบบใช้ร่วมกัน) ซึ่งเป็นส่วนสำคัญของ Linux GPU Subsystem กลับมีการใช้งานกลไก
drm_execที่ช่วยจัดการเรื่องนี้ค่อนข้างน้อย และมี Comment ที่ระบุว่า -EDEADLCK จะทำให้การ Evict ล้มเหลวนี่คือต้นตอของปัญหา! เมื่อเกิด Deadlock เนื่องจาก VRAM ที่มีแรงกดดันสูงในระหว่างการส่งคำสั่ง Kernel ก็จะยกเลิกการส่งคำสั่งนั้นแทนที่จะลองใหม่
ความหวังใหม่: การปรับปรุง Kernel Patch 🩹
ปัจจุบันมี Patch Set ที่เสนอให้มีการนำ
drm_execมาใช้ใน TTM ตั้งแต่ปี 2024 แต่ยังไม่ถูกรวมเข้า Kernel เนื่องจากยังมี Bug ที่ต้องแก้ไขนักพัฒนาได้ทำการ Rebase Patch Set เหล่านี้ และแก้ไข Bug ที่พบ ซึ่งต้องใช้เวลาและความพยายามอย่างมากในการทดสอบกับเกมที่ทำให้ VRAM เกิดการแย่งชิงอย่างหนัก
หลังจากแก้ไข Bug เหล่านี้แล้ว Patch Set ก็พร้อมที่จะถูกส่งเข้าไปพิจารณาอีกครั้ง เมื่อการแก้ไขนี้ได้รับการรวมเข้า Kernel แล้ว การที่ VRAM เต็มจะไม่ทำให้แอปพลิเคชันแครชแบบสุ่มอีกต่อไป ทำให้เราสามารถตั้งค่ากราฟิกให้สูงขึ้น และสังเกตการณ์ประสิทธิภาพที่แท้จริงได้
คำถามที่พบบ่อย
VRAM Overcommit คืออะไร?
VRAM Overcommit คือการที่ไดรเวอร์การ์ดจอยอมให้โปรแกรมขอใช้ VRAM มากกว่าที่การ์ดจอมีอยู่จริง โดยระบบจะจัดการย้ายข้อมูลบางส่วนไปเก็บไว้ใน RAM ของ CPU แทน
ทำไม VRAM เต็มแล้วเกมถึงช้าลง?
เมื่อ VRAM เต็ม ข้อมูลบางส่วนจะต้องถูกย้ายไปเก็บใน RAM ของ CPU ซึ่งการเข้าถึง RAM ของ CPU นั้นช้ากว่า VRAM มาก และต้องวิ่งผ่าน PCI bus ซึ่งเป็นคอขวด ทำให้การดึงข้อมูลช้าลง ส่งผลให้เฟรมเรตตก
การใช้ RAM ของ CPU แทน VRAM ส่งผลต่อประสิทธิภาพเสมอไปหรือไม่?
ไม่เสมอไป หากข้อมูลที่ถูกย้ายไป RAM ของ CPU มีลักษณะการเข้าถึงที่เอื้อต่อแคช (Cache-friendly) หรือถูกเรียกใช้งานไม่บ่อยนัก ผลกระทบต่อประสิทธิภาพอาจไม่มากนัก
ปัญหา "Not enough memory for command submission" คืออะไร?
เป็นข้อผิดพลาดที่เกิดจากปัญหา Deadlock ในการจัดการหน่วยความจำของ Kernel เมื่อ GPU กำลังประมวลผลคำสั่ง และมีการย้ายข้อมูลระหว่าง VRAM กับ RAM ของ CPU ซึ่งทำให้การส่งคำสั่งล้มเหลว
การแก้ไข Kernel Patch จะช่วยได้อย่างไร?
การรวม Patch Set ที่ปรับปรุงการจัดการ Lock ของ Kernel จะช่วยให้ระบบสามารถจัดการกับ Deadlock ได้ดีขึ้น ทำให้ VRAM Overcommit ทำงานได้อย่างเสถียรมากขึ้น ลดโอกาสที่แอปพลิเคชันจะแครชเมื่อ VRAM เต็ม และอาจช่วยให้ประสิทธิภาพดีขึ้นในบางกรณี
ขอบคุณ แหล่งข้อมูล
https://pixelcluster.dev/VRAM-Overcommit/จัดการ VRAM เกินลิมิต: เมื่อการ์ดจอของคุณมีมากกว่าที่คุณคิด 🚀เคยไหมที่เล่นเกมแล้วเจอปัญหา VRAM เต็ม การ์ดจอทำงานหนักจนเกมค้าง หรือแย่กว่านั้นคือเกมเด้งหลุดไปเลย? ปกติแล้วหลายคนจะคิดว่าเมื่อ VRAM เต็ม ก็คือจบแล้ว ประสบการณ์การเล่นเกมจะพังไปตลอดกาล แต่ในความเป็นจริงแล้ว การที่ VRAM เต็ม ไม่ได้หมายความว่าเราต้องยอมแพ้เสมอไป! บทความนี้จะพาคุณไปเจาะลึกว่าทำไมการ VRAM เต็มถึงส่งผลเสีย และที่สำคัญที่สุด เราจะทำอย่างไรให้ปัญหานี้ส่งผลกระทบน้อยที่สุดได้อย่างไรความคาดหวังเมื่อ VRAM เกินลิมิต 💡ในทางทฤษฎี การที่ VRAM เต็มควรเป็นเพียงปัญหาด้านประสิทธิภาพ ไม่ใช่ความเสถียร เพราะไดรเวอร์การ์ดจอส่วนใหญ่รองรับการ "Overcommit" VRAM มานานแล้ว หมายความว่าเราสามารถขอใช้ VRAM มากกว่าที่การ์ดจอมีจริงได้ โดยไดรเวอร์จะจัดการจัดสรรหน่วยความจำเท่าที่ระบบจะทำได้ทำไมประสิทธิภาพถึงตก? 📉สาเหตุหลักที่ทำให้ประสิทธิภาพลดลงอย่างมากเมื่อ VRAM เต็ม คือเมื่อเกมร้องขอ VRAM มากกว่าที่มีอยู่จริง หน่วยความจำบางส่วนของเกมจะต้องถูกย้ายไปเก็บไว้ใน RAM ของ CPU แทน ซึ่งการที่ GPU (การ์ดจอ) จะเข้าถึง RAM ของ CPU นั้นช้ากว่า VRAM มาก ไม่ใช่แค่ความเร็วที่ช้ากว่า แต่การส่งข้อมูลยังต้องวิ่งผ่าน PCI bus ซึ่งเป็นคอขวดที่เพิ่มความหน่วง (Latency) และจำกัดแบนด์วิดท์ (Bandwidth) ในการดึงข้อมูลจาก RAM ของ CPUด้วยข้อจำกัดด้านความเร็วของ PCI bus หากมีการย้ายข้อมูล (Evict) ออกจาก VRAM จำนวนมากจน GPU ต้องดึงข้อมูลเกิน 1GB ต่อเฟรม ก็เป็นไปได้ยากที่จะรักษาเฟรมเรตให้ถึง 30 FPS ได้ไม่ใช่ทุกหน่วยความจำจะเหมือนกัน 🧐แม้ว่าการเข้าถึง RAM ของ CPU จะช้า แต่ก็ไม่ใช่จุดจบของประสิทธิภาพเสมอไป บางครั้งไดรเวอร์การ์ดจอก็เลือกที่จะเก็บข้อมูลบางอย่าง เช่น Command Buffer ไว้ใน RAM ของ CPU แม้ว่าจะมี VRAM เพียงพออยู่แล้วก็ตาม ซึ่งในกรณีเหล่านี้ ทุกอย่างก็ยังทำงานได้ดีแล้วอะไรที่ทำให้การเข้าถึง VRAM ที่ถูกย้ายไป RAM ของ CPU แตกต่างกัน? ปัจจัยสำคัญคือ แคช (Cache)แคชคือฮีโร่ (บางส่วน) 🦸เมื่อข้อมูลอยู่ในแคช (ไม่ว่าจะเป็น L1, L2 หรือ L3) การเข้าถึงจะมีความเร็วใกล้เคียงกัน ไม่ว่าข้อมูลนั้นจะมาจาก RAM ของ CPU หรือ VRAM ก็ตาม เพราะข้อมูลถูกดึงมาจากแคชโดยตรงจากการทดสอบ จะเห็นว่าเมื่อข้อมูลมีขนาดเล็กพอที่จะอยู่ในแคช L2 (ประมาณ 6MB สำหรับการ์ดจอบางรุ่น) ความหน่วงในการเข้าถึงข้อมูลจาก RAM ของ CPU และ VRAM จะใกล้เคียงกันอย่างไรก็ตาม การเข้าถึงข้อมูลครั้งแรกที่ยังไม่ได้อยู่ในแคช จะมีความหน่วงสูงมาก และการสูญเสีย Infinity Cache (แคชพิเศษของการ์ดจอ AMD) ก็ส่งผลกระทบอย่างมากเช่นกัน การเข้าถึงข้อมูลผ่าน PCIe อาจมีความหน่วงสูงกว่าการเข้าถึงผ่าน Infinity Cache ถึง 7.3 เท่า!ดังนั้น การใช้ RAM ของ CPU แทน VRAM จะส่งผลกระทบต่อประสิทธิภาพอย่างหลีกเลี่ยงไม่ได้ แต่ผลกระทบจะมากน้อยแค่ไหน ขึ้นอยู่กับปัจจัยเหล่านี้:รูปแบบการเข้าถึงข้อมูล (Access Pattern): หากเข้าถึงข้อมูลในลักษณะที่เอื้อต่อแคช (Cache-friendly) ผลกระทบจะน้อยลงความถี่ในการเข้าถึงข้อมูล: หากข้อมูลที่ถูกย้ายไป RAM ของ CPU ไม่ค่อยถูกเรียกใช้งาน ผลกระทบก็อาจจะไม่มากนักปริมาณข้อมูลที่ถูกเรียกใช้งานจริง: แม้จะย้ายข้อมูลไปหลาย GB แต่ถ้า GPU เรียกใช้ข้อมูลจริงแค่ส่วนเล็กๆ และไม่บ่อยนัก ประสิทธิภาพก็อาจจะไม่แย่ลงจนสังเกตได้สรุปคือ แม้ประสิทธิภาพจะลดลง แต่ก็มีโอกาสที่คุณจะสามารถเล่นเกมต่อไปได้ โดยที่ประสิทธิภาพไม่พังไปเสียทั้งหมด หากการเข้าถึงข้อมูลที่ถูกย้ายไป RAM ของ CPU เป็นไปในลักษณะที่เหมาะสมเมื่อทฤษฎีสวนทางกับความเป็นจริง: ปัญหาความเสถียร ⚠️แม้ว่าเราจะสามารถจัดการให้ VRAM Overcommit ทำงานได้ดีขึ้นในทางทฤษฎี แต่ในทางปฏิบัติ การที่ VRAM เต็มมักนำมาซึ่งปัญหาความเสถียรเสมอ โดยเฉพาะอย่างยิ่งเมื่อลองเปิดเกมด้วยการตั้งค่าที่สูงขึ้นข้อความผิดพลาดอย่าง "radv/amdgpu: Not enough memory for command submission" อาจปรากฏขึ้น ซึ่งข้อความนี้ไม่ได้หมายถึงการจัดสรรทรัพยากรใหม่โดยตรง แต่เกิดจากการที่ Kernel คืนค่า -ENOMEM เมื่อพยายามส่งคำสั่ง (Submit commands) ทั้งที่ก่อนหน้านี้การจัดสรรหน่วยความจำทั้งหมดสำเร็จแล้วเบื้องหลังปัญหา Kernel Locking 🚧ไดรเวอร์ amdgpu จำเป็นต้องตรวจสอบให้แน่ใจว่าหน่วยความจำทั้งหมดที่ GPU อาจจะต้องเรียกใช้ สามารถเข้าถึงได้ก่อนที่จะเริ่มประมวลผลคำสั่ง โดยเฉพาะอย่างยิ่งกับ API กราฟิกแบบ Bindless ที่อาจมีการเรียกใช้หน่วยความจำใดๆ ก็ได้หน่วยความจำบางประเภท จำเป็นต้องอยู่บน VRAM เท่านั้น หากหน่วยความจำเหล่านี้ถูกย้ายไป RAM ของ CPU (เพราะแอปพลิเคชันอื่นขอใช้ VRAM) ไดรเวอร์ amdgpu จะต้องย้ายมันกลับมาที่ VRAM แต่เนื่องจาก VRAM เต็ม การย้ายกลับจึงต้องทำการย้ายข้อมูลอื่นออกไป ซึ่งบางครั้งกระบวนการนี้ก็ล้มเหลวและทำให้ Kernel รายงานว่าหน่วยความจำไม่เพียงพอปัญหานี้เกิดจาก Deadlock ในการจัดการ Lock ของ Kernel เมื่อ GPU กำลังเตรียมคำสั่ง (Submission) ไดรเวอร์จะต้อง Lock หน่วยความจำทั้งหมดที่เกี่ยวข้อง เพื่อป้องกันไม่ให้แอปพลิเคชันอื่นมาย้ายหน่วยความจำเหล่านั้นในขณะที่กำลังทำงานอยู่หาก GPU Submission หนึ่งกำลัง Lock หน่วยความจำหนึ่งอยู่ ในขณะที่ GPU Submission อีกอันหนึ่งต้องการ Lock หน่วยความจำจากอันแรกเพื่อทำงานของตัวเอง ก็จะเกิดสภาวะ ABBA Deadlock ขึ้นการแก้ไขปัญหา Deadlock ใน Kernel 🛠️Kernel มีกลไกในการตรวจจับและแก้ไข Deadlock โดยจะมีการทำเครื่องหมาย "Wounded" ให้กับ Transaction ที่เกิด Deadlock และเมื่อ Transaction นั้นพยายาม Lock หน่วยความจำอีกครั้ง จะได้รับข้อผิดพลาด -EDEADLCK เพื่อให้ยกเลิก Transaction นั้น ปลด Lock ที่ถืออยู่ทั้งหมด และเริ่มใหม่ในบริบทของการส่งคำสั่ง GPU สิ่งนี้หมายถึงการที่ไดรเวอร์จะเริ่มกระบวนการตรวจสอบและทำให้หน่วยความจำทั้งหมดสามารถเข้าถึงได้ใหม่อีกครั้งทำไมถึงยังเกิดปัญหา? 🤔แม้ว่ากลไกนี้จะแข็งแกร่ง แต่ปัญหาที่พบคือ การนำไปใช้งานจริงยังไม่ครอบคลุมทั้งหมด ในส่วนของ TTM (หน่วยจัดการหน่วยความจำ GPU แบบใช้ร่วมกัน) ซึ่งเป็นส่วนสำคัญของ Linux GPU Subsystem กลับมีการใช้งานกลไก drm_exec ที่ช่วยจัดการเรื่องนี้ค่อนข้างน้อย และมี Comment ที่ระบุว่า -EDEADLCK จะทำให้การ Evict ล้มเหลวนี่คือต้นตอของปัญหา! เมื่อเกิด Deadlock เนื่องจาก VRAM ที่มีแรงกดดันสูงในระหว่างการส่งคำสั่ง Kernel ก็จะยกเลิกการส่งคำสั่งนั้นแทนที่จะลองใหม่ความหวังใหม่: การปรับปรุง Kernel Patch 🩹ปัจจุบันมี Patch Set ที่เสนอให้มีการนำ drm_exec มาใช้ใน TTM ตั้งแต่ปี 2024 แต่ยังไม่ถูกรวมเข้า Kernel เนื่องจากยังมี Bug ที่ต้องแก้ไขนักพัฒนาได้ทำการ Rebase Patch Set เหล่านี้ และแก้ไข Bug ที่พบ ซึ่งต้องใช้เวลาและความพยายามอย่างมากในการทดสอบกับเกมที่ทำให้ VRAM เกิดการแย่งชิงอย่างหนักหลังจากแก้ไข Bug เหล่านี้แล้ว Patch Set ก็พร้อมที่จะถูกส่งเข้าไปพิจารณาอีกครั้ง เมื่อการแก้ไขนี้ได้รับการรวมเข้า Kernel แล้ว การที่ VRAM เต็มจะไม่ทำให้แอปพลิเคชันแครชแบบสุ่มอีกต่อไป ทำให้เราสามารถตั้งค่ากราฟิกให้สูงขึ้น และสังเกตการณ์ประสิทธิภาพที่แท้จริงได้คำถามที่พบบ่อยVRAM Overcommit คืออะไร?VRAM Overcommit คือการที่ไดรเวอร์การ์ดจอยอมให้โปรแกรมขอใช้ VRAM มากกว่าที่การ์ดจอมีอยู่จริง โดยระบบจะจัดการย้ายข้อมูลบางส่วนไปเก็บไว้ใน RAM ของ CPU แทนทำไม VRAM เต็มแล้วเกมถึงช้าลง?เมื่อ VRAM เต็ม ข้อมูลบางส่วนจะต้องถูกย้ายไปเก็บใน RAM ของ CPU ซึ่งการเข้าถึง RAM ของ CPU นั้นช้ากว่า VRAM มาก และต้องวิ่งผ่าน PCI bus ซึ่งเป็นคอขวด ทำให้การดึงข้อมูลช้าลง ส่งผลให้เฟรมเรตตกการใช้ RAM ของ CPU แทน VRAM ส่งผลต่อประสิทธิภาพเสมอไปหรือไม่?ไม่เสมอไป หากข้อมูลที่ถูกย้ายไป RAM ของ CPU มีลักษณะการเข้าถึงที่เอื้อต่อแคช (Cache-friendly) หรือถูกเรียกใช้งานไม่บ่อยนัก ผลกระทบต่อประสิทธิภาพอาจไม่มากนักปัญหา "Not enough memory for command submission" คืออะไร?เป็นข้อผิดพลาดที่เกิดจากปัญหา Deadlock ในการจัดการหน่วยความจำของ Kernel เมื่อ GPU กำลังประมวลผลคำสั่ง และมีการย้ายข้อมูลระหว่าง VRAM กับ RAM ของ CPU ซึ่งทำให้การส่งคำสั่งล้มเหลวการแก้ไข Kernel Patch จะช่วยได้อย่างไร?การรวม Patch Set ที่ปรับปรุงการจัดการ Lock ของ Kernel จะช่วยให้ระบบสามารถจัดการกับ Deadlock ได้ดีขึ้น ทำให้ VRAM Overcommit ทำงานได้อย่างเสถียรมากขึ้น ลดโอกาสที่แอปพลิเคชันจะแครชเมื่อ VRAM เต็ม และอาจช่วยให้ประสิทธิภาพดีขึ้นในบางกรณีhttps://pixelcluster.dev/VRAM-Overcommit/4 Comments 0 Shares 140 Views 0 Reviews-
อภิชาติ รุ่งเรืองเรื่องแคช L2 นี่มีผลต่อการดึงข้อมูลจาก RAM จริงๆ ด้วยเรื่องแคช L2 นี่มีผลต่อการดึงข้อมูลจาก RAM จริงๆ ด้วย
-
React
- Reply
- 2026-08-18 09:53:20
-
-
วาสนา รักมั่นคงต้องลองเอาไปใช้ดูบ้างแล้วว่าเกมจะเสถียรขึ้นไหมต้องลองเอาไปใช้ดูบ้างแล้วว่าเกมจะเสถียรขึ้นไหม
-
React
- Reply
- 2026-08-18 09:53:20
-
-
วรพจน์ นามสกุลดีไม่คิดว่าปัญหาเรื่อง VRAM จะซับซ้อนขนาดนี้มาก่อนเลยไม่คิดว่าปัญหาเรื่อง VRAM จะซับซ้อนขนาดนี้มาก่อนเลย
-
React
- Reply
- 2026-08-18 09:53:20
-
-
ชลธิชา ใจดีการที่ VRAM เต็มแล้วยังทำงานได้นี่สุดยอดเลยนะการที่ VRAM เต็มแล้วยังทำงานได้นี่สุดยอดเลยนะ
-
React
- Reply
- 2026-08-18 09:53:20
-
Please log in to like, share and comment! -
นโยบายยุคปัญญาประดิษฐ์: แนวคิดใหม่เพื่ออนาคตที่ยั่งยืน
ในยุคที่ปัญญาประดิษฐ์ (AI) กำลังก้าวหน้าอย่างรวดเร็ว การพัฒนาเทคโนโลยีนี้ได้นำมาซึ่งโอกาสและความท้าทายใหม่ๆ มากมาย การปรับตัวและกำหนดกรอบนโยบายที่เหมาะสมจึงเป็นสิ่งจำเป็นอย่างยิ่ง เพื่อให้แน่ใจว่า AI จะถูกนำไปใช้เพื่อประโยชน์สูงสุดของมนุษยชาติ และลดความเสี่ยงที่อาจเกิดขึ้น
AI กับการเปลี่ยนแปลงทางสังคมและเศรษฐกิจ
AI มีศักยภาพที่จะปฏิวัติอุตสาหกรรมต่างๆ สร้างงานใหม่ๆ และเพิ่มประสิทธิภาพการผลิต อย่างไรก็ตาม การเข้ามาแทนที่แรงงานมนุษย์ในบางภาคส่วนก็เป็นสิ่งที่ต้องพิจารณา นโยบายที่เกี่ยวข้องจึงควรเน้นการส่งเสริมการพัฒนาทักษะแรงงาน การสร้างโอกาสในการทำงานใหม่ๆ และการกระจายผลประโยชน์ทางเศรษฐกิจอย่างเป็นธรรม
ความท้าทายด้านจริยธรรมและความปลอดภัย
การพัฒนา AI ที่ซับซ้อนขึ้นเรื่อยๆ นำมาซึ่งคำถามด้านจริยธรรมและความปลอดภัยที่สำคัญ เช่น ความโปร่งใสของอัลกอริทึม การตัดสินใจของ AI ที่อาจมีอคติ ความเป็นส่วนตัวของข้อมูล และความเสี่ยงด้านความปลอดภัยจากการใช้งาน AI ในทางที่ผิด
การกำหนดหลักการและแนวปฏิบัติที่ชัดเจนสำหรับการพัฒนาและการใช้งาน AI อย่างมีความรับผิดชอบจึงเป็นสิ่งจำเป็น เพื่อสร้างความไว้วางใจและป้องกันผลกระทบเชิงลบที่อาจเกิดขึ้น
แนวคิดนโยบายสำหรับยุค AI
เพื่อรับมือกับการเปลี่ยนแปลงนี้ มีแนวคิดนโยบายหลายประการที่น่าสนใจและควรค่าแก่การพิจารณา:
- การลงทุนในการวิจัยและพัฒนาอย่างมีจริยธรรม: สนับสนุนการวิจัยที่มุ่งเน้นการพัฒนา AI ที่ปลอดภัย โปร่งใส และเป็นธรรม
- การส่งเสริมการศึกษาและพัฒนาทักษะ: เตรียมความพร้อมให้กับบุคลากรให้มีทักษะที่จำเป็นสำหรับตลาดแรงงานในอนาคตที่ขับเคลื่อนด้วย AI
- การสร้างกรอบกฎหมายที่ยืดหยุ่น: พัฒนากฎหมายและข้อบังคับที่สามารถปรับตัวตามการเปลี่ยนแปลงของเทคโนโลยี AI ได้อย่างทันท่วงที
- การส่งเสริมความร่วมมือระหว่างประเทศ: สร้างความร่วมมือระดับโลกในการกำหนดมาตรฐานและแนวปฏิบัติเกี่ยวกับ AI เพื่อรับมือกับความท้าทายข้ามพรมแดน
- การสร้างกลไกการกำกับดูแลที่เหมาะสม: กำหนดหน่วยงานหรือกลไกที่รับผิดชอบในการกำกับดูแลและประเมินผลกระทบของ AI
ก้าวต่อไปสู่อนาคต
การกำหนดนโยบายสำหรับยุคปัญญาประดิษฐ์ไม่ใช่เรื่องง่าย แต่เป็นภารกิจที่สำคัญอย่างยิ่ง การมีส่วนร่วมจากทุกภาคส่วน ทั้งภาครัฐ ภาคเอกชน นักวิชาการ และประชาชนทั่วไป จะช่วยให้เราสามารถสร้างกรอบนโยบายที่ครอบคลุมและมีประสิทธิภาพ เพื่อนำพา AI ไปสู่การพัฒนาที่ยั่งยืนและเป็นประโยชน์ต่อทุกคน
ขอบคุณ แหล่งข้อมูล
https://openai.com/index/new-policy-ideas-for-the-intelligence-ageนโยบายยุคปัญญาประดิษฐ์: แนวคิดใหม่เพื่ออนาคตที่ยั่งยืนในยุคที่ปัญญาประดิษฐ์ (AI) กำลังก้าวหน้าอย่างรวดเร็ว การพัฒนาเทคโนโลยีนี้ได้นำมาซึ่งโอกาสและความท้าทายใหม่ๆ มากมาย การปรับตัวและกำหนดกรอบนโยบายที่เหมาะสมจึงเป็นสิ่งจำเป็นอย่างยิ่ง เพื่อให้แน่ใจว่า AI จะถูกนำไปใช้เพื่อประโยชน์สูงสุดของมนุษยชาติ และลดความเสี่ยงที่อาจเกิดขึ้นAI กับการเปลี่ยนแปลงทางสังคมและเศรษฐกิจAI มีศักยภาพที่จะปฏิวัติอุตสาหกรรมต่างๆ สร้างงานใหม่ๆ และเพิ่มประสิทธิภาพการผลิต อย่างไรก็ตาม การเข้ามาแทนที่แรงงานมนุษย์ในบางภาคส่วนก็เป็นสิ่งที่ต้องพิจารณา นโยบายที่เกี่ยวข้องจึงควรเน้นการส่งเสริมการพัฒนาทักษะแรงงาน การสร้างโอกาสในการทำงานใหม่ๆ และการกระจายผลประโยชน์ทางเศรษฐกิจอย่างเป็นธรรมความท้าทายด้านจริยธรรมและความปลอดภัยการพัฒนา AI ที่ซับซ้อนขึ้นเรื่อยๆ นำมาซึ่งคำถามด้านจริยธรรมและความปลอดภัยที่สำคัญ เช่น ความโปร่งใสของอัลกอริทึม การตัดสินใจของ AI ที่อาจมีอคติ ความเป็นส่วนตัวของข้อมูล และความเสี่ยงด้านความปลอดภัยจากการใช้งาน AI ในทางที่ผิดการกำหนดหลักการและแนวปฏิบัติที่ชัดเจนสำหรับการพัฒนาและการใช้งาน AI อย่างมีความรับผิดชอบจึงเป็นสิ่งจำเป็น เพื่อสร้างความไว้วางใจและป้องกันผลกระทบเชิงลบที่อาจเกิดขึ้นแนวคิดนโยบายสำหรับยุค AIเพื่อรับมือกับการเปลี่ยนแปลงนี้ มีแนวคิดนโยบายหลายประการที่น่าสนใจและควรค่าแก่การพิจารณา:การลงทุนในการวิจัยและพัฒนาอย่างมีจริยธรรม: สนับสนุนการวิจัยที่มุ่งเน้นการพัฒนา AI ที่ปลอดภัย โปร่งใส และเป็นธรรมการส่งเสริมการศึกษาและพัฒนาทักษะ: เตรียมความพร้อมให้กับบุคลากรให้มีทักษะที่จำเป็นสำหรับตลาดแรงงานในอนาคตที่ขับเคลื่อนด้วย AIการสร้างกรอบกฎหมายที่ยืดหยุ่น: พัฒนากฎหมายและข้อบังคับที่สามารถปรับตัวตามการเปลี่ยนแปลงของเทคโนโลยี AI ได้อย่างทันท่วงทีการส่งเสริมความร่วมมือระหว่างประเทศ: สร้างความร่วมมือระดับโลกในการกำหนดมาตรฐานและแนวปฏิบัติเกี่ยวกับ AI เพื่อรับมือกับความท้าทายข้ามพรมแดนการสร้างกลไกการกำกับดูแลที่เหมาะสม: กำหนดหน่วยงานหรือกลไกที่รับผิดชอบในการกำกับดูแลและประเมินผลกระทบของ AIก้าวต่อไปสู่อนาคตการกำหนดนโยบายสำหรับยุคปัญญาประดิษฐ์ไม่ใช่เรื่องง่าย แต่เป็นภารกิจที่สำคัญอย่างยิ่ง การมีส่วนร่วมจากทุกภาคส่วน ทั้งภาครัฐ ภาคเอกชน นักวิชาการ และประชาชนทั่วไป จะช่วยให้เราสามารถสร้างกรอบนโยบายที่ครอบคลุมและมีประสิทธิภาพ เพื่อนำพา AI ไปสู่การพัฒนาที่ยั่งยืนและเป็นประโยชน์ต่อทุกคน#AI #นโยบายAI #อนาคตhttps://openai.com/index/new-policy-ideas-for-the-intelligence-age0 Comments 0 Shares 173 Views 0 Reviews -
SyGra Studio: เครื่องมือสร้างสรรค์ข้อมูลสังเคราะห์แบบ Visual Workflow ที่ทรงพลัง
การสร้างข้อมูลสังเคราะห์ (Synthetic Data Generation) สำหรับการฝึกฝนโมเดล AI หรือการทดสอบระบบ เป็นกระบวนการที่ซับซ้อนและต้องใช้ความเชี่ยวชาญ หากทำด้วยวิธีแบบเดิมๆ ที่ต้องเขียนโค้ดหรือแก้ไขไฟล์ YAML ด้วยตนเอง อาจทำให้เกิดความผิดพลาดและเสียเวลาได้ วันนี้เราจะมาทำความรู้จักกับ SyGra Studio เครื่องมือใหม่จาก ServiceNow-AI ที่จะเปลี่ยนการสร้างข้อมูลสังเคราะห์ให้เป็นเรื่องง่าย สนุก และมีประสิทธิภาพยิ่งขึ้น ด้วยการทำงานแบบ Visual Workflow ที่ใครๆ ก็ใช้งานได้
SyGra Studio ทำอะไรได้บ้าง? 💡
SyGra Studio ถูกออกแบบมาเพื่อช่วยให้ผู้ใช้สามารถสร้างและจัดการ Workflow การสร้างข้อมูลสังเคราะห์ได้อย่างครอบคลุม ตั้งแต่ต้นจนจบ โดยมีฟีเจอร์เด่นๆ ดังนี้:
- การตั้งค่าและตรวจสอบโมเดลที่หลากหลาย: รองรับโมเดลภาษาขนาดใหญ่ (LLM) จากผู้ให้บริการชั้นนำหลายราย เช่น OpenAI, Azure OpenAI, Ollama, Vertex AI, Bedrock, vLLM รวมถึง Custom Endpoints ทำให้ยืดหยุ่นในการเลือกใช้โมเดลที่เหมาะสม
- เชื่อมต่อแหล่งข้อมูลได้หลายรูปแบบ: สามารถเชื่อมต่อกับ Hugging Face, ระบบไฟล์ (File-system) หรือข้อมูลจาก ServiceNow โดยตรง พร้อมทั้งแสดงตัวอย่างข้อมูล (Preview Rows) ก่อนเริ่มการประมวลผลจริง
- ออกแบบ Workflow แบบ Visual: ลากวาง "บล็อก" (Nodes) ที่ต้องการใช้งาน แล้วกำหนดค่าต่างๆ เช่น เลือกโมเดล, เขียน Prompt พร้อมระบบช่วยแนะนำตัวแปร (Auto-suggested Variables), และกำหนดรูปแบบผลลัพธ์ (Output Schemas) ได้อย่างง่ายดาย
- จัดการข้อมูลและตัวแปร: สร้างผลลัพธ์ที่ซับซ้อนขึ้นโดยใช้ Shared State Variables และ Pydantic-powered Mappings เพื่อให้การส่งต่อข้อมูลระหว่าง Node เป็นไปอย่างราบรื่น
- รันและตรวจสอบผลลัพธ์ทันที: สามารถสั่งประมวลผล Workflow ทั้งหมด และดูผลลัพธ์ที่สร้างขึ้นได้ทันที พร้อมสถานะการทำงานของแต่ละ Node
- เครื่องมือช่วย Debug ที่ครบครัน: มีระบบการแสดง Log แบบ Inline, Breakpoints, Monaco-backed Code Editors และระบบบันทึกร่างอัตโนมัติ (Auto-saved Drafts) ช่วยให้การแก้ไขปัญหาทำได้รวดเร็ว
- ติดตามค่าใช้จ่ายและประสิทธิภาพ: ตรวจสอบค่าใช้จ่าย Token, Latency และผลลัพธ์ของ Guardrail ในแต่ละครั้งที่รัน พร้อมบันทึกประวัติการทำงานทั้งหมดไว้ในโฟลเดอร์
.executions/
เริ่มต้นใช้งาน SyGra Studio: Step-by-Step 🛠️
ขั้นตอนที่ 1: ตั้งค่าแหล่งข้อมูล (Configure the Data Source)
- เปิด SyGra Studio และคลิก Create Flow จะปรากฏ Node เริ่มต้น (Start/End) โดยอัตโนมัติ
- เลือก Connector ที่ต้องการใช้งาน (Hugging Face, Disk, หรือ ServiceNow)
- กรอกพารามิเตอร์ที่จำเป็น เช่น
repo_id,split, หรือfile pathจากนั้นคลิก Preview เพื่อดูข้อมูลตัวอย่าง - ชื่อคอลัมน์ข้อมูลจะถูกแปลงเป็น State Variables ทันที (เช่น
{prompt},{genre}) ทำให้ทราบว่าสามารถอ้างอิงตัวแปรใดได้บ้างภายใน Prompt หรือ Processor - เมื่อข้อมูลถูกต้อง Studio จะทำการ Sync การตั้งค่าและส่งต่อตัวแปรเหล่านี้ไปยัง Node อื่นๆ ใน Workflow โดยอัตโนมัติ
ขั้นตอนที่ 2: สร้าง Workflow (Build the Flow Visually)
สำหรับตัวอย่างการสร้าง Workflow สร้างเรื่องราว (Story Generation Pipeline):
- ลาก Node LLM ชื่อ “Story Generator” มาวาง
- เลือกโมเดลที่ตั้งค่าไว้ (เช่น
gpt-4o-mini) - เขียน Prompt เพื่อสร้างเนื้อเรื่อง และกำหนดให้ผลลัพธ์ถูกเก็บในตัวแปร
story_body - ลาก Node LLM อีกตัว ชื่อ “Story Summarizer” มาวาง
- อ้างอิงตัวแปร
{storybody}ใน Prompt เพื่อสรุปเรื่องราว และกำหนดให้ผลลัพธ์ถูกเก็บในstorysummary - สามารถปรับแต่งเพิ่มเติม เช่น การตั้งค่า Structured Outputs, การ Attach Tools หรือการเพิ่ม Lambda/Subgraph Nodes สำหรับ Logic ที่ใช้ซ้ำหรือการแตกแขนง
- Panel รายละเอียดของ Studio จะแสดงข้อมูลทั้งหมดให้เห็นอย่างชัดเจน ทั้งพารามิเตอร์โมเดล, Editor Prompt, การตั้งค่า Tool, โค้ด Pre/Post-process และการตั้งค่า Multi-LLM หากต้องการสร้างผลลัพธ์แบบขนาน การพิมพ์
{ใน Prompt จะแสดงรายการ State Variables ที่พร้อมใช้งานทั้งหมดทันที
ขั้นตอนที่ 3: ตรวจสอบและรัน Workflow (Review and Run)
- เปิด Code Panel เพื่อตรวจสอบโค้ด YAML/JSON ที่ Studio สร้างขึ้น ซึ่งเป็นไฟล์เดียวกับที่จะถูกบันทึกใน
tasks/examples/ - เมื่อพร้อมแล้ว ให้กำหนดค่าต่างๆ ในหน้า Run Modal เช่น จำนวน Record, Batch Size, การ Retry
- กด Run และสังเกต Execution Panel ที่จะแสดงสถานะของแต่ละ Node, การใช้งาน Token, Latency และ Cost แบบ Real-time พร้อม Log ที่ละเอียดช่วยให้ Debug ได้ง่าย
- หลังจากรันเสร็จ สามารถดาวน์โหลดผลลัพธ์, เปรียบเทียบกับผลลัพธ์ก่อนหน้า, และดู Metadata เกี่ยวกับ Latency และการใช้งานต่างๆ ได้
การรัน Workflow ที่มีอยู่แล้ว 🚀
SyGra Studio ยังสามารถรัน Workflow ที่สร้างไว้แล้วได้ เช่น Workflow ของ Glaive Code Assistant ที่อยู่ใน
tasks/examples/glaivecodeassistant/ซึ่ง Workflow นี้จะทำการดึงข้อมูลจากglaiveai/glaive-code-assistant-v2, ร่างคำตอบ, ตรวจสอบคำตอบ และวนลูปจนกว่าการตรวจสอบจะพอใจ- Canvas Layout: จะเห็น Node LLM สองตัว (
generateanswerและcritiqueanswer) เชื่อมต่อกันด้วย Conditional Edge ที่สามารถวนกลับมาแก้ไข หรือออกไปยัง END ได้ - Tunable Inputs: หน้า Run Modal ช่วยให้คุณสามารถสลับ Dataset Split, ปรับ Batch Size, จำกัดจำนวน Record หรือปรับ Temperature ได้โดยไม่ต้องแก้ไขไฟล์ YAML
- Observable Execution: คุณจะเห็น Node ทั้งสองทำงานตามลำดับ, ตรวจสอบผลการ Critique แบบ Intermediate, และติดตามสถานะแบบ Real-time
- Generated Outputs: ข้อมูลสังเคราะห์จะถูกสร้างขึ้น พร้อมใช้งานสำหรับ Model Training, Evaluation Pipelines หรือ Annotation Tools
สรุป
SyGra Studio เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับการสร้าง Workflow การสร้างข้อมูลสังเคราะห์แบบ Visual ที่ใช้งานง่าย ช่วยลดความยุ่งยากในการเขียนโค้ดหรือแก้ไขไฟล์ YAML คุณสามารถตั้งค่า, สร้างสรรค์, รัน และตรวจสอบผลลัพธ์ได้อย่างมั่นใจ โดยไม่ต้องออกจากหน้าจอ Studio เลย
เอกสารเพิ่มเติม:
- [SyGra Docs](ขอบคุณ แหล่งข้อมูล
https://servicenow.github.io/SyGra/) - [Studio Docs](ขอบคุณ แหล่งข้อมูล
https://servicenow.github.io/SyGra/gettingstarted/createtask_ui/) - [Example Config](ขอบคุณ แหล่งข้อมูล
https://github.com/ServiceNow/SyGra/blob/main/tasks/examples/glaivecodeassistant/graph_config.yaml)
#SyGraStudio #SyntheticData #AI #MachineLearning #LLM #WorkflowAutomation
ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/ServiceNow-AI/sygra-studioSyGra Studio: เครื่องมือสร้างสรรค์ข้อมูลสังเคราะห์แบบ Visual Workflow ที่ทรงพลังการสร้างข้อมูลสังเคราะห์ (Synthetic Data Generation) สำหรับการฝึกฝนโมเดล AI หรือการทดสอบระบบ เป็นกระบวนการที่ซับซ้อนและต้องใช้ความเชี่ยวชาญ หากทำด้วยวิธีแบบเดิมๆ ที่ต้องเขียนโค้ดหรือแก้ไขไฟล์ YAML ด้วยตนเอง อาจทำให้เกิดความผิดพลาดและเสียเวลาได้ วันนี้เราจะมาทำความรู้จักกับ SyGra Studio เครื่องมือใหม่จาก ServiceNow-AI ที่จะเปลี่ยนการสร้างข้อมูลสังเคราะห์ให้เป็นเรื่องง่าย สนุก และมีประสิทธิภาพยิ่งขึ้น ด้วยการทำงานแบบ Visual Workflow ที่ใครๆ ก็ใช้งานได้SyGra Studio ทำอะไรได้บ้าง? 💡SyGra Studio ถูกออกแบบมาเพื่อช่วยให้ผู้ใช้สามารถสร้างและจัดการ Workflow การสร้างข้อมูลสังเคราะห์ได้อย่างครอบคลุม ตั้งแต่ต้นจนจบ โดยมีฟีเจอร์เด่นๆ ดังนี้:การตั้งค่าและตรวจสอบโมเดลที่หลากหลาย: รองรับโมเดลภาษาขนาดใหญ่ (LLM) จากผู้ให้บริการชั้นนำหลายราย เช่น OpenAI, Azure OpenAI, Ollama, Vertex AI, Bedrock, vLLM รวมถึง Custom Endpoints ทำให้ยืดหยุ่นในการเลือกใช้โมเดลที่เหมาะสมเชื่อมต่อแหล่งข้อมูลได้หลายรูปแบบ: สามารถเชื่อมต่อกับ Hugging Face, ระบบไฟล์ (File-system) หรือข้อมูลจาก ServiceNow โดยตรง พร้อมทั้งแสดงตัวอย่างข้อมูล (Preview Rows) ก่อนเริ่มการประมวลผลจริงออกแบบ Workflow แบบ Visual: ลากวาง "บล็อก" (Nodes) ที่ต้องการใช้งาน แล้วกำหนดค่าต่างๆ เช่น เลือกโมเดล, เขียน Prompt พร้อมระบบช่วยแนะนำตัวแปร (Auto-suggested Variables), และกำหนดรูปแบบผลลัพธ์ (Output Schemas) ได้อย่างง่ายดายจัดการข้อมูลและตัวแปร: สร้างผลลัพธ์ที่ซับซ้อนขึ้นโดยใช้ Shared State Variables และ Pydantic-powered Mappings เพื่อให้การส่งต่อข้อมูลระหว่าง Node เป็นไปอย่างราบรื่นรันและตรวจสอบผลลัพธ์ทันที: สามารถสั่งประมวลผล Workflow ทั้งหมด และดูผลลัพธ์ที่สร้างขึ้นได้ทันที พร้อมสถานะการทำงานของแต่ละ Nodeเครื่องมือช่วย Debug ที่ครบครัน: มีระบบการแสดง Log แบบ Inline, Breakpoints, Monaco-backed Code Editors และระบบบันทึกร่างอัตโนมัติ (Auto-saved Drafts) ช่วยให้การแก้ไขปัญหาทำได้รวดเร็วติดตามค่าใช้จ่ายและประสิทธิภาพ: ตรวจสอบค่าใช้จ่าย Token, Latency และผลลัพธ์ของ Guardrail ในแต่ละครั้งที่รัน พร้อมบันทึกประวัติการทำงานทั้งหมดไว้ในโฟลเดอร์ .executions/เริ่มต้นใช้งาน SyGra Studio: Step-by-Step 🛠️ขั้นตอนที่ 1: ตั้งค่าแหล่งข้อมูล (Configure the Data Source)เปิด SyGra Studio และคลิก Create Flow จะปรากฏ Node เริ่มต้น (Start/End) โดยอัตโนมัติเลือก Connector ที่ต้องการใช้งาน (Hugging Face, Disk, หรือ ServiceNow)กรอกพารามิเตอร์ที่จำเป็น เช่น repo_id, split, หรือ file path จากนั้นคลิก Preview เพื่อดูข้อมูลตัวอย่างชื่อคอลัมน์ข้อมูลจะถูกแปลงเป็น State Variables ทันที (เช่น {prompt}, {genre}) ทำให้ทราบว่าสามารถอ้างอิงตัวแปรใดได้บ้างภายใน Prompt หรือ Processorเมื่อข้อมูลถูกต้อง Studio จะทำการ Sync การตั้งค่าและส่งต่อตัวแปรเหล่านี้ไปยัง Node อื่นๆ ใน Workflow โดยอัตโนมัติขั้นตอนที่ 2: สร้าง Workflow (Build the Flow Visually)สำหรับตัวอย่างการสร้าง Workflow สร้างเรื่องราว (Story Generation Pipeline):ลาก Node LLM ชื่อ “Story Generator” มาวางเลือกโมเดลที่ตั้งค่าไว้ (เช่น gpt-4o-mini)เขียน Prompt เพื่อสร้างเนื้อเรื่อง และกำหนดให้ผลลัพธ์ถูกเก็บในตัวแปร story_bodyลาก Node LLM อีกตัว ชื่อ “Story Summarizer” มาวางอ้างอิงตัวแปร {storybody} ใน Prompt เพื่อสรุปเรื่องราว และกำหนดให้ผลลัพธ์ถูกเก็บใน storysummaryสามารถปรับแต่งเพิ่มเติม เช่น การตั้งค่า Structured Outputs, การ Attach Tools หรือการเพิ่ม Lambda/Subgraph Nodes สำหรับ Logic ที่ใช้ซ้ำหรือการแตกแขนงPanel รายละเอียดของ Studio จะแสดงข้อมูลทั้งหมดให้เห็นอย่างชัดเจน ทั้งพารามิเตอร์โมเดล, Editor Prompt, การตั้งค่า Tool, โค้ด Pre/Post-process และการตั้งค่า Multi-LLM หากต้องการสร้างผลลัพธ์แบบขนาน การพิมพ์ { ใน Prompt จะแสดงรายการ State Variables ที่พร้อมใช้งานทั้งหมดทันทีขั้นตอนที่ 3: ตรวจสอบและรัน Workflow (Review and Run)เปิด Code Panel เพื่อตรวจสอบโค้ด YAML/JSON ที่ Studio สร้างขึ้น ซึ่งเป็นไฟล์เดียวกับที่จะถูกบันทึกใน tasks/examples/เมื่อพร้อมแล้ว ให้กำหนดค่าต่างๆ ในหน้า Run Modal เช่น จำนวน Record, Batch Size, การ Retryกด Run และสังเกต Execution Panel ที่จะแสดงสถานะของแต่ละ Node, การใช้งาน Token, Latency และ Cost แบบ Real-time พร้อม Log ที่ละเอียดช่วยให้ Debug ได้ง่ายหลังจากรันเสร็จ สามารถดาวน์โหลดผลลัพธ์, เปรียบเทียบกับผลลัพธ์ก่อนหน้า, และดู Metadata เกี่ยวกับ Latency และการใช้งานต่างๆ ได้การรัน Workflow ที่มีอยู่แล้ว 🚀SyGra Studio ยังสามารถรัน Workflow ที่สร้างไว้แล้วได้ เช่น Workflow ของ Glaive Code Assistant ที่อยู่ใน tasks/examples/glaivecodeassistant/ ซึ่ง Workflow นี้จะทำการดึงข้อมูลจาก glaiveai/glaive-code-assistant-v2, ร่างคำตอบ, ตรวจสอบคำตอบ และวนลูปจนกว่าการตรวจสอบจะพอใจCanvas Layout: จะเห็น Node LLM สองตัว (generateanswer และ critiqueanswer) เชื่อมต่อกันด้วย Conditional Edge ที่สามารถวนกลับมาแก้ไข หรือออกไปยัง END ได้Tunable Inputs: หน้า Run Modal ช่วยให้คุณสามารถสลับ Dataset Split, ปรับ Batch Size, จำกัดจำนวน Record หรือปรับ Temperature ได้โดยไม่ต้องแก้ไขไฟล์ YAMLObservable Execution: คุณจะเห็น Node ทั้งสองทำงานตามลำดับ, ตรวจสอบผลการ Critique แบบ Intermediate, และติดตามสถานะแบบ Real-timeGenerated Outputs: ข้อมูลสังเคราะห์จะถูกสร้างขึ้น พร้อมใช้งานสำหรับ Model Training, Evaluation Pipelines หรือ Annotation ToolsสรุปSyGra Studio เป็นแพลตฟอร์มที่ยอดเยี่ยมสำหรับการสร้าง Workflow การสร้างข้อมูลสังเคราะห์แบบ Visual ที่ใช้งานง่าย ช่วยลดความยุ่งยากในการเขียนโค้ดหรือแก้ไขไฟล์ YAML คุณสามารถตั้งค่า, สร้างสรรค์, รัน และตรวจสอบผลลัพธ์ได้อย่างมั่นใจ โดยไม่ต้องออกจากหน้าจอ Studio เลยเอกสารเพิ่มเติม:[SyGra Docs](https://servicenow.github.io/SyGra/)[Studio Docs](https://servicenow.github.io/SyGra/gettingstarted/createtask_ui/)[Example Config](https://github.com/ServiceNow/SyGra/blob/main/tasks/examples/glaivecodeassistant/graph_config.yaml)#SyGraStudio #SyntheticData #AI #MachineLearning #LLM #WorkflowAutomationhttps://huggingface.co/blog/ServiceNow-AI/sygra-studio
HUGGINGFACE.COIntroducing SyGra StudioA Blog post by ServiceNow-AI on Hugging Face7 Comments 0 Shares 195 Views 0 Reviews-
การไม่ต้องมานั่งแก้ YAML เองนี่คือจุดที่ดีมากการไม่ต้องมานั่งแก้ YAML เองนี่คือจุดที่ดีมาก
-
React
- Reply
- 2026-08-18 09:00:14
-
-
การที่สามารถ preview ข้อมูลก่อนรันได้ช่วยลดความผิดพลาดการที่สามารถ preview ข้อมูลก่อนรันได้ช่วยลดความผิดพลาด
-
React
- Reply
- 2026-08-18 09:00:14
-
-
ชอบที่มันแสดง token cost กับ latency ให้เห็นทันทีหลังรันชอบที่มันแสดง token cost กับ latency ให้เห็นทันทีหลังรัน
-
React
- Reply
- 2026-08-18 09:00:14
-
-
การ debug แบบ inline logs กับ breakpoints นี่ช่วยประหยัดเวลาได้จริงการ debug แบบ inline logs กับ breakpoints นี่ช่วยประหยัดเวลาได้จริง
-
React
- Reply
- 2026-08-18 09:00:14
-
-
ดูเหมือนจะช่วยให้การสร้างข้อมูลสังเคราะห์ง่ายขึ้นเยอะเลยดูเหมือนจะช่วยให้การสร้างข้อมูลสังเคราะห์ง่ายขึ้นเยอะเลย
-
React
- Reply
- 2026-08-18 09:00:14
-
-
รายได้ของ Anthropic พุ่งสูงถึง 65 พันล้านดอลลาร์ต่อปี: สัญญาณการเติบโตที่น่าจับตาในวงการ AI 🚀
ในโลกของเทคโนโลยีปัญญาประดิษฐ์ (AI) ที่มีการแข่งขันสูง การเติบโตของบริษัทสตาร์ทอัพมักเป็นที่จับตามองเสมอ โดยเฉพาะอย่างยิ่งเมื่อพูดถึงบริษัทที่พัฒนาโมเดล AI ล้ำสมัย ล่าสุดมีข่าวที่น่าสนใจเกี่ยวกับ Anthropic บริษัทผู้สร้างโมเดล AI ที่ได้แสดงให้เห็นถึงการเติบโตของรายได้อย่างก้าวกระโดด จนมีรายได้ต่อปี (annualized revenue) ทะลุ 65 พันล้านดอลลาร์สหรัฐฯ
การเติบโตที่เร่งความเร็ว: จาก 9 พันล้าน สู่ 65 พันล้านดอลลาร์
ข้อมูลล่าสุดที่เผยแพร่โดย Bloomberg ชี้ให้เห็นว่า รายได้ต่อปีของ Anthropic ณ สิ้นเดือนกรกฎาคม พุ่งสูงถึง 65 พันล้านดอลลาร์สหรัฐฯ ซึ่งเป็นการเติบโตที่น่าทึ่งเมื่อเทียบกับตัวเลข 47 พันล้านดอลลาร์สหรัฐฯ ในเดือนพฤษภาคม และเพียง 9 พันล้านดอลลาร์สหรัฐฯ เมื่อช่วงปลายปีที่แล้ว การเติบโตนี้ไม่ได้เพียงแค่คงที่ แต่ยัง เร่งความเร็ว ขึ้นอย่างต่อเนื่อง แสดงให้เห็นถึงความต้องการโมเดล AI ของบริษัทที่เพิ่มสูงขึ้นอย่างมหาศาล
คาดการณ์อนาคต: เป้าหมาย 100-120 พันล้านดอลลาร์ในปี 2026
นักลงทุนของ Anthropic คาดหวังว่า บริษัทจะยังคงรักษาอัตราการเติบโตนี้ต่อไปตลอดปี 2026 โดยมีเป้าหมายที่จะปิดปีด้วยรายได้ ระหว่าง 100 ถึง 120 พันล้านดอลลาร์สหรัฐฯ ตัวเลขเหล่านี้บ่งชี้ถึงความมั่นใจของตลาดที่มีต่อศักยภาพของ Anthropic ในการเป็นผู้นำด้าน AI
การแข่งขันในตลาด AI: Anthropic vs. OpenAI
การเติบโตของ Anthropic เกิดขึ้นท่ามกลางการแข่งขันที่ดุเดือดกับคู่แข่งคนสำคัญอย่าง OpenAI ซึ่งก็มีการเติบโตที่น่าประทับใจเช่นกัน โดย OpenAI รายงานว่ามีรายได้เพิ่มขึ้นเป็น 40 พันล้านดอลลาร์สหรัฐฯ จากเดิม 20 พันล้านดอลลาร์สหรัฐฯ เมื่อปลายปี 2025 แม้ว่าทั้งสองบริษัทอาจมีการคำนวณตัวชี้วัดรายได้ที่แตกต่างกัน แต่การเติบโตของ Anthropic ก็ได้สร้างความตื่นเต้นให้กับนักลงทุนมากกว่า
สู่ตลาดหุ้น: การเตรียมพร้อม IPO ที่อาจสร้างประวัติศาสตร์
ทั้ง Anthropic และ OpenAI ได้ยื่นเอกสารเพื่อเตรียมเสนอขายหุ้นแก่ประชาชนทั่วไป (IPO) โดยคาดว่า Anthropic จะเข้าสู่ตลาดหุ้นก่อน OpenAI ซึ่งอาจเกิดขึ้นเร็วที่สุดในช่วงฤดูใบไม้ร่วงนี้ Anthropic ตั้งเป้าที่จะได้รับการประเมินมูลค่า 2 ล้านล้านดอลลาร์สหรัฐฯ หรือมากกว่านั้น ซึ่งหากเป็นจริง จะเป็นการเสนอขายหุ้น IPO ที่ใหญ่ที่สุดในประวัติศาสตร์
มูลค่าบริษัทที่พุ่งสูง: จาก 965 พันล้าน สู่เป้าหมาย 2 ล้านล้านดอลลาร์
ก่อนหน้านี้ ในช่วงปลายเดือนพฤษภาคม Anthropic ได้รับการประเมินมูลค่าที่ 965 พันล้านดอลลาร์สหรัฐฯ หลังจากการระดมทุนรอบล่าสุดถึง 65 พันล้านดอลลาร์สหรัฐฯ การที่บริษัทสามารถเพิ่มมูลค่าและรายได้อย่างรวดเร็วเช่นนี้ สะท้อนให้เห็นถึงความเชื่อมั่นของนักลงทุนในวิสัยทัศน์และเทคโนโลยีของ Anthropic
สรุป: การเติบโตที่น่าจับตา
การพุ่งขึ้นของรายได้และมูลค่าของ Anthropic เป็นสัญญาณที่ชัดเจนว่าบริษัทกำลังก้าวไปสู่การเป็นผู้เล่นหลักในอุตสาหกรรม AI การเติบโตที่รวดเร็วนี้ ไม่เพียงแต่สร้างความตื่นเต้นให้กับนักลงทุน แต่ยังบ่งชี้ถึงศักยภาพอันมหาศาลของเทคโนโลยี AI ที่จะเข้ามาเปลี่ยนแปลงโลกของเราต่อไป
#Anthropic #AI #เทคโนโลยี #สตาร์ทอัพ #การเติบโต
ขอบคุณ แหล่งข้อมูล
https://techcrunch.com/2026/08/17/anthropics-annualized-revenue-surges-to-65b/รายได้ของ Anthropic พุ่งสูงถึง 65 พันล้านดอลลาร์ต่อปี: สัญญาณการเติบโตที่น่าจับตาในวงการ AI 🚀ในโลกของเทคโนโลยีปัญญาประดิษฐ์ (AI) ที่มีการแข่งขันสูง การเติบโตของบริษัทสตาร์ทอัพมักเป็นที่จับตามองเสมอ โดยเฉพาะอย่างยิ่งเมื่อพูดถึงบริษัทที่พัฒนาโมเดล AI ล้ำสมัย ล่าสุดมีข่าวที่น่าสนใจเกี่ยวกับ Anthropic บริษัทผู้สร้างโมเดล AI ที่ได้แสดงให้เห็นถึงการเติบโตของรายได้อย่างก้าวกระโดด จนมีรายได้ต่อปี (annualized revenue) ทะลุ 65 พันล้านดอลลาร์สหรัฐฯการเติบโตที่เร่งความเร็ว: จาก 9 พันล้าน สู่ 65 พันล้านดอลลาร์ข้อมูลล่าสุดที่เผยแพร่โดย Bloomberg ชี้ให้เห็นว่า รายได้ต่อปีของ Anthropic ณ สิ้นเดือนกรกฎาคม พุ่งสูงถึง 65 พันล้านดอลลาร์สหรัฐฯ ซึ่งเป็นการเติบโตที่น่าทึ่งเมื่อเทียบกับตัวเลข 47 พันล้านดอลลาร์สหรัฐฯ ในเดือนพฤษภาคม และเพียง 9 พันล้านดอลลาร์สหรัฐฯ เมื่อช่วงปลายปีที่แล้ว การเติบโตนี้ไม่ได้เพียงแค่คงที่ แต่ยัง เร่งความเร็ว ขึ้นอย่างต่อเนื่อง แสดงให้เห็นถึงความต้องการโมเดล AI ของบริษัทที่เพิ่มสูงขึ้นอย่างมหาศาลคาดการณ์อนาคต: เป้าหมาย 100-120 พันล้านดอลลาร์ในปี 2026นักลงทุนของ Anthropic คาดหวังว่า บริษัทจะยังคงรักษาอัตราการเติบโตนี้ต่อไปตลอดปี 2026 โดยมีเป้าหมายที่จะปิดปีด้วยรายได้ ระหว่าง 100 ถึง 120 พันล้านดอลลาร์สหรัฐฯ ตัวเลขเหล่านี้บ่งชี้ถึงความมั่นใจของตลาดที่มีต่อศักยภาพของ Anthropic ในการเป็นผู้นำด้าน AIการแข่งขันในตลาด AI: Anthropic vs. OpenAIการเติบโตของ Anthropic เกิดขึ้นท่ามกลางการแข่งขันที่ดุเดือดกับคู่แข่งคนสำคัญอย่าง OpenAI ซึ่งก็มีการเติบโตที่น่าประทับใจเช่นกัน โดย OpenAI รายงานว่ามีรายได้เพิ่มขึ้นเป็น 40 พันล้านดอลลาร์สหรัฐฯ จากเดิม 20 พันล้านดอลลาร์สหรัฐฯ เมื่อปลายปี 2025 แม้ว่าทั้งสองบริษัทอาจมีการคำนวณตัวชี้วัดรายได้ที่แตกต่างกัน แต่การเติบโตของ Anthropic ก็ได้สร้างความตื่นเต้นให้กับนักลงทุนมากกว่าสู่ตลาดหุ้น: การเตรียมพร้อม IPO ที่อาจสร้างประวัติศาสตร์ทั้ง Anthropic และ OpenAI ได้ยื่นเอกสารเพื่อเตรียมเสนอขายหุ้นแก่ประชาชนทั่วไป (IPO) โดยคาดว่า Anthropic จะเข้าสู่ตลาดหุ้นก่อน OpenAI ซึ่งอาจเกิดขึ้นเร็วที่สุดในช่วงฤดูใบไม้ร่วงนี้ Anthropic ตั้งเป้าที่จะได้รับการประเมินมูลค่า 2 ล้านล้านดอลลาร์สหรัฐฯ หรือมากกว่านั้น ซึ่งหากเป็นจริง จะเป็นการเสนอขายหุ้น IPO ที่ใหญ่ที่สุดในประวัติศาสตร์มูลค่าบริษัทที่พุ่งสูง: จาก 965 พันล้าน สู่เป้าหมาย 2 ล้านล้านดอลลาร์ก่อนหน้านี้ ในช่วงปลายเดือนพฤษภาคม Anthropic ได้รับการประเมินมูลค่าที่ 965 พันล้านดอลลาร์สหรัฐฯ หลังจากการระดมทุนรอบล่าสุดถึง 65 พันล้านดอลลาร์สหรัฐฯ การที่บริษัทสามารถเพิ่มมูลค่าและรายได้อย่างรวดเร็วเช่นนี้ สะท้อนให้เห็นถึงความเชื่อมั่นของนักลงทุนในวิสัยทัศน์และเทคโนโลยีของ Anthropicสรุป: การเติบโตที่น่าจับตาการพุ่งขึ้นของรายได้และมูลค่าของ Anthropic เป็นสัญญาณที่ชัดเจนว่าบริษัทกำลังก้าวไปสู่การเป็นผู้เล่นหลักในอุตสาหกรรม AI การเติบโตที่รวดเร็วนี้ ไม่เพียงแต่สร้างความตื่นเต้นให้กับนักลงทุน แต่ยังบ่งชี้ถึงศักยภาพอันมหาศาลของเทคโนโลยี AI ที่จะเข้ามาเปลี่ยนแปลงโลกของเราต่อไป#Anthropic #AI #เทคโนโลยี #สตาร์ทอัพ #การเติบโตhttps://techcrunch.com/2026/08/17/anthropics-annualized-revenue-surges-to-65b/
TECHCRUNCH.COMAnthropic's annualized revenue surges to $65B | TechCrunchThe model maker added $18 billion in annualized revenue in two months.3 Comments 0 Shares 507 Views 0 Reviews-
น่าสนใจว่า Anthropic จะเข้าตลาดหลักทรัพย์ก่อน OpenAI หรือไม่น่าสนใจว่า Anthropic จะเข้าตลาดหลักทรัพย์ก่อน OpenAI หรือไม่
-
React
- Reply
- 2026-08-18 02:45:17
-
-
การเติบโตของ Anthropic สูงกว่าที่คาดการณ์ไว้มากเลยทีเดียวการเติบโตของ Anthropic สูงกว่าที่คาดการณ์ไว้มากเลยทีเดียว
-
React
- Reply
- 2026-08-18 02:45:17
-
-
ตัวเลขรายได้ของ Anthropic เติบโตเร็วมากจริงๆ ครับตัวเลขรายได้ของ Anthropic เติบโตเร็วมากจริงๆ ครับ
-
React
- Reply
- 2026-08-18 02:45:17
-
-
-
เบื้องหลังโลโก้ Bluesky ในภาพหน้าจอ: เคล็ดลับจาก UITextField ที่ไม่ธรรมดา
เคยสังเกตไหมว่าเวลาเราแคปเจอร์หน้าจอแอปพลิเคชันบางตัว โลโก้หรือเนื้อหาบางอย่างกลับหายไป หรือเปลี่ยนไปปรากฏเป็นโลโก้ของแอปพลิเคชันแทน? หนึ่งในนั้นคือแอป Bluesky ที่มีวิธีซ่อนโลโก้ของตัวเองในภาพหน้าจอได้อย่างน่าสนใจ ทีมงาน timmarinin.net ได้ลองสืบค้นและพบเบื้องหลังที่น่าทึ่งว่าทำได้อย่างไร
ทำไมโลโก้ Bluesky ถึงปรากฏในภาพหน้าจอ?
หลายครั้งที่เราเห็นโพสต์ที่น่าสนใจใน Bluesky แล้วอยากจะแคปเจอร์เก็บไว้ หรือส่งต่อให้เพื่อนๆ แต่ก็สังเกตเห็นโลโก้ของ Bluesky ปรากฏอยู่ที่มุมขวาของภาพหน้าจอเสมอ ซึ่งเป็นเรื่องที่น่าสงสัย เพราะปกติแล้วเวลาใช้งานแอปพลิเคชัน โลโก้นี้จะไม่ได้แสดงอยู่ตลอดเวลา บางครั้งก็ถูกแทนที่ด้วยปุ่ม "Follow"
ความสงสัยในกลไกการทำงาน
ในตอนแรกอาจจะคิดว่านี่เป็นกลไกที่ซ่อนโลโก้ไว้ในบริเวณที่มี "รอยบาก" (notch) ของ iPhone เพื่อไม่ให้เกะกะสายตาเวลาใช้งานปกติ แต่เมื่อลองสังเกตดีๆ โลโก้กลับปรากฏขึ้นมาในภาพหน้าจออย่างชัดเจน ทำให้เกิดคำถามว่าแอปพลิเคชันทำได้อย่างไร?
มีการตั้งสมมติฐานว่าอาจจะเป็นการตั้งค่าให้ตรวจจับการกดปุ่มเพื่อแคปเจอร์หน้าจอพร้อมๆ กับการสลับแอปพลิเคชัน แล้วทำการสลับภาพในเสี้ยววินาทีสุดท้าย แต่เนื่องจากผู้ที่ตั้งข้อสังเกตไม่ใช่ผู้พัฒนา iOS โดยตรง จึงไม่แน่ใจว่ากลไกดังกล่าวเป็นไปได้จริงหรือไม่
การค้นพบเบื้องหลังจากโค้ดโอเพนซอร์ส
โชคดีที่แอปพลิเคชัน Bluesky เป็นโอเพนซอร์ส ทำให้สามารถเข้าไปตรวจสอบโค้ดเพื่อหาคำตอบได้
คำตอบที่ค้นพบอยู่ในไฟล์ชื่อ
GrowthHack.tsxซึ่งถูกเพิ่มเข้ามาโดยผู้ใช้งานชื่อmozziusแต่ไฟล์ดังกล่าวกลับไปเรียกใช้ไลบรารีอื่น คือexpo-privacy-sensitiveเมื่อเจาะลึกเข้าไปในไลบรารีนี้ ก็พบว่าเบื้องหลังทั้งหมดคือการใช้UITextFieldซึ่งเป็นส่วนประกอบมาตรฐานของ iOS สำหรับการป้อนข้อความ แต่มีการตั้งค่าคุณสมบัติisSecureTextEntryให้เป็นtrueกลไกการซ่อนโลโก้ด้วย UITextField
เมื่อตั้งค่า
isSecureTextEntryเป็นtrueระบบ iOS จะทำการซ่อนเนื้อหาที่แสดงผลในUITextFieldนั้นๆ ด้วยการทำให้เลเยอร์ (layer) ว่างเปล่า หรือแสดงเป็นสีดำ ทำให้โลโก้ของ Bluesky ซึ่งถูก "ซ้อน" อยู่ภายในUITextFieldนี้ สามารถปรากฏให้เห็นได้ในภาพหน้าจอสำหรับแพลตฟอร์มอื่นๆ ที่ไม่ใช่ iOS แอปพลิเคชันจะแสดงผลเนื้อหาตามปกติ โดยไม่มีการซ่อนใดๆ
ทำไมถึงไม่ทำงานตอนสลับแอป?
สาเหตุที่กลไกนี้ไม่ทำงานเมื่อสลับแอปพลิเคชัน อาจเป็นเพราะ iOS ทำการจับภาพหน้าจอ (snapshot) ตั้งแต่เริ่มต้นของการกดปุ่มสลับแอปฯ โดยที่ยังไม่ได้เรียกใช้การซ่อนเลเยอร์ของ
UITextFieldและเมื่อถึงเวลาที่ทำการแคปเจอร์จริงๆ นั้นUITextFieldที่มีชีวิตชีวาและสามารถตอบสนองต่อคำสั่งได้ ก็ไม่ได้ถูกเรียกใช้งานแล้ว เหลือเพียงภาพนิ่งที่ถูกจับไว้ก่อนหน้าเทคนิคที่น่าสนใจ หรือการใช้ API ที่ไม่เหมาะสม?
เทคนิคนี้ถูกมองว่าเป็นกลไกที่สร้างสรรค์ หรืออาจเป็นการใช้ API ที่มีไว้เพื่อความเป็นส่วนตัว (privacy) ในทางที่ผิด ผู้พัฒนาบางส่วนในเธรดพูดคุยกันก็ไม่ค่อยชอบนัก แต่ก็มีมุมมองที่มองว่ามันน่ารักและเป็นลูกเล่นที่น่าสนใจ
ความแพร่หลายของเทคนิคนี้
จากการสืบค้นเพิ่มเติม พบว่าเทคนิคนี้ไม่ใช่เรื่องใหม่เสียทีเดียว แอปพลิเคชันอย่าง Telegram และ Signal ก็เคยนำกลไกที่คล้ายกันนี้มาใช้ในส่วนของ "แชทลับ" (secret chats) ทำให้ไม่น่าแปลกใจหาก Apple จะไม่รีบแก้ไขหรือปิดกั้นการใช้งานเทคนิคนี้ในอนาคตอันใกล้
#Bluesky #UIUX #iOSDevelopment #AppDesign #TechExplained
ขอบคุณ แหล่งข้อมูล
https://timmarinin.net/2026/bluesky-screenshots/เบื้องหลังโลโก้ Bluesky ในภาพหน้าจอ: เคล็ดลับจาก UITextField ที่ไม่ธรรมดาเคยสังเกตไหมว่าเวลาเราแคปเจอร์หน้าจอแอปพลิเคชันบางตัว โลโก้หรือเนื้อหาบางอย่างกลับหายไป หรือเปลี่ยนไปปรากฏเป็นโลโก้ของแอปพลิเคชันแทน? หนึ่งในนั้นคือแอป Bluesky ที่มีวิธีซ่อนโลโก้ของตัวเองในภาพหน้าจอได้อย่างน่าสนใจ ทีมงาน timmarinin.net ได้ลองสืบค้นและพบเบื้องหลังที่น่าทึ่งว่าทำได้อย่างไรทำไมโลโก้ Bluesky ถึงปรากฏในภาพหน้าจอ?หลายครั้งที่เราเห็นโพสต์ที่น่าสนใจใน Bluesky แล้วอยากจะแคปเจอร์เก็บไว้ หรือส่งต่อให้เพื่อนๆ แต่ก็สังเกตเห็นโลโก้ของ Bluesky ปรากฏอยู่ที่มุมขวาของภาพหน้าจอเสมอ ซึ่งเป็นเรื่องที่น่าสงสัย เพราะปกติแล้วเวลาใช้งานแอปพลิเคชัน โลโก้นี้จะไม่ได้แสดงอยู่ตลอดเวลา บางครั้งก็ถูกแทนที่ด้วยปุ่ม "Follow"ความสงสัยในกลไกการทำงานในตอนแรกอาจจะคิดว่านี่เป็นกลไกที่ซ่อนโลโก้ไว้ในบริเวณที่มี "รอยบาก" (notch) ของ iPhone เพื่อไม่ให้เกะกะสายตาเวลาใช้งานปกติ แต่เมื่อลองสังเกตดีๆ โลโก้กลับปรากฏขึ้นมาในภาพหน้าจออย่างชัดเจน ทำให้เกิดคำถามว่าแอปพลิเคชันทำได้อย่างไร?มีการตั้งสมมติฐานว่าอาจจะเป็นการตั้งค่าให้ตรวจจับการกดปุ่มเพื่อแคปเจอร์หน้าจอพร้อมๆ กับการสลับแอปพลิเคชัน แล้วทำการสลับภาพในเสี้ยววินาทีสุดท้าย แต่เนื่องจากผู้ที่ตั้งข้อสังเกตไม่ใช่ผู้พัฒนา iOS โดยตรง จึงไม่แน่ใจว่ากลไกดังกล่าวเป็นไปได้จริงหรือไม่การค้นพบเบื้องหลังจากโค้ดโอเพนซอร์สโชคดีที่แอปพลิเคชัน Bluesky เป็นโอเพนซอร์ส ทำให้สามารถเข้าไปตรวจสอบโค้ดเพื่อหาคำตอบได้คำตอบที่ค้นพบอยู่ในไฟล์ชื่อ GrowthHack.tsx ซึ่งถูกเพิ่มเข้ามาโดยผู้ใช้งานชื่อ mozzius แต่ไฟล์ดังกล่าวกลับไปเรียกใช้ไลบรารีอื่น คือ expo-privacy-sensitive เมื่อเจาะลึกเข้าไปในไลบรารีนี้ ก็พบว่าเบื้องหลังทั้งหมดคือการใช้ UITextField ซึ่งเป็นส่วนประกอบมาตรฐานของ iOS สำหรับการป้อนข้อความ แต่มีการตั้งค่าคุณสมบัติ isSecureTextEntry ให้เป็น trueกลไกการซ่อนโลโก้ด้วย UITextFieldเมื่อตั้งค่า isSecureTextEntry เป็น true ระบบ iOS จะทำการซ่อนเนื้อหาที่แสดงผลใน UITextField นั้นๆ ด้วยการทำให้เลเยอร์ (layer) ว่างเปล่า หรือแสดงเป็นสีดำ ทำให้โลโก้ของ Bluesky ซึ่งถูก "ซ้อน" อยู่ภายใน UITextField นี้ สามารถปรากฏให้เห็นได้ในภาพหน้าจอสำหรับแพลตฟอร์มอื่นๆ ที่ไม่ใช่ iOS แอปพลิเคชันจะแสดงผลเนื้อหาตามปกติ โดยไม่มีการซ่อนใดๆทำไมถึงไม่ทำงานตอนสลับแอป?สาเหตุที่กลไกนี้ไม่ทำงานเมื่อสลับแอปพลิเคชัน อาจเป็นเพราะ iOS ทำการจับภาพหน้าจอ (snapshot) ตั้งแต่เริ่มต้นของการกดปุ่มสลับแอปฯ โดยที่ยังไม่ได้เรียกใช้การซ่อนเลเยอร์ของ UITextField และเมื่อถึงเวลาที่ทำการแคปเจอร์จริงๆ นั้น UITextField ที่มีชีวิตชีวาและสามารถตอบสนองต่อคำสั่งได้ ก็ไม่ได้ถูกเรียกใช้งานแล้ว เหลือเพียงภาพนิ่งที่ถูกจับไว้ก่อนหน้าเทคนิคที่น่าสนใจ หรือการใช้ API ที่ไม่เหมาะสม?เทคนิคนี้ถูกมองว่าเป็นกลไกที่สร้างสรรค์ หรืออาจเป็นการใช้ API ที่มีไว้เพื่อความเป็นส่วนตัว (privacy) ในทางที่ผิด ผู้พัฒนาบางส่วนในเธรดพูดคุยกันก็ไม่ค่อยชอบนัก แต่ก็มีมุมมองที่มองว่ามันน่ารักและเป็นลูกเล่นที่น่าสนใจความแพร่หลายของเทคนิคนี้จากการสืบค้นเพิ่มเติม พบว่าเทคนิคนี้ไม่ใช่เรื่องใหม่เสียทีเดียว แอปพลิเคชันอย่าง Telegram และ Signal ก็เคยนำกลไกที่คล้ายกันนี้มาใช้ในส่วนของ "แชทลับ" (secret chats) ทำให้ไม่น่าแปลกใจหาก Apple จะไม่รีบแก้ไขหรือปิดกั้นการใช้งานเทคนิคนี้ในอนาคตอันใกล้#Bluesky #UIUX #iOSDevelopment #AppDesign #TechExplainedhttps://timmarinin.net/2026/bluesky-screenshots/How Bluesky draws its logo on screenshotsThe secret is humble UITextField.2 Comments 0 Shares 552 Views 0 Reviews-
การใช้ UITextField แบบนี้เจ๋งไปเลยการใช้ UITextField แบบนี้เจ๋งไปเลย
-
React
- Reply
- 2026-08-18 01:52:23
-
-
เทคนิคซ่อนโลโก้แบบนี้ดูน่ารักดีนะเทคนิคซ่อนโลโก้แบบนี้ดูน่ารักดีนะ
-
React
- Reply
- 2026-08-18 01:52:23
-
-
-
OpenAI เข้าร่วมโครงการ Ports Pike: ยกระดับการพัฒนา AI สู่ขั้นต่อไป
ในยุคที่เทคโนโลยี AI กำลังก้าวหน้าอย่างรวดเร็ว การร่วมมือและการพัฒนาอย่างต่อเนื่องเป็นสิ่งสำคัญยิ่ง OpenAI หนึ่งในผู้นำด้านการวิจัยและพัฒนาปัญญาประดิษฐ์ ได้ประกาศเข้าร่วมโครงการ Ports Pike ซึ่งเป็นโครงการที่มุ่งเน้นการสร้างโครงสร้างพื้นฐานที่สำคัญสำหรับการวิจัยและพัฒนา AI ในอนาคต การเข้าร่วมครั้งนี้ถือเป็นการตอกย้ำความมุ่งมั่นของ OpenAI ในการผลักดันขีดจำกัดของ AI เพื่อประโยชน์ของมนุษยชาติ
ทำความรู้จักกับโครงการ Ports Pike
โครงการ Ports Pike เป็นความร่วมมือระหว่างบริษัทเทคโนโลยีชั้นนำหลายแห่ง โดยมีเป้าหมายหลักคือการสร้าง โครงสร้างพื้นฐานที่ทันสมัยและทรงพลัง สำหรับการวิจัยและพัฒนา AI โครงการนี้ไม่ได้มุ่งเน้นไปที่การสร้างโมเดล AI เพียงอย่างเดียว แต่ยังรวมถึงการพัฒนาฮาร์ดแวร์ ซอฟต์แวร์ และระบบเครือข่ายที่จำเป็น เพื่อรองรับการฝึกฝนโมเดล AI ที่มีขนาดใหญ่และซับซ้อนยิ่งขึ้น ซึ่งเป็นสิ่งจำเป็นอย่างยิ่งสำหรับการก้าวข้ามข้อจำกัดปัจจุบันของ AI
ทำไม OpenAI ถึงเข้าร่วมโครงการนี้?
การเข้าร่วมโครงการ Ports Pike ของ OpenAI สะท้อนให้เห็นถึงวิสัยทัศน์ระยะยาวขององค์กรในการพัฒนา AI ให้มีความก้าวหน้าและเข้าถึงได้มากขึ้น
- การเข้าถึงทรัพยากรที่จำเป็น: การพัฒนา AI ขั้นสูงต้องอาศัยพลังการประมวลผลมหาศาล การเข้าร่วมโครงการนี้จะช่วยให้ OpenAI สามารถเข้าถึงฮาร์ดแวร์และโครงสร้างพื้นฐานที่จำเป็นได้อย่างมีประสิทธิภาพ
- การส่งเสริมการวิจัยและพัฒนา: โครงการ Ports Pike จะเป็นแพลตฟอร์มสำคัญในการแบ่งปันความรู้ แลกเปลี่ยนแนวคิด และร่วมมือกับผู้เชี่ยวชาญจากหลากหลายสาขา ซึ่งจะช่วยเร่งการค้นพบและนวัตกรรมใหม่ๆ
- การสร้างมาตรฐานใหม่: การทำงานร่วมกันในโครงการระดับนี้มีส่วนช่วยในการกำหนดมาตรฐานและแนวปฏิบัติที่ดีที่สุดสำหรับการพัฒนา AI ซึ่งจะเป็นประโยชน์ต่อวงการ AI โดยรวม
- การพัฒนา AI ที่ปลอดภัยและเป็นประโยชน์: OpenAI ให้ความสำคัญกับการพัฒนา AI ที่มีความปลอดภัยและก่อให้เกิดประโยชน์ต่อสังคม การเข้าร่วมโครงการนี้จะเปิดโอกาสให้ได้ทำงานร่วมกับพันธมิตรที่มีเป้าหมายเดียวกัน เพื่อให้แน่ใจว่าเทคโนโลยี AI จะถูกพัฒนาไปในทิศทางที่ถูกต้อง
อนาคตของ AI กับการร่วมมือครั้งนี้
การผนึกกำลังระหว่าง OpenAI และโครงการ Ports Pike เป็นสัญญาณที่ดีสำหรับอนาคตของปัญญาประดิษฐ์ การเข้าถึงทรัพยากรที่มากขึ้นและสภาพแวดล้อมที่เอื้อต่อการวิจัย จะช่วยให้นักวิจัยสามารถทดลองแนวคิดใหม่ๆ พัฒนาโมเดลที่มีประสิทธิภาพสูงขึ้น และแก้ไขปัญหาที่ซับซ้อนได้อย่างที่ไม่เคยมีมาก่อน
การลงทุนในโครงสร้างพื้นฐานสำหรับการวิจัย AI เป็นก้าวสำคัญที่จะปลดล็อกศักยภาพอันไร้ขีดจำกัดของเทคโนโลยีนี้ และ OpenAI ในฐานะผู้นำในวงการ ก็พร้อมที่จะเป็นส่วนหนึ่งในการขับเคลื่อนการเปลี่ยนแปลงนี้ เพื่อสร้างอนาคตที่ AI มีบทบาทสำคัญในการยกระดับคุณภาพชีวิตของผู้คนทั่วโลก
#AI #OpenAI #PortsPike #เทคโนโลยี
ขอบคุณ แหล่งข้อมูล
https://openai.com/index/openai-joins-ports-pike-projectOpenAI เข้าร่วมโครงการ Ports Pike: ยกระดับการพัฒนา AI สู่ขั้นต่อไปในยุคที่เทคโนโลยี AI กำลังก้าวหน้าอย่างรวดเร็ว การร่วมมือและการพัฒนาอย่างต่อเนื่องเป็นสิ่งสำคัญยิ่ง OpenAI หนึ่งในผู้นำด้านการวิจัยและพัฒนาปัญญาประดิษฐ์ ได้ประกาศเข้าร่วมโครงการ Ports Pike ซึ่งเป็นโครงการที่มุ่งเน้นการสร้างโครงสร้างพื้นฐานที่สำคัญสำหรับการวิจัยและพัฒนา AI ในอนาคต การเข้าร่วมครั้งนี้ถือเป็นการตอกย้ำความมุ่งมั่นของ OpenAI ในการผลักดันขีดจำกัดของ AI เพื่อประโยชน์ของมนุษยชาติทำความรู้จักกับโครงการ Ports Pikeโครงการ Ports Pike เป็นความร่วมมือระหว่างบริษัทเทคโนโลยีชั้นนำหลายแห่ง โดยมีเป้าหมายหลักคือการสร้าง โครงสร้างพื้นฐานที่ทันสมัยและทรงพลัง สำหรับการวิจัยและพัฒนา AI โครงการนี้ไม่ได้มุ่งเน้นไปที่การสร้างโมเดล AI เพียงอย่างเดียว แต่ยังรวมถึงการพัฒนาฮาร์ดแวร์ ซอฟต์แวร์ และระบบเครือข่ายที่จำเป็น เพื่อรองรับการฝึกฝนโมเดล AI ที่มีขนาดใหญ่และซับซ้อนยิ่งขึ้น ซึ่งเป็นสิ่งจำเป็นอย่างยิ่งสำหรับการก้าวข้ามข้อจำกัดปัจจุบันของ AIทำไม OpenAI ถึงเข้าร่วมโครงการนี้?การเข้าร่วมโครงการ Ports Pike ของ OpenAI สะท้อนให้เห็นถึงวิสัยทัศน์ระยะยาวขององค์กรในการพัฒนา AI ให้มีความก้าวหน้าและเข้าถึงได้มากขึ้นการเข้าถึงทรัพยากรที่จำเป็น: การพัฒนา AI ขั้นสูงต้องอาศัยพลังการประมวลผลมหาศาล การเข้าร่วมโครงการนี้จะช่วยให้ OpenAI สามารถเข้าถึงฮาร์ดแวร์และโครงสร้างพื้นฐานที่จำเป็นได้อย่างมีประสิทธิภาพการส่งเสริมการวิจัยและพัฒนา: โครงการ Ports Pike จะเป็นแพลตฟอร์มสำคัญในการแบ่งปันความรู้ แลกเปลี่ยนแนวคิด และร่วมมือกับผู้เชี่ยวชาญจากหลากหลายสาขา ซึ่งจะช่วยเร่งการค้นพบและนวัตกรรมใหม่ๆการสร้างมาตรฐานใหม่: การทำงานร่วมกันในโครงการระดับนี้มีส่วนช่วยในการกำหนดมาตรฐานและแนวปฏิบัติที่ดีที่สุดสำหรับการพัฒนา AI ซึ่งจะเป็นประโยชน์ต่อวงการ AI โดยรวมการพัฒนา AI ที่ปลอดภัยและเป็นประโยชน์: OpenAI ให้ความสำคัญกับการพัฒนา AI ที่มีความปลอดภัยและก่อให้เกิดประโยชน์ต่อสังคม การเข้าร่วมโครงการนี้จะเปิดโอกาสให้ได้ทำงานร่วมกับพันธมิตรที่มีเป้าหมายเดียวกัน เพื่อให้แน่ใจว่าเทคโนโลยี AI จะถูกพัฒนาไปในทิศทางที่ถูกต้องอนาคตของ AI กับการร่วมมือครั้งนี้การผนึกกำลังระหว่าง OpenAI และโครงการ Ports Pike เป็นสัญญาณที่ดีสำหรับอนาคตของปัญญาประดิษฐ์ การเข้าถึงทรัพยากรที่มากขึ้นและสภาพแวดล้อมที่เอื้อต่อการวิจัย จะช่วยให้นักวิจัยสามารถทดลองแนวคิดใหม่ๆ พัฒนาโมเดลที่มีประสิทธิภาพสูงขึ้น และแก้ไขปัญหาที่ซับซ้อนได้อย่างที่ไม่เคยมีมาก่อนการลงทุนในโครงสร้างพื้นฐานสำหรับการวิจัย AI เป็นก้าวสำคัญที่จะปลดล็อกศักยภาพอันไร้ขีดจำกัดของเทคโนโลยีนี้ และ OpenAI ในฐานะผู้นำในวงการ ก็พร้อมที่จะเป็นส่วนหนึ่งในการขับเคลื่อนการเปลี่ยนแปลงนี้ เพื่อสร้างอนาคตที่ AI มีบทบาทสำคัญในการยกระดับคุณภาพชีวิตของผู้คนทั่วโลก#AI #OpenAI #PortsPike #เทคโนโลยีhttps://openai.com/index/openai-joins-ports-pike-project0 Comments 0 Shares 580 Views 0 Reviews -
จัดการ GPU ให้คุ้มค่า: เปลี่ยนลำดับการจัดสรร เพิ่มประสิทธิภาพได้ถึง 33% 🚀
เคยสงสัยไหมว่าทำไม GPU ของคุณถึงทำงานได้ไม่เต็มที่ ทั้งที่ก็มีงานค้างอยู่เต็มไปหมด? ปัญหาอาจไม่ได้อยู่ที่ฮาร์ดแวร์ แต่อยู่ที่ "ลำดับ" การจัดสรรงานต่างหาก! บทความนี้จะพาคุณไปดูเบื้องหลังการปรับปรุงระบบจัดสรร GPU ที่ช่วยเพิ่มประสิทธิภาพการใช้งานได้สูงถึง 33% โดยไม่ต้องเปลี่ยนเครื่องใหม่เลย
เมื่อการจัดลำดับงานส่งผลต่อประสิทธิภาพ 📊
ในโลกของการประมวลผล GPU ที่มีงานหลากหลายประเภท ทั้งการเทรนโมเดล, การอนุมานแบบเรียลไทม์ (Real-time Inference), การอนุมานแบบแบทช์ (Batch Inference) และการทำ Quantization แต่ละประเภทมีความต้องการทรัพยากรที่แตกต่างกัน บางงานต้องการ GPU จำนวนมากต่อเนื่องกันไปจนกว่าจะเสร็จ (Batch-like) ในขณะที่บางงานต้องการความยืดหยุ่นสูง ตอบสนองต่อความต้องการที่เปลี่ยนแปลงตลอดเวลา (Real-time)
ความท้าทายอยู่ที่การจัดสรร GPU ให้กับงานเหล่านี้ โดยเฉพาะเมื่อทรัพยากรมีจำกัดและงานแข่งขันกันเอง ระบบจัดสรรแบบ FIFO (First-In, First-Out) ที่จัดงานตามลำดับการเข้ามา อาจทำให้เกิดปัญหาเหล่านี้:
- การจอง GPU ล่วงหน้ามากเกินไป: งาน Real-time Inference ที่มีความต้องการสูงสุดในช่วงเวลาหนึ่ง อาจทำให้ต้องจอง GPU จำนวนมากตลอดทั้งวัน ทั้งที่ช่วงเวลาอื่นอาจใช้เพียงไม่กี่ตัว GPU ที่เหลือจึงไม่ได้ถูกใช้งานและไม่สามารถนำไปให้งานอื่นได้
- การจัดลำดับงานที่ไม่มีประสิทธิภาพ: งานที่มีความสำคัญสูงอาจต้องรอคิวนานกว่างานที่เข้ามาทีหลัง ทำให้เสียโอกาสในการประมวลผลที่มีมูลค่า
ระบบจัดสรรแบบใหม่: จัดลำดับอย่างไรให้ได้ผลลัพธ์ดีขึ้น? 🤔
ระบบจัดสรร GPU แบบใหม่นี้ถูกออกแบบมาเพื่อแก้ปัญหาดังกล่าว โดยพิจารณาทั้ง "การใช้งาน" (Utilization) และ "มูลค่าของงาน" (Priority-weighted Output) ไปพร้อมๆ กัน
สิ่งที่ระบบจัดสรรใหม่ทำได้:
- จัดการงาน Real-time แบบยืดหยุ่น: แทนที่จะจอง GPU ตามความต้องการสูงสุด ระบบจะจัดสรรตามความต้องการจริงในแต่ละช่วงเวลา ทำให้ GPU ว่างเว้นจากการจองในช่วงที่ความต้องการต่ำ และสามารถนำไปให้งานประเภทอื่นใช้งานได้
- จัดลำดับงานตามความสำคัญ: งานที่มีลำดับความสำคัญสูงจะได้รับการจัดสรรก่อน โดยพิจารณาจาก "มูลค่า" ที่จะได้รับ แทนที่จะเป็นเพียงลำดับการเข้ามา
- มองภาพรวมทั้งหมด: ระบบสามารถมองเห็นงานที่ค้างอยู่ทั้งหมด และจัดสรร GPU ให้เหมาะสมกับ "รูปร่าง" (Shape) ที่งานต้องการได้อย่างมีประสิทธิภาพ
ผลลัพธ์ที่วัดได้:
จากการทดสอบใน 7 สถานการณ์ที่แตกต่างกัน โดยใช้ฮาร์ดแวร์และเวิร์กโหลดเดียวกัน พบว่า:
- การใช้งาน GPU เพิ่มขึ้น: จากเดิมที่อยู่ในช่วง 52–85% สามารถเพิ่มขึ้นเป็น 72–88% ในหลายสถานการณ์
- มูลค่าของงานเพิ่มขึ้นอย่างมีนัยสำคัญ: ตั้งแต่ 24.6% ไปจนถึง 105.1% โดยเฉลี่ยอยู่ที่ 52%
ตัวอย่างที่โดดเด่น: ในกรณีที่เน้นการเทรนโมเดลบน GPU 8 ตัว การใช้งานเพิ่มขึ้นจาก 53.6% เป็น 87.0% และมูลค่าของงานเพิ่มขึ้นกว่าเท่าตัว (105%)
ความสำคัญของการวัดผลที่ถูกต้อง ✅
การใช้งาน GPU ที่สูงขึ้นอย่างเดียวอาจไม่เพียงพอ หากไม่ได้งานที่มีมูลค่าสูงมาด้วย ระบบจัดสรรใหม่นี้จึงวัดผลทั้งสองด้าน:
- Utilization: วัดว่า GPU ถูกใช้งานไปเท่าใด
- Priority-weighted Output: วัดมูลค่าที่แท้จริงของงานที่ประมวลผลได้ โดยให้น้ำหนักกับงานที่มีลำดับความสำคัญสูง
ในบางกรณี ระบบ FIFO อาจให้ผลการใช้งาน (Utilization) ที่เท่ากัน แต่ระบบใหม่สามารถส่งมอบมูลค่า (Value) ที่สูงกว่าได้อย่างชัดเจน
เบื้องหลังการทำงาน: การจำกัดความของปัญหา 🛠️
การจัดสรร GPU ที่มีประสิทธิภาพสูงสุดต้องอาศัยการแก้ปัญหาที่ซับซ้อน โดยมีข้อจำกัดที่สำคัญ 5 ประการ:
- GPU หนึ่งตัวรองรับได้เพียงหนึ่งงานต่อช่วงเวลา
- งานต้องเป็นไปตามช่วงความต้องการและรักษาทรัพยากรที่กำลังใช้งานอยู่
- งานแบบ Batch ต้องการ GPU จำนวนเต็มบล็อก (Power of two)
- งาน Real-time มีข้อจำกัดในการเปลี่ยนแปลงจำนวน GPU ระหว่างช่วงเวลา
- งานที่เริ่มแล้วจะไม่ถูกขัดจังหวะ
ส่วน "ฟังก์ชันวัตถุประสงค์" (Objective Function) จะคำนวณมูลค่าโดยการนำลำดับความสำคัญของงานคูณกับน้ำหนักเวลาที่ลดลง และมี "บทลงโทษ" หากไม่สามารถตอบสนองความต้องการของงาน Real-time ได้ ซึ่งบทลงโทษนี้จะสูงกว่ามูลค่าที่ได้จากงาน Batch อย่างมีนัยสำคัญ เพื่อให้มั่นใจว่างาน Real-time จะได้รับการตอบสนอง
ไม่ใช่แค่การเรียงลำดับ แต่คือการวางแผน 🧠
ระบบจัดสรรใหม่นี้ไม่ใช่แค่การเรียงลำดับงาน แต่เป็นการ "วางแผน" การใช้ทรัพยากร GPU ล่วงหน้า โดยพิจารณางานทั้งหมดที่ค้างอยู่ และสามารถจัดสรร GPU ให้ตรงกับ "รูปร่าง" ที่งานต้องการได้อย่างมีประสิทธิภาพ
- FIFO: จัดงานตามลำดับที่เข้ามา อาจทำให้งานที่ต้องการ GPU รูปแบบเฉพาะหาทรัพยากรที่เหลือไม่ได้
- ระบบใหม่: มองเห็นภาพรวม จัดสรร GPU ให้มี "ช่องว่าง" เหลือสำหรับงานที่ต้องการรูปทรงเฉพาะเหล่านั้น และใช้ลำดับความสำคัญในการตัดสินใจว่าใครจะได้ใช้ก่อน
ข้อควรจำ: ข้อมูลที่ใช้ในการคาดการณ์สำคัญไม่แพ้กัน 💡
ประสิทธิภาพของระบบจัดสรรนี้ขึ้นอยู่กับความแม่นยำของการคาดการณ์ความต้องการ GPU ของแต่ละงาน และปริมาณทราฟฟิกของงาน Real-time การคาดการณ์ที่แม่นยำจะช่วยให้ระบบสามารถจัดสรรทรัพยากรได้อย่างเหมาะสมที่สุด
การปรับปรุงระบบจัดสรร GPU ให้มีประสิทธิภาพไม่ใช่เรื่องซับซ้อนเกินไป การเปลี่ยนจากการจัดลำดับแบบ FIFO แบบเดิมๆ มาสู่ระบบที่ชาญฉลาดขึ้น สามารถเพิ่มประสิทธิภาพการใช้งาน GPU และสร้างมูลค่าให้กับธุรกิจได้อย่างมหาศาล
#GPU #การจัดการทรัพยากร #ประสิทธิภาพ #AI
ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/Dharma-AI/gpu-management-pt2จัดการ GPU ให้คุ้มค่า: เปลี่ยนลำดับการจัดสรร เพิ่มประสิทธิภาพได้ถึง 33% 🚀เคยสงสัยไหมว่าทำไม GPU ของคุณถึงทำงานได้ไม่เต็มที่ ทั้งที่ก็มีงานค้างอยู่เต็มไปหมด? ปัญหาอาจไม่ได้อยู่ที่ฮาร์ดแวร์ แต่อยู่ที่ "ลำดับ" การจัดสรรงานต่างหาก! บทความนี้จะพาคุณไปดูเบื้องหลังการปรับปรุงระบบจัดสรร GPU ที่ช่วยเพิ่มประสิทธิภาพการใช้งานได้สูงถึง 33% โดยไม่ต้องเปลี่ยนเครื่องใหม่เลยเมื่อการจัดลำดับงานส่งผลต่อประสิทธิภาพ 📊ในโลกของการประมวลผล GPU ที่มีงานหลากหลายประเภท ทั้งการเทรนโมเดล, การอนุมานแบบเรียลไทม์ (Real-time Inference), การอนุมานแบบแบทช์ (Batch Inference) และการทำ Quantization แต่ละประเภทมีความต้องการทรัพยากรที่แตกต่างกัน บางงานต้องการ GPU จำนวนมากต่อเนื่องกันไปจนกว่าจะเสร็จ (Batch-like) ในขณะที่บางงานต้องการความยืดหยุ่นสูง ตอบสนองต่อความต้องการที่เปลี่ยนแปลงตลอดเวลา (Real-time)ความท้าทายอยู่ที่การจัดสรร GPU ให้กับงานเหล่านี้ โดยเฉพาะเมื่อทรัพยากรมีจำกัดและงานแข่งขันกันเอง ระบบจัดสรรแบบ FIFO (First-In, First-Out) ที่จัดงานตามลำดับการเข้ามา อาจทำให้เกิดปัญหาเหล่านี้:การจอง GPU ล่วงหน้ามากเกินไป: งาน Real-time Inference ที่มีความต้องการสูงสุดในช่วงเวลาหนึ่ง อาจทำให้ต้องจอง GPU จำนวนมากตลอดทั้งวัน ทั้งที่ช่วงเวลาอื่นอาจใช้เพียงไม่กี่ตัว GPU ที่เหลือจึงไม่ได้ถูกใช้งานและไม่สามารถนำไปให้งานอื่นได้การจัดลำดับงานที่ไม่มีประสิทธิภาพ: งานที่มีความสำคัญสูงอาจต้องรอคิวนานกว่างานที่เข้ามาทีหลัง ทำให้เสียโอกาสในการประมวลผลที่มีมูลค่าระบบจัดสรรแบบใหม่: จัดลำดับอย่างไรให้ได้ผลลัพธ์ดีขึ้น? 🤔ระบบจัดสรร GPU แบบใหม่นี้ถูกออกแบบมาเพื่อแก้ปัญหาดังกล่าว โดยพิจารณาทั้ง "การใช้งาน" (Utilization) และ "มูลค่าของงาน" (Priority-weighted Output) ไปพร้อมๆ กันสิ่งที่ระบบจัดสรรใหม่ทำได้:จัดการงาน Real-time แบบยืดหยุ่น: แทนที่จะจอง GPU ตามความต้องการสูงสุด ระบบจะจัดสรรตามความต้องการจริงในแต่ละช่วงเวลา ทำให้ GPU ว่างเว้นจากการจองในช่วงที่ความต้องการต่ำ และสามารถนำไปให้งานประเภทอื่นใช้งานได้จัดลำดับงานตามความสำคัญ: งานที่มีลำดับความสำคัญสูงจะได้รับการจัดสรรก่อน โดยพิจารณาจาก "มูลค่า" ที่จะได้รับ แทนที่จะเป็นเพียงลำดับการเข้ามามองภาพรวมทั้งหมด: ระบบสามารถมองเห็นงานที่ค้างอยู่ทั้งหมด และจัดสรร GPU ให้เหมาะสมกับ "รูปร่าง" (Shape) ที่งานต้องการได้อย่างมีประสิทธิภาพผลลัพธ์ที่วัดได้:จากการทดสอบใน 7 สถานการณ์ที่แตกต่างกัน โดยใช้ฮาร์ดแวร์และเวิร์กโหลดเดียวกัน พบว่า:การใช้งาน GPU เพิ่มขึ้น: จากเดิมที่อยู่ในช่วง 52–85% สามารถเพิ่มขึ้นเป็น 72–88% ในหลายสถานการณ์มูลค่าของงานเพิ่มขึ้นอย่างมีนัยสำคัญ: ตั้งแต่ 24.6% ไปจนถึง 105.1% โดยเฉลี่ยอยู่ที่ 52%ตัวอย่างที่โดดเด่น: ในกรณีที่เน้นการเทรนโมเดลบน GPU 8 ตัว การใช้งานเพิ่มขึ้นจาก 53.6% เป็น 87.0% และมูลค่าของงานเพิ่มขึ้นกว่าเท่าตัว (105%)ความสำคัญของการวัดผลที่ถูกต้อง ✅การใช้งาน GPU ที่สูงขึ้นอย่างเดียวอาจไม่เพียงพอ หากไม่ได้งานที่มีมูลค่าสูงมาด้วย ระบบจัดสรรใหม่นี้จึงวัดผลทั้งสองด้าน:Utilization: วัดว่า GPU ถูกใช้งานไปเท่าใดPriority-weighted Output: วัดมูลค่าที่แท้จริงของงานที่ประมวลผลได้ โดยให้น้ำหนักกับงานที่มีลำดับความสำคัญสูงในบางกรณี ระบบ FIFO อาจให้ผลการใช้งาน (Utilization) ที่เท่ากัน แต่ระบบใหม่สามารถส่งมอบมูลค่า (Value) ที่สูงกว่าได้อย่างชัดเจนเบื้องหลังการทำงาน: การจำกัดความของปัญหา 🛠️การจัดสรร GPU ที่มีประสิทธิภาพสูงสุดต้องอาศัยการแก้ปัญหาที่ซับซ้อน โดยมีข้อจำกัดที่สำคัญ 5 ประการ:GPU หนึ่งตัวรองรับได้เพียงหนึ่งงานต่อช่วงเวลางานต้องเป็นไปตามช่วงความต้องการและรักษาทรัพยากรที่กำลังใช้งานอยู่งานแบบ Batch ต้องการ GPU จำนวนเต็มบล็อก (Power of two)งาน Real-time มีข้อจำกัดในการเปลี่ยนแปลงจำนวน GPU ระหว่างช่วงเวลางานที่เริ่มแล้วจะไม่ถูกขัดจังหวะส่วน "ฟังก์ชันวัตถุประสงค์" (Objective Function) จะคำนวณมูลค่าโดยการนำลำดับความสำคัญของงานคูณกับน้ำหนักเวลาที่ลดลง และมี "บทลงโทษ" หากไม่สามารถตอบสนองความต้องการของงาน Real-time ได้ ซึ่งบทลงโทษนี้จะสูงกว่ามูลค่าที่ได้จากงาน Batch อย่างมีนัยสำคัญ เพื่อให้มั่นใจว่างาน Real-time จะได้รับการตอบสนองไม่ใช่แค่การเรียงลำดับ แต่คือการวางแผน 🧠ระบบจัดสรรใหม่นี้ไม่ใช่แค่การเรียงลำดับงาน แต่เป็นการ "วางแผน" การใช้ทรัพยากร GPU ล่วงหน้า โดยพิจารณางานทั้งหมดที่ค้างอยู่ และสามารถจัดสรร GPU ให้ตรงกับ "รูปร่าง" ที่งานต้องการได้อย่างมีประสิทธิภาพFIFO: จัดงานตามลำดับที่เข้ามา อาจทำให้งานที่ต้องการ GPU รูปแบบเฉพาะหาทรัพยากรที่เหลือไม่ได้ระบบใหม่: มองเห็นภาพรวม จัดสรร GPU ให้มี "ช่องว่าง" เหลือสำหรับงานที่ต้องการรูปทรงเฉพาะเหล่านั้น และใช้ลำดับความสำคัญในการตัดสินใจว่าใครจะได้ใช้ก่อนข้อควรจำ: ข้อมูลที่ใช้ในการคาดการณ์สำคัญไม่แพ้กัน 💡ประสิทธิภาพของระบบจัดสรรนี้ขึ้นอยู่กับความแม่นยำของการคาดการณ์ความต้องการ GPU ของแต่ละงาน และปริมาณทราฟฟิกของงาน Real-time การคาดการณ์ที่แม่นยำจะช่วยให้ระบบสามารถจัดสรรทรัพยากรได้อย่างเหมาะสมที่สุดการปรับปรุงระบบจัดสรร GPU ให้มีประสิทธิภาพไม่ใช่เรื่องซับซ้อนเกินไป การเปลี่ยนจากการจัดลำดับแบบ FIFO แบบเดิมๆ มาสู่ระบบที่ชาญฉลาดขึ้น สามารถเพิ่มประสิทธิภาพการใช้งาน GPU และสร้างมูลค่าให้กับธุรกิจได้อย่างมหาศาล#GPU #การจัดการทรัพยากร #ประสิทธิภาพ #AIhttps://huggingface.co/blog/Dharma-AI/gpu-management-pt2
HUGGINGFACE.COSame Cluster, 33 Points More Utilization: What Changed Was the OrderA Blog post by Dharma-AI on Hugging Face4 Comments 0 Shares 593 Views 0 Reviews-
เจ๋งมากที่สามารถเพิ่มประสิทธิภาพการทำงานได้โดยไม่ต้องเปลี่ยนฮาร์ดแวร์เจ๋งมากที่สามารถเพิ่มประสิทธิภาพการทำงานได้โดยไม่ต้องเปลี่ยนฮาร์ดแวร์
-
React
- Reply
- 2026-08-18 01:00:16
-
-
ไม่น่าเชื่อว่าแค่เปลี่ยนลำดับการจัดสรรงานก็ทำให้ประสิทธิภาพดีขึ้นขนาดนี้ไม่น่าเชื่อว่าแค่เปลี่ยนลำดับการจัดสรรงานก็ทำให้ประสิทธิภาพดีขึ้นขนาดนี้
-
React
- Reply
- 2026-08-18 01:00:16
-
-
การจัดการทรัพยากรแบบนี้ฉลาดมาก เห็นผลชัดเจนการจัดการทรัพยากรแบบนี้ฉลาดมาก เห็นผลชัดเจน
-
React
- Reply
- 2026-08-18 01:00:16
-
-
การจัดลำดับงานใหม่ช่วยเพิ่มการใช้ GPU ได้ถึง 33 เลยนะการจัดลำดับงานใหม่ช่วยเพิ่มการใช้ GPU ได้ถึง 33 เลยนะ
-
React
- Reply
- 2026-08-18 01:00:16
-
-
อเมซอน: จากร้านหนังสือออนไลน์ สู่การทำลายหนังสือหายากเพื่อฝึก AI
อเมซอน บริษัทที่เริ่มต้นจากการเป็นร้านขายหนังสือออนไลน์ ได้กลายเป็นที่จับตามองอีกครั้ง เมื่อมีรายงานว่าบริษัทกำลังทำลายหนังสือหายากจำนวนมาก เพื่อนำข้อมูลไปใช้ในการฝึกฝนโมเดลปัญญาประดิษฐ์ (AI)
เบื้องหลังการทำลายหนังสือหายาก
ตามรายงานจาก 404 Media ซึ่งได้ทำการติดตามหนังสือหายากเล่มหนึ่ง พบว่ามันได้ถูกส่งไปยังโรงงานของอเมซอนในเมืองลาสเวกัส โรงงานแห่งนี้มีสัญลักษณ์เป็นรูปไดโนเสาร์กำลังคาบหนังสือ อเมซอนได้ให้คำชี้แจงว่า บริษัท "ซื้อหนังสือผ่านช่องทางพาณิชย์เพื่อปรับปรุงผลิตภัณฑ์และบริการที่ลูกค้าใช้งาน"
ความสำคัญของหนังสือหายากในการฝึก AI
บริษัทเทคโนโลยีขนาดใหญ่ เช่น อเมซอน จำเป็นต้องใช้ข้อมูลข้อความจำนวนมหาศาลเพื่อฝึกฝนโมเดลภาษาขนาดใหญ่ (LLMs) ซึ่งเป็นหัวใจสำคัญของ AI ในปัจจุบัน โมเดลเหล่านี้ได้ประมวลผลข้อมูลส่วนใหญ่ที่มีอยู่บนอินเทอร์เน็ตไปแล้ว หนังสือหายาก โดยเฉพาะเล่มที่พิมพ์ออกมาน้อย หรือหาได้ยากบนโลกออนไลน์ จึงกลายเป็นแหล่งข้อมูลใหม่ที่มีคุณค่าอย่างยิ่ง
หนังสือเหล่านี้มีคุณค่าเป็นพิเศษ เนื่องจากมั่นใจได้ว่าเนื้อหาที่ตีพิมพ์ก่อนปี 2022 ไม่ได้ถูกสร้างขึ้นโดย LLM การที่ LLM ฝึกฝนจากข้อความที่สร้างโดย AI ด้วยกันเอง อาจนำไปสู่ปรากฏการณ์ที่เรียกว่า "Model Collapse" ซึ่งคุณภาพของผลลัพธ์จาก AI อาจเสื่อมถอยลงเมื่อได้รับข้อมูลที่สร้างโดย AI มากเกินไป
ผลกระทบและข้อควรพิจารณา
การกระทำของอเมซอนนี้ก่อให้เกิดคำถามและข้อถกเถียงเกี่ยวกับคุณค่าของหนังสือหายากและวิธีการจัดการกับข้อมูลทางวัฒนธรรม เพื่อนำไปใช้ประโยชน์ในการพัฒนาเทคโนโลยี แม้ว่าการใช้หนังสือเหล่านี้จะช่วยเร่งการพัฒนา AI ให้ก้าวหน้าได้อย่างรวดเร็ว แต่ก็เป็นเรื่องที่น่าเสียดายที่ต้องสูญเสียต้นฉบับทางประวัติศาสตร์และวรรณกรรมอันทรงคุณค่าไป
สรุป
อเมซอนกำลังใช้หนังสือหายากเป็นวัตถุดิบในการฝึกฝน AI แม้ว่าจะเป็นหนทางที่ช่วยให้การพัฒนา AI เป็นไปอย่างรวดเร็ว แต่ก็เป็นการสูญเสียทรัพยากรทางวัฒนธรรมที่ไม่อาจประเมินค่าได้ การดำเนินการในลักษณะนี้สะท้อนให้เห็นถึงความท้าทายในการสร้างสมดุลระหว่างความก้าวหน้าทางเทคโนโลยีและการอนุรักษ์มรดกทางวัฒนธรรม.
ขอบคุณ แหล่งข้อมูล
https://techcrunch.com/2026/08/17/amazon-once-an-online-bookseller-is-destroying-rare-books-to-train-ai-models/อเมซอน: จากร้านหนังสือออนไลน์ สู่การทำลายหนังสือหายากเพื่อฝึก AIอเมซอน บริษัทที่เริ่มต้นจากการเป็นร้านขายหนังสือออนไลน์ ได้กลายเป็นที่จับตามองอีกครั้ง เมื่อมีรายงานว่าบริษัทกำลังทำลายหนังสือหายากจำนวนมาก เพื่อนำข้อมูลไปใช้ในการฝึกฝนโมเดลปัญญาประดิษฐ์ (AI)เบื้องหลังการทำลายหนังสือหายากตามรายงานจาก 404 Media ซึ่งได้ทำการติดตามหนังสือหายากเล่มหนึ่ง พบว่ามันได้ถูกส่งไปยังโรงงานของอเมซอนในเมืองลาสเวกัส โรงงานแห่งนี้มีสัญลักษณ์เป็นรูปไดโนเสาร์กำลังคาบหนังสือ อเมซอนได้ให้คำชี้แจงว่า บริษัท "ซื้อหนังสือผ่านช่องทางพาณิชย์เพื่อปรับปรุงผลิตภัณฑ์และบริการที่ลูกค้าใช้งาน"ความสำคัญของหนังสือหายากในการฝึก AIบริษัทเทคโนโลยีขนาดใหญ่ เช่น อเมซอน จำเป็นต้องใช้ข้อมูลข้อความจำนวนมหาศาลเพื่อฝึกฝนโมเดลภาษาขนาดใหญ่ (LLMs) ซึ่งเป็นหัวใจสำคัญของ AI ในปัจจุบัน โมเดลเหล่านี้ได้ประมวลผลข้อมูลส่วนใหญ่ที่มีอยู่บนอินเทอร์เน็ตไปแล้ว หนังสือหายาก โดยเฉพาะเล่มที่พิมพ์ออกมาน้อย หรือหาได้ยากบนโลกออนไลน์ จึงกลายเป็นแหล่งข้อมูลใหม่ที่มีคุณค่าอย่างยิ่งหนังสือเหล่านี้มีคุณค่าเป็นพิเศษ เนื่องจากมั่นใจได้ว่าเนื้อหาที่ตีพิมพ์ก่อนปี 2022 ไม่ได้ถูกสร้างขึ้นโดย LLM การที่ LLM ฝึกฝนจากข้อความที่สร้างโดย AI ด้วยกันเอง อาจนำไปสู่ปรากฏการณ์ที่เรียกว่า "Model Collapse" ซึ่งคุณภาพของผลลัพธ์จาก AI อาจเสื่อมถอยลงเมื่อได้รับข้อมูลที่สร้างโดย AI มากเกินไปผลกระทบและข้อควรพิจารณาการกระทำของอเมซอนนี้ก่อให้เกิดคำถามและข้อถกเถียงเกี่ยวกับคุณค่าของหนังสือหายากและวิธีการจัดการกับข้อมูลทางวัฒนธรรม เพื่อนำไปใช้ประโยชน์ในการพัฒนาเทคโนโลยี แม้ว่าการใช้หนังสือเหล่านี้จะช่วยเร่งการพัฒนา AI ให้ก้าวหน้าได้อย่างรวดเร็ว แต่ก็เป็นเรื่องที่น่าเสียดายที่ต้องสูญเสียต้นฉบับทางประวัติศาสตร์และวรรณกรรมอันทรงคุณค่าไปสรุปอเมซอนกำลังใช้หนังสือหายากเป็นวัตถุดิบในการฝึกฝน AI แม้ว่าจะเป็นหนทางที่ช่วยให้การพัฒนา AI เป็นไปอย่างรวดเร็ว แต่ก็เป็นการสูญเสียทรัพยากรทางวัฒนธรรมที่ไม่อาจประเมินค่าได้ การดำเนินการในลักษณะนี้สะท้อนให้เห็นถึงความท้าทายในการสร้างสมดุลระหว่างความก้าวหน้าทางเทคโนโลยีและการอนุรักษ์มรดกทางวัฒนธรรม.https://techcrunch.com/2026/08/17/amazon-once-an-online-bookseller-is-destroying-rare-books-to-train-ai-models/
TECHCRUNCH.COMAmazon, which started off selling books, is destroying rare texts to train AI | TechCrunchRare books are incredibly valuable for training LLMs, since these models have already trained on whatever's available online.3 Comments 0 Shares 893 Views 0 Reviews-
Amazon ใช้ข้อมูลจากหนังสือหายากเพื่อพัฒนาสินค้าและบริการของตนAmazon ใช้ข้อมูลจากหนังสือหายากเพื่อพัฒนาสินค้าและบริการของตน
-
React
- Reply
- 2026-08-17 18:44:30
-
-
การนำหนังสือหายากมาฝึก AI อาจส่งผลต่อคุณภาพข้อมูลในอนาคตการนำหนังสือหายากมาฝึก AI อาจส่งผลต่อคุณภาพข้อมูลในอนาคต
-
React
- Reply
- 2026-08-17 18:44:30
-
-
น่าเสียดายที่หนังสือหายากต้องถูกทำลายเพื่อฝึก AIน่าเสียดายที่หนังสือหายากต้องถูกทำลายเพื่อฝึก AI
-
React
- Reply
- 2026-08-17 18:44:30
-
-
-
พัฒนาโมเดล Nemotron 3.5 Lightning NVFP4 ด้วย QAD ผ่าน NVIDIA Model Optimizer
การปรับแต่งโมเดล AI ให้มีประสิทธิภาพสูงสุดเป็นสิ่งสำคัญยิ่งสำหรับทีมพัฒนา เพื่อให้บรรลุเป้าหมายด้านความเร็ว, การใช้หน่วยความจำ, และพลังการประมวลผล ด้วยโมเดล Nemotron จาก NVIDIA ที่เปิดให้ใช้งานอย่างอิสระ นักพัฒนาสามารถค้นหาโมเดลที่เหมาะสมกับความต้องการเฉพาะของตนเองได้อย่างลงตัว
หนึ่งในความก้าวหน้าล่าสุดคือ Nemotron 3.5 Lightning NVFP4 ที่สามารถรักษาความแม่นยำไว้ได้ใกล้เคียงกับต้นฉบับ BF16 แต่เพิ่ม Throughput ได้ถึง 4 เท่า และลดขนาดโมเดลจาก 66 GB เหลือเพียง 22 GB ซึ่งทั้งหมดนี้ทำได้ด้วยเทคนิคการลดขนาดโมเดล (Quantization) ที่เข้มข้นขึ้น
Quantization-Aware Distillation (QAD) คืออะไร?
QAD เป็นกระบวนการที่ช่วยให้โมเดลที่ถูกลดขนาด (Student Model) สามารถเรียนรู้และรักษาความแม่นยำใกล้เคียงกับโมเดลต้นฉบับที่มีความละเอียดสูง (Teacher Model) ได้ดียิ่งขึ้น โดยมีขั้นตอนหลัก 2 ระยะ:
- Post-Training Quantization (PTQ): ในขั้นตอนนี้ โมเดลต้นฉบับที่มีความละเอียดเต็ม (Full-Precision) จะถูกแปลงเป็นโมเดลที่มีความละเอียดต่ำ (Quantized Model) เพื่อสร้าง Student Checkpoint
- Quantization-Aware Distillation (QAD): จากนั้น Student Model จะถูกฝึกฝนอีกครั้ง โดยใช้ Teacher Model แบบคงที่ (Frozen Teacher) เป็นต้นแบบในการเรียนรู้ ผ่านการเปรียบเทียบค่า Logits ด้วย KL Divergence Loss และการจำลองกระบวนการ Quantization เพื่อชดเชยความแม่นยำที่สูญเสียไปจากการลดขนาดอย่างเข้มข้น
ประโยชน์ของ QAD
- เพิ่ม Throughput สูงสุด 4 เท่า: ทำให้การประมวลผลเร็วขึ้นอย่างเห็นได้ชัด
- ลดขนาดโมเดลอย่างมาก: จาก 66 GB เหลือเพียง 22 GB ช่วยประหยัดพื้นที่จัดเก็บและหน่วยความจำ
- รักษาความแม่นยำ: ชดเชยความผิดพลาดที่เกิดจากการลดขนาดอย่างเข้มข้น ทำให้ได้โมเดลที่มีคุณภาพใกล้เคียงต้นฉบับ
- รองรับการ Quantization ที่เข้มข้น: สามารถใช้การ Quantization ที่มากกว่า PTQ ปกติได้ โดยไม่สูญเสียความแม่นยำจนยอมรับไม่ได้
กระบวนการพัฒนา Nemotron 3.5 Lightning NVFP4 ด้วย QAD
NVIDIA Model Optimizer และ Megatron-Bridge เป็นเครื่องมือสำคัญที่ช่วยให้การทำ QAD กับ Nemotron 3.5 Lightning สามารถทำได้ตั้งแต่ต้นจนจบ ตั้งแต่การเลือกสูตร (Recipe) การฝึกฝน ไปจนถึงการส่งออก Checkpoint ทำให้การนำโมเดล LLM ไปใช้งานจริงที่ประหยัดหน่วยความจำและพลังการประมวลผลเป็นไปได้ง่ายขึ้น
ขั้นตอนที่ 1: การสร้าง PTQ Checkpoint (Student)
เริ่มต้นด้วยโมเดลต้นฉบับ NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 ซึ่งจะทำหน้าที่เป็น Teacher Model
จากนั้นทำการ Quantization กับโมเดลเดียวกันเพื่อสร้าง Student Checkpoint โดยตั้งเป้าหมายการลดขนาดให้เข้มข้นขึ้น เช่น การ Quantize Mamba Linear Layers ไปที่ W4A16 แทน FP8 ซึ่งจะปลดล็อก Throughput ที่สูงขึ้นโดยไม่ทำให้ความแม่นยำลดลงมากนัก
- เป้าหมายความแม่นยำ: ตั้งเป้าให้เกิดความแม่นยำลดลงเล็กน้อย (ประมาณ 95-99%) ในขั้นตอนนี้ เพราะ QAD จะช่วยกู้คืนความแม่นยำในขั้นตอนต่อไป
- การเลือก Recipe: มี PTQ Recipes ที่หลากหลายให้เลือก โดยพิจารณาจากรูปแบบของ Weight, วิธีการ Calibration, รูปแบบ Mamba In/Out Projection, และรูปแบบ KV Cache
- การทดลอง: จากการทดลอง พบว่าสูตร "fouroversix" ที่มีการ Quantize Mamba Linears ไปที่ W4A16 ให้ผลลัพธ์ที่ดีที่สุดระหว่างความแม่นยำที่ลดลงกับการเพิ่มประสิทธิภาพ Inference
ขั้นตอนที่ 2: การฝึกฝนด้วย QAD
เมื่อได้ Student Checkpoint จาก PTQ แล้ว ขั้นตอนต่อไปคือการฝึกฝนด้วย QAD:
- Sequence Length: การใช้ Sequence Length ที่ยาวขึ้น (เช่น 522K Tokens) มีความสำคัญอย่างยิ่งในการรักษาประสิทธิภาพสำหรับงานที่ต้องการ Context ยาว
- ชุดข้อมูล (Datasets): แนะนำให้เริ่มต้นจากชุดข้อมูลเปิดของ NVIDIA เช่น Nemotron-Post-Training v1 และ v2 ซึ่งมีลักษณะการกระจายข้อมูลคล้ายคลึงกับที่ใช้ในการพัฒนา
- Distillation Recipe:
- เริ่มต้นจาก PTQ Checkpoint
- ทำการ Distill จาก Teacher Model (BF16) ไปยัง Student Model (NVFP4) โดยใช้ KL Divergence Loss บน Logits
- ตั้งค่าการฝึกฝน: Learning Rate 5e-6, ไม่มี Warmup, ปิด Dropout, Gradient Clipping ที่ 1.0, ใช้ 2 Nodes x 8 GPUs (TP=2, EP=4)
- การจัดการ Quantization Scale: มี 2 กลยุทธ์หลัก ขึ้นอยู่กับวิธีการ Calibration ในขั้นตอน PTQ:
- Dynamic Scale QAD: เริ่มต้นจาก PTQ Checkpoint ที่ใช้ Max Calibration โดย Weight และ Scale จะถูกคำนวณใหม่ทุก Step
- Frozen Scale QAD: เริ่มต้นจาก PTQ Checkpoint ที่ใช้ MSE-based Calibration โดย Scale จะถูกล็อคไว้ตั้งแต่แรก และมีการอัปเดตเฉพาะ Weight
การทำ QAD ด้วย NVIDIA Model Optimizer นี้ ช่วยให้สามารถพัฒนาโมเดล Nemotron 3.5 Lightning NVFP4 ที่มีประสิทธิภาพสูง ใช้หน่วยความจำน้อย และยังคงความแม่นยำไว้ได้อย่างยอดเยี่ยม
คำถามที่พบบ่อย (FAQ)
QAD แตกต่างจาก PTQ อย่างไร?
A: PTQ เป็นการลดขนาดโมเดลหลังจากการฝึกฝนเสร็จสิ้นแล้ว ส่วน QAD เป็นกระบวนการที่ซับซ้อนกว่า โดยมีการฝึกฝนโมเดลที่ลดขนาดแล้วอีกครั้ง โดยใช้โมเดลต้นฉบับที่มีความละเอียดสูงเป็นต้นแบบ เพื่อชดเชยความแม่นยำที่สูญเสียไปจากการลดขนาด
Quantization แบบ W4A16 หมายถึงอะไร?
A: หมายถึงการลดขนาด Weight ให้เหลือ 4 บิต และ Activation ให้เหลือ 16 บิต ซึ่งเป็นการลดขนาดที่ค่อนข้างเข้มข้น
การใช้ Nemotron 3.5 Lightning NVFP4 เหมาะกับงานประเภทใด?
A: เหมาะสำหรับงานที่ต้องการประมวลผลเร็ว ใช้หน่วยความจำน้อย และยังคงต้องการความแม่นยำสูง เช่น การประมวลผลภาษาธรรมชาติ (NLP) หรือการสร้างสรรค์เนื้อหา (Generative AI)
NVIDIA Model Optimizer ช่วยอะไรในการทำ QAD?
A: ช่วยอำนวยความสะดวกในกระบวนการทำ QAD ตั้งแต่ต้นจนจบ รวมถึงการเลือกสูตรการฝึกฝน, การกำหนดค่า, และการส่งออก Checkpoint ทำให้การพัฒนาโมเดลมีประสิทธิภาพมากขึ้น
ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/developing-nemotron-3-5-lightning-nvfp4-with-qad-using-nvidia-model-optimizer/พัฒนาโมเดล Nemotron 3.5 Lightning NVFP4 ด้วย QAD ผ่าน NVIDIA Model Optimizerการปรับแต่งโมเดล AI ให้มีประสิทธิภาพสูงสุดเป็นสิ่งสำคัญยิ่งสำหรับทีมพัฒนา เพื่อให้บรรลุเป้าหมายด้านความเร็ว, การใช้หน่วยความจำ, และพลังการประมวลผล ด้วยโมเดล Nemotron จาก NVIDIA ที่เปิดให้ใช้งานอย่างอิสระ นักพัฒนาสามารถค้นหาโมเดลที่เหมาะสมกับความต้องการเฉพาะของตนเองได้อย่างลงตัวหนึ่งในความก้าวหน้าล่าสุดคือ Nemotron 3.5 Lightning NVFP4 ที่สามารถรักษาความแม่นยำไว้ได้ใกล้เคียงกับต้นฉบับ BF16 แต่เพิ่ม Throughput ได้ถึง 4 เท่า และลดขนาดโมเดลจาก 66 GB เหลือเพียง 22 GB ซึ่งทั้งหมดนี้ทำได้ด้วยเทคนิคการลดขนาดโมเดล (Quantization) ที่เข้มข้นขึ้นQuantization-Aware Distillation (QAD) คืออะไร?QAD เป็นกระบวนการที่ช่วยให้โมเดลที่ถูกลดขนาด (Student Model) สามารถเรียนรู้และรักษาความแม่นยำใกล้เคียงกับโมเดลต้นฉบับที่มีความละเอียดสูง (Teacher Model) ได้ดียิ่งขึ้น โดยมีขั้นตอนหลัก 2 ระยะ:Post-Training Quantization (PTQ): ในขั้นตอนนี้ โมเดลต้นฉบับที่มีความละเอียดเต็ม (Full-Precision) จะถูกแปลงเป็นโมเดลที่มีความละเอียดต่ำ (Quantized Model) เพื่อสร้าง Student CheckpointQuantization-Aware Distillation (QAD): จากนั้น Student Model จะถูกฝึกฝนอีกครั้ง โดยใช้ Teacher Model แบบคงที่ (Frozen Teacher) เป็นต้นแบบในการเรียนรู้ ผ่านการเปรียบเทียบค่า Logits ด้วย KL Divergence Loss และการจำลองกระบวนการ Quantization เพื่อชดเชยความแม่นยำที่สูญเสียไปจากการลดขนาดอย่างเข้มข้นประโยชน์ของ QADเพิ่ม Throughput สูงสุด 4 เท่า: ทำให้การประมวลผลเร็วขึ้นอย่างเห็นได้ชัดลดขนาดโมเดลอย่างมาก: จาก 66 GB เหลือเพียง 22 GB ช่วยประหยัดพื้นที่จัดเก็บและหน่วยความจำรักษาความแม่นยำ: ชดเชยความผิดพลาดที่เกิดจากการลดขนาดอย่างเข้มข้น ทำให้ได้โมเดลที่มีคุณภาพใกล้เคียงต้นฉบับรองรับการ Quantization ที่เข้มข้น: สามารถใช้การ Quantization ที่มากกว่า PTQ ปกติได้ โดยไม่สูญเสียความแม่นยำจนยอมรับไม่ได้กระบวนการพัฒนา Nemotron 3.5 Lightning NVFP4 ด้วย QADNVIDIA Model Optimizer และ Megatron-Bridge เป็นเครื่องมือสำคัญที่ช่วยให้การทำ QAD กับ Nemotron 3.5 Lightning สามารถทำได้ตั้งแต่ต้นจนจบ ตั้งแต่การเลือกสูตร (Recipe) การฝึกฝน ไปจนถึงการส่งออก Checkpoint ทำให้การนำโมเดล LLM ไปใช้งานจริงที่ประหยัดหน่วยความจำและพลังการประมวลผลเป็นไปได้ง่ายขึ้นขั้นตอนที่ 1: การสร้าง PTQ Checkpoint (Student)เริ่มต้นด้วยโมเดลต้นฉบับ NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 ซึ่งจะทำหน้าที่เป็น Teacher Modelจากนั้นทำการ Quantization กับโมเดลเดียวกันเพื่อสร้าง Student Checkpoint โดยตั้งเป้าหมายการลดขนาดให้เข้มข้นขึ้น เช่น การ Quantize Mamba Linear Layers ไปที่ W4A16 แทน FP8 ซึ่งจะปลดล็อก Throughput ที่สูงขึ้นโดยไม่ทำให้ความแม่นยำลดลงมากนักเป้าหมายความแม่นยำ: ตั้งเป้าให้เกิดความแม่นยำลดลงเล็กน้อย (ประมาณ 95-99%) ในขั้นตอนนี้ เพราะ QAD จะช่วยกู้คืนความแม่นยำในขั้นตอนต่อไปการเลือก Recipe: มี PTQ Recipes ที่หลากหลายให้เลือก โดยพิจารณาจากรูปแบบของ Weight, วิธีการ Calibration, รูปแบบ Mamba In/Out Projection, และรูปแบบ KV Cacheการทดลอง: จากการทดลอง พบว่าสูตร "fouroversix" ที่มีการ Quantize Mamba Linears ไปที่ W4A16 ให้ผลลัพธ์ที่ดีที่สุดระหว่างความแม่นยำที่ลดลงกับการเพิ่มประสิทธิภาพ Inferenceขั้นตอนที่ 2: การฝึกฝนด้วย QADเมื่อได้ Student Checkpoint จาก PTQ แล้ว ขั้นตอนต่อไปคือการฝึกฝนด้วย QAD:Sequence Length: การใช้ Sequence Length ที่ยาวขึ้น (เช่น 522K Tokens) มีความสำคัญอย่างยิ่งในการรักษาประสิทธิภาพสำหรับงานที่ต้องการ Context ยาวชุดข้อมูล (Datasets): แนะนำให้เริ่มต้นจากชุดข้อมูลเปิดของ NVIDIA เช่น Nemotron-Post-Training v1 และ v2 ซึ่งมีลักษณะการกระจายข้อมูลคล้ายคลึงกับที่ใช้ในการพัฒนาDistillation Recipe:เริ่มต้นจาก PTQ Checkpointทำการ Distill จาก Teacher Model (BF16) ไปยัง Student Model (NVFP4) โดยใช้ KL Divergence Loss บน Logitsตั้งค่าการฝึกฝน: Learning Rate 5e-6, ไม่มี Warmup, ปิด Dropout, Gradient Clipping ที่ 1.0, ใช้ 2 Nodes x 8 GPUs (TP=2, EP=4)การจัดการ Quantization Scale: มี 2 กลยุทธ์หลัก ขึ้นอยู่กับวิธีการ Calibration ในขั้นตอน PTQ:Dynamic Scale QAD: เริ่มต้นจาก PTQ Checkpoint ที่ใช้ Max Calibration โดย Weight และ Scale จะถูกคำนวณใหม่ทุก StepFrozen Scale QAD: เริ่มต้นจาก PTQ Checkpoint ที่ใช้ MSE-based Calibration โดย Scale จะถูกล็อคไว้ตั้งแต่แรก และมีการอัปเดตเฉพาะ Weightการทำ QAD ด้วย NVIDIA Model Optimizer นี้ ช่วยให้สามารถพัฒนาโมเดล Nemotron 3.5 Lightning NVFP4 ที่มีประสิทธิภาพสูง ใช้หน่วยความจำน้อย และยังคงความแม่นยำไว้ได้อย่างยอดเยี่ยมคำถามที่พบบ่อย (FAQ)QAD แตกต่างจาก PTQ อย่างไร?A: PTQ เป็นการลดขนาดโมเดลหลังจากการฝึกฝนเสร็จสิ้นแล้ว ส่วน QAD เป็นกระบวนการที่ซับซ้อนกว่า โดยมีการฝึกฝนโมเดลที่ลดขนาดแล้วอีกครั้ง โดยใช้โมเดลต้นฉบับที่มีความละเอียดสูงเป็นต้นแบบ เพื่อชดเชยความแม่นยำที่สูญเสียไปจากการลดขนาดQuantization แบบ W4A16 หมายถึงอะไร?A: หมายถึงการลดขนาด Weight ให้เหลือ 4 บิต และ Activation ให้เหลือ 16 บิต ซึ่งเป็นการลดขนาดที่ค่อนข้างเข้มข้นการใช้ Nemotron 3.5 Lightning NVFP4 เหมาะกับงานประเภทใด?A: เหมาะสำหรับงานที่ต้องการประมวลผลเร็ว ใช้หน่วยความจำน้อย และยังคงต้องการความแม่นยำสูง เช่น การประมวลผลภาษาธรรมชาติ (NLP) หรือการสร้างสรรค์เนื้อหา (Generative AI)NVIDIA Model Optimizer ช่วยอะไรในการทำ QAD?A: ช่วยอำนวยความสะดวกในกระบวนการทำ QAD ตั้งแต่ต้นจนจบ รวมถึงการเลือกสูตรการฝึกฝน, การกำหนดค่า, และการส่งออก Checkpoint ทำให้การพัฒนาโมเดลมีประสิทธิภาพมากขึ้นhttps://developer.nvidia.com/blog/developing-nemotron-3-5-lightning-nvfp4-with-qad-using-nvidia-model-optimizer/
DEVELOPER.NVIDIA.COMDeveloping Nemotron 3.5 Lightning NVFP4 with QAD Using NVIDIA Model OptimizerTeams customize their models to hit their targets for latency, speed, memory, and compute. With the open NVIDIA Nemotron family of models, developers can find the right-sized model for their needs.6 Comments 0 Shares 927 Views 0 Reviews-
เพิ่มประสิทธิภาพได้ 4 เท่าเลยเหรอเพิ่มประสิทธิภาพได้ 4 เท่าเลยเหรอ
-
React
- Reply
- 2026-08-17 18:18:43
-
-
น่าทึ่งที่ QAD กู้คืนความแม่นยำได้เกือบทั้งหมดน่าทึ่งที่ QAD กู้คืนความแม่นยำได้เกือบทั้งหมด
-
React
- Reply
- 2026-08-17 18:18:43
-
-
การใช้ NVIDIA Model Optimizer ช่วยให้การทำ QAD บน Nemotron 35 Lightning ง่ายขึ้นเยอะเลยการใช้ NVIDIA Model Optimizer ช่วยให้การทำ QAD บน Nemotron 35 Lightning ง่ายขึ้นเยอะเลย
-
React
- Reply
- 2026-08-17 18:18:43
-
-
-
ว้าว การลดขนาดโมเดลจาก 66 GB เหลือ 22 GB นี่สุดยอดไปเลยนะว้าว การลดขนาดโมเดลจาก 66 GB เหลือ 22 GB นี่สุดยอดไปเลยนะ
-
React
- Reply
- 2026-08-17 18:18:43
-
-
DuckDB v2.0 "Cyanoptera" มาแล้ว! ส่องฟีเจอร์เด็ดที่ต้องรู้ก่อนใคร
DuckDB v2.0 กำลังจะมาถึงในฤดูใบไม้ร่วงนี้ พร้อมการเปลี่ยนแปลงครั้งใหญ่ที่น่าจับตามอง ตั้งแต่การเป็นเซิร์ฟเวอร์เต็มรูปแบบ, ทริกเกอร์, ประเภทข้อมูล VARIANT, การทำงานแบบอะซิงโครนัส, ตัวแยกวิเคราะห์ SQL ใหม่, รูปแบบการจัดเก็บข้อมูลใหม่ และอีกมากมาย
DuckDB v2.0 ที่ใช้ชื่อรหัสว่า “Cyanoptera” มาจากการผสมผสานกว่า 10,000 คอมมิตตั้งแต่เวอร์ชัน 1.5 การอัปเกรดครั้งใหญ่นี้ไม่ใช่แค่การเปลี่ยนตัวเลข แต่เป็นการยกเครื่องครั้งสำคัญ ทั้งตัวแยกวิเคราะห์ SQL ใหม่, รูปแบบการจัดเก็บข้อมูลเริ่มต้นใหม่, C API ที่ปรับปรุงใหม่ และการเปลี่ยนแปลงเล็กน้อยที่ส่งผลกระทบ แต่ที่สำคัญที่สุดคือการเปิดศักราชใหม่ของ DuckDB ในฐานะ "เซิร์ฟเวอร์"
1. DuckDB ในฐานะเซิร์ฟเวอร์: Quack และ CONNECT
จากเดิมที่เป็นฐานข้อมูลแบบ In-process DuckDB v2.0 ได้เพิ่มโหมด Client/Server เข้ามาแล้ว! ด้วยส่วนขยาย "Quack" ที่ใช้โปรโตคอล Native ของ DuckDB ทำให้ DuckDB แต่ละ Instance สามารถให้บริการฐานข้อมูลผ่านเครือข่าย และ Instance อื่นๆ สามารถเชื่อมต่อและส่งคำสั่งไปยังฐานข้อมูลเหล่านั้นได้ผ่านคำสั่ง
CONNECT-- ตัวอย่างการเชื่อมต่อ
CONNECT 'quack://user:password@host:port/database';CONNECTเป็นตัวตายตัวแทนของremote.query($$...$$)ที่เคยใช้ และไม่ได้จำกัดแค่ Quack เท่านั้น แต่ยังสามารถชี้ไปยังฐานข้อมูลอื่นที่รองรับได้เลย นอกจากนี้ ตัวปรับปรุงประสิทธิภาพแบบใหม่ยังสามารถส่ง SQL ไปยัง PostgreSQL และ MySQL ได้โดยตรง แทนที่จะดึงข้อมูลทั้งหมดมาประมวลผลหลายคนอาจคิดว่า DuckDB ไม่เหมาะกับงาน Transactional แต่จริงๆ แล้ว DuckDB ถูกสร้างมาเพื่อรองรับ Transaction ตั้งแต่วันแรก ด้วย MVCC และ Transaction Isolation ที่สมบูรณ์ การทำงานแบบ Client/Server นี้จะช่วยให้ DuckDB สามารถแข่งขันกับฐานข้อมูลทั่วไปอย่าง PostgreSQL ในหลายๆ เวิร์กโหลดได้
2. VARIANT: ข้อมูลกึ่งโครงสร้างที่ทรงพลัง
ประเภทข้อมูล VARIANT ที่เคยเปิดตัวใน v1.5 ได้รับการยกระดับให้เป็น "พลเมืองชั้นหนึ่ง" ใน v2.0 คิดง่ายๆ ว่ามันคือ JSON ที่เร็วกว่าเดิม VARIANT สามารถเก็บข้อมูลที่มีโครงสร้างแตกต่างกันในแต่ละแถวได้ โดยไม่ต้องกำหนด Schema ล่วงหน้า DuckDB จะทำการ "Shred" ข้อมูลที่ซ่อนอยู่ให้โดยอัตโนมัติ ทำให้บีบอัดได้ดีและประมวลผลเร็ว เหมาะอย่างยิ่งสำหรับข้อมูล Log ที่เข้ามาแบบ Real-time
ใน v2.0 การทำงานของ VARIANT จะสมบูรณ์แบบยิ่งขึ้น ตั้งแต่การ Shred โดยตรงจาก Storage, การดึงข้อมูลแบบ Pushdown, การอ่าน/เขียน VARIANT สำหรับ Parquet ไปจนถึงฟังก์ชัน
variant_*ใหม่ๆ3. Triggers: ควบคุมการเปลี่ยนแปลงข้อมูล
Triggers ที่เป็นฟีเจอร์ที่ร้องขอมานาน ในที่สุดก็มาถึงใน DuckDB v2.0 รองรับทั้ง
BEFOREและAFTER,FOR EACH ROWและFOR EACH STATEMENT, การใช้REFERENCING OLD/NEW TABLEและอื่นๆ อีกมากมายTriggers เหมาะสำหรับงานอย่างการสร้าง Audit Trail หรือการบันทึกการเปลี่ยนแปลงที่เกิดขึ้นในระบบ ตัวอย่างเช่น:
CREATE TRIGGER audit_trigger
AFTER INSERT ON my_table
REFERENCING OLD TABLE AS old NEW TABLE AS new
FOR EACH STATEMENT
RETURN old; -- หรือ new4. การปรับปรุง SQL Dialect
DuckDB v2.0 มาพร้อมกับฟีเจอร์ SQL ใหม่ๆ ที่น่าสนใจมากมาย:
- NEAREST Joins: สำหรับการค้นหาความคล้ายคลึง (Similarity Search) ในงาน Vector และ Embedding
- DML inside CTEs: สามารถใช้
INSERT,UPDATE,DELETE,COPYเป็นส่วนหนึ่งของ CTE ได้ - Nested Schemas: รองรับการสร้าง Schema ซ้อน Schema
- New Variable Syntax: ใช้
$xแทนgetvariable(...)ในทุกที่ที่อนุญาตให้ใช้ Expression - JSON Mutation Functions: ฟังก์ชัน
jsonset,jsoninsert,jsonreplace,jsonremoveสำหรับแก้ไข JSON ในตัว - Recursive CTEs with USING KEY aggregation: รองรับอัลกอริทึมแบบวนซ้ำใน SQL
นอกจากนี้ยังมี
FETCH FIRST 2 ROWS ONLY,OVERLAY(),UNNEST in GROUP BYและMERGE / UPDATE ... FROMที่จัดการกับแถวที่ซ้ำกันได้ดีขึ้น5. Asynchronous I/O: เร็วขึ้นเมื่อทำงานกับ Object Storage
การทำงานกับ Object Storage เช่น S3 เป็นหัวใจสำคัญของ DuckDB และใน v2.0 ได้เพิ่ม Asynchronous I/O เข้ามา ทำให้การอ่านข้อมูลจาก Object Storage ทำงานแบบขนานได้ดีขึ้นมาก ส่งผลให้ Query บน Network Storage เร็วขึ้นอย่างเห็นได้ชัด
6. ประสิทธิภาพ Query ที่เร็วขึ้นทั่วกระดาน
ทุกเวอร์ชันที่ออกมา DuckDB จะพยายามทำให้ Query ที่มีอยู่เร็วขึ้นโดยอัตโนมัติ ใน v2.0 มีการปรับปรุงหลายส่วน เช่น:
- Partial aggregates ถูก Pushdown ลงไปใต้ Joins
- การ Rewrite Recursive CTE engine ใหม่
- Aggregations สามารถ Spill ไปยัง Disk ได้เมื่อใช้หน่วยความจำเกิน
- Row-group pruning ถูกขยายขอบเขตให้ครอบคลุมข้อมูลประเภท Struct, List, Decimal, UUID และ Function Predicates
- Planner สามารถใช้ประโยชน์จากการ Partitioning ของ Lakehouse formats (Iceberg, Hive) ได้อย่างเต็มที่
มีการยกตัวอย่าง Benchmark การค้นหาเส้นทางแบบ Recursive CTE ซึ่ง DuckDB v2.0 ทำได้เร็วกว่าเวอร์ชันก่อนหน้าถึง 40 เท่า!
7. Storage Format v2.0: จัดการ Index และ Metadata ได้ดีขึ้น
Storage Format ใหม่ใน v2.0 มาพร้อมกับ Buffer-managed ART Indexes ทำให้ Index ไม่ถูก Pin ในหน่วยความจำอีกต่อไป ส่งผลให้ตารางขนาดใหญ่ที่มี Index เปิดได้ทันที และ Index จะถูกโหลดเข้ามาเมื่อต้องการใช้งานเท่านั้น
นอกจากนี้ Column Metadata ยังโหลดแบบ Lazy ทำให้ตารางที่มีคอลัมน์จำนวนมากเปิดได้เร็วขึ้น และการบีบอัด
DICT_FSSTถูกเปิดใช้งานเป็นค่าเริ่มต้น8. ตัวแยกวิเคราะห์ SQL ใหม่ (New SQL Parser)
DuckDB v2.0 ใช้ตัวแยกวิเคราะห์ SQL ที่พัฒนาขึ้นเอง (PEG-based parser) แทนที่ของเดิมที่มาจาก PostgreSQL การเปลี่ยนแปลงนี้ช่วยให้ส่วนขยาย (Extensions) สามารถ Hook เข้าไปที่ Grammar ได้ ทำให้คาดหวังได้ว่าจะเห็น Syntax SQL ใหม่ๆ จาก Extensions ในอนาคต และยังช่วยให้ข้อความแจ้งข้อผิดพลาด (Error Messages) แม่นยำขึ้นด้วย
9. จัดการ Timezones, Calendars, Collations โดยไม่ต้องพึ่ง ICU
DuckDB v2.0 ได้นำ Library ICU ออกไปทั้งหมด และพัฒนาการจัดการ Timezones, Calendars, และ Collations ขึ้นมาเอง ทำให้ขนาดของ DuckDB เล็กลงและอัปเดตได้ง่ายขึ้น ที่สำคัญคือยังคงทำงานได้เหมือนเดิมและเร็วขึ้นด้วย
10. เขียน Extension ครั้งเดียว ใช้ได้ตลอดกาล
ส่วนขยาย (Extensions) เป็นจุดเด่นของ DuckDB แต่เดิมการพัฒนา Extension ต้องปรับแก้และคอมไพล์ใหม่ทุกครั้งที่มีการอัปเกรด DuckDB แต่ใน v2.0 มีการขยาย Stable C API ทำให้ Extension ที่เขียนขึ้นมาสามารถใช้งานได้กับ DuckDB หลายเวอร์ชันโดยไม่ต้องแก้ไข
สรุป
DuckDB v2.0 "Cyanoptera" เป็นการอัปเกรดครั้งใหญ่ที่นำเสนอคุณสมบัติใหม่ๆ ที่น่าตื่นเต้นมากมาย ตั้งแต่การเป็นเซิร์ฟเวอร์, การจัดการข้อมูลที่ซับซ้อน, ประสิทธิภาพที่เร็วขึ้น, ไปจนถึงการพัฒนา Extension ที่ยั่งยืนยิ่งขึ้น เป็นการตอกย้ำว่า DuckDB ยังคงเป็นเครื่องมือวิเคราะห์ข้อมูลที่ทรงพลังและพัฒนาอย่างต่อเนื่อง
#DuckDB #Database #Analytics #SQL #OpenSource
ขอบคุณ แหล่งข้อมูล
https://duckdb.org/2026/08/17/duckdb-20-highlightsDuckDB v2.0 "Cyanoptera" มาแล้ว! ส่องฟีเจอร์เด็ดที่ต้องรู้ก่อนใครDuckDB v2.0 กำลังจะมาถึงในฤดูใบไม้ร่วงนี้ พร้อมการเปลี่ยนแปลงครั้งใหญ่ที่น่าจับตามอง ตั้งแต่การเป็นเซิร์ฟเวอร์เต็มรูปแบบ, ทริกเกอร์, ประเภทข้อมูล VARIANT, การทำงานแบบอะซิงโครนัส, ตัวแยกวิเคราะห์ SQL ใหม่, รูปแบบการจัดเก็บข้อมูลใหม่ และอีกมากมายDuckDB v2.0 ที่ใช้ชื่อรหัสว่า “Cyanoptera” มาจากการผสมผสานกว่า 10,000 คอมมิตตั้งแต่เวอร์ชัน 1.5 การอัปเกรดครั้งใหญ่นี้ไม่ใช่แค่การเปลี่ยนตัวเลข แต่เป็นการยกเครื่องครั้งสำคัญ ทั้งตัวแยกวิเคราะห์ SQL ใหม่, รูปแบบการจัดเก็บข้อมูลเริ่มต้นใหม่, C API ที่ปรับปรุงใหม่ และการเปลี่ยนแปลงเล็กน้อยที่ส่งผลกระทบ แต่ที่สำคัญที่สุดคือการเปิดศักราชใหม่ของ DuckDB ในฐานะ "เซิร์ฟเวอร์"1. DuckDB ในฐานะเซิร์ฟเวอร์: Quack และ CONNECTจากเดิมที่เป็นฐานข้อมูลแบบ In-process DuckDB v2.0 ได้เพิ่มโหมด Client/Server เข้ามาแล้ว! ด้วยส่วนขยาย "Quack" ที่ใช้โปรโตคอล Native ของ DuckDB ทำให้ DuckDB แต่ละ Instance สามารถให้บริการฐานข้อมูลผ่านเครือข่าย และ Instance อื่นๆ สามารถเชื่อมต่อและส่งคำสั่งไปยังฐานข้อมูลเหล่านั้นได้ผ่านคำสั่ง CONNECT-- ตัวอย่างการเชื่อมต่อ CONNECT 'quack://user:password@host:port/database';CONNECT เป็นตัวตายตัวแทนของ remote.query($$...$$) ที่เคยใช้ และไม่ได้จำกัดแค่ Quack เท่านั้น แต่ยังสามารถชี้ไปยังฐานข้อมูลอื่นที่รองรับได้เลย นอกจากนี้ ตัวปรับปรุงประสิทธิภาพแบบใหม่ยังสามารถส่ง SQL ไปยัง PostgreSQL และ MySQL ได้โดยตรง แทนที่จะดึงข้อมูลทั้งหมดมาประมวลผลหลายคนอาจคิดว่า DuckDB ไม่เหมาะกับงาน Transactional แต่จริงๆ แล้ว DuckDB ถูกสร้างมาเพื่อรองรับ Transaction ตั้งแต่วันแรก ด้วย MVCC และ Transaction Isolation ที่สมบูรณ์ การทำงานแบบ Client/Server นี้จะช่วยให้ DuckDB สามารถแข่งขันกับฐานข้อมูลทั่วไปอย่าง PostgreSQL ในหลายๆ เวิร์กโหลดได้2. VARIANT: ข้อมูลกึ่งโครงสร้างที่ทรงพลังประเภทข้อมูล VARIANT ที่เคยเปิดตัวใน v1.5 ได้รับการยกระดับให้เป็น "พลเมืองชั้นหนึ่ง" ใน v2.0 คิดง่ายๆ ว่ามันคือ JSON ที่เร็วกว่าเดิม VARIANT สามารถเก็บข้อมูลที่มีโครงสร้างแตกต่างกันในแต่ละแถวได้ โดยไม่ต้องกำหนด Schema ล่วงหน้า DuckDB จะทำการ "Shred" ข้อมูลที่ซ่อนอยู่ให้โดยอัตโนมัติ ทำให้บีบอัดได้ดีและประมวลผลเร็ว เหมาะอย่างยิ่งสำหรับข้อมูล Log ที่เข้ามาแบบ Real-timeใน v2.0 การทำงานของ VARIANT จะสมบูรณ์แบบยิ่งขึ้น ตั้งแต่การ Shred โดยตรงจาก Storage, การดึงข้อมูลแบบ Pushdown, การอ่าน/เขียน VARIANT สำหรับ Parquet ไปจนถึงฟังก์ชัน variant_* ใหม่ๆ3. Triggers: ควบคุมการเปลี่ยนแปลงข้อมูลTriggers ที่เป็นฟีเจอร์ที่ร้องขอมานาน ในที่สุดก็มาถึงใน DuckDB v2.0 รองรับทั้ง BEFORE และ AFTER, FOR EACH ROW และ FOR EACH STATEMENT, การใช้ REFERENCING OLD/NEW TABLE และอื่นๆ อีกมากมายTriggers เหมาะสำหรับงานอย่างการสร้าง Audit Trail หรือการบันทึกการเปลี่ยนแปลงที่เกิดขึ้นในระบบ ตัวอย่างเช่น:CREATE TRIGGER audit_trigger AFTER INSERT ON my_table REFERENCING OLD TABLE AS old NEW TABLE AS new FOR EACH STATEMENT RETURN old; -- หรือ new4. การปรับปรุง SQL DialectDuckDB v2.0 มาพร้อมกับฟีเจอร์ SQL ใหม่ๆ ที่น่าสนใจมากมาย:NEAREST Joins: สำหรับการค้นหาความคล้ายคลึง (Similarity Search) ในงาน Vector และ EmbeddingDML inside CTEs: สามารถใช้ INSERT, UPDATE, DELETE, COPY เป็นส่วนหนึ่งของ CTE ได้Nested Schemas: รองรับการสร้าง Schema ซ้อน SchemaNew Variable Syntax: ใช้ $x แทน getvariable(...) ในทุกที่ที่อนุญาตให้ใช้ ExpressionJSON Mutation Functions: ฟังก์ชัน jsonset, jsoninsert, jsonreplace, jsonremove สำหรับแก้ไข JSON ในตัวRecursive CTEs with USING KEY aggregation: รองรับอัลกอริทึมแบบวนซ้ำใน SQLนอกจากนี้ยังมี FETCH FIRST 2 ROWS ONLY, OVERLAY(), UNNEST in GROUP BY และ MERGE / UPDATE ... FROM ที่จัดการกับแถวที่ซ้ำกันได้ดีขึ้น5. Asynchronous I/O: เร็วขึ้นเมื่อทำงานกับ Object Storageการทำงานกับ Object Storage เช่น S3 เป็นหัวใจสำคัญของ DuckDB และใน v2.0 ได้เพิ่ม Asynchronous I/O เข้ามา ทำให้การอ่านข้อมูลจาก Object Storage ทำงานแบบขนานได้ดีขึ้นมาก ส่งผลให้ Query บน Network Storage เร็วขึ้นอย่างเห็นได้ชัด6. ประสิทธิภาพ Query ที่เร็วขึ้นทั่วกระดานทุกเวอร์ชันที่ออกมา DuckDB จะพยายามทำให้ Query ที่มีอยู่เร็วขึ้นโดยอัตโนมัติ ใน v2.0 มีการปรับปรุงหลายส่วน เช่น:Partial aggregates ถูก Pushdown ลงไปใต้ Joinsการ Rewrite Recursive CTE engine ใหม่Aggregations สามารถ Spill ไปยัง Disk ได้เมื่อใช้หน่วยความจำเกินRow-group pruning ถูกขยายขอบเขตให้ครอบคลุมข้อมูลประเภท Struct, List, Decimal, UUID และ Function PredicatesPlanner สามารถใช้ประโยชน์จากการ Partitioning ของ Lakehouse formats (Iceberg, Hive) ได้อย่างเต็มที่มีการยกตัวอย่าง Benchmark การค้นหาเส้นทางแบบ Recursive CTE ซึ่ง DuckDB v2.0 ทำได้เร็วกว่าเวอร์ชันก่อนหน้าถึง 40 เท่า!7. Storage Format v2.0: จัดการ Index และ Metadata ได้ดีขึ้นStorage Format ใหม่ใน v2.0 มาพร้อมกับ Buffer-managed ART Indexes ทำให้ Index ไม่ถูก Pin ในหน่วยความจำอีกต่อไป ส่งผลให้ตารางขนาดใหญ่ที่มี Index เปิดได้ทันที และ Index จะถูกโหลดเข้ามาเมื่อต้องการใช้งานเท่านั้นนอกจากนี้ Column Metadata ยังโหลดแบบ Lazy ทำให้ตารางที่มีคอลัมน์จำนวนมากเปิดได้เร็วขึ้น และการบีบอัด DICT_FSST ถูกเปิดใช้งานเป็นค่าเริ่มต้น8. ตัวแยกวิเคราะห์ SQL ใหม่ (New SQL Parser)DuckDB v2.0 ใช้ตัวแยกวิเคราะห์ SQL ที่พัฒนาขึ้นเอง (PEG-based parser) แทนที่ของเดิมที่มาจาก PostgreSQL การเปลี่ยนแปลงนี้ช่วยให้ส่วนขยาย (Extensions) สามารถ Hook เข้าไปที่ Grammar ได้ ทำให้คาดหวังได้ว่าจะเห็น Syntax SQL ใหม่ๆ จาก Extensions ในอนาคต และยังช่วยให้ข้อความแจ้งข้อผิดพลาด (Error Messages) แม่นยำขึ้นด้วย9. จัดการ Timezones, Calendars, Collations โดยไม่ต้องพึ่ง ICUDuckDB v2.0 ได้นำ Library ICU ออกไปทั้งหมด และพัฒนาการจัดการ Timezones, Calendars, และ Collations ขึ้นมาเอง ทำให้ขนาดของ DuckDB เล็กลงและอัปเดตได้ง่ายขึ้น ที่สำคัญคือยังคงทำงานได้เหมือนเดิมและเร็วขึ้นด้วย10. เขียน Extension ครั้งเดียว ใช้ได้ตลอดกาลส่วนขยาย (Extensions) เป็นจุดเด่นของ DuckDB แต่เดิมการพัฒนา Extension ต้องปรับแก้และคอมไพล์ใหม่ทุกครั้งที่มีการอัปเกรด DuckDB แต่ใน v2.0 มีการขยาย Stable C API ทำให้ Extension ที่เขียนขึ้นมาสามารถใช้งานได้กับ DuckDB หลายเวอร์ชันโดยไม่ต้องแก้ไขสรุปDuckDB v2.0 "Cyanoptera" เป็นการอัปเกรดครั้งใหญ่ที่นำเสนอคุณสมบัติใหม่ๆ ที่น่าตื่นเต้นมากมาย ตั้งแต่การเป็นเซิร์ฟเวอร์, การจัดการข้อมูลที่ซับซ้อน, ประสิทธิภาพที่เร็วขึ้น, ไปจนถึงการพัฒนา Extension ที่ยั่งยืนยิ่งขึ้น เป็นการตอกย้ำว่า DuckDB ยังคงเป็นเครื่องมือวิเคราะห์ข้อมูลที่ทรงพลังและพัฒนาอย่างต่อเนื่อง#DuckDB #Database #Analytics #SQL #OpenSourcehttps://duckdb.org/2026/08/17/duckdb-20-highlights
DUCKDB.ORGA Preview of DuckDB v2.0DuckDB v2.0 is coming this fall. In this post, we preview its headline features: DuckDB as a server, triggers, the VARIANT type, asynchronous I/O, a new SQL parser, a new storage format, and much more.4 Comments 0 Shares 932 Views 0 Reviews-
การรองรับ asynchronous IO น่าจะทำให้การอ่านข้อมูลจาก S3 เร็วขึ้นมากการรองรับ asynchronous IO น่าจะทำให้การอ่านข้อมูลจาก S3 เร็วขึ้นมาก
-
React
- Reply
- 2026-08-17 17:52:58
-
-
มี Trigger แล้ว การจัดการข้อมูลจะละเอียดขึ้นเยอะเลยมี Trigger แล้ว การจัดการข้อมูลจะละเอียดขึ้นเยอะเลย
-
React
- Reply
- 2026-08-17 17:52:58
-
-
VARIANT type ใหม่น่าจะช่วยจัดการข้อมูล JSON ได้ดีขึ้นVARIANT type ใหม่น่าจะช่วยจัดการข้อมูล JSON ได้ดีขึ้น
-
React
- Reply
- 2026-08-17 17:52:58
-
-
DuckDB กลายเป็นเซิร์ฟเวอร์ได้แล้ว น่าสนใจมากDuckDB กลายเป็นเซิร์ฟเวอร์ได้แล้ว น่าสนใจมาก
-
React
- Reply
- 2026-08-17 17:52:58
-
-
"The Defenders Window": ป้องกันการโจมตีทางไซเบอร์รูปแบบใหม่ด้วย AI
ในยุคดิจิทัลที่การโจมตีทางไซเบอร์มีความซับซ้อนและเปลี่ยนแปลงอยู่เสมอ การพัฒนากลไกการป้องกันที่ชาญฉลาดยิ่งขึ้นจึงเป็นสิ่งจำเป็นอย่างยิ่ง OpenAI ได้เปิดตัวนวัตกรรมใหม่ที่น่าจับตามองคือ "The Defenders Window" ซึ่งใช้ประโยชน์จากเทคโนโลยีปัญญาประดิษฐ์ (AI) เพื่อตรวจจับและตอบสนองต่อภัยคุกคามทางไซเบอร์ในแบบเรียลไทม์
"The Defenders Window" คืออะไร?
"The Defenders Window" คือระบบรักษาความปลอดภัยทางไซเบอร์ที่ออกแบบมาเพื่อช่วยให้องค์กรสามารถรับมือกับการโจมตีที่อาจเกิดขึ้นได้อย่างมีประสิทธิภาพมากขึ้น โดยอาศัยความสามารถของ AI ในการวิเคราะห์ข้อมูลปริมาณมหาศาลอย่างรวดเร็วและแม่นยำ เพื่อค้นหารูปแบบหรือพฤติกรรมที่บ่งชี้ถึงการโจมตีที่กำลังจะเกิดขึ้น หรือกำลังดำเนินอยู่
ทำไม AI จึงสำคัญในการป้องกันภัยไซเบอร์?
ภัยคุกคามทางไซเบอร์มีการพัฒนาอย่างต่อเนื่อง ผู้โจมตีมักใช้เทคนิคใหม่ๆ ที่ยากต่อการตรวจจับด้วยระบบรักษาความปลอดภัยแบบดั้งเดิมที่อาศัยการตั้งกฎหรือลายเซ็น (signatures) ที่รู้จักอยู่แล้ว
AI เข้ามามีบทบาทสำคัญในการแก้ปัญหานี้ด้วยความสามารถดังนี้:
- การเรียนรู้และปรับตัว: AI สามารถเรียนรู้จากข้อมูลจำนวนมากเพื่อระบุรูปแบบที่ผิดปกติ (anomalies) แม้จะเป็นการโจมตีที่ไม่เคยพบเห็นมาก่อน
- การวิเคราะห์เชิงลึก: AI สามารถวิเคราะห์ความสัมพันธ์ที่ซับซ้อนระหว่างเหตุการณ์ต่างๆ ที่อาจเป็นสัญญาณของการโจมตี
- การตอบสนองที่รวดเร็ว: AI สามารถประมวลผลและตอบสนองต่อภัยคุกคามได้เร็วกว่ามนุษย์ ทำให้ลดความเสียหายที่อาจเกิดขึ้นได้
ประโยชน์ของ "The Defenders Window"
การนำ "The Defenders Window" มาใช้ช่วยให้องค์กรได้รับประโยชน์หลายประการ:
- ตรวจจับภัยคุกคามได้เร็วขึ้น: AI สามารถระบุสัญญาณเตือนภัยล่วงหน้า หรือตรวจจับการโจมตีที่กำลังดำเนินอยู่ได้ตั้งแต่เนิ่นๆ
- ลดการแจ้งเตือนที่ผิดพลาด (False Positives): ระบบ AI ที่ได้รับการฝึกฝนมาอย่างดีสามารถแยกแยะระหว่างกิจกรรมปกติกับกิจกรรมที่เป็นอันตรายได้อย่างแม่นยำ
- เสริมประสิทธิภาพทีมรักษาความปลอดภัย: AI ช่วยแบ่งเบาภาระการวิเคราะห์ข้อมูลที่ซับซ้อน ทำให้ทีมรักษาความปลอดภัยสามารถมุ่งเน้นไปที่การตัดสินใจเชิงกลยุทธ์และการตอบสนองต่อเหตุการณ์สำคัญได้ดียิ่งขึ้น
- ป้องกันการโจมตีที่ซับซ้อน: สามารถรับมือกับเทคนิคการโจมตีที่หลากหลายและเปลี่ยนแปลงตลอดเวลา
การทำงานของ "The Defenders Window"
แม้รายละเอียดทางเทคนิคจะมีความซับซ้อน แต่หลักการทำงานพื้นฐานของ "The Defenders Window" คือการใช้ AI ในการ:
- รวบรวมและวิเคราะห์ข้อมูล: ระบบจะรวบรวมข้อมูลจากแหล่งต่างๆ เช่น Log files, Network traffic, Endpoint activities
- ระบุพฤติกรรมที่น่าสงสัย: AI จะเปรียบเทียบข้อมูลที่รวบรวมได้กับรูปแบบพฤติกรรมปกติ และระบุความผิดปกติที่อาจบ่งชี้ถึงการโจมตี
- ประเมินความเสี่ยง: ระบบจะประเมินระดับความเสี่ยงของการโจมตีที่ตรวจพบ
- แจ้งเตือนและให้คำแนะนำ: เมื่อพบภัยคุกคาม ระบบจะแจ้งเตือนไปยังทีมรักษาความปลอดภัย พร้อมให้ข้อมูลที่จำเป็นสำหรับการดำเนินการต่อไป
"The Defenders Window" ถือเป็นก้าวสำคัญในการนำ AI มาใช้เพื่อยกระดับการป้องกันภัยไซเบอร์ ทำให้องค์กรต่างๆ มีเครื่องมือที่ทรงพลังในการต่อสู้กับการคุกคามที่ทวีความรุนแรงขึ้นในโลกดิจิทัล
ขอบคุณ แหล่งข้อมูล
https://openai.com/index/the-defenders-window"The Defenders Window": ป้องกันการโจมตีทางไซเบอร์รูปแบบใหม่ด้วย AIในยุคดิจิทัลที่การโจมตีทางไซเบอร์มีความซับซ้อนและเปลี่ยนแปลงอยู่เสมอ การพัฒนากลไกการป้องกันที่ชาญฉลาดยิ่งขึ้นจึงเป็นสิ่งจำเป็นอย่างยิ่ง OpenAI ได้เปิดตัวนวัตกรรมใหม่ที่น่าจับตามองคือ "The Defenders Window" ซึ่งใช้ประโยชน์จากเทคโนโลยีปัญญาประดิษฐ์ (AI) เพื่อตรวจจับและตอบสนองต่อภัยคุกคามทางไซเบอร์ในแบบเรียลไทม์"The Defenders Window" คืออะไร?"The Defenders Window" คือระบบรักษาความปลอดภัยทางไซเบอร์ที่ออกแบบมาเพื่อช่วยให้องค์กรสามารถรับมือกับการโจมตีที่อาจเกิดขึ้นได้อย่างมีประสิทธิภาพมากขึ้น โดยอาศัยความสามารถของ AI ในการวิเคราะห์ข้อมูลปริมาณมหาศาลอย่างรวดเร็วและแม่นยำ เพื่อค้นหารูปแบบหรือพฤติกรรมที่บ่งชี้ถึงการโจมตีที่กำลังจะเกิดขึ้น หรือกำลังดำเนินอยู่ทำไม AI จึงสำคัญในการป้องกันภัยไซเบอร์?ภัยคุกคามทางไซเบอร์มีการพัฒนาอย่างต่อเนื่อง ผู้โจมตีมักใช้เทคนิคใหม่ๆ ที่ยากต่อการตรวจจับด้วยระบบรักษาความปลอดภัยแบบดั้งเดิมที่อาศัยการตั้งกฎหรือลายเซ็น (signatures) ที่รู้จักอยู่แล้วAI เข้ามามีบทบาทสำคัญในการแก้ปัญหานี้ด้วยความสามารถดังนี้:การเรียนรู้และปรับตัว: AI สามารถเรียนรู้จากข้อมูลจำนวนมากเพื่อระบุรูปแบบที่ผิดปกติ (anomalies) แม้จะเป็นการโจมตีที่ไม่เคยพบเห็นมาก่อนการวิเคราะห์เชิงลึก: AI สามารถวิเคราะห์ความสัมพันธ์ที่ซับซ้อนระหว่างเหตุการณ์ต่างๆ ที่อาจเป็นสัญญาณของการโจมตีการตอบสนองที่รวดเร็ว: AI สามารถประมวลผลและตอบสนองต่อภัยคุกคามได้เร็วกว่ามนุษย์ ทำให้ลดความเสียหายที่อาจเกิดขึ้นได้ประโยชน์ของ "The Defenders Window"การนำ "The Defenders Window" มาใช้ช่วยให้องค์กรได้รับประโยชน์หลายประการ:ตรวจจับภัยคุกคามได้เร็วขึ้น: AI สามารถระบุสัญญาณเตือนภัยล่วงหน้า หรือตรวจจับการโจมตีที่กำลังดำเนินอยู่ได้ตั้งแต่เนิ่นๆลดการแจ้งเตือนที่ผิดพลาด (False Positives): ระบบ AI ที่ได้รับการฝึกฝนมาอย่างดีสามารถแยกแยะระหว่างกิจกรรมปกติกับกิจกรรมที่เป็นอันตรายได้อย่างแม่นยำเสริมประสิทธิภาพทีมรักษาความปลอดภัย: AI ช่วยแบ่งเบาภาระการวิเคราะห์ข้อมูลที่ซับซ้อน ทำให้ทีมรักษาความปลอดภัยสามารถมุ่งเน้นไปที่การตัดสินใจเชิงกลยุทธ์และการตอบสนองต่อเหตุการณ์สำคัญได้ดียิ่งขึ้นป้องกันการโจมตีที่ซับซ้อน: สามารถรับมือกับเทคนิคการโจมตีที่หลากหลายและเปลี่ยนแปลงตลอดเวลาการทำงานของ "The Defenders Window"แม้รายละเอียดทางเทคนิคจะมีความซับซ้อน แต่หลักการทำงานพื้นฐานของ "The Defenders Window" คือการใช้ AI ในการ:รวบรวมและวิเคราะห์ข้อมูล: ระบบจะรวบรวมข้อมูลจากแหล่งต่างๆ เช่น Log files, Network traffic, Endpoint activitiesระบุพฤติกรรมที่น่าสงสัย: AI จะเปรียบเทียบข้อมูลที่รวบรวมได้กับรูปแบบพฤติกรรมปกติ และระบุความผิดปกติที่อาจบ่งชี้ถึงการโจมตีประเมินความเสี่ยง: ระบบจะประเมินระดับความเสี่ยงของการโจมตีที่ตรวจพบแจ้งเตือนและให้คำแนะนำ: เมื่อพบภัยคุกคาม ระบบจะแจ้งเตือนไปยังทีมรักษาความปลอดภัย พร้อมให้ข้อมูลที่จำเป็นสำหรับการดำเนินการต่อไป"The Defenders Window" ถือเป็นก้าวสำคัญในการนำ AI มาใช้เพื่อยกระดับการป้องกันภัยไซเบอร์ ทำให้องค์กรต่างๆ มีเครื่องมือที่ทรงพลังในการต่อสู้กับการคุกคามที่ทวีความรุนแรงขึ้นในโลกดิจิทัลhttps://openai.com/index/the-defenders-window0 Comments 0 Shares 947 Views 0 Reviews -
Transformers.js v4 เปิดตัวแล้ว! ยกระดับ AI บนเว็บให้เร็ว แรง และยืดหยุ่นกว่าเดิม
Hugging Face ประกาศเปิดตัว Transformers.js v4 เวอร์ชันใหม่ล่าสุด ที่มาพร้อมการปรับปรุงครั้งใหญ่เพื่อยกระดับประสบการณ์การใช้งาน AI บนเว็บให้ดียิ่งขึ้น ทั้งในด้านประสิทธิภาพ ความยืดหยุ่น และการรองรับโมเดลที่หลากหลาย การอัปเดตครั้งนี้ไม่เพียงแต่ทำให้การพัฒนาแอปพลิเคชัน AI บนเบราว์เซอร์และสภาพแวดล้อม JavaScript อื่นๆ ง่ายขึ้น แต่ยังเปิดประตูสู่ความเป็นไปได้ใหม่ๆ ในการนำ AI ไปใช้จริง
ปรับปรุงประสิทธิภาพด้วย WebGPU Runtime ใหม่ 🚀
หัวใจสำคัญของการอัปเดต v4 คือการนำ WebGPU Runtime ที่เขียนขึ้นใหม่ทั้งหมดด้วยภาษา C++ มาใช้งาน ซึ่งพัฒนาขึ้นโดยความร่วมมือกับทีม ONNX Runtime การเปลี่ยนแปลงนี้ส่งผลให้:
- ความเร็วที่เหนือกว่า: WebGPU Runtime ใหม่รองรับ Operator ที่หลากหลายและมีประสิทธิภาพมากขึ้น ช่วยให้โมเดลทำงานได้เร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะอย่างยิ่งการนำ Operator เฉพาะทางอย่าง
com.microsoft.GroupQueryAttention,com.microsoft.MatMulNBits, หรือcom.microsoft.QMoEมาใช้ ทำให้โมเดลประเภท BERT-based embedding เร็วขึ้นถึง 4 เท่าเมื่อเทียบกับเวอร์ชันก่อนหน้า - ความแม่นยำและความครอบคลุม: รองรับ Operator ได้ดีขึ้น ส่งผลให้การคำนวณมีความแม่นยำและครอบคลุมโมเดลได้มากขึ้น
- ใช้งานได้หลากหลายสภาพแวดล้อม: โค้ด Transformers.js เดียวกันสามารถทำงานได้ทั้งบนเบราว์เซอร์, Server-side Runtimes (เช่น Node.js, Bun, Deno) และแอปพลิเคชันเดสก์ท็อป โดยยังคงได้รับประโยชน์จาก WebGPU Acceleration
โครงสร้าง Repository ที่เป็นระเบียบยิ่งขึ้น 🏗️
เพื่อรองรับการพัฒนาในระยะยาว Transformers.js v4 ได้ปรับโครงสร้าง Repository ให้เป็น Monorepo โดยใช้ pnpm workspaces ทำให้สามารถจัดการกับ Sub-packages ต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น การเปลี่ยนแปลงนี้ช่วยให้:
- แพ็กเกจที่เล็กลง: สามารถสร้างและเผยแพร่แพ็กเกจย่อยที่มีขนาดเล็กลง โดยยังคงพึ่งพา @huggingface/transformers core ได้โดยไม่ต้องดูแล Repository แยกหลายที่
- แยกส่วนการทำงาน: โค้ดโมเดลถูกแยกออกจากไฟล์
models.jsเดิมที่ยาวกว่า 8,000 บรรทัด ออกเป็นโมดูลย่อยที่ชัดเจน ทำให้โค้ดอ่านง่ายขึ้น และเพิ่มโมเดลใหม่ๆ ได้สะดวก - ตัวอย่างโครงการแยกต่างหาก: โครงการตัวอย่างถูกย้ายไปยัง Repository เฉพาะ เพื่อให้ Repository หลักมีโค้ดคอร์ไลบรารีที่สะอาดตา และผู้ใช้สามารถค้นหาหรือร่วมพัฒนาตัวอย่างได้ง่ายขึ้น
ฟีเจอร์ใหม่และ API ที่ทรงพลัง 🛠️
Transformers.js v4 มาพร้อมกับฟีเจอร์ใหม่ๆ ที่ช่วยให้การพัฒนาแอปพลิเคชัน AI ที่พร้อมใช้งานจริงเป็นไปได้ง่ายขึ้น:
- ModelRegistry API: ออกแบบมาเพื่อ Workflow การผลิต ช่วยให้ตรวจสอบ Assets ของ Pipeline ได้อย่างชัดเจนก่อนโหลด เช่น รายการไฟล์ที่จำเป็น (
getpipelinefiles), ตรวจสอบสถานะ Cache (ispipelinecached), หรือล้าง Cache (clearpipelinecache) นอกจากนี้progresscallbackยังรองรับprogresstotalทำให้แสดงผลความคืบหน้าการโหลดได้สมบูรณ์ยิ่งขึ้น - Environment Settings: เพิ่มการควบคุมการโหลดโมเดล เช่น
env.useWasmCacheสำหรับการใช้งานแบบ Offline และenv.fetchสำหรับการกำหนดค่า Fetch Implementation ที่กำหนดเอง - การควบคุม Log ที่ดีขึ้น: ซ่อนคำเตือน WebGPU ONNX Runtime เป็นค่าเริ่มต้น และสามารถกำหนดระดับ Verbosity ได้อย่างชัดเจน ช่วยให้ Console Output มีเฉพาะข้อมูลที่สำคัญ
- Standalone Tokenizers.js Library: แยก Logic การ Tokenization ออกมาเป็นไลบรารี
@huggingface/tokenizersโดยเฉพาะ มีขนาดเล็ก (8.8kB gzipped) และไม่มี Dependencies ทำให้ใช้งานได้ง่ายและมีประสิทธิภาพ
รองรับโมเดลใหม่ๆ และสถาปัตยกรรมที่ซับซ้อน 🚀
ด้วยกลยุทธ์การ Export โมเดลใหม่และการสนับสนุน Custom Operators จาก ONNX Runtime ทำให้ Transformers.js v4 สามารถเพิ่มโมเดลยอดนิยมจำนวนมากเข้ามา เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLM โมเดลเหล่านี้รองรับสถาปัตยกรรมขั้นสูง เช่น Mamba, Multi-head Latent Attention (MLA), และ Mixture of Experts (MoE) ซึ่งทั้งหมดนี้สามารถทำงานได้บน WebGPU ทำให้ผู้ใช้สามารถรันโมเดลเหล่านี้ได้โดยตรงบนเบราว์เซอร์หรือสภาพแวดล้อม JavaScript อื่นๆ ด้วย Hardware Acceleration
ปรับปรุง Build System และขนาด Bundle 💨
การเปลี่ยนจาก Webpack มาเป็น esbuild ส่งผลให้:
- Build Time เร็วขึ้น 10 เท่า: จาก 2 วินาที เหลือเพียง 200 มิลลิวินาที ทำให้การพัฒนาทำซ้ำได้เร็วขึ้นมาก
- ขนาด Bundle ลดลง 10%: โดยเฉลี่ย ทำให้ดาวน์โหลดเร็วขึ้น และแอปพลิเคชันเริ่มต้นทำงานได้ไวขึ้น โดยเฉพาะ
transformers.web.jsที่มีขนาดเล็กลงถึง 53%
การปรับปรุงอื่นๆ ที่น่าสนใจ ✨
- รองรับโมเดลขนาดใหญ่: สามารถรันโมเดลที่มีพารามิเตอร์มากกว่า 8 พันล้านตัวได้สำเร็จ เช่น GPT-OSS 20B (q4f16) ที่ความเร็วประมาณ 60 tokens ต่อวินาที บน M4 Pro Max
- Type System ที่ดีขึ้น: รองรับ Dynamic Pipeline Types ที่ปรับเปลี่ยนตาม Input เพื่อประสบการณ์นักพัฒนาที่ดีขึ้น
- ปรับปรุง Prettier Configuration: ทำให้โค้ดมีรูปแบบที่สอดคล้องกันทั่วทั้ง Repository
Transformers.js v4 ถือเป็นการก้าวกระโดดครั้งสำคัญ ที่ทำให้การนำ AI ไปใช้บนเว็บง่ายขึ้น เร็วขึ้น และเข้าถึงได้มากขึ้น ใครที่กำลังพัฒนาแอปพลิเคชัน AI บนเว็บ ไม่ควรพลาดเวอร์ชันนี้!
คำถามที่พบบ่อย
Transformers.js v4 ใช้ WebGPU ได้บนทุกเบราว์เซอร์หรือไม่?
WebGPU รองรับบนเบราว์เซอร์รุ่นใหม่ๆ ส่วนใหญ่ แต่ประสิทธิภาพและความเข้ากันได้อาจแตกต่างกันไป ควรตรวจสอบเอกสารของเบราว์เซอร์ที่คุณใช้งาน
โมเดลที่เพิ่มเข้ามาใหม่ใน v4 มีอะไรบ้าง?
มีโมเดลยอดนิยมมากมาย เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLM
สามารถรันโมเดลบน Node.js ได้โดยตรงหรือไม่?
ได้ครับ ด้วย WebGPU Runtime ใหม่ ทำให้สามารถรันโมเดลที่เร่งความเร็วด้วย WebGPU ได้โดยตรงบน Node.js, Bun, และ Deno
Tokenizers.js Library มีประโยชน์อย่างไร?
เป็นไลบรารีแยกต่างหากสำหรับ Logic การ Tokenization โดยเฉพาะ มีขนาดเล็ก ไม่มี Dependencies และทำงานได้ดีทั้งบนเบราว์เซอร์และ Server-side
การปรับปรุงเรื่องขนาด Bundle มีผลอย่างไร?
ขนาด Bundle ที่เล็กลงหมายถึงผู้ใช้ดาวน์โหลดไฟล์น้อยลง แอปพลิเคชันโหลดเร็วขึ้น และใช้ทรัพยากรน้อยลง
#TransformersJS #WebGPU #AI #JavaScript #HuggingFace
ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/transformersjs-v4Transformers.js v4 เปิดตัวแล้ว! ยกระดับ AI บนเว็บให้เร็ว แรง และยืดหยุ่นกว่าเดิมHugging Face ประกาศเปิดตัว Transformers.js v4 เวอร์ชันใหม่ล่าสุด ที่มาพร้อมการปรับปรุงครั้งใหญ่เพื่อยกระดับประสบการณ์การใช้งาน AI บนเว็บให้ดียิ่งขึ้น ทั้งในด้านประสิทธิภาพ ความยืดหยุ่น และการรองรับโมเดลที่หลากหลาย การอัปเดตครั้งนี้ไม่เพียงแต่ทำให้การพัฒนาแอปพลิเคชัน AI บนเบราว์เซอร์และสภาพแวดล้อม JavaScript อื่นๆ ง่ายขึ้น แต่ยังเปิดประตูสู่ความเป็นไปได้ใหม่ๆ ในการนำ AI ไปใช้จริงปรับปรุงประสิทธิภาพด้วย WebGPU Runtime ใหม่ 🚀หัวใจสำคัญของการอัปเดต v4 คือการนำ WebGPU Runtime ที่เขียนขึ้นใหม่ทั้งหมดด้วยภาษา C++ มาใช้งาน ซึ่งพัฒนาขึ้นโดยความร่วมมือกับทีม ONNX Runtime การเปลี่ยนแปลงนี้ส่งผลให้:ความเร็วที่เหนือกว่า: WebGPU Runtime ใหม่รองรับ Operator ที่หลากหลายและมีประสิทธิภาพมากขึ้น ช่วยให้โมเดลทำงานได้เร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะอย่างยิ่งการนำ Operator เฉพาะทางอย่าง com.microsoft.GroupQueryAttention, com.microsoft.MatMulNBits, หรือ com.microsoft.QMoE มาใช้ ทำให้โมเดลประเภท BERT-based embedding เร็วขึ้นถึง 4 เท่าเมื่อเทียบกับเวอร์ชันก่อนหน้าความแม่นยำและความครอบคลุม: รองรับ Operator ได้ดีขึ้น ส่งผลให้การคำนวณมีความแม่นยำและครอบคลุมโมเดลได้มากขึ้นใช้งานได้หลากหลายสภาพแวดล้อม: โค้ด Transformers.js เดียวกันสามารถทำงานได้ทั้งบนเบราว์เซอร์, Server-side Runtimes (เช่น Node.js, Bun, Deno) และแอปพลิเคชันเดสก์ท็อป โดยยังคงได้รับประโยชน์จาก WebGPU Accelerationโครงสร้าง Repository ที่เป็นระเบียบยิ่งขึ้น 🏗️เพื่อรองรับการพัฒนาในระยะยาว Transformers.js v4 ได้ปรับโครงสร้าง Repository ให้เป็น Monorepo โดยใช้ pnpm workspaces ทำให้สามารถจัดการกับ Sub-packages ต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น การเปลี่ยนแปลงนี้ช่วยให้:แพ็กเกจที่เล็กลง: สามารถสร้างและเผยแพร่แพ็กเกจย่อยที่มีขนาดเล็กลง โดยยังคงพึ่งพา @huggingface/transformers core ได้โดยไม่ต้องดูแล Repository แยกหลายที่แยกส่วนการทำงาน: โค้ดโมเดลถูกแยกออกจากไฟล์ models.js เดิมที่ยาวกว่า 8,000 บรรทัด ออกเป็นโมดูลย่อยที่ชัดเจน ทำให้โค้ดอ่านง่ายขึ้น และเพิ่มโมเดลใหม่ๆ ได้สะดวกตัวอย่างโครงการแยกต่างหาก: โครงการตัวอย่างถูกย้ายไปยัง Repository เฉพาะ เพื่อให้ Repository หลักมีโค้ดคอร์ไลบรารีที่สะอาดตา และผู้ใช้สามารถค้นหาหรือร่วมพัฒนาตัวอย่างได้ง่ายขึ้นฟีเจอร์ใหม่และ API ที่ทรงพลัง 🛠️Transformers.js v4 มาพร้อมกับฟีเจอร์ใหม่ๆ ที่ช่วยให้การพัฒนาแอปพลิเคชัน AI ที่พร้อมใช้งานจริงเป็นไปได้ง่ายขึ้น:ModelRegistry API: ออกแบบมาเพื่อ Workflow การผลิต ช่วยให้ตรวจสอบ Assets ของ Pipeline ได้อย่างชัดเจนก่อนโหลด เช่น รายการไฟล์ที่จำเป็น (getpipelinefiles), ตรวจสอบสถานะ Cache (ispipelinecached), หรือล้าง Cache (clearpipelinecache) นอกจากนี้ progresscallback ยังรองรับ progresstotal ทำให้แสดงผลความคืบหน้าการโหลดได้สมบูรณ์ยิ่งขึ้นEnvironment Settings: เพิ่มการควบคุมการโหลดโมเดล เช่น env.useWasmCache สำหรับการใช้งานแบบ Offline และ env.fetch สำหรับการกำหนดค่า Fetch Implementation ที่กำหนดเองการควบคุม Log ที่ดีขึ้น: ซ่อนคำเตือน WebGPU ONNX Runtime เป็นค่าเริ่มต้น และสามารถกำหนดระดับ Verbosity ได้อย่างชัดเจน ช่วยให้ Console Output มีเฉพาะข้อมูลที่สำคัญStandalone Tokenizers.js Library: แยก Logic การ Tokenization ออกมาเป็นไลบรารี @huggingface/tokenizers โดยเฉพาะ มีขนาดเล็ก (8.8kB gzipped) และไม่มี Dependencies ทำให้ใช้งานได้ง่ายและมีประสิทธิภาพรองรับโมเดลใหม่ๆ และสถาปัตยกรรมที่ซับซ้อน 🚀ด้วยกลยุทธ์การ Export โมเดลใหม่และการสนับสนุน Custom Operators จาก ONNX Runtime ทำให้ Transformers.js v4 สามารถเพิ่มโมเดลยอดนิยมจำนวนมากเข้ามา เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLM โมเดลเหล่านี้รองรับสถาปัตยกรรมขั้นสูง เช่น Mamba, Multi-head Latent Attention (MLA), และ Mixture of Experts (MoE) ซึ่งทั้งหมดนี้สามารถทำงานได้บน WebGPU ทำให้ผู้ใช้สามารถรันโมเดลเหล่านี้ได้โดยตรงบนเบราว์เซอร์หรือสภาพแวดล้อม JavaScript อื่นๆ ด้วย Hardware Accelerationปรับปรุง Build System และขนาด Bundle 💨การเปลี่ยนจาก Webpack มาเป็น esbuild ส่งผลให้:Build Time เร็วขึ้น 10 เท่า: จาก 2 วินาที เหลือเพียง 200 มิลลิวินาที ทำให้การพัฒนาทำซ้ำได้เร็วขึ้นมากขนาด Bundle ลดลง 10%: โดยเฉลี่ย ทำให้ดาวน์โหลดเร็วขึ้น และแอปพลิเคชันเริ่มต้นทำงานได้ไวขึ้น โดยเฉพาะ transformers.web.js ที่มีขนาดเล็กลงถึง 53%การปรับปรุงอื่นๆ ที่น่าสนใจ ✨รองรับโมเดลขนาดใหญ่: สามารถรันโมเดลที่มีพารามิเตอร์มากกว่า 8 พันล้านตัวได้สำเร็จ เช่น GPT-OSS 20B (q4f16) ที่ความเร็วประมาณ 60 tokens ต่อวินาที บน M4 Pro MaxType System ที่ดีขึ้น: รองรับ Dynamic Pipeline Types ที่ปรับเปลี่ยนตาม Input เพื่อประสบการณ์นักพัฒนาที่ดีขึ้นปรับปรุง Prettier Configuration: ทำให้โค้ดมีรูปแบบที่สอดคล้องกันทั่วทั้ง RepositoryTransformers.js v4 ถือเป็นการก้าวกระโดดครั้งสำคัญ ที่ทำให้การนำ AI ไปใช้บนเว็บง่ายขึ้น เร็วขึ้น และเข้าถึงได้มากขึ้น ใครที่กำลังพัฒนาแอปพลิเคชัน AI บนเว็บ ไม่ควรพลาดเวอร์ชันนี้!คำถามที่พบบ่อยTransformers.js v4 ใช้ WebGPU ได้บนทุกเบราว์เซอร์หรือไม่?WebGPU รองรับบนเบราว์เซอร์รุ่นใหม่ๆ ส่วนใหญ่ แต่ประสิทธิภาพและความเข้ากันได้อาจแตกต่างกันไป ควรตรวจสอบเอกสารของเบราว์เซอร์ที่คุณใช้งานโมเดลที่เพิ่มเข้ามาใหม่ใน v4 มีอะไรบ้าง?มีโมเดลยอดนิยมมากมาย เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLMสามารถรันโมเดลบน Node.js ได้โดยตรงหรือไม่?ได้ครับ ด้วย WebGPU Runtime ใหม่ ทำให้สามารถรันโมเดลที่เร่งความเร็วด้วย WebGPU ได้โดยตรงบน Node.js, Bun, และ DenoTokenizers.js Library มีประโยชน์อย่างไร?เป็นไลบรารีแยกต่างหากสำหรับ Logic การ Tokenization โดยเฉพาะ มีขนาดเล็ก ไม่มี Dependencies และทำงานได้ดีทั้งบนเบราว์เซอร์และ Server-sideการปรับปรุงเรื่องขนาด Bundle มีผลอย่างไร?ขนาด Bundle ที่เล็กลงหมายถึงผู้ใช้ดาวน์โหลดไฟล์น้อยลง แอปพลิเคชันโหลดเร็วขึ้น และใช้ทรัพยากรน้อยลง#TransformersJS #WebGPU #AI #JavaScript #HuggingFacehttps://huggingface.co/blog/transformersjs-v4
HUGGINGFACE.COTransformers.js v4: Now Available on NPM!We’re on a journey to advance and democratize artificial intelligence through open source and open science.7 Comments 0 Shares 963 Views 0 Reviews-
Standalone Tokenizersjs library คือดีมาก เบาและไม่ต้องพึ่งพาอะไรเลยStandalone Tokenizersjs library คือดีมาก เบาและไม่ต้องพึ่งพาอะไรเลย
-
React
- Reply
- 2026-08-17 17:00:13
-
-
ModelRegistry API ใหม่ดูมีประโยชน์มากสำหรับการทำ production workflowModelRegistry API ใหม่ดูมีประโยชน์มากสำหรับการทำ production workflow
-
React
- Reply
- 2026-08-17 17:00:13
-
-
การเปลี่ยนจาก Webpack เป็น esbuild ช่วยลดขนาด bundle ได้มากจริงๆการเปลี่ยนจาก Webpack เป็น esbuild ช่วยลดขนาด bundle ได้มากจริงๆ
-
React
- Reply
- 2026-08-17 17:00:13
-
-
มีโมเดลใหม่ๆ เพิ่มเข้ามาเยอะเลย เข้าใจว่าทำได้เพราะกลยุทธ์ export ใหม่มีโมเดลใหม่ๆ เพิ่มเข้ามาเยอะเลย เข้าใจว่าทำได้เพราะกลยุทธ์ export ใหม่
-
React
- Reply
- 2026-08-17 17:00:13
-
-
การแยกไฟล์ modelsjs ออกเป็นโมดูลเล็กๆ ช่วยให้อ่านโค้ดง่ายขึ้นเยอะการแยกไฟล์ modelsjs ออกเป็นโมดูลเล็กๆ ช่วยให้อ่านโค้ดง่ายขึ้นเยอะ
-
React
- Reply
- 2026-08-17 17:00:13
-
- ความเร็วที่เหนือกว่า: WebGPU Runtime ใหม่รองรับ Operator ที่หลากหลายและมีประสิทธิภาพมากขึ้น ช่วยให้โมเดลทำงานได้เร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะอย่างยิ่งการนำ Operator เฉพาะทางอย่าง