Table of Contents | ||||||||
---|---|---|---|---|---|---|---|---|
|
Tip |
---|
บทความนี้เขียนขึ้นโดยมีสมมุติฐานว่าท่านมีประสบการณ์การใช้งาน HPC cluster มาก่อน เช่น TARA มาก่อน TARA และควรมีประสบการณ์ดังต่อไปนี้และควรมีชุดประสบการณ์ดังต่อไปนี้ |
- เข้าใจความแตกต่าง และวัตถุประสงค์การใช้งานเบื้องต้นของ frontend-node และ compute-node อ่านเพิ่มเติม
- ส่วนสำคัญคือ ท่านทราบว่าไม่สามารถ download ใด ๆ ได้ใน compute node ต้อง pre-download files ที่ Frontend-node เท่านั้น
- สามารถรัน batch job บน HPC cluster โดยใช้คำสั่ง sbatch ตามด้วย Slurm script ได้ อ่านเพิ่มเติม
- ทำการติดตั้งและ activate conda environment ใน home หรือ project directory ของท่านบน HPC cluster ได้ อ่านเพิ่มเติม
- มีความเข้าใจในโปรแกรมที่ท่านกำลังใช้งานอยู่เป็นอย่างดี
Info |
---|
บทความนี้แบ่งเนื้อหาเป็นสามส่วนหลัก คือ
ซึ่งท่านสามารถดูภาพรวมเนื้อหาได้จาก Table of Contents ด้านล่างนี้ เพื่อประโยชน์ในการไปดูส่วนที่สนใจได้ทันที ตัวอย่างทั้งหมดได้ผ่านการทดลองบน TARA แล้วทั้งสิ้น |
...
Table of Contents | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
เกริ่นนำ
โดยทั่วไปแล้วมีเพียงสองเหตุผลที่ทำให้เราต้องการใช้ multiple GPUs ในการเทรน neural networks:
...
SPMD หรือที่ย่อมาจาก Single-Program, Multiple Data คือไอเดียที่ว่า “โมเดล” จะถูกทำสำเนาเก็บไว้ที่ GPUs ทุกตัวที่จะใช้ และข้อมูลที่จะใช้กับโมเดลดังกล่าวก็จะถูกแบ่งออกเป็นจำนวนเท่า ๆ กันสำหรับแต่ละ GPUs เมื่อ gradients ถูกคำนวนจากทุก ถูกคำนวณจากทุก GPUs แล้วจะนำมารวมกันเพื่อหาค่าเฉลี่ย และค่า weights ก็จะถูกอัพเดททั้งชุดผ่าน gradient all-reduced โดยที่กระบวนการนี้จะถูกทำซ้ำด้วย mini-batches ชุดใหม่ที่ถูกส่งเข้า GPUs แต่ละตัวอีกครั้งหนึ่ง
...