สาระวันละนิด GPU เนื้อคู่ที่แท้จริงของ Machine Learning

Nattapat Siripin
2 min readMar 20, 2020

--

เนื่องจากในช่วงนี้ต้องทำโปรเจก Deep Learning ส่งอาจารย์และเจอปัญหาทางเทคนิคเกี่ยวกับระยะเวลาในการสอนให้ปัญญาประดิษฐ์ จึงอยากจะมาแบ่งปันความรู้เกี่ยวกับการแก้ปัญหาเรื่องที่เขาใช้กันในโลกของ Data Science ครับ
.
ในช่วงไม่ถึงสิบปีที่ผ่านมานี้ ปัญญาประดิษฐ์มีการพัฒนาอย่างก้าวกระโดดทั้งในด้านของความหลากหลาย ความแม่นและความฉลาด มีการนำปัญญาประดิษฐ์ไปใช้ในหลายๆอุตสาหกรรมอย่างเช่น การแพทย์ การถ่ายภาพ มือถือ การเงิน รวมถึงไป รถยนต์ขับเอง ซึ่งก่อนที่จำนำเหล่า AI ที่สุดแสนฉลาดเหล่านี้ไปใช้งานได้ เราก็จะต้องสอนมันก่อน ซึ่งเป็นหน้าที่ของ Data Scientist และ Machine Learning Engineering ในการสอนเหล่า AI โดยการป้อนข้อมูลให้กับเหล่า AI ไปเรือยๆจนถึงจุดที่มันฉลาดพอที่จะนำมาใช้งานได้ แต่ประเด็นมันก็อยู่ตรงนี้แหละ เพราะการที่จะทำให้ AI มันฉลาดได้มันก็มาจากสองปัจจัยคือ 1. ขนาดของข้อมูลต้องใหญ่พอ (ใหญ่คือมันใหญ่จริงๆนะหลักแสน หลักล้าน หลักสิบล้านข้อมูล จินาการง่ายๆคือ row นั้นแหละ และอันนี้ยังไม่นับจำนวนของ column นะ) 2. ใช้โมเดลที่ซับซ้อนขึ้น หลายขั้นหลายตอนในการคำนวนนุ่นนี่นั่นเยอะแยะไปหมด
.
จากสองปัจจัยที่กล่าวมาข้างต้นก็ส่งผลถึงระยะเวลาในการสอน AI ที่นานแสนนานถ้าเราสอน AI โดยใช้ระบบประมวลผลปกติของ Computer ซึ่งก็คือ CPU (นานคือนานจริงๆนะ เป็นวัน เป็นอาทิตย์ เป็นเดือน) จากปัญหานี้จึงได้มีการหาอุปกรณ์ซึ่งช่วยเพิ่มความเร็วการสอน AI (เพิ่มความเร็วในการคำนวน) ซึ่งในที่สุดเนื้อคู่ของ AI ก็ได้ปรากฏตัวได้แก่ GPU หรือภาษาบ้านๆเราก็เรียกว่า “การ์ดจอ” นั่นแหละ เนื่องด้วย GPU มีแนวคิดในการออกแบบซึ่งสามารถคำนวนตัวเลขหลายๆตัว หรือหลายๆชุดได้ในเวลาเดียวกัน (Parallel) ดังนั้นจึงเหมาะสมกับการนำมาใช้คำนวนการประมวลผลในการสอน AI เป็นอย่างมาก ถ้าเปรียบเทียบง่ายๆคือ CPU นั้นเวลาคำนวนน้ั้นเหมือนเราใช้เครื่องคิดเลขคิดทีไล่บวกเลขทีละคู่ แต่ GPU นั้นเหมือนเราใช้ Excel คำนวนและผูกสูตรแล้วลากก็ได้คำตอบมาทั้งแถวแล้ว
.
ดังนั้นจึงไม่น่าแปลกใจที่ Platform ที่ใช้ train AI ในสมัยใหม่อย่างเช่น Google Colab มักจะมีออฟชั่นให้ Run โดยใช้ GPU มาให้เราได้เลือกใช้ อย่างไรก็ตามในคอมปกติที่เราไม่มีการ์ดจอให้เอามารันข้อมูลแบบนี้ (อันนี้หมายถึง Notebook นะคอมปกติผมไ่ม่รู้ว่าสามารถใช้การ์ดจอในตัวคอมรันได้หรือเปล่า) ดังนั้นถ้าเราต้องการที่จะใช้ GPU สอน AI จึงจำเป็นต้องซื้อ GPU แยกมาซึ่งราคาโครตแพง! ซึ่งเอาจริงๆถ้าที่บริษัทที่ GPU ให้ก็ดีแต่ถึงไม่มีก็สามารถใช้ Platform ที่มีผู้พัฒนาหลายๆเจ้า Provide ให้ใช้ซึ่งก็มีทั้งฟรีและเสียตัง (Google Colab, AWS, etc) และจากความสามารถของ GPU นี้ ในปัจจุบันหลายๆบริษัทจึงให้ความสำคัญของการพัฒนา AI ทั้งในด้าน Software และ Hardware ก็จึงได้ให้ความสำคัญกับ GPU เป็นอย่างมาก โดยในรถ Tesla เพื่อที่จะเร่งความเร็วในการประมวลผลของระบบรถยนต์ขับอัตโนมัติก็ได้ร่วมมือกับ Nvidia ออกแบบ GPUs เพราะเอามาใช้ในระบบการประมวบผล AI ของรถ Tesla โดยเฉพาะ
.
สำหรับในอนาคตอันใกล้ สิ่งที่จะสามารถมาสร้างการเปลี่ยนแปลงในคลื่นลูกใหม่ของวงการ AI ได้นั่นก็คือ Quantum Computer ซึ่งเร็วกว่าการประมวลผลแบบนี้ไม่รู้จะกี่ล้านเท่า ซึ่งถ้าในวันนั้นมาถึงและมีการเปิดให้ใช้ Cloud ของ Quantum Computer อย่าง Commercial และข้อจำกัดด้านต่างๆของ Quantum ถูกแก้ไขได้อย่างเช่น Quantum Computer ไม่สามารถรันบน Classical Algorithm ได้ เมือวันนั้นมาถึงภาพของโลกอนาคตจะต้องเปลี่ยนไปอย่างสิ้นเชิง AI จะฉลาดจนเราไม่อาจจะจินตนาการถึงได้ และก็สามารถที่จะสร้างประโยชน์โดยรวมให้กับมวลมนุษย์ชาติได้อย่างใหญ่หลวงเช่นเดียวกัน
.
สุดท้ายนี้สำหรับเพือนๆคนไหนที่ทำโมเดล Machine Learning บน Google Colab หรือ Platform อื่นๆเวลาสอน AI ก็อย่าลืมเลือก Option ให้มันรันด้วย GPU ละไม่งั้นจะเสียเวลาชีวิตไปสะเปล่าๆ จบสาระวันละนิด ถ้ามีข้อมูลส่วนไหนผิดพลาดประการใดก็ขออภัยครับ ติชมได้เต็มที่นะครับ

--

--

Nattapat Siripin
Nattapat Siripin

Written by Nattapat Siripin

Assistant fund manager, Data Scientist, Project Manager, and Startup Co Founder

No responses yet