- TPU คือ ตัวเร่งความเร็วแบบเฉพาะโดเมนของ Google ที่ตัดทุกอย่างที่ไม่จำเป็นออก เหลือไว้เฉพาะการคำนวณที่จำเป็นต่อการทำดีปเลิร์นนิง
- เริ่มต้นจากข้อจำกัดในการขยายดาต้าเซ็นเตอร์ในปี 2013 และพัฒนามาถึงรุ่นที่ 7 ‘Ironwood’ ภายในเวลา 12 ปี
- เมื่อยุคที่ประสิทธิภาพเซมิคอนดักเตอร์ดีขึ้นเองโดยอัตโนมัติสิ้นสุดลง กลยุทธ์การออกแบบเองแทนการรอ จึงกลายเป็นทางเลือกสำคัญ
- TPU ไม่ใช่แค่ชิปตัวเดียว แต่เป็น ระบบที่ออกแบบร่วมกันระหว่างฮาร์ดแวร์ คอมไพเลอร์ เครือข่าย และซอฟต์แวร์ปฏิบัติการ
- ยิ่งเปลี่ยนผ่านหลายเจเนอเรชัน จุดศูนย์กลางของการออกแบบก็ยิ่งย้ายจากการแข่งขันด้านประสิทธิภาพไปสู่ พลังงาน การติดตั้งใช้งาน และต้นทุนการดำเนินงาน (TCO)
- ความสามารถในการแข่งขันของ TPU ไม่ได้มาจากเทคโนโลยีตัวเดียว แต่เกิดจาก ผลรวมของประสบการณ์ด้านการออกแบบและการปฏิบัติการที่สั่งสมมานานกว่า 10 ปี
Something New
- TPU ไม่ใช่อาวุธลับ แต่เป็น ผลลัพธ์ที่ถูกขัดเกลาผ่านงานวิจัยแบบเปิดเผยและการวนปรับปรุงภายในมาอย่างยาวนาน
- แทนที่จะขยายดาต้าเซ็นเตอร์ต่อไปเรื่อย ๆ Google เลือก หนทางที่เปลี่ยนวิธีการคำนวณอย่างถึงราก
- ราวปี 2013 แรงกดดันที่ต้องเพิ่มความจุดาต้าเซ็นเตอร์เป็นสองเท่าและข้อจำกัดด้านเวลา นำไปสู่การกำเนิดของ TPU ภายใน 15 เดือน
- ในเดือนเมษายน 2025 ที่งาน Google Cloud Next มีการประกาศ TPU Ironwood รุ่นที่ 7 พร้อมตัวเลข 9,216 ชิปต่อ pod, 42.5 Exaflops, 10MW
- GPU ไม่ได้ถูกสร้างมาสำหรับดีปเลิร์นนิงตั้งแต่แรก และ TPU ถูกออกแบบบนสมมติฐานของการคำนวณโครงข่ายประสาทตั้งแต่ต้น
- การเลือกเช่นนี้ทำให้ได้เปรียบเชิงโครงสร้าง ไม่ใช่แค่ด้านสมรรถนะการคำนวณ แต่รวมถึง ประสิทธิภาพด้านพลังงานและเสถียรภาพในการปฏิบัติการ
- นี่ไม่ใช่ผลของ “ความบังเอิญ” แต่เป็นผลสะสมจากการทำซ้ำของ ข้อจำกัด การแลกเปลี่ยน และการออกแบบร่วมกัน
Slowing Down
- เมื่อ Moore’s Law และ Dennard Scaling อ่อนแรงลง แต่เดิมเพียงแค่รอ CPU รุ่นใหม่โปรแกรมก็เร็วขึ้นได้เอง ทว่า สมมติฐานนั้นพังทลายลงแล้ว
- แม้จำนวนทรานซิสเตอร์ยังเพิ่มขึ้นต่อเนื่อง แต่ ข้อจำกัดด้านพลังงานและความร้อน กลับขวางการยกระดับประสิทธิภาพ
- ขณะเดียวกัน โครงข่ายประสาทก็ต้องการข้อมูลที่ใหญ่ขึ้นและโมเดลที่ใหญ่ขึ้น ทำให้ ความต้องการด้านการคำนวณพุ่งสูงอย่างมาก
- ด้วยเหตุนี้ แทนที่จะเป็น “ชิปที่ทำได้ทุกอย่างค่อนข้างดี” จึงต้องการ “ชิปที่ทำสิ่งเดียวได้ดีอย่างสุดขีด”
- ความจริงที่ว่าแกนหลักของการคำนวณโครงข่ายประสาทคือ การคำนวณซ้ำที่มีการคูณเมทริกซ์เป็นศูนย์กลาง ทำให้การออกแบบแบบเฉพาะทางเป็นไปได้
The Inference Chip
- TPU รุ่นแรกมุ่งไปที่ การอนุมาน (Inference) หรือการรันโมเดลที่ฝึกเสร็จแล้ว ไม่ใช่การเทรน
- TPUv1 ตัด cache, branch prediction, multithreading ออก เพื่อลดต้นทุนด้านการควบคุมให้ต่ำที่สุด
- แทนที่จะกระจายทรัพยากร มันรวมทุกอย่างไว้กับ Systolic Array (MXU) ที่ประมวลผลการคูณเมทริกซ์ขนาดใหญ่ได้ต่อเนื่องไม่หยุด
- ระหว่างการทำงาน ชิปจะไม่ตัดสินใจเอง แต่ ทำตามลำดับการรันที่ถูกกำหนดไว้ตั้งแต่ตอนคอมไพล์
- ผลลัพธ์คือ ด้วยพลังงานเท่ากัน มันสามารถจัดการ งานอนุมานได้มากกว่า GPU และ CPU อย่างมาก
The Training Chip
- การเทรนต้องการการคำนวณมากกว่าการอนุมานอย่างมาก และต้องการ ช่วงการแทนค่าตัวเลขที่กว้างกว่า
- ตั้งแต่ TPUv2 เป็นต้นมา โครงสร้างที่เคยเน้นการอนุมานโดยเฉพาะได้ขยายไปสู่ ความยืดหยุ่นสำหรับการเทรน
- การเปลี่ยนแปลงสำคัญคือ การแยกบทบาทของเมทริกซ์ (MXU), เวกเตอร์ (VPU) และการควบคุม (Scalar Unit)
- ลำดับการทำงานจะถูก คำนวณและกำหนดไว้ล่วงหน้าโดยคอมไพเลอร์ XLA แล้วชิปจึงทำตามนั้น
- ยังมีการออกแบบ อินเตอร์คอนเนกต์ความเร็วสูงเฉพาะทาง (ICI) ควบคู่กัน เพื่อให้ TPU หลายตัวทำงานเสมือนเป็นอุปกรณ์เดียว
Scaling Up
- เมื่อระบบใหญ่ขึ้น คำถามก็ย้ายจาก “มันเร็วแค่ไหน” ไปสู่ “จะรันได้นานแค่ไหนและถูกแค่ไหน”
- เพื่อสิ่งนี้ จึงวาง หน่วยความจำบนชิปขนาดใหญ่ (CMEM) ไว้ใกล้อุปกรณ์คำนวณ เพื่อลดการเข้าถึง DRAM ที่ช้ากว่า
- สำหรับงานอย่างระบบแนะนำที่มีข้อมูลแบบ sparse จำนวนมาก ก็มีการเพิ่มยูนิตเฉพาะทางอย่าง SparseCore เข้ามาด้วย
- การแยกการสื่อสารภายในชิปออกจากการสื่อสารระหว่างชิป ช่วย บรรเทาความซับซ้อนของสายสัญญาณและคอขวดในเชิงโครงสร้าง
- ทำให้ท้ายที่สุดแล้ว ประสิทธิภาพในการปฏิบัติการ กลายเป็นตัวกำหนดการออกแบบโดยรวม มากกว่าตัวเลขสมรรถนะเพียงอย่างเดียว
Island Hopping
- ในสภาพแวดล้อมที่ใช้ TPU หลายพันตัว ความขัดข้องไม่ใช่ข้อยกเว้น แต่เป็นสมมติฐานพื้นฐาน
- เป้าหมายคือระบบที่ไม่หยุดทำงาน หรือก็คือ โครงสร้างที่ดูดซับความล้มเหลวบางส่วนได้
- งานจะถูกแบ่งไปรันบน TPU หลายตัว แต่ ถูกจัดการให้มองเห็นเสมือนเป็นโปรแกรมเดียว
- เมื่อเกิดปัญหา ระบบจะเลือก การย้ายงานและเริ่มต้นใหม่อย่างรวดเร็ว แทนการหยุดทั้งหมด
- กระบวนการซับซ้อนนี้ส่วนใหญ่ถูก จัดการอัตโนมัติโดยซอฟต์แวร์ปฏิบัติการ
การขยาย Datacenter Network
- เมื่อ TPU กลุ่มเดียวไม่เพียงพอ ก็จำเป็นต้องเชื่อมต่อหลายกลุ่มเข้าด้วยกัน
- เครือข่ายทั่วไปมีข้อจำกัด จึงมีการนำ การสวิตช์แบบออปติคัล (OCS) มาใช้
- ด้วยสิ่งนี้ ดาต้าเซ็นเตอร์ทั้งแห่งจึงสามารถถูกจัดให้เป็น ทรัพยากรการคำนวณขนาดยักษ์เพียงก้อนเดียว ได้
- ทั้งแนวทางขยายโมเดลการรันเดิม และ โมเดลการรันแบบอะซิงโครนัสใหม่ทั้งหมด (Pathways) ดำรงอยู่ควบคู่กัน
- จึงสามารถรองรับโมเดลที่ใหญ่ขึ้นและรูปแบบการสื่อสารที่ซับซ้อนขึ้นได้
Ceci n’est pas une TPU
- TPU รุ่นล่าสุดอาจดูเหนือชั้นมากเมื่อมองจากตัวเลข แต่ หลักการสำคัญยังคงเหมือนเดิมกับช่วงแรกเริ่ม
- ยังคงยึดแนวทางการโฟกัสกับการคำนวณที่จำเป็น และ ตัดความซับซ้อนที่ไม่จำเป็นออก
- ระบบนี้ไม่สามารถถูกทำซ้ำได้ด้วยสเปกฮาร์ดแวร์เพียงอย่างเดียว
- จำเป็นต้องมี คอมไพเลอร์ (XLA), อินเตอร์คอนเนกต์เฉพาะทาง (ICI), การสวิตช์แบบออปติคัล (OCS), และตัวจัดตารางปฏิบัติการ ทำงานร่วมกัน
- TPU ไม่ใช่สิ่งประดิษฐ์จากครั้งเดียว แต่เป็น ผลลัพธ์ที่สะสมจากการตัดสินใจธรรมดาหลายร้อยครั้ง
เทคโนโลยีสำคัญที่ควรจำไม่กี่อย่าง
- Systolic Array (MXU): หัวใจของ TPU ที่ประมวลผลการคูณเมทริกซ์ได้อย่างมีประสิทธิภาพสูง
- XLA compiler: คำนวณลำดับการรันล่วงหน้าเพื่อตัดต้นทุนด้านการควบคุม
- BF16: รูปแบบตัวเลขที่ลดต้นทุนฮาร์ดแวร์ลง โดยยังคงช่วงที่จำเป็นสำหรับการเทรนไว้
- ICI / OCS: โครงสร้างการสื่อสารเฉพาะทางที่เชื่อมชิป แร็ก และดาต้าเซ็นเตอร์เข้าด้วยกัน
- การออกแบบที่ยึด TCO เป็นศูนย์กลาง: วิธีคิดที่เพิ่มประสิทธิภาพต้นทุนการดำเนินงานระยะยาว มากกว่าสมรรถนะชั่วขณะ
3 ความคิดเห็น
ผมมีความหวังส่วนตัวอยู่อย่างหนึ่ง
ได้โปรดให้ TPU ถูกใช้งานเชิงพาณิชย์อย่างแพร่หลายมาก จนบริษัทต่าง ๆ อยู่ในสถานการณ์ที่ไม่ต้องใช้ GPU ด้วยเถอะ
เพื่อที่ NVIDIA จะได้กลับมาโฟกัสกับ GPU สำหรับผู้บริโภคทั่วไปอีกครั้ง.....
ต้นฉบับเป็นบทความที่ลงลึกเชิงเทคนิคมาก หากสรุปตรง ๆ ก็จะกลายเป็นเพียงการไล่เรียงคำศัพท์เทคนิคเท่านั้น จึงได้เรียบเรียงใหม่เล็กน้อยเพื่อให้เข้าใจพัฒนาการได้ง่ายขึ้น ผู้ที่สนใจรายละเอียดทางเทคนิคสามารถดูต้นฉบับซึ่งอธิบายประกอบด้วยภาพได้
ความเห็นบน Hacker News