คุณเป็นนักวิทยาศาสตร์ที่ขับเคลื่อนด้วยข้อมูลหรือวิศวกรข้อมูลที่ต้องการควบคุมโมเดล 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.