Spot Instances และ GPU แบบ Preemptible: ลดต้นทุน AI ได้ 70%
อัปเดตเมื่อ 8 ธันวาคม 2025
อัปเดตธันวาคม 2025: ราคา GPU แบบ spot และ on-demand ได้เข้าใกล้กันมากขึ้นเมื่อข้อจำกัดด้านอุปทานคลี่คลาย AWS ลดราคา H100 แบบ on-demand ลง 44% ในเดือนมิถุนายน 2025 (เหลือ ~$3.90/ชม.) ทำให้ประโยชน์จากส่วนลดของ spot น้อยลง ผู้ให้บริการราคาประหยัดอย่าง Hyperbolic เสนอ H100 ที่ $1.49/ชม. และ H200 ที่ $2.15/ชม. ซึ่งมักจะแข่งขันได้กับราคา spot แบบดั้งเดิม ตลาด GPU rental เติบโตจาก $3.34B เป็น $33.9B (2023-2032) แม้ว่า spot instances ยังคงให้ส่วนลดสำหรับ interruptible workloads แต่การคำนวณได้เปลี่ยนไป—on-demand ตอนนี้สมเหตุสมผลสำหรับ use cases มากขึ้น และผู้ให้บริการ cloud ราคาประหยัดรายใหม่ได้ทำลาย economics แบบ spot แบบดั้งเดิม
Spotify ลดต้นทุนโครงสร้างพื้นฐาน machine learning จาก $8.2 ล้านเป็น $2.4 ล้านต่อปี โดยออกแบบ training pipeline ของ recommendation engine ทั้งหมดรอบ AWS Spot instances พิสูจน์ว่า GPU แบบ interruptible สามารถขับเคลื่อน production AI workloads ได้¹ อุปสรรค: instance p4d.24xlarge ของพวกเขาจะหายไปภายใน 2 นาทีเมื่อ AWS ต้องการ capacity กลับคืน บังคับให้ทีมทำ checkpoint ทุก 5 นาทีและรักษา redundancy 3 เท่าสำหรับงานสำคัญ องค์กรที่เชี่ยวชาญการจัดการ spot instance orchestration ลดต้นทุนได้ 70-91% เทียบกับราคา on-demand แต่ผู้ที่ deploy อย่างไม่รอบคอบจะสูญเสียความคืบหน้าการ training หลายสุปดาห์จากการ terminate ที่ไม่คาดคิด²
AWS Spot, Google Cloud Preemptible VMs และ Azure Spot VMs เสนอ hardware เดียวกันในราคาลดอย่างมาก เพราะผู้ให้บริการ cloud ขาย excess capacity ที่อาจหายไปได้ทุกขณะ³ Instance p5.48xlarge กับ GPU H100 8 ตัวราคา $98.32 ต่อชั่วโมงแบบ on-demand แต่เฉลี่ย $19.66 แบบ Spot—ส่วนลด 80% ที่เปลี่ยน AI economics⁴ โมเดลนี้ใช้ได้เพราะผู้ให้บริการ cloud รักษา spare capacity 15-30% สำหรับ maintenance, failures และ demand spikes โดยสร้างรายได้จาก idle resources ขณะเดียวกันยังคงสิทธิ์เรียกคืนได้ทันที
Economics ของ interruptible GPU capacity
ผู้ให้บริการ cloud กำหนดราคา spot instances ผ่าน continuous auctions โดยราคาเปลี่ยนแปลงตาม supply และ demand AWS Spot prices สำหรับ GPU instances แปรผันจาก 70% ถึง 91% ต่ำกว่าราคา on-demand โดย ml.p4d.24xlarge instances มีราคา $3.90 ถึง $29.49 ต่อชั่วโมง เทียบกับ $32.77 แบบ on-demand⁵ Google Preemptible GPUs เสนอส่วนลดคงที่ 60-80% แต่จะ terminate หลังจาก 24 ชั่วโมงสูงสุดโดยไม่คำนึงถึง demand⁶ Azure Spot ให้ส่วนลด 60-90% คล้ายกันพร้อมราคาสูงสุดที่กำหนดได้เพื่อป้องกัน bill shock
ส่วนลดที่ลึกที่สุดปรากฏใน regions ที่ไม่ค่อยได้รับความนิยมและ GPU รุ่นเก่า ราคา spot ใน US-West-2 สูงกว่า US-East-2 20% เนื่องจากการกระจุกตัวของ demand V100 instances ได้ส่วนลด 91% ในขณะที่ H100 รุ่นใหม่ไม่ค่อยเกิน 75% ช่วงกลางคืนและวันหยุดสุดสัปดาห์ให้ประหยัดเพิ่ม 10-15% เมื่อ enterprise workloads ลดลง การจัดการที่ฉลาดใช้ประโยชน์จากแพทเทิร์นเหล่านี้ โดยย้าย workloads ข้าม regions และ time zones เพื่อลดต้นทุน
อัตราการ interruption แตกต่างกันอย่างมากตาม instance type, region และเวลา การวิเคราะห์ 10 ล้าน spot instance hours เผยให้เห็น:⁷ - A100 instances: อัตราการ interruption รายชั่วโมง 2.3% - V100 instances: อัตราการ interruption รายชั่วโมง 0.8% - H100 instances: อัตราการ interruption รายชั่วโมง 4.1% - อัตราการ interruption วันหยุดสุดสัปดาห์: ต่ำกว่าวันธรรมดา 40% - US-East-1: อัตราการ interruption สูงกว่า US-West-2 3 เท่า
รูปแบบ workload ที่เจริญเติบโตบน spot instances
AI workloads บางประเภทเหมาะสมกับโมเดล spot instance โดยธรรมชาติ:
Hyperparameter Tuning: การ exploration แบบขนานของ parameter spaces สามารถทนต่อการล้มเหลวของ job แต่ละตัว การทดลองแต่ละครั้งทำงานแยกอิสระ ดังนั้นการ interruption จึงกระทบเฉพาะ configuration เดียว Optuna และ Ray Tune จัดการ spot instance failures โดยอัตโนมัติ โดยรี restart งานที่ terminate บน instances ใหม่⁸ องค์กรรายงานประหยัด 75% สำหรับ hyperparameter searches โดยใช้ spot instances เท่านั้น
Batch Inference: การประมวลผลภาพหรือเอกสารหลายล้านไฟล์กระจายไปหลาย instances Work queues ติดตามรายการที่เสร็จสมบูรณ์เทียบกับรอดำเนินการ การ interruption เพียงคืนงานที่ยังไม่เสร็จกลับเข้าไปในคิว Autoscaling groups เปิด replacement instances โดยอัตโนมัติ Netflix ประมวลผล 100 ล้าน thumbnails ต่อวันโดยใช้ spot instances ประหยัด $3.2 ล้านต่อปี⁹
Data Preprocessing: ETL pipelines สำหรับ training data ได้ประโยชน์จาก spot capacity Frameworks อย่าง Apache Spark checkpoint ความคืบหน้าโดยอัตโนมัติ งานที่ถูกขัดจังหวะจะกลับมาทำต่อจาก checkpoints บน instances ใหม่ ลักษณะ stateless ของ preprocessing ส่วนใหญ่ทำให้ spot instances เหมาะสม Uber's feature engineering pipeline ทำงาน 90% บน spot instances¹⁰
Development และ Testing: สภาพแวดล้อมที่ไม่ใช่ production ทนต่อการ interruption ได้ดี นักพัฒนาคาดหวังการหยุดชะงักเป็นครั้งคราวระหว่างการทดลอง การประหยัดต้นทุนทำให้สามารถมี development clusters ที่ใหญ่ขึ้นได้ CI/CD pipelines retry งานที่ล้มเหลวโดยอัตโนมัติ GitHub Actions เสนอราคาต่ำกว่า 70% สำหรับ spot runners¹¹
Distributed Training กับ Checkpointing: การ training โมเดลขนาดใหญ่เป็นไปได้ด้วยกลยุทธ์ checkpointing ที่เหมาะสม บันทึก model state ทุก 10-30 นาทีไปยัง durable storage ใช้ gradient accumulation เพื่อรักษา effective batch sizes ระหว่าง instance fluctuations ใช้ elastic training ที่ปรับให้เข้ากับ instances ที่มีอยู่ OpenAI train โมเดล GPT ช่วงแรกโดยใช้ 60% spot instances¹²
กลยุทธ์จัดการ interruption
การใช้ spot instance สำเร็จต้องใช้การจัดการ interruption ที่ซับซ้อน:
Checkpointing Frameworks: ใช้ automatic checkpointing ในช่วงเวลาสม่ำเสมอ PyTorch Lightning ให้การสนับสนุน spot instance แบบ built-in พร้อมความถี่ checkpoint ที่กำหนดได้¹³ บันทึก optimizer state, learning rate schedules และ random seeds ควบคู่กับ model weights จัดเก็บ checkpoints ใน object storage เพื่อความทนทาน กลับมา training ได้อย่างราบรื่นบน instances ใหม่
Instance Diversification: กระจาย workloads ข้ามหลาย instance types, availability zones และ regions AWS Spot Fleet จัดการ capacity pools ที่หลากหลายโดยอัตโนมัติ¹⁴ กำหนด 10-15 instance types ที่แตกต่างกันเพื่อเพิ่มความพร้อมใช้งาน ยอมรับ instances ที่ไม่เหมาะสมเล็กน้อยเพื่อความพร้อมใช้งานที่ดีกว่า รักษา capacity buffer 20% สำหรับการเปลี่ยนผ่านที่ราบรื่น
Graceful Shutdown Handlers: AWS ให้การแจ้งเตือน termination 2 นาทีผ่าน instance metadata service Google ให้คำเตือน Preemptible 30 วินาที ใช้ signal handlers ที่ trigger checkpointing ทันทีเมื่อได้รับการแจ้งเตือน termination Flush logs และ metrics ก่อน shutdown ทำความสะอาด temporary resources เพื่อป้องกันต้นทุนที่เหลือค้าง
Hybrid Architectures: รวม spot instances กับ on-demand capacity สำหรับ components สำคัญ ใช้ parameter servers บน on-demand ขณะที่ workers ใช้ spot รักษา minimum viable capacity บน stable instances Burst ไปยัง spot เพื่อ throughput เพิ่มเติม ปรับขนาด spot capacity ตามสัญญาณราคาและความพร้อมใช้งาน
Queue-Based Architectures: แยก work scheduling ออกจาก execution โดยใช้ message queues Amazon SQS หรือ Apache Kafka ติดตามงานที่รอดำเนินการ Workers ดึงงานเมื่อพร้อมใช้งาน งานที่เสร็จสมบูรณ์อัปเดต persistent storage งานที่ล้มเหลวกลับไปยังคิวเพื่อ retry
รูปแบบการใช้งานสำหรับระบบ production
การ deploy spot instance ระดับ production ใช้รูปแบบที่พิสูจน์แล้ว:
Multi-Region Orchestration:
# Kubernetes Spot Instance Configuration
apiVersion: v1
kind: NodePool
spec:
spotInstances:
enabled: true
maxPrice: 0.50 # ราคาสูงสุดต่อชั่วโมง
regions:
- us-east-1
- us-west-2
- eu-west-1
instanceTypes:
- g5.xlarge
- g5.2xlarge
- g4dn.xlarge
diversificationStrategy: lowestPrice
onDemandBaseCapacity: 2
spotInstancePools: 10
Checkpoint Management: ```python class SpotTraining: def init(self): self.checkpoint_frequency = 600 # 10 นาที self.s3_bucket = "checkpoints"
def train(self):
if self.detect_termination_notice():
self.emergency_checkpoint()
self.graceful_shutdown()
if time.time() - self.last_checkpoint > self.checkpoint_frequency: