[NAVER] แชร์ประสบการณ์ย้าย ML GPU model server ไปเป็น CPU server โดยคงประสิทธิภาพไว้ (feat. torchserve)
(medium.com)- บทความนี้เป็นคำอธิบายที่สร้างขึ้นอัตโนมัติโดยใช้ GPT-4 จึงอาจมีเนื้อหาที่ไม่ถูกต้อง
- หากพบข้อมูลที่ไม่ถูกต้อง กรุณาแจ้งผ่านคอมเมนต์
เกริ่นนำ
บทความนี้แชร์กระบวนการที่ทีมพัฒนา Naver Place เปลี่ยน ML model server จาก GPU ไปเป็น CPU โดยมีเป้าหมายเพื่อลดค่าใช้จ่ายของเซิร์ฟเวอร์และทำให้การดูแลระบบเซิร์ฟเวอร์มีประสิทธิภาพมากขึ้น
สรุป
1. เปลี่ยน model server จาก GPU เป็น CPU
- ทีมพัฒนา Naver Place ได้ดำเนินการเปลี่ยน model server จาก GPU เป็น CPU โดยมีเป้าหมายเพื่อลดค่าใช้จ่ายของเซิร์ฟเวอร์และทำให้การดูแลระบบเซิร์ฟเวอร์มีประสิทธิภาพมากขึ้น งานนี้รวมถึงการแทนที่ GPU ที่ใช้สำหรับการฝึกโมเดล (training) ด้วย CPU
2. โครงสร้างของ model server
- model server แบ่งออกเป็นสามส่วนหลัก ได้แก่ การฝึกโมเดล, model server และ client โดยการฝึกโมเดลจะครอบคลุมกระบวนการฝึกโมเดลด้วย dataset ส่วน model server ทำหน้าที่โฮสต์โมเดลที่ฝึกแล้ว และ client จะส่งคำขอไปยัง model server และรับการตอบกลับ
3. การเปลี่ยนจาก GPU ไปเป็น CPU
- การเปลี่ยนจาก GPU ไปเป็น CPU มีหลายขั้นตอน ขั้นแรกคือแก้ไขโค้ดฝึกโมเดลให้สามารถรันบน CPU ได้ จากนั้นตั้งค่า model server ให้ทำงานบน CPU และสุดท้ายแก้ไขโค้ด client เพื่อให้ส่งคำขอไปยัง model server ที่รันบน CPU ได้
- ผลลัพธ์หลังการเปลี่ยน
- หลังการเปลี่ยน ค่าใช้จ่ายของเซิร์ฟเวอร์ลดลงอย่างมาก และการดูแลระบบเซิร์ฟเวอร์ก็มีประสิทธิภาพมากขึ้น นอกจากนี้ model server ที่รันบน CPU ยังทำงานได้ดีโดยไม่มีประสิทธิภาพลดลงเมื่อเทียบกับ model server ที่รันบน GPU
อ้างอิง
- Naver Place Dev Blog
- บล็อกนี้แชร์โปรเจกต์และประสบการณ์หลากหลายของทีมพัฒนา Naver Place และสามารถใช้ดูข้อมูลเพิ่มเติมเกี่ยวกับงานย้ายจาก GPU ไปเป็น CPU ที่กล่าวถึงในบทความนี้
3 ความคิดเห็น
ได้แก้ไขบทความไว้แล้ว
หากมีข้อความคำเตือนอยู่ช่วงต้นบทความ ใน Slack/Twitter จะแสดงให้เห็นเฉพาะข้อความคำเตือนนั้นเท่านั้น
หากเป็นไปได้ ขอความกรุณาให้มีข้อความสรุปอยู่ช่วงต้นบทความ
ต่อไปนี้ผมจะระมัดระวังให้มากขึ้น ขอบคุณครับ! :)
อ่านเพิ่มเติม