ข้ามไปที่เนื้อหาหลัก

อะไรคือ NPU (Neural Processing Unit) มีความสำคัญอย่างไร แนวคิดมาจากไหน



ความหมาของคำว่า NPU (Neural Processing Unit) 

NPU (Neural Processing Unit) คือ หน่วยประมวลผลโครงข่ายประสาทที่สร้างมาเพื่อใช้งานด้านปัญญาประดิษฐ์ เป็นหน่วยประมวลผลพิเศษที่ออกแบบมาเพื่อใช้ในแนวคิดของการเรียนรู้ของเครื่อง (Machine Learning) ของคอมพิวเตอร์โดยเฉพาะ ทำให้การประมวลผล AI ทรงประสิทธิภาพเพิ่มขึ้นจากเดิมของ TPU GPU และ CPU เช่น การจดจำภาพ, วิเคราะห์เสียง, หรือการแปลภาษา ทำได้รวดเร็วและประหยัดพลังงานกว่า CPU/GPU ทั่วไป โดยทำงานคล้ายโครงข่ายประสาทของมนุษย์ และพบได้ทั้งในสมาร์ตโฟน, คอมพิวเตอร์ (PC), และอุปกรณ์ AI อื่นๆ ในอนาคต เพื่อเร่งความเร็วของการทำงานของ AI สามารถจัดการงานและปัญหาที่ซับซ้อนได้อย่างมีประสิทธิภาพ 


ประวัติความเป็นมาของ NPU (Neural Processing Unit) 

ตั้งแต่ปี 1970 เป็นต้นมาเราได้ใช้เริ่มมีการใช้หน่วยการประมวลผลแบบดั้งเดิม คือ หน่วยประมวลผลกลาง (CPU) ถือเป็น "สมอง" และเป็นกลไกการทำงานของคอมพิวเตอร์ ดังนั้นซีพียู CPU ประมวลผลงานคำนวณแบบดั้งเดิมส่วนใหญ่มีหน้าที่รับผิดชอบการทำงานของแอปพลิเคชันให้มีศักยภาพหลากหลายเพิ่มมาเรื่อย แม้ว่าจะมีหลายประเภท แต่โดยทั่วไปแล้ว CPU ทุกตัวจะดำเนินการตามลำดับเชิงเส้น โดยตอบสนองต่อคำขอตามลำดับที่เข้ามา 

จนถึงตั้งแต่ช่วงทศวรรษ 1950 ถึงทศวรรษ 1990 เริ่มมีการใช้หน่วยประมวลผลกลาง (CPU) เพื่อรับภาระหนักที่สุดในการประมวลผลคอมพิวเตอร์แทบทั้งหมด โดยทำหน้าที่ประมวลผลคำสั่งเพื่อเรียกใช้โปรแกรม ควบคุมระบบ และจัดการอินพุต/เอาต์พุต (I/O)


เมื่อมาเจอปัญหาว่า แอปพลิเคชันที่ต้องการประสิทธิภาพสูงมักผลักดันการออกแบบ CPU รุ่นแล้วรุ่นเล่าให้ถึงขีดจำกัดของฮาร์ดแวร์ ทำให้เกิดความล่าช้าอย่างมากหรือแม้กระทั่งระบบล้มเหลวก็ตาม จนถึงกำเนิดของเกมคอมพิวเตอร์ส่วนบุคคล และการออกแบบโดยใช้คอมพิวเตอร์ช่วย (CAD) ดังนั้นในช่วงทศวรรษ 1980 อุตสาหกรรมจึงต้องการโซลูชันที่เร็วและมีประสิทธิภาพมากขึ้นสำหรับการแสดงผลกราฟิกคอมพิวเตอร์ 


หน่วยประมวลผลกราฟิก (GPU)ถูกสร้างขึ้นมาในตอนแรกเพื่อลดภาระงานประมวลผลภาพที่ต้องการประสิทธิภาพสูงจาก CPU หลัก โดยทั่วไปแล้ว GPU จะใช้คอร์จำนวนน้อยกว่าในการประมวลผลแบบเชิงเส้น แต่ GPU มีคอร์หลายร้อยถึงหลายพันคอร์ที่มีความสามารถในการประมวลผลแบบขนาน ซึ่งเป็นกระบวนการที่งานขนาดใหญ่ถูกแบ่งออกเป็นปัญหาเล็กๆ ที่สามารถแก้ไขได้พร้อมกันโดยโปรเซสเซอร์และ/หรือคอร์หลายตัว 


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


จนมาถึงยุคของปัญญาประดิษฐ์จึงได้เกิดแนวคิดของการสร้างหน่วยประมวลผลที่รองรับการทำงานแบบโครงข่ายสมอง ทำให้เกิด NPU และตัวเร่งความเร็ว AI อื่นๆ นำเสนอทางเลือกที่มีประสิทธิภาพมากกว่า โดยการนำเอาความสามารถในการประมวลผลแบบขนานขั้นสูงของ GPU มาปรับปรุงและพัฒนาให้ดียิ่งขึ้น NPU ที่ออกแบบมาโดยเฉพาะสำหรับการประมวลผล AI จึงให้ประสิทธิภาพสูงด้วยการใช้พลังงานที่ต่ำกว่า (และข้อดีเพิ่มเติมคือขนาดที่เล็กกว่า)


หน้าที่หลักของ NPU (Neural Processing Unit) 

  • เร่งความเร็ว AI จัดการงานที่ซับซ้อนของ AI อย่างการคำนวณเวกเตอร์และเทนเซอร์ได้อย่างมีประสิทธิภาพ
  • ประมวลผลบนอุปกรณ์ (On-Device AI): ทำงาน AI ได้โดยตรงบนเครื่องโดยไม่ต้องส่งข้อมูลไปประมวลผลบนคลาวด์ (Cloud) ทำให้เร็วขึ้นและเป็นส่วนตัวมากขึ้น

คุณสมบัติเด่นของ NPU (Neural Processing Unit) 

 NPU (Neural Processing Unit) เหมาะกับงานที่ต้องใช้การประมวลผลแบบ Parallel และมีความหน่วงต่ำ เช่น การประมวลผลอัลกอริทึ่ม, ภาษาธรรมชาติ, ภาพ, วิดีโอ, การจดจำเสียงพูด และ การตรวจจับวัตถุ โดยคุณสมบัติเด่นๆ ของมัน หลักๆ แล้ว ก็ คือ

การประมวลผลแบบ Parallel ของ NPU (Neural Processing Unit)

  • สามารถแตกโจทย์ปัญหาขนาดใหญ่ ออกเป็นส่วนเล็กๆ แยกจากกัน เพื่อจะได้แก้ไขไปพร้อมๆ กัน แบบ Multitask ได้
  • Low Precision Arithmetic Neural Processor Unit รองรับการประมวลผลแบบ 8-bit หรือต่ำกว่านั้น เพื่อลดทอนความซับซ้อน และเสริมความประหยัดพลังงาน
  • High-bandwidth NPU ส่วนใหญ่จะมีหน่วยความจำแบนด์วิดสูงแบบ on-chip ซึ่งส่งเสริมการทำงานด้าน AI ที่ต้องการชุดข้อมูลจำนวนมากได้อย่างดี
  • เสริมการใช้งาน Hardware NPU รุ่นใหม่ๆ มักจะมีการออกแบบโดยเสริมเทคนิค Hardware Acceleration เข้ามาด้วย เช่น สถาปัตกรรมแบบ Systolic Array หรือ การพัฒนา Tensor Processing Module

เครื่องมือและอุปกรณ์ที่ใช้ NPU (Neural Processing Unit)

  • สมาร์ตโฟน: ชิป Apple A-series, Qualcomm Snapdragon, Kirin.
  • คอมพิวเตอร์ (PC): ชิป Intel Core Ultra, AMD Ryzen.
  • รถยนต์ไร้คนขับ: ช่วยประมวลผลการมองเห็นและเซ็นเซอร์.
  • อุปกรณ์ IoT: กล้องอัจฉริยะ, อุปกรณ์บ้านอัจฉริยะ

สถาปัตยกรรมของ NPU (Neural Processing Unit)

สถาปัตยกรรม NPU  (Neural Processing Unit)

  1. Multiply-Accumulate Module โมดูลสำหรับระบบคำนวณ
  2. Activation Function Module คือ ฟังก์ชันที่รับผลรวมการประมวลผลทั้งหมด จากทุก Input ภายใน 1 นิวรอน แล้วพิจารณาว่าจะส่งต่อเป็น Output เท่าไร เป็นการเปรียบเทียบกับความถี่ของสัญญาณประสาท Output 
  3. 2D Data Manipulation Module หมายถึง โมดูล (หน่วยย่อย) สำหรับ จัดการข้อมูลในรูปแบบสองมิติ โดยมักจะเกี่ยวข้องกับการประมวลผลข้อมูลที่จัดเรียงในลักษณะตารางหรือเมทริกซ์ ซึ่งเป็นพื้นฐานสำคัญในการพัฒนาด้านต่างๆ เช่น การประมวลผลภาพ การสร้างโมเดลทางสถิติ และการเข้ารหัสซอฟต์แวร์ขั้นสูง โดยมีเครื่องมือและภาษาต่างๆ เช่น SQL สำหรับฐานข้อมูล หรือ Python สำหรับการเขียนโค้ดจัดการ Array 2D
  4. Data Compression and Decompression Module โมดูลการบีบอัดข้อมูล
  5. Tensor Acceleration Unit โมดูลสำหรับการคำนวณ Tensor ของปัญญาประดิษฐ์ หรือ AI 

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Anvil แฟลต์ฟอร์ม สำหรับ Python Full Stack มีครบ จบในเครื่องมือเดียว

Anvil แฟลต์ฟอร์ม สำหรับ Python Full Stack มีครบ จบในเครื่องมือเดียว Avil เป็นแฟลต์ฟอร์มสำหรับสร้างเว็บแอพลิเคชั่น ด้วยภาษา python สามารถใช้งานทั้ง HTML CSS JavaScript SQL ทั้งหมดนี้รวมในเครื่องมือที่ชื่อว่า Anvil Python ใช้สำหรับรันบนบราวเซอร์ เซอร์เวิรส์ และสร้าง UI ด้วยวิธีการ Drag-and-Drop เพียงลากวาง UK และยังสามารถเชื่อมต่อและใช้งาน Database  และยังสามารถ Integration กับแฟลต์ฟอร์มอื่นๆ ได้อีกด้วย โครงสร้างของ Anvil  การออกแบบง่ายๆ ด้วย drag-and-drop ใช้ python เป็น client-side และรันบน บราวเซอร์ Server-side รันบน Anvil Server สามารถใช้ Database ต่างๆ เพื่อเก็บข้อมูล สามารถรัน python บนเครื่องและตอบโต้กับแอปพลิเคขั่นไดด้

TomCat สำหรับติดตั้ง แก้ไข คอนฟิก ใช้งาน JSP

Apache Tomcat เป็น  HTTP Server ที่มีความสามารถนำภาษาจาวามาใช้งานได้  สามารถใช้เทคโนโลยีของภาษาจาวาที่เรียกว่า Java Servlet  และ Java Server Page (JSP)  Tomcat เป็นโปรแกรม Open-Source  อยู่ภายใต้การดูแลของ Apache Software Foundation  (ซึ่งเป็นผู้สร้าง Apache HTTP Server ที่เป็นที่นิยมใช้กันอย่างแพร่หลาย)  สามารถอ่านรายละเอียดของ Tomcat ได้ที่  http://tomcat.apache.org  โดยเลือกหัวข้อ “ Documentation”  และเลือก “Tomcat 7.0” ขั้นตอนการติดตั้ง Tomcat เรียงลำดับดังนี้

Layer of AI การแบ่งชั้นของ AI เพื่อการพัฒนาซอฟต์แวร์ กระกบวนการ และผลิตภัณฑ์ด้านปัญญาประดิษฐ์

  Layers of AI (โครงสร้างชั้นของระบบ AI แบบเข้าใจง่าย) โดยทั่วไป AI จะถูกออกแบบเป็น “หลายชั้น (Layers)” ไล่จากล่างขึ้นบน คล้ายสแตกเทคโนโลยี เพื่อง่ายและสะดวกในการเรียนรู้และจัดการ ดังนั้นการสร้างเป็นชั้นๆ สแตกเหล่านี้ยังสามารถนำไปใช้เป็นแนวทางเริ่มต้นในการออกแบบกระบวนการพัฒนาซอฟต์แวร์ ทีมงาน หรือหน่วยธุรกิจต่อได้เป็นอย่างดี  Data Layer ฐานรากของ AI ในส่วนของข้อมูลสำหรับใช้งานด้านปัญญาประดิษฐ์ หรือ AI ข้อมูลดิบ (Text, Image, Audio, Video, Sensor, Logs) Data Lake / Data Warehouse  ข้อที่ 1 สำหรับนิยามของคำว่า  Data Lake คือ พื้นที่เก็บข้อมูลส่วนกลางขนาดใหญ่ที่รวบรวมข้อมูลดิบ (Raw Data) จากหลากหลายแหล่งและทุกรูปแบบ (มีโครงสร้าง, กึ่งมีโครงสร้าง, ไม่มีโครงสร้าง) โดยเก็บข้อมูลตามสภาพเดิม โดยไม่ต้องกำหนดโครงสร้างหรือแปลงข้อมูลก่อน ทำให้มีความยืดหยุ่นสูง รองรับการวิเคราะห์ขั้นสูง เช่น Big Data, Machine Learning, และการสร้าง Dashboard เพื่อการตัดสินใจที่ดีขึ้น ข้อที่ 2 เป็นนิยามของ  Data Warehouse (คลังข้อมูล) คือระบบฐานข้อมูลกลางขนาดใหญ่ที่รวบรวม จัดเก็บ และจัด...