ปรับใช้และใช้แพลตฟอร์มการเรียนรู้เชิงลึกแบบหลายเฟรมเวิร์กบน Kubernetes

โหนดต้นทาง: 1580762

รายละเอียด

ในฐานะผู้ปฏิบัติงานด้านการเรียนรู้เชิงลึก คุณต้องการความน่าเชื่อถือและความสามารถในการปรับขนาดไปพร้อมๆ กับการจัดเตรียมงานการฝึกอบรมของคุณ นอกจากนี้ คุณจะต้องทำสิ่งนี้ในลักษณะที่สอดคล้องกันในไลบรารีหลายๆ แห่ง ด้วย Fabric for Deep Learning (FfDL) บน Kubernetes คุณสามารถบรรลุเป้าหมายนี้ได้โดยให้ผู้ใช้สามารถใช้ประโยชน์จากไลบรารีการเรียนรู้เชิงลึก เช่น Caffe, Torch และ TensorFlow ในระบบคลาวด์ในลักษณะที่ยืดหยุ่นโดยใช้ความพยายามเพียงเล็กน้อย แพลตฟอร์มดังกล่าวใช้เลเยอร์การกระจายและการประสานที่เอื้อต่อการเรียนรู้จากข้อมูลจำนวนมากในระยะเวลาที่เหมาะสมทั่วทั้งโหนดประมวลผล เลเยอร์การจัดเตรียมทรัพยากรช่วยให้สามารถจัดการงานที่มีความยืดหยุ่นบนทรัพยากรที่แตกต่างกัน เช่น หน่วยประมวลผลกราฟิก (GPU) และหน่วยประมวลผลกลาง (CPU) ในโครงสร้างพื้นฐานในรูปแบบคลาวด์บริการ (IaaS)

ขององค์กร

การฝึกอบรมเครือข่ายประสาทเชิงลึกหรือที่เรียกว่าการเรียนรู้เชิงลึก (ส่วนหนึ่งของวิธีการเรียนรู้ของเครื่อง) มีความซับซ้อนสูงและเน้นการประมวลผล ผู้ใช้การเรียนรู้เชิงลึกโดยทั่วไปจะเปิดเผยรายละเอียดของโครงสร้างพื้นฐานฮาร์ดแวร์และซอฟต์แวร์โดยไม่จำเป็น รวมถึงการกำหนดค่าเครื่อง GPU ราคาแพง การติดตั้งไลบรารีการเรียนรู้เชิงลึก และการจัดการงานระหว่างการดำเนินการเพื่อจัดการกับความล้มเหลวและการกู้คืน แม้ว่าความสะดวกในการรับฮาร์ดแวร์จากคลาวด์ IaaS และชำระเงินรายชั่วโมง แต่ผู้ใช้ยังคงต้องจัดการเครื่องเหล่านั้น ติดตั้งไลบรารีที่จำเป็น และรับประกันความยืดหยุ่นของงานการฝึกอบรมการเรียนรู้เชิงลึก

นี่คือจุดที่โอกาสในการเรียนรู้เชิงลึกในฐานะบริการอยู่ ในรูปแบบโค้ดนี้ เราจะแสดงวิธีปรับใช้ Fabric การเรียนรู้เชิงลึกบน Kubernetes ด้วยการใช้สิ่งประดิษฐ์ทางสถาปัตยกรรมบนคลาวด์ เช่น Kubernetes, ไมโครเซอร์วิส, แผนภูมิ Helm และพื้นที่จัดเก็บอ็อบเจ็กต์ เราจะแสดงให้คุณเห็นถึงวิธีการปรับใช้และใช้ Deep Learning Fabric Fabric นี้ครอบคลุมถึงเอ็นจิ้นการเรียนรู้เชิงลึกหลายตัว เช่น TensorFlow, Caffe และ PyTorch โดยผสมผสานความยืดหยุ่น ความง่ายในการใช้งาน และความประหยัดของบริการคลาวด์เข้ากับพลังของการเรียนรู้เชิงลึก คุณจะพบว่าใช้งานง่าย และด้วยการใช้ REST API คุณสามารถปรับแต่งการฝึกอบรมด้วยทรัพยากรที่แตกต่างกันตามความต้องการหรืองบประมาณของผู้ใช้ อนุญาตให้ผู้ใช้มุ่งเน้นไปที่การเรียนรู้เชิงลึกและแอปพลิเคชัน แทนที่จะมุ่งเน้นไปที่ข้อผิดพลาด

ไหล

ไหล

  1. ผู้ปรับใช้ FfDL ปรับใช้ฐานโค้ด FfDL กับคลัสเตอร์ Kubernetes คลัสเตอร์ Kubernetes ได้รับการกำหนดค่าให้ใช้ GPU, CPU หรือทั้งสองอย่าง และมีสิทธิ์เข้าถึงพื้นที่จัดเก็บอ็อบเจ็กต์ที่เข้ากันได้กับ S3 หากไม่ได้ระบุ พ็อด S3 จำลองในเครื่องจะถูกสร้างขึ้น
  2. เมื่อปรับใช้แล้ว นักวิทยาศาสตร์ข้อมูลจะอัปโหลดข้อมูลการฝึกโมเดลไปยังที่เก็บอ็อบเจ็กต์ที่เข้ากันได้กับ S3 FfDL จะถือว่าข้อมูลอยู่ในรูปแบบที่ต้องการแล้วตามที่กำหนดโดยเฟรมเวิร์กการเรียนรู้เชิงลึกต่างๆ
  3. ผู้ใช้สร้างไฟล์รายการ FfDL Model ไฟล์ Manifest มีฟิลด์ต่างๆ ที่อธิบายโมเดลใน FfDL ข้อมูลที่เก็บอ็อบเจ็กต์ ข้อกำหนดทรัพยากร และอาร์กิวเมนต์ต่างๆ (รวมถึงไฮเปอร์พารามิเตอร์) ที่จำเป็นสำหรับการดำเนินการกับโมเดลระหว่างการฝึกและการทดสอบ จากนั้นผู้ใช้โต้ตอบกับ FfDL โดยใช้ CLI/SDK หรือ UI เพื่อปรับใช้ไฟล์รายการโมเดล FfDL ด้วยไฟล์คำจำกัดความของโมเดล ผู้ใช้เริ่มงานการฝึกอบรมและติดตามความคืบหน้า
  4. ผู้ใช้ดาวน์โหลดโมเดลที่ได้รับการฝึกและบันทึกที่เกี่ยวข้องเมื่องานการฝึกเสร็จสมบูรณ์

คำแนะนำ

ค้นหาขั้นตอนโดยละเอียดสำหรับรูปแบบนี้ใน README ขั้นตอนจะแสดงวิธีการ:

  1. คอมไพล์และเขียนโค้ดและสร้างอิมเมจ Docker
  2. ติดตั้งส่วนประกอบ FfDL ด้วยการติดตั้งหางเสือ
  3. เรียกใช้สคริปต์เพื่อกำหนดค่า Grafana สำหรับการมอนิเตอร์ FfDL
  4. รับตำแหน่งข้อมูล Grafana, FfDL Web UI และ FfDL REST API ของคุณ
  5. รันงานง่ายๆ เพื่อฝึกโมเดลเครือข่ายแบบหมุนวนโดยใช้ TensorFlow และ Caffe

ที่มา: https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

ประทับเวลา:

เพิ่มเติมจาก นักพัฒนาไอบีเอ็ม