ในปัจจุบันนี้คำว่า "ปัญญาประดิษฐ์ (AI)" และ "การเรียนรู้ของเครื่อง (Machine Learning)" เข้ามามีบทบาทสำคัญในการพัฒนาเทคโนโลยีอย่างมาก Google ได้สรรค์สร้างตัว Tensor Processing Unit (TPU) ขึ้นมาเพื่อรองรับการประมวลผล AI โดยเฉพาะ ซึ่งแตกต่างจากหน่วยประมวลผลทั่วไปอย่าง หน่วยประมวลผลกลาง (CPU) และ หน่วยประมวลผลกราฟิก (GPU) ที่เรารู้จักกันดี
TPU นั้นถูกออกแบบมาเพื่อให้สามารถจัดการกับการคำนวณเชิงลึกที่ใช้ในงาน AI ได้อย่างรวดเร็ว ช่วยลดเวลาในการฝึกโมเดล และเพิ่มความสามารถในการประมวลผล ข้อมูลขนาดใหญ่ (Big Data) ได้อย่างดี ในบทความนี้จะพาทุกคนไปรู้จักกับ Tensor Processing Unit ว่ามันคืออะไร ?, มีหลักการทำงานอย่างไร ?, แตกต่างจาก CPU และ GPU อย่างไร ? รวมถึงสาเหตุทำให้ TPU เป็นก้าวสำคัญของวงการ AI
เรามาเริ่มกันที่ความหมายของคำว่า "Tensor Processing Unit" หรือ "TPU" ก็คือชิปประมวลผลเฉพาะทางที่ออกแบบมาเพื่อรองรับงานด้านการเรียนรู้ของเครื่อง หรือ Machine Learning (ML) โดยเฉพาะ ด้วยความสามารถที่ช่วยให้การคำนวณที่ซับซ้อนสามารถทำได้รวดเร็ว และมีประสิทธิภาพสูงกว่าชิปประมวลผลทั่วไป อย่าง CPU หรือ GPU
ภาพจาก : https://blog.neterra.cloud/en/so-what-is-a-tensor-processing-unit-tpu-and-why-will-it-be-the-future-of-machine-learning/
โดย TPU จะเป็น Application-Specific Integrated Circuit (ASIC) หรือก็คือ วงจรรวมที่ถูกออกแบบมาเพื่องานเฉพาะด้าน ไม่เหมือนกับ CPU ที่ถูกออกแบบให้รองรับการประมวลผลทั่วไปได้หลากหลายงาน TPU ที่เกิดมาเพื่อปัญญาประดิษฐ์ (AI) จึงสามารถทำงานที่เกี่ยวกับ AI ได้อย่างรวดเร็ว และใช้พลังงานน้อยลงกว่าด้วย
Google ได้พัฒนา TPU ขึ้นมาเพื่อให้รองรับโครงข่ายประสาทเทียม (Neural Network) ซึ่งเป็นหัวใจสำคัญของ AI และ Machine Learning โดย TPU รุ่นแรก ๆ ถูกนำมาใช้งานภายในบริษัทตั้งแต่ปี ค.ศ. 2015 (พ.ศ. 2558) เพื่อนำมาช่วยเร่งการทำงานของ TensorFlow ซึ่งเป็นแพลตฟอร์มแบบ โอเพ่นซอร์ส (Open-Source) สำหรับการพัฒนา AI ของ Google เอง
อันที่จริงแล้ว Tensor Processing Unit (TPU) ไม่ได้เป็นผลลัพธ์จากการพัฒนาโดยทีมนักวิจัยเพียงกลุ่มเดียว แต่เกิดจากการแข่งขันระหว่าง สามกลุ่มย่อยภายใน Google ที่ต่างพยายามสร้าง AI Accelerator หรือ ชิปเร่งความเร็วสำหรับงานปัญญาประดิษฐ์ และท้ายที่สุด TPU ก็ได้รับเลือกเป็นดีไซน์หลัก และถูกพัฒนาต่อ
ในปี ค.ศ. 2015 (พ.ศ. 2558) Google ได้เริ่มนำ TPU มาใช้งานภายใน ศูนย์ข้อมูล (Data Center) ของตนเอง เพื่อเพิ่มประสิทธิภาพการประมวลผล Machine Learning โดยเฉพาะ โดยจากที่ได้กล่าวไว้ข้างต้นว่า TPU ถูกออกแบบมาให้ทำงานร่วมกับ TensorFlow ซึ่งเป็นเฟรมเวิร์กสำหรับพัฒนาโมเดล AI ที่ Google พัฒนาขึ้นเอง
ภาพจาก : https://www.youtube.com/watch?v=UsDhVx6cOrw&ab_channel=Hardwareluxx
ต่อมาในเดือน พฤษภาคม ค.ศ. 2016 (พ.ศ. 2559) Google ได้ประกาศเปิดตัว TPU อย่างเป็นทางการในงาน Google I/O พร้อมให้ข้อมูลว่า TPU ถูกใช้งานภายในระบบของ Google มากว่าหนึ่งปีแล้ว โดยเป็นส่วนสำคัญที่ช่วยเพิ่มความเร็วของกระบวนการ AI ภายในบริษัท
ต่อมาในปี ค.ศ. 2017 (พ.ศ. 2560) Google เผยแพร่งานวิจัยเกี่ยวกับ TPU ที่ชี้ให้เห็นว่าโครงสร้างของชิปนี้ได้รับแรงบันดาลใจจากเทคโนโลยี Systolic Array ซึ่งเคยถูกใช้ในระบบประมวลผลทางคณิตศาสตร์ตั้งแต่ช่วงยุค 90 ซึ่ง TPU ถูกออกแบบมาเพื่อรองรับการคำนวณแบบ Matrix Multiplication ที่เป็นหัวใจสำคัญของ Machine Learning แต่ในช่วงเวลานี้ Google ก็ยังคงใช้ CPU และ GPU ควบคู่ไปกับ TPU สำหรับงานที่ต้องการความยืดหยุ่นมากกว่า
ภาพจาก : https://qengineering.eu/google-corals-tpu-explained.html
จากนั้นในเดือน กุมภาพันธ์ ค.ศ. 2018 (พ.ศ. 2561) Google ได้เปิดให้บุคคลภายนอกสามารถเข้าถึง TPU ผ่านบริการ คลาวด์ (Cloud) Google Cloud TPU ซึ่งเป็นส่วนหนึ่งของแพลตฟอร์ม Google Cloud Platform (GCP) ทำให้นักพัฒนา และองค์กรต่าง ๆ สามารถใช้พลังประมวลผลของ TPU โดยไม่จำเป็นต้องลงทุนด้านฮาร์ดแวร์เอง
ภาพจาก : https://www.geekwire.com/2017/google-launches-powerful-new-cloud-tpu-machine-learning-chips-google-cloud-platform/
TPU มีบทบาทสำคัญในโครงการ AI ชั้นนำของ Google โดยถูกนำไปใช้ในระบบต่าง ๆ อย่างเช่น
ปัจจุบัน TPU ได้กลายเป็นองค์ประกอบสำคัญของโครงสร้างพื้นฐานด้าน AI และ Machine Learning ของ Google สามารถเข้าถึงได้ผ่าน Google Cloud TPU, Kaggle และ Google Colaboratory ทำให้นักพัฒนา และองค์กรต่าง ๆ ทั่วโลกสามารถนำเทคโนโลยี AI ที่ทรงพลังนี้ไปประยุกต์ใช้งานได้ง่ายขึ้นนั่นเอง
Google ได้พัฒนา Tensor Processing Unit (TPU) อย่างต่อเนื่องตั้งแต่ปี ค.ศ. 2016 (พ.ศ. 2559) โดยแต่ละรุ่นมีการปรับปรุงด้าน พลังประมวลผล, หน่วยความจำ (RAM) และแบนด์วิดท์ (Bandwidth)โดยมีรุ่นย่อยดังนี้
จากที่เราได้พูดกันไปข้างต้นว่า Tensor Processing Unit (TPU) เป็นชิปที่ถูกออกแบบมาให้รองรับงานด้าน ปัญญาประดิษฐ์ (AI) และ Machine Learning (ML) โดยเฉพาะ ต่างจาก CPU และ GPU ที่เป็นหน่วยประมวลผลทั่วไป หากเปรียบเทียบง่าย ๆ CPU ก็เหมือนกับมีคนงานคนเดียวที่ทำทุกอย่างทีละขั้นตอน ในขณะที่ GPU เหมือนกับมีคนงานหลายคนที่ช่วยกันทำงานหนึ่งประเภทได้เร็วขึ้น แต่ TPU เหมือนกับมีสายการผลิตอัตโนมัติ ที่สามารถทำงานเดียวซ้ำ ๆ ได้เร็วกว่า GPU ไปอีก
โดยขั้นตอนการประมวลผลข้อมูลของ TPU ก็จะมีดังนี้
TPU จะนำข้อมูลที่ได้รับเข้าไปเตรียมความพร้อม
ข้อมูลจะถูกแยกออกเป็นชุดย่อยที่เรียกว่า "เวกเตอร์" เพื่อให้สามารถประมวลผลได้พร้อมกัน
TPU จะทำการ คูณ และบวกค่าอย่างต่อเนื่อง ซึ่งเป็นกระบวนการสำคัญในการฝึก และรันโมเดล AI
หลังจากคำนวณเสร็จแล้ว TPU จะส่งผลลัพธ์กลับไปยังโมเดล AI เพื่อใช้ต่อไป
โดย TPU จะใช้วิธี ประมวลผลแบบขนาน (Parallel Processing) ซึ่งสามารถคำนวณหลาย ๆ อย่างได้พร้อมกัน ไม่เหมือนกับ CPU ที่ต้องทำทีละขั้นตอน หรือแม้แต่ GPU ที่ถึงแม้จะเร็วขึ้น แต่ก็ยังไม่ถูกออกแบบมาให้รองรับ Machine Learning โดยเฉพาะ
นอกจากนี้ TPU ยังใช้ หน่วยความจำที่มีความเร็วสูง และปรับแต่งประสิทธิภาพ ให้เหมาะสมกับงานนั้น ๆได้โดยอัตโนมัติ ตัวอย่างเช่น TPU v5p ของ Google ที่มีแบนด์วิดท์หน่วยความจำสูงถึง 2,765 GB/s ทำให้ประมวลผลข้อมูลได้อย่างรวดเร็วนั่นเอง
ในความเป็นจริงแล้ว หน่วยประมวลผลแต่ละประเภทถูกออกแบบมาให้เหมาะกับงานที่แตกต่างกัน หากเปรียบเทียบง่าย ๆ CPU ก็เหมือนผู้จัดการออฟฟิศ ที่สามารถทำงานได้หลากหลายอย่าง แต่ต้องจัดการทุกอย่างเอง ส่วน GPU ก็เหมือนทีมงานที่ช่วยแบ่งเบาภาระ โดยเฉพาะงานที่ต้องคำนวณเยอะ ๆ แต่ Tensor Processing Unit (TPU) ก็เหมือนกับเครื่องจักรอัตโนมัติในโรงงาน ที่ออกแบบมาเพื่อทำงานเฉพาะด้านไปเลยอย่าง Machine Learning ทำให้ได้งานที่รวดเร็วที่สุด
CPU เป็นหน่วยประมวลผลหลักของคอมพิวเตอร์ที่สามารถจัดการงานได้หลายอย่างพร้อมกัน โดยใช้ หลายคอร์ (Multicore) ในการช่วยประมวลผล ถึงแม้ว่า CPU จะทำงานหลายอย่างได้พร้อมกัน แต่ก็ไม่ได้ถูกออกแบบมาเพื่อการคำนวณทางคณิตศาสตร์ที่ซับซ้อนอย่างต่อเนื่อง จึงไม่เหมาะกับงานที่ต้องใช้พลังประมวลผลสูงเป็นเวลานาน และความเร็วคำนวณก็ไม่ได้สูงด้วย
ภาพจาก : https://moonnote.tistory.com/347
GPU ถูกพัฒนาขึ้นมาให้รองรับการคำนวณด้านกราฟิก และประมวลผลแบบขนาน (Parallel Processing) สามารถคำนวณข้อมูลจำนวนมากได้พร้อม ๆ กัน GPU จึงมีประสิทธิภาพสูงกว่าการใช้ CPU ในงานที่ต้องทำซ้ำ ๆ เช่น เรนเดอร์ภาพ 3 มิติ หรือบางครั้งก็เอาไปฝึกโมเดล Machine Learning ที่ต้องคำนวณข้อมูลจำนวนมหาศาล
ภาพจาก : https://moonnote.tistory.com/347
ในทางกลับกัน TPU เป็นชิปที่ออกแบบมาโดยเฉพาะสำหรับ Machine Learning ซึ่งมีโครงสร้างที่สามารถคำนวณข้อมูลแบบเมทริกซ์ได้อย่างรวดเร็ว และใช้พลังงานน้อยลง ทำให้ TPU เหมาะกับงานที่ต้องการฝึกโมเดล AI ขนาดใหญ่เป็นเวลานาน อย่างเอาไปทำ ระบบแปลภาษา, ระบบแนะนำคอนเทนต์ในสื่อบันเทิง หรือวิเคราะห์ข้อมูลขนาดใหญ่ด้วย AI นั่นเอง
ภาพจาก : https://moonnote.tistory.com/347
โดยสรุป CPU เหมาะกับงานทั่วไปที่ต้องการความยืดหยุ่น, GPU เหมาะกับงานที่ต้องใช้การคำนวณปริมาณมากแต่ไม่เจาะจงที่งาน AI ท้ายที่สุด TPU ก็เหมาะกับงาน Machine Learning ที่ต้องการความเร็ว และประสิทธิภาพสูงสุด ทำให้เราเห็นได้ชัดว่าแต่ละตัวก็มีประโยชน์ และจุดเด่นของมันเอง
หลังจากที่พอทราบเรื่องราวของ Tensor Processing Unit (TPU) กันมาพอสมควรแล้ว เราลองมาดูข้อดี และข้อสังเกตของมันกันบ้างว่ามีอะไรกันบ้าง
สำหรับข้อดีของ TPU นั่นก็คือความเร็ว และประสิทธิภาพที่สูงมากในการประมวลผล Machine Learning (ML) โดยเฉพาะงานด้านโครงข่ายประสาทเทียม (Neural Networks) นั้น TPU ถูกออกแบบมาให้ทำงานได้อย่างมีประสิทธิภาพกว่าทั้ง CPU และ GPU ในการฝึก และรันโมเดล AI ขนาดใหญ่ อีกทั้งยังใช้พลังงานน้อยลง ทำให้เหมาะสำหรับงานที่ต้องใช้การประมวลผลปริมาณมหาศาล
ข้อสังเกต คือ TPU ไม่ได้เหมาะกับทุกงาน เนื่องจากมันถูกออกแบบมาเฉพาะ ML ทำให้ใช้งานทั่วไปไม่ได้ดีเท่า CPU หรือ GPU นอกจากนี้ TPU ส่วนใหญ่ยังต้องใช้ผ่าน Google Cloud ที่อาจมีค่าใช้จ่ายเพิ่มเติม และไม่เหมาะสำหรับนักพัฒนาที่ต้องการติดตั้งฮาร์ดแวร์ไว้ในระบบของตัวเอง
หนึ่งในงานที่ Tensor Processing Unit (TPU) เหมาะสมที่สุดคือ Machine Learning (ML) เนื่องจาก TPU ถูกออกแบบมาให้จัดการกับการคำนวณแบบเมทริกซ์ได้อย่างรวดเร็ว จึงช่วยเร่งการฝึก และรันโมเดล ML ที่ซับซ้อนได้ งานที่ได้รับประโยชน์จาก TPU มีอยู่มากมาย เช่น ประมวลผลภาษาธรรมชาติ (NLP) อย่างแปลภาษา และสร้างข้อความอัตโนมัติ, การจดจำภาพ (Image Recognition) ที่ใช้ในระบบสำหรับค้นหาภาพ และวิเคราะห์วิดีโอ เป็นต้น
ภาพจาก : https://microsoft.github.io/ai-at-edge/docs/ml_process/
อีกหนึ่งการใช้งานสำคัญคือ การประมวลผลบนคลาวด์ (Cloud Computing) โดยมี TPU เป็นหัวใจหลักของ Google Cloud Platform (GCP) สำหรับให้บริการด้าน AI และ Machine Learning ผ่านแพลตฟอร์ม TensorFlow บริษัทต่าง ๆ ใช้ TPU ผ่านคลาวด์ สำหรับงานที่ต้องการพลังประมวลผลสูง เช่น แชทบอท (Chatbots), ระบบแนะนำคอนเทนต์ (Recommendation Engines), AI สร้างภาพ และข้อความ (Generative AI) รวมถึง ประมวลผลภาพอีกด้วย
ภาพจาก : https://www.linkedin.com/pulse/google-cloud-platform-service-naarsoft
โดยสรุปแล้ว Tensor Processing Unit (TPU) เป็นชิปประมวลผลที่ Google ออกแบบมาเพื่อทำงานด้าน Machine Learning (ML) และ AI โดยเฉพาะ ต่างจาก CPU และ GPU ที่ถูกออกแบบมาเพื่อใช้งานทั่วไป TPU สามารถเร่งความเร็วในการฝึก และรันโมเดล AI ได้สูงสุดโดยใช้พลังงานน้อยกว่า ทำให้เป็นองค์ประกอบสำคัญของโครงสร้างพื้นฐานด้าน AI ในปัจจุบัน
ตั้งแต่เปิดตัวครั้งแรกในปี ค.ศ. 2016 (พ.ศ. 2559) TPU ได้รับการพัฒนาอย่างต่อเนื่อง และในปัจจุบัน TPU ก็ถูกนำไปใช้ในหลายแพลตฟอร์ม อย่าง Google Cloud TPU, Kaggle และ Google Colaboratory ที่ช่วยให้นักพัฒนา และองค์กรต่าง ๆ สามารถเข้าถึงเทคโนโลยี AI ที่ทรงพลังได้โดยไม่ต้องลงทุนด้านฮาร์ดแวร์เอง TPU จึงกลายเป็นปัจจัยสำคัญที่ผลักดันที่ช่วยให้ AI และ Machine Learning ก้าวหน้าไปอย่างรวดเร็ว นั่นเอง
|