ขอใช้ CPU, หน่วยความจำ และ GPU
กำหนดขีดจำกัดทรัพยากรเพื่อให้จัดตารางพ็อดได้ถูกต้อง
ขอใช้ CPU, หน่วยความจำ และ GPU เป็นบทเรียน MLOps Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MLOps Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
ตัวจัดตารางต้องใช้ตัวเลข
Kubernetes จะวางพ็อดลงบนโหนดที่มีพื้นที่ว่าง เพื่อใช้ตัดสินใจ ตัวจัดตารางจึงต้องทราบว่าพ็อดโมเดลแต่ละตัวจะใช้ CPU และหน่วยความจำเท่าใด
คำขอเทียบกับขีดจำกัด
คำขอคือปริมาณทรัพยากรที่รับประกันและใช้ในการจัดตาราง ส่วนขีดจำกัดคือเพดานที่คอนเทนเนอร์ห้ามใช้เกิน โดยทั่วไปคุณควรกำหนดทั้งสองค่า
CPU วัดเป็นมิลลิคอร์
CPU นับเป็นมิลลิคอร์: 1000m เท่ากับคอร์เต็มหนึ่งคอร์ การขอ 500m หมายความว่าพ็อดโมเดลของคุณได้รับการรับประกันครึ่งหนึ่งของคอร์ CPU
resources:
requests:
cpu: "500m"
memory: "512Mi"
limits:
cpu: "1"
memory: "1Gi"หน่วยความจำใช้ Mi และ Gi
หน่วยความจำกำหนดเป็นเมบิไบต์หรือกิบิไบต์ เช่น 512Mi หรือ 2Gi ควรเผื่อให้เพียงพอสำหรับโมเดลและสภาพแวดล้อมการทำงาน รวมถึงเผื่อพื้นที่ไว้อีกเล็กน้อย
ค่าต่ำเกินไปทำให้พ็อดค้างอยู่ในสถานะรอดำเนินการ
หากไม่มีโหนดใดรองรับคำขอของคุณได้ พ็อดจะอยู่ในสถานะ Pending ตลอดไป โมเดล GPU ขนาดใหญ่มักรอเพียงเพราะไม่มีทรัพยากรว่างที่มีขนาดเพียงพอ
เกินหน่วยความจำแล้วจะถูกยุติด้วย OOMKilled
หากใช้หน่วยความจำเกินขีดจำกัด เคอร์เนลจะยุติคอนเทนเนอร์ด้วยสถานะ OOMKilled การปรับขนาดขีดจำกัดให้เหมาะสมช่วยป้องกันไม่ให้เซิร์ฟเวอร์โมเดลถูกยุติระหว่างให้บริการคำขอ 💥
ขีดจำกัด CPU จะลดความเร็ว ไม่ได้ยุติการทำงาน
ต่างจากหน่วยความจำ การใช้ CPU เกินขีดจำกัดจะไม่ยุติพ็อด คอนเทนเนอร์จะถูกลดความเร็ว ทำให้เวลาแฝงเพิ่มขึ้นแทนที่กระบวนการจะหยุดทำงาน
GPU ต้องร้องขอในส่วนขีดจำกัด
GPU เป็นทรัพยากรเพิ่มเติม คุณต้องขอใช้ GPU เฉพาะใต้ขีดจำกัดด้วย nvidia.com/gpu และค่าที่ระบุต้องเป็นจำนวนเต็มเท่านั้น ห้ามเป็นเศษส่วน
resources:
limits:
nvidia.com/gpu: 1GPU ไม่ได้แบ่งเวลาร่วมกัน
โดยค่าเริ่มต้น การขอใช้ GPUหนึ่งรายการจะยึดอุปกรณ์ทั้งหมดสำหรับพ็อดนั้น พ็อดสองตัวไม่สามารถใช้การ์ดเดียวกันร่วมกันได้ง่าย ๆ หากไม่มีการตั้งค่า MIG หรือการแบ่งเวลา
ปลั๊กอินอุปกรณ์ทำให้มองเห็น GPU
โหนดจะแสดง GPU ได้ก็ต่อเมื่อปลั๊กอินอุปกรณ์ของ NVIDIA ทำงานอยู่บนโหนดนั้น หากไม่มีปลั๊กอิน ก็จะไม่มีทรัพยากร nvidia.com/gpu และพ็อด GPU จะค้างอยู่ในสถานะ Pending
การปรับขนาดให้เหมาะสมช่วยประหยัดเงิน
การร้องขอทรัพยากรมากเกินไปทำให้เสียโหนดทั้งโหนด ส่วนการร้องขอน้อยเกินไปเสี่ยงต่อการถูกขับออก การตรวจดูการใช้งานจริงและปรับ คำขอคือวิธีทำให้บริการมีเสถียรภาพและประหยัดค่าใช้จ่าย
ตรวจสอบอย่างรวดเร็ว
จะเกิดอะไรขึ้นเมื่อคอนเทนเนอร์ใช้หน่วยความจำเกินขีดจำกัด
สรุป
ประกาศคำขอและขีดจำกัดสำหรับ CPU กับหน่วยความจำ ขอใช้ GPU เป็นจำนวนเต็มภายใต้ขีดจำกัด และปรับขนาดจากการใช้งานจริงเพื่อให้พ็อดโมเดลทำงานได้อย่างสมบูรณ์ ✅
คำถามที่พบบ่อย
บทเรียน “ขอใช้ CPU, หน่วยความจำ และ GPU” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ขอใช้ CPU, หน่วยความจำ และ GPU” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MLOps Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ขอใช้ CPU, หน่วยความจำ และ GPU”
กำหนดขีดจำกัดทรัพยากรเพื่อให้จัดตารางพ็อดได้ถูกต้อง คุณปฏิบัติ MLOps Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MLOps Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MLOps Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ขอใช้ CPU, หน่วยความจำ และ GPU” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MLOps Academy นี้ได้ไหม
ได้ บทเรียน MLOps Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พ็อด การติดตั้งใช้งาน และบริการสำหรับโมเดล
- ขอใช้ CPU, หน่วยความจำ และ GPU
- กำหนดค่าด้วย ConfigMaps และ Secrets
- รันการฝึกเป็นงานของ Kubernetes