โค้ดตัวอย่างนี้แสดงการนำเข้าโมดูลที่จำเป็น เช่น BlocksparseMatMul จาก blocksparse.matmul และการใช้ TensorFlow รวมถึง NumPy ในการจำลองการคำนวณ
มีการกำหนดค่าเริ่มต้น เช่น hidden_size = 4096 และ block_size = 32 ก่อนที่จะสร้างรูปแบบความเบาบาง (sparsity pattern) แบบสุ่ม
จากนั้นจึงมีการเริ่มต้นวัตถุ BlocksparseMatMul และกำหนดให้เมทริกซ์น้ำหนัก (w) เป็นแบบ block-sparse ก่อนจะทำการคำนวณเมทริกซ์แบบ block-sparse multiplication เพื่อให้ได้ผลลัพธ์ y
การรันโค้ดใน InteractiveSession และการป้อนข้อมูล (feed_dict) ด้วยค่าคงที่ ทำให้สามารถตรวจสอบผลลัพธ์ของการคำนวณที่เกิดขึ้นได้
ศัพท์ที่ควรรู้
- BlocksparseMatMul – เป็นคลาสที่ใช้สำหรับจัดการการคูณเมทริกซ์ที่มีการจัดกลุ่มและมีความเบาบาง
- hidden_size – คือขนาดของมิติข้อมูลที่ใช้ในการคำนวณโมเดล ซึ่งในที่นี้คือ 4096
- block_size – คือขนาดของบล็อกที่ใช้ในการแบ่งเมทริกซ์สำหรับการคำนวณแบบกลุ่ม
- sparsity – คือรูปแบบของความเบาบางที่ถูกสร้างขึ้นแบบสุ่มเพื่อจำลองข้อมูลจริง
ที่มา: OpenAI