เรารู้จักไมโครซอฟท์ในฐานะบริษัทซอฟต์แวร์กันมานาน ภายหลังไมโครซอฟท์เริ่มหันมาทำฮาร์ดแวร์มากขึ้น และล่าสุด Wired มีบทสัมภาษณ์เคล็ดลับของไมโครซอฟท์ในการรันคลาวด์และประมวลผล AI อย่างมีประสิทธิภาพ นั่นคือออกแบบชิปเองด้วยเทคโนโลยี FPGA (field-programmable gate array) ที่เขียนโปรแกรมในชิปใหม่ได้ ภายใต้ชื่อโครงการว่า Project Catapult
ผู้นำโครงการนี้คือ Doug Burger นักวิจัยด้านชิปคอมพิวเตอร์ที่อยู่กับบริษัทมาตั้งแต่ปี 2008 โดยเขานำเสนอแนวคิดนี้ต่อสตีฟ บัลเมอร์ ซีอีโอในเวลานั้น (2012) แต่บัลเมอร์ไม่สนใจ แต่ Qui Lu ผู้บริหารของไมโครซอฟท์ที่คุมฝ่าย Bing เข้าใจเรื่องนี้เป็นอย่างดี ปัจจุบัน ชิป FPGA ของ Burger อยู่เบื้องหลัง Bing, Azure และงานด้าน AI (deep neural network) ของไมโครซอฟท์
แนวคิดการพัฒนา FPGA ใช้เองเกิดจากมุมมองว่าผู้ผลิตชิปในตลาด ไม่สามารถสร้างฮาร์ดแวร์ที่ตอบสนองความต้องการของไมโครซอฟท์ได้ ทีมของ Burger พยายามผลักดันเรื่องนี้อยู่นาน แต่ไม่ได้รับความสนใจจากคนในบริษัทมากนัก จนกระทั่งทีม Bing พบข้อจำกัดว่าความต้องการของตัวเองเพิ่มขึ้นอย่างรวดเร็ว จนแซงหน้าพัฒนาการของชิปตามกฎของมัวร์ไปแล้ว แต่การสร้างชิปเฉพาะขึ้นมาใช้ก็แพงเกินไป ทางออกคือการใช้ชิปมาตรฐาน (general purpose CPU) ควบคู่กับการปรับแต่งด้วย FPGA
ผลงานแรกของ Project Catapult สามารถเร่งอัลกอริทึม machine learning ของ Bing ได้มากถึง 100 เท่า ทำให้ทีม Bing เริ่มหันมาสนใจว่าแนวทางนี้เป็นไปได้
หลังจากนั้น ไมโครซอฟท์เริ่มนำ FPGA มาใช้กับบริการอื่นๆ เช่น Azure (แต่ความต้องการของ Azure กลับเป็นเรื่องการจัดการทราฟฟิกบนเครือข่ายแทนที่จะเป็นเรื่อง AI) และ Office 365 (งานด้านการเข้ารหัส, บีบอัดข้อมูล, machine learning)
แนวทางการออกแบบชิปใช้งานเฉพาะทาง ไม่ใช่เรื่องใหม่ของโลกไอที ฝั่งกูเกิลก็ออกแบบชิป TPU เองสำหรับรัน TensorFlow แนวทางของไมโครซอฟท์อาจไม่ได้ไปไกลถึงขนาดทำชิปเฉพาะ แต่เลือกใช้ FPGA ที่ปรับเปลี่ยนโปรแกรมได้ตามความต้องการที่เปลี่ยนไป
ชิป FPGA ของไมโครซอฟท์มาจากบริษัท Altera ที่ถูกอินเทลซื้อไปเรียบร้อยแล้ว และจะเริ่มวางขาย Xeon ที่มี FPGA อยู่ในแพ็กเกจเดียวกันในอนาคต
ที่มา - Wired, ภาพจาก Microsoft Research