คุณเป็นนักวิทยาศาสตร์ที่ขับเคลื่อนด้วยข้อมูลหรือวิศวกรข้อมูลที่ต้องการควบคุมโมเดล Keras ของคุณโดยสมบูรณ์ และต้องการเป็นอิสระจากการกระโดดและค้นหาพารามิเตอร์โดยไม่สนใจหรือไม่

โดยทั่วไป การเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์จำเป็นต้องมีการฝึกโมเดลหลายครั้งด้วยการกำหนดค่าที่แตกต่างกัน ซึ่งหมายความว่าจำเป็นต้องใช้คอมพิวเตอร์ที่รวดเร็วพร้อมการ์ดกราฟิกหลายตัว เพื่อลดเวลาล่าช้าด้วยการฝึกโมเดลให้เร็วขึ้น หลังจากอ่านโพสต์นี้ คุณจะสามารถกำหนดค่าโมเดล Keras ของคุณสำหรับการทดสอบการปรับให้เหมาะสมไฮเปอร์พารามิเตอร์เร็วขึ้น x3 และให้ผลลัพธ์ที่ล้ำสมัยบน TPU ได้ฟรี เมื่อเทียบกับการรันการตั้งค่าเดียวกันบน GTX1070 ตัวเดียวของฉัน

จากประสบการณ์ของฉันเกี่ยวกับโซลูชันการเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์แบบโอเพ่นซอร์สหลายตัวที่มีการรองรับ Keras นั้น Talos นำเสนอการเข้าถึงความสามารถในการเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์ที่สำคัญที่ใช้งานง่าย เรียนรู้ได้ง่าย และได้รับอนุญาตมากที่สุด มาสร้างการทดลองเพื่อค้นหาพารามิเตอร์โมเดล CNN ที่ดีที่สุดเพื่อทำนายชุดข้อมูล MNIST แฟชั่นด้วย Talos

โน้ตบุ๊กพื้นฐานที่ใช้การเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์บน GTX1070 GPU ตัวเดียวของฉันและเวอร์ชัน TPU นั้นมีให้ใช้งานบน GitHub ของฉัน

เตรียมโมเดล Keras สำหรับการออปติไมซ์ไฮเปอร์พารามิเตอร์

ไม่เหมือนกับเครื่องมือค้นหาสถาปัตยกรรมประสาทอื่น ๆ เช่น "Auto-Keras" ไม่มีกล่องดำในระหว่างกระบวนการเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์ และขึ้นอยู่กับคุณที่จะระบุตัวเลือกสำหรับการค้นหาพารามิเตอร์

พิจารณาโมเดล CNN ของผู้สมัครใน Keras สำหรับงานจำแนกประเภทแฟชั่น MNIST ที่คุณเขียนตามปกติ

ในการเตรียมโมเดลสำหรับการสแกน Talos สำหรับไฮเปอร์พารามิเตอร์ที่เหมาะสมที่สุด เพียงแทนที่พารามิเตอร์ที่คุณต้องการรวมไว้ในการสแกนด้วยการอ้างอิงถึงพจนานุกรมพารามิเตอร์ของคุณดังตัวอย่างด้านล่างนี้

ค่า params จะเป็นพจนานุกรมที่ส่งผ่านไปยังฟังก์ชัน fashion_mnist_fn ระหว่างการสแกนแบบไดนามิกเมื่อการสแกน Talos กำลังทำงาน โปรดทราบว่าฟังก์ชันจะส่งคืนเอาต์พุตการวัดประวัติของ model.fit() พร้อมกับ โมเดล เอง เพื่อให้เครื่องสแกน Talos สามารถประเมินประสิทธิภาพของโมเดลหลังการฝึกได้

ต่อไปนี้เป็นวิธีกำหนดรายการไฮเปอร์พารามิเตอร์และเริ่มการค้นหา

Talos รองรับกลยุทธ์การปรับให้เหมาะสมทั่วไปหลายประการ สำหรับการค้นหาตารางที่ง่ายที่สุด พารามิเตอร์ต่างๆ จะถูกเสียบเข้ากับ fashion_mnist_fn ที่คุณกำหนดไว้ก่อนหน้านี้สำหรับการฝึกโมเดล

เรียกใช้การสแกนไฮเปอร์พารามิเตอร์บน TPU

หากคุณเรียกใช้การสแกนครั้งก่อน การสแกนจะทำงานบนอุปกรณ์ TensorFlow เริ่มต้นของคุณเท่านั้น ไม่ว่าจะเป็น CPU หรือ GPU

อย่างไรก็ตาม เพื่อให้กระบวนการทั้งหมดทำงานเร็วขึ้นมากด้วย Cloud TPU จะต้องดำเนินการขั้นตอนเพิ่มเติมบางอย่างหลังจากที่คุณสร้างโมเดลและแปลงโมเดลเป็นโมเดล TPU

ตระหนักถึงความแตกต่างที่เกิดขึ้นในขั้นตอนที่ 1, 3 และ 4 ขนาดแบทช์ 1,024 จะถูกแบ่งออกเป็นแกน TPU 8 แกนเท่าๆ กัน โดยแต่ละการฝึกอบรมในชุดตัวอย่างอินพุต 128 รายการ

หลังจากการสแกนเสร็จสิ้น คุณจะกู้คืนดัชนีโมเดลที่ดีที่สุดด้วยความแม่นยำในการตรวจสอบสูงสุดหรือหน่วยวัดอื่นๆ ที่คุณเลือก

เกณฑ์มาตรฐานและข้อสรุป

ใช้เวลา 12:29 ในการฝึก CNN 8 รูปแบบอย่างสมบูรณ์ด้วยไฮเปอร์พารามิเตอร์แบบแปรผันบน TPU เทียบกับการฝึก 40:18 บน GTX 1070 ของฉัน

อย่าลืมลองดู "สมุดบันทึก" ของ Colab ที่รันได้สำหรับบทช่วยสอนนี้ และสมุดบันทึก Jupyter ที่เทียบเท่ากับ GPU/CPU บน "GitHub" ของฉัน

ต้องการฝึกโมเดล RNN Keras เร็วขึ้น 20 เท่าด้วย TPU หรือไม่ อ่านโพสต์ก่อนหน้าของฉัน — วิธีฝึกโมเดล Keras เร็วขึ้น 20 เท่าด้วย TPU ฟรี

อ่านเพิ่มเติมเกี่ยวกับ Talos บน Github

แบ่งปันบน Twitter แบ่งปันบน Facebook

เผยแพร่ครั้งแรกที่ www.dlology.com.



เรื่องราวนี้ตีพิมพ์ใน The Startup ซึ่งเป็นสิ่งพิมพ์ด้านผู้ประกอบการที่ใหญ่ที่สุดของ Medium ตามมาด้วยผู้คน +393,714 คน

สมัครสมาชิกเพื่อรับ เรื่องราวเด่นของเราที่นี่