เอกสารนี้ให้ภาพรวมเกี่ยวกับการตัดแต่งโมเดลเพื่อช่วยคุณพิจารณาว่าโมเดลจะเหมาะกับกรณีการใช้งานของคุณอย่างไร
- หากต้องการเจาะลึกตัวอย่างตั้งแต่ต้นจนจบ โปรดดูตัวอย่าง Pruning with Keras
- หากต้องการค้นหา API ที่คุณต้องการสำหรับกรณีการใช้งานของคุณอย่างรวดเร็ว โปรดดู คำแนะนำที่ครอบคลุมเกี่ยวกับการตัด
- หากต้องการสำรวจการประยุกต์ใช้การตัดสำหรับการอนุมานบนอุปกรณ์ โปรดดูที่ การตัดสำหรับการอนุมานบนอุปกรณ์ด้วย XNNPACK
- หากต้องการดูตัวอย่างการตัดแต่งกิ่งเชิงโครงสร้าง ให้เรียกใช้บทช่วยสอน การตัดแต่งกิ่งเชิงโครงสร้างแบบกระจายขนาด 2 x 4
ภาพรวม
การตัดแต่งน้ำหนักตามขนาดจะค่อยๆ ทำให้น้ำหนักโมเดลเป็นศูนย์ในระหว่างกระบวนการฝึกเพื่อให้โมเดลกระจัดกระจาย โมเดลแบบกระจายจะบีบอัดได้ง่ายกว่า และเราสามารถข้ามค่าศูนย์ระหว่างการอนุมานเพื่อปรับปรุงเวลาแฝงได้
เทคนิคนี้นำมาซึ่งการปรับปรุงผ่านการบีบอัดโมเดล ในอนาคต การสนับสนุนเฟรมเวิร์กสำหรับเทคนิคนี้จะช่วยปรับปรุงเวลาแฝง เราได้เห็นการปรับปรุงการบีบอัดโมเดลถึง 6 เท่าโดยสูญเสียความแม่นยำน้อยที่สุด
เทคนิคนี้ได้รับการประเมินในการใช้งานคำพูดต่างๆ เช่น การรู้จำเสียงพูดและการแปลงข้อความเป็นคำพูด และได้รับการทดลองกับโมเดลการมองเห็นและการแปลต่างๆ
เมทริกซ์ความเข้ากันได้ของ API
ผู้ใช้สามารถใช้การตัดแต่งกิ่งกับ API ต่อไปนี้:
- การสร้างโมเดล:
keras
ที่มีเฉพาะโมเดล Sequential และ Functional เท่านั้น - เวอร์ชัน TensorFlow: TF 1.x สำหรับเวอร์ชัน 1.14+ และ 2.x
- ไม่รองรับ
tf.compat.v1
พร้อมแพ็คเกจ TF 2.X และtf.compat.v2
พร้อมแพ็คเกจ TF 1.X
- ไม่รองรับ
- โหมดการดำเนินการ TensorFlow: ทั้งกราฟและความกระตือรือร้น
- การฝึกอบรมแบบกระจาย:
tf.distribute
พร้อมการประมวลผลกราฟเท่านั้น
อยู่ในแผนงานของเราในการเพิ่มการสนับสนุนในด้านต่อไปนี้:
ผลลัพธ์
การจำแนกประเภทภาพ
แบบอย่าง | ความแม่นยำระดับ Top-1 ที่ไม่กระจัดกระจาย | ความแม่นยำกระจัดกระจายแบบสุ่ม | ความกระจัดกระจายแบบสุ่ม | โครงสร้างความแม่นยำกระจัดกระจาย | ความกระจัดกระจายที่มีโครงสร้าง |
---|---|---|---|---|---|
InceptionV3 | 78.1% | 78.0% | 50% | 75.8% | 2 คูณ 4 |
76.1% | 75% | ||||
74.6% | 87.5% | ||||
โมบายเน็ตV1 224 | 71.04% | 70.84% | 50% | 67.35% | 2 คูณ 4 |
โมบายเน็ตV2 224 | 71.77% | 69.64% | 50% | 66.75% | 2 คูณ 4 |
โมเดลเหล่านี้ได้รับการทดสอบบน Imagenet
การแปล
แบบอย่าง | BLEU ที่ไม่เบาบาง | BLEU เบาบาง | ความเบาบาง |
---|---|---|---|
GNMT EN-DE | 26.77 | 26.86 | 80% |
26.52 | 85% | ||
26.19 | 90% | ||
GNMT DE-EN | 29.47 | 29.50 น | 80% |
29.24 | 85% | ||
28.81 | 90% |
โมเดลใช้ชุดข้อมูลภาษาเยอรมันและอังกฤษ WMT16 โดยมี news-test2013 เป็นชุด dev และ news-test2015 เป็นชุดทดสอบ
รูปแบบการจำคำสำคัญ
DS-CNN-L คือโมเดลการระบุคีย์เวิร์ดที่สร้างขึ้นสำหรับอุปกรณ์ Edge สามารถพบได้ใน พื้นที่เก็บข้อมูลตัวอย่าง ของซอฟต์แวร์ ARM
แบบอย่าง | ความแม่นยำไม่กระจัดกระจาย | โครงสร้างความแม่นยำกระจัดกระจาย (รูปแบบ 2 x 4) | ความแม่นยำกระจัดกระจายแบบสุ่ม (เป้าหมายกระจัดกระจาย 50%) |
---|---|---|---|
DS-CNN-L | 95.23 | 94.33 | 94.84 |
ตัวอย่าง
นอกเหนือจากบทช่วยสอน Prune with Keras แล้ว โปรดดูตัวอย่างต่อไปนี้:
- ฝึกฝนโมเดล CNN ในงานจำแนกประเภทตัวเลขที่เขียนด้วยลายมือของ MNIST ด้วยการตัดแต่ง: รหัส
- ฝึกอบรม LSTM ในงานจำแนกประเภทความรู้สึกของ IMDB ด้วยการตัด: รหัส
สำหรับพื้นหลัง โปรดดู ที่การตัดหรือไม่ตัด: สำรวจประสิทธิภาพของการตัดเพื่อการบีบอัดโมเดล [ กระดาษ ]