1 คะแนน โดย GN⁺ 2024-03-26 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • TPU (Tensor Processing Unit) v1 รุ่นแรกของ Google มีเป้าหมายเพื่อพัฒนา ASIC (Application Specific Integrated Circuit) ที่ให้ความคุ้มค่าต่อประสิทธิภาพดีกว่า 10 เท่า โดยพิจารณาจากโอกาสของบริการใหม่ที่ใช้ดีปเลิร์นนิง รวมถึงขนาดและต้นทุนของฮาร์ดแวร์ที่จำเป็น
  • TPU ถูกออกแบบมาเพื่อเร่งการคำนวณเทนเซอร์ โดยเทนเซอร์หมายถึงการคำนวณที่แมปความสัมพันธ์ของอาร์เรย์หลายมิติระหว่างเวกเตอร์ สเกลาร์ และเทนเซอร์อื่น ๆ
  • การคูณเมทริกซ์เป็นการคำนวณหลักของโครงข่ายประสาทเทียม โดยใช้คูณเวกเตอร์อินพุตกับเมทริกซ์น้ำหนัก จากนั้นจึงใช้ activation function เพื่อคำนวณชั้นซ่อนและชั้นเอาต์พุต

Tensor Processing Unit รุ่นแรกของ Google: จุดกำเนิด

  • โครงการ TPU v1 เริ่มต้นขึ้นในช่วงปลายปี 2013 และพัฒนาเสร็จภายใน 15 เดือน ซึ่งเป็นหัวข้อที่น่าสนใจสำหรับผู้ที่สนใจตัวเร่งความเร็วสำหรับโครงข่ายประสาทเทียม
  • เบื้องหลังการพัฒนาและเป้าหมายของ TPU v1 ได้กล่าวไว้ในโพสต์ก่อนหน้านี้ และในโพสต์นี้จะพิจารณาโครงสร้างและประสิทธิภาพของ TPU v1 อย่างละเอียดมากขึ้น

โครงสร้างและประสิทธิภาพ

  • การออกแบบของ TPU v1 อ้างอิงสถาปัตยกรรมที่นำเสนอในบทความปี 1978 "Systolic Arrays (for VLSI)" ของ H.T Kung และ Charles E. Leiserson
  • Systolic array ประกอบด้วยเครือข่ายของโปรเซสเซอร์ที่คำนวณข้อมูลเป็นจังหวะและส่งผ่านไปทั่วทั้งระบบ ทำให้สามารถคูณเมทริกซ์ได้อย่างมีประสิทธิภาพ
  • Systolic array ของ TPU v1 ประกอบด้วยหน่วยคูณ/สะสมขนาด 256x256 และสร้างผลลัพธ์ที่ต้องการโดยอัตโนมัติ โดยไม่จำเป็นต้องบันทึกและดึงผลลัพธ์ระหว่างทางไปยังหน่วยความจำหลัก

Multiply/Accumulate Units (MACs)

  • TPU v1 ทำการคูณจำนวนเต็ม 8 บิต x 8 บิต และใช้การควอนไทซ์ซึ่งต้องการพื้นที่ไดน้อยกว่าการคำนวณแบบ floating point

ชุดคำสั่ง

  • TPU v1 ใช้ชุดคำสั่งแบบซับซ้อน (CISC) ราว 20 คำสั่ง และคำสั่งเหล่านี้ถูกส่งมาจากคอมพิวเตอร์โฮสต์ผ่านอินเทอร์เฟซ PCIe
  • คำสั่งหลักประกอบด้วยการอ่านหน่วยความจำของโฮสต์ การอ่านน้ำหนัก การคูณ/รวมเมทริกซ์ การทำ activation และการเขียนกลับไปยังหน่วยความจำของโฮสต์

ซอฟต์แวร์

  • ฮาร์ดแวร์ของ TPU v1 รองรับซอฟต์แวร์สแตกอย่าง Tensorflow เพื่อให้สามารถย้ายแอปพลิเคชันที่พัฒนาบน CPU และ GPU มายัง TPU ได้อย่างรวดเร็ว

การผลิตและได

  • TPU v1 ผลิตด้วยกระบวนการ 28nm ของ TSMC และมีขนาดไดน้อยกว่าครึ่งหนึ่งของชิป Intel Haswell CPU และ Nvidia K80 GPU ที่ Google ใช้งานอยู่ในดาต้าเซ็นเตอร์

ประสิทธิภาพ

  • TPU v1 ถูกออกแบบมาเพื่อทำให้การอนุมานมีประสิทธิภาพมากขึ้น และให้ความเร็วกับประสิทธิภาพพลังงานในการอนุมานดีกว่า Nvidia K80 GPU และ Haswell CPU ราว 15 ถึง 30 เท่า

บทเรียน

  • สถาปัตยกรรมแบบปรับแต่งเฉพาะของ TPU v1 ทำให้ได้ประสิทธิภาพและการใช้พลังงานที่ดีกว่า CPU และ GPU สมัยใหม่อย่างมาก
  • TPU v1 ถูกออกแบบโดยมีเป้าหมายเพื่อทำให้การอนุมานรวดเร็วและประหยัดพลังงาน ไม่ได้ออกแบบมาสำหรับการฝึกโมเดล

ความเห็นของ GN⁺

  • การพัฒนา TPU v1 เป็นจุดเปลี่ยนสำคัญที่แสดงให้เห็นว่า Google หันไปใช้ฮาร์ดแวร์เฉพาะทางเพื่อเพิ่มประสิทธิภาพงานอนุมานในดาต้าเซ็นเตอร์ขนาดใหญ่
  • สถาปัตยกรรม systolic array ช่วยปรับ data flow ให้เหมาะสมและลดการเข้าถึงหน่วยความจำให้เหลือน้อยที่สุด ซึ่งมีส่วนช่วยด้านประสิทธิภาพพลังงานและสมรรถนะ
  • ความสำเร็จของ TPU v1 นำไปสู่การพัฒนา TPU อีกหลายเวอร์ชันในเวลาต่อมา และมีบทบาทสำคัญต่อความก้าวหน้าของฮาร์ดแวร์สำหรับ AI inference
  • ผลิตภัณฑ์อื่นที่ให้ความสามารถคล้าย TPU ได้แก่ GPU ที่มี Tensor Core ของ Nvidia, Nervana NNP ของ Intel และ Inferentia ของ Amazon
  • เมื่อนำเทคโนโลยี TPU มาใช้ ควรพิจารณาความเข้ากันได้กับโครงสร้างพื้นฐานเดิม ซอฟต์แวร์สแตก และระดับการปรับแต่งให้เหมาะกับแอปพลิเคชันเฉพาะ ข้อดีของการเลือก TPU คือความเร็วของงานอนุมานที่สูงขึ้นและประสิทธิภาพพลังงานที่ดีขึ้น แต่ก็อาจต้องมีการปรับแต่งให้เหมาะกับโมเดลหรือประเภทข้อมูลบางอย่าง

1 ความคิดเห็น

 
GN⁺ 2024-03-26
ความคิดเห็นจาก Hacker News
  • Jonathon Ross ซีอีโอของ Groq เล่าในบทสัมภาษณ์พอดแคสต์เกี่ยวกับกระบวนการสร้างต้นแบบ TPU ที่ Google ช่วงแรกเขาสร้าง FPGA ในเวลา 20% ของตนเองเพื่อแก้ปัญหาความเร็วในการอนุมานของทีมข้างเคียง หลังจาก Jeff Dean คำนวณทางคณิตศาสตร์แล้ว จึงตัดสินใจเปลี่ยนไปใช้ ASIC ปัจจุบันมีความเห็นว่า Google ควรแยกทีม TPU ออกไปเป็นบริษัทอิสระ TPU เป็นคู่แข่งที่น่าเชื่อถือเพียงรายเดียวของ NVidia และการรองรับซอฟต์แวร์ก็ดีเป็นรองเพียง NVidia เท่านั้น
  • มีการตั้งคำถามว่า แม้ Google จะเป็นผู้คิดค้น TPU และ Google Research จะตีพิมพ์งานวิจัยหลักเกี่ยวกับ LLM แต่เหตุใด NVidia และสตาร์ตอัป AI กลับครองมูลค่าตลาดส่วนใหญ่
  • พนักงาน Google คนหนึ่งแนะนำให้ลองดู TPU v5 ซึ่งรองรับ PyTorch/JAX ทำให้ใช้งานง่ายกว่าตอนที่ใช้ได้แค่ TensorFlow มาก
  • มีบทความหนึ่งอธิบายได้ดีว่าการเชื่อมส่วนที่เป็นนามธรรมต่าง ๆ เข้ากับซิลิคอนทำอย่างไร การได้เห็นว่า CISC instruction ถูกแมปเข้ากับขั้นตอนการอนุมานของ LLM อย่างไรนั้นน่าสนใจ
  • มีความเห็นว่า Google ควรเข้าสู่เทคโนโลยี 2nm EUV และก้าวต่อไปต่ำกว่า 2nm หากสามารถครอบครองเทคโนโลยี electron lithography ที่ ASML มีให้ ก็อาจได้ผลลัพธ์ที่ทรงพลังมาก นี่อาจเป็นโครงการทะเยอทะยานของ Google X และหาก TPU ดีมากจริง ก็อาจเป็นโอกาสที่ดีสำหรับธุรกิจที่มีทั้ง fab และเทคโนโลยีของตัวเอง
  • มีคำถามว่าปัจจุบันชื่อของ TPU มาจากสิ่งมีชีวิตในทะเลชนิดใด
  • คำอ้างจาก OP (Original Poster): "TPU v1 ใช้การออกแบบแบบ CISC ที่มีคำสั่งราว 20 คำสั่งเท่านั้น" มีความเห็นตอบกลับเชิงเสียดสีว่า CISC/RISC ได้ผ่านหลายช่วงตั้งแต่โครงการวิจัยไปจนถึงคำทางการตลาด และตอนนี้กลายเป็นเพียงคำที่ไร้ความหมายไปแล้ว
  • มีคอมเมนต์ว่าตนไม่เข้าใจว่าทำไมถึงใช้คำว่า "tensor" ทั้งที่ฮาร์ดแวร์ TPU ในความเป็นจริงทำได้เพียงการคำนวณเวกเตอร์และเมทริกซ์
  • [ความเห็นถูกลบ]
  • [ความเห็นถูกลบ]