วันนี้ เวลา 02:09 • ธุรกิจ

10 ปีที่ขาดทุน! ทำไม Nvidia ถึงยอมเดิมพันหมดหน้าตักกับ CUDA?

คนทำงานสายเทคหรือคนที่เคยเขียนสคริปต์ Python น่าจะเคยพิมพ์คำๆ นึงลงไปโดยไม่ได้คิดอะไรมาก คำนั้นคือ “CUDA”
รู้มั๊ยว่าไอ้คำสั้นๆ แค่นี้แหละ คือรากฐานความยิ่งใหญ่ของ AI ที่กำลังพลิกโฉมโลกเราอยู่ในตอนนี้เลยก็ว่าได้ เพราะแทบทุกเฟรมเวิร์กระดับท็อปล้วนถูกสร้างขึ้นบนสิ่งนี้
…
ย้อนกลับไปช่วงซัมเมอร์ปี 2024 มีโปรแกรมเมอร์หัวใสชื่อ Andrzej Janik ค้นพบช่องโหว่ที่จะก้าวข้ามกำแพงยักษ์ของวงการนี้
เขาเขียนโค้ดที่เอาโปรแกรมซึ่งถูกสร้างมาเพื่อการ์ดจอของค่ายแชมป์อย่าง Nvidia ไปรันบนการ์ดจอของค่ายคู่แข่งได้หน้าตาเฉย
แต่ไอ้โค้ดเจ้ากรรมนี้ดันอยู่ได้ไม่นาน จู่ๆ เขาก็ดึงโค้ดทั้งหมดออกจาก GitHub แล้วทิ้งข้อความปริศนาเอาไว้ว่า โค้ดถูกนำออกตามคำขอของ AMD…
เรื่องนี้มันมีความซับซ้อนซ่อนอยู่ เพราะซอฟต์แวร์ที่เขากำลังแปลข้ามค่ายนั้น จุดเริ่มต้นไม่ได้ถูกสร้างมาเพื่อ AI ตั้งแต่แรกเลย
มันเป็นแค่ของแถมฟรีที่ติดมากับการ์ดจอเล่นเกมเท่านั้น เป็นของแถมที่ซีอีโอเคยบ่นว่า ทำให้ต้นทุนชิปพุ่งสูงขึ้นถึงครึ่งหนึ่ง
แล้วอะไรคือจุดเปลี่ยนที่ทำให้ฟีเจอร์ที่ไม่มีลูกค้าคนไหนอยากได้ กลายมาเป็นกระดูกสันหลังของอุตสาหกรรมเทคที่โลกขาดไม่ได้
…
เราต้องย้อนเวลากลับไปช่วงต้นยุค 2000s สมัยนั้นคอมพิวเตอร์ยังมีหน้าที่แบ่งแยกกันชัดเจน CPU คือสมองหลักที่ใช้คิดเลขและประมวลผลทั่วไป…
ส่วนการ์ดจอหรือ GPU มีหน้าที่เพียงอย่างเดียวที่น่าเบื่อสุดๆ นั่นคือการสาดสีลงบนพิกเซลบนหน้าจอให้เราเห็นภาพลื่นไหล
วิธีที่การ์ดจอทำงานได้เร็วขนาดนั้น คือการเอาโปรแกรมเล็กๆ ตัวเดียวกัน ไปรันบนทุกพิกเซลพร้อมๆ กันในเสี้ยววินาที
พอนักวิจัยหัวใสบางคนเห็นกระบวนการนี้ พวกเขาไม่ได้มองแค่อุปกรณ์วาดภาพ แต่เห็นซูเปอร์คอมพิวเตอร์ซ่อนตัวอยู่
ลองคิดดูว่าถ้าการ์ดจอรันโปรแกรมเป็นล้านๆ ไปพร้อมกันได้ ทำไมเราต้องจำกัดให้มันคิดแค่เรื่องสี ทำไมไม่ให้มันคิดสมการคณิตศาสตร์ยากๆ ไปเลย
แต่ปัญหาคือ การ์ดจอยุคนั้นพูดได้แต่ภาษาภาพกราฟิก มันไม่เข้าใจภาษาคณิตศาสตร์ นักวิจัยเลยต้องใช้ทริกแปลกๆ ในการคุยกับมัน…
พวกเขาเอาตัวเลขไปซ่อนไว้ใน Texture ทำตัวเนียนเหมือนว่าตัวเลขพวกนั้นเป็นแค่รูปภาพ แล้วเขียนสมการลงไปใน Shader ที่ปกติใช้คำนวณแสงเงา
จากนั้นก็สั่งให้การ์ดจอวาดรูปสี่เหลี่ยมผืนผ้าขึ้นมา สุดท้ายก็ไปดึงเอาคำตอบที่ได้ออกมาจากภาพนั้น ซึ่งฟังดูฉลาดแต่มันคือฝันร้ายของคนเขียนโค้ด
การจะเขียนโค้ดแบบนี้มันยุ่งยากแสนสาหัส จะใช้คำสั่งเงื่อนไขง่ายๆ เครื่องก็ทำงานช้าลงอย่างเห็นได้ชัด การเขียนคำสั่งพื้นฐานกลายเป็นเรื่องที่โคตรจะลำบาก
Ian Buck คือนักศึกษาที่ Stanford ที่ต้องทนทุกข์กับกระบวนการนี้ เขาเคยผ่านงานกับบริษัทระดับโลก เคยพัฒนาเกม Age of Empires มาก่อน
เขามองเห็นปัญหาทะลุปรุโปร่ง เขาบอกว่าในยุคนั้น คนที่จะแปลงแอปพลิเคชันไปรันบน GPU ได้ ต้องเรียนจบปริญญาเอกด้านคอมพิวเตอร์กราฟิกเท่านั้น
เขาต้องการทำลายกำแพงนี้ทิ้ง Ian Buck และเพื่อนอีกหกคนที่ Stanford เลยร่วมกันเขียนภาษาคอมพิวเตอร์ตัวใหม่ชื่อว่า Brooke…
หน้าตามันคล้ายภาษา C ทั่วไป แต่มันฉลาดพอที่จะเอาความยุ่งยากไปซ่อนไว้เบื้องหลัง โปรแกรมเมอร์แค่เขียนฟังก์ชันตามปกติ
แล้ว Brooke จะจัดการแปลงโค้ดพวกนั้นให้กลายเป็น Shader และ Texture เพื่อหลอกการ์ดจอให้เอง พอเปิดตัวในปี 2004 ผลลัพธ์ที่ได้น่าทึ่งมาก
ในงานบางประเภท มันประมวลผลได้เร็วกว่า CPU ทั่วไปถึงเจ็ดเท่า แต่สุดท้าย Brook ก็ไปชนเพดาน เพราะข้อจำกัดของฮาร์ดแวร์
ไม่ว่าจะเขียนภาษาครอบไว้ดีแค่ไหน ข้างในก็ยังเป็นแค่การ์ดจอวาดภาพ ไม่มีภาษาไหนที่จะซ่อนข้อจำกัดนี้ได้ตลอดไป
ทางเดียวที่จะไปต่อได้ คือต้องมีใครซักคนกล้าพอที่จะรื้อโครงสร้างชิปใหม่ทั้งหมด และคนคนนั้นก็ซุ่มทำงานอยู่ภายใน Nvidia…
ตั้งแต่ช่วงปี 2002 มีทีมลับกำลังออกแบบชิปสถาปัตยกรรมใหม่ ใช้เวลา 4 ปีในการขยายทีมจาก 10 คน กลายเป็น 300 คน
ชิปตัวใหม่นี้ถูกรื้อใหม่ให้กลายเป็นกลุ่มหน่วยประมวลผลขนาดเล็กจำนวนมหาศาล ที่สามารถสลับไปรับหน้าที่อะไรก็ได้
ในทางทฤษฎี กลุ่มหน่วยประมวลผลเล็กๆ ที่ทำงานเหมือนกันพร้อมกันจำนวนมาก แท้จริงแล้วมันก็คือ Parallel Computer ดีๆ นี่เอง
ปี 2003 Nvidia ดึงตัว John Nichols ชายผู้เคยก่อตั้งบริษัทสร้างเครื่องประมวลผลแบบขนานในยุค 80s เข้ามาคุมโปรเจกต์
เขาได้โอกาสเอาไอเดียเก่าที่เคยล้มเหลว มายัดใส่ไว้ในโปรดักต์ที่เกมเมอร์ทั่วโลกต้องควักเงินซื้อ…
ไม่นานหลังจากนั้น Ian Buck ก็กลับมาทำงานที่ Nvidia ทีมงานเปลี่ยนแผนกลับไปใช้ภาษา C ซึ่งเป็นมาตรฐานที่คนคุ้นเคย แล้วเพิ่มคีย์เวิร์ดเฉพาะเข้าไปอีกนิดหน่อย
และด้วยความที่สร้างขึ้นใต้ชายคาเดียวกัน พวกเขาจึงปรับแต่งให้มันเข้าขากันได้อย่างสมบูรณ์แบบ
ทีมงานยังตั้งทีมที่สองขึ้นมาแบบเงียบๆ รับหน้าที่เขียนสมการคณิตศาสตร์ที่ปรับแต่งมาอย่างประณีตสำหรับชิปของ Nvidia โดยเฉพาะ เพื่อให้โปรแกรมเมอร์ทั่วไปสามารถเรียกใช้งานสมการยากๆ ได้เลย โดยไม่ต้องมานั่งเขียนโค้ดระดับฮาร์ดแวร์เองให้ปวดหัว
เดือนพฤศจิกายน 2006 ชิปสถาปัตยกรรมใหม่นี้ก็ถูกวางขาย โดยซ่อนตัวอยู่ใน GeForce 8800 การ์ดจอระดับไฮเอนด์
วันเดียวกันนั้น Nvidia ปล่อยข่าวประชาสัมพันธ์ว่าการปฏิวัติการประมวลผลด้วย GPU เริ่มต้นขึ้นแล้ว ซอฟต์แวร์ตัวนั้นถูกตั้งชื่อว่า “CUDA”
ตอนแรกมันมีคนใช้อยู่แค่กลุ่มเล็กๆ มันน่าจะจบลงแค่นั้น ถ้า Jensen Huang ซีอีโอของ Nvidia ไม่ตัดสินใจผลักดันมันแบบหมดหน้าตัก…
เขาประกาศกร้าวว่า “CUDA” จะต้องไม่เป็นแค่ของเล่นในห้องแล็บ แต่มันจะต้องถูกติดตั้งลงในการ์ดจอ GeForce ทุกตัวที่ขาย
คิดดูว่าคนทั่วไปซื้อการ์ดจอไปเล่นเกม แต่ต้องจ่ายเงินซื้อฟีเจอร์คำนวณระดับซูเปอร์คอมพิวเตอร์ที่ไม่มีวันได้เปิดใช้
ต้นทุนชิปพุ่งสูงขึ้น 50% ภาระนี้ตกหนักที่บริษัท ซึ่งปกติก็มีกำไรไม่ได้สูงมากอยู่แล้ว ทีมงานเลยต้องวิ่งหาคนมาใช้งานให้เร็วที่สุด
ซอฟต์แวร์ถูกปล่อยให้ใช้ฟรีในปี 2007 กลุ่มแรกที่กระโดดเข้าใส่คือนักวิทยาศาสตร์ มหาวิทยาลัย Stanford ใช้มันกับโปรเจกต์วิจัยโครงสร้างโปรตีน
ผลคือการ์ดจอแค่ 11,000 ตัว ทำงานได้เท่ากับ CPU ทั่วไปถึง 200,000 ตัว แต่นักวิทยาศาสตร์ก็ไม่มีงบมาเหมาซื้อการ์ดจอล็อตใหญ่อยู่ดี…
สถานการณ์แย่ลงไปอีกในปี 2008 เมื่อเกิดปัญหาชิปสำหรับแล็ปท็อปมีตำหนิ บริษัทต้องตั้งสำรองความเสียหายเกือบ 200 ล้านดอลลาร์
ประกอบกับวิกฤตเศรษฐกิจ ทำให้ตลาดพีซีซบเซาหนัก หุ้นร่วงกราว พนักงานหลายร้อยชีวิตตกงาน
แต่เรื่องตลกคือ ท่ามกลางวิกฤตนี้ ไม่มีนักวิเคราะห์คนไหนออกมาด่าเรื่องการผลาญเงินไปกับ “CUDA” เลย เพราะพวกเขาไม่รู้ด้วยซ้ำว่ามีโปรเจกต์นี้อยู่
ช่วงเวลานั้น ภัยคุกคามที่น่ากลัวกว่าก็ก่อตัวขึ้น Apple ได้ร่างมาตรฐานการเขียนโปรแกรมแบบเปิดที่ชื่อ Open CL ขึ้นมา
มันทำหน้าที่เหมือน “CUDA” ทุกอย่าง แต่รันบนการ์ดจอค่ายไหนก็ได้ AMD เอาด้วย Intel เอาด้วย แม้แต่ Nvidia ก็ยังต้องเข้าร่วม
ตามประวัติศาสตร์เทค ฝั่งที่เป็นมาตรฐานเปิดมักจะชนะเสมอ แต่ Jensen Huang ก็ยังดื้อดึงที่จะอัดฉีดเงินให้ภาษาเฉพาะถิ่นของเขาต่อไป…
ปี 2009 ปาฏิหาริย์ก็เกิดขึ้น ที่ Stanford กลุ่มวิจัยของ Andrew Ng ทดลองเอา AI ไปรันบนการ์ดจอเล่นเกมตัวเดียวโดยใช้ “CUDA”
งานที่เคยรันบน CPU เป็นสัปดาห์ ใช้เวลาเสร็จภายในวันเดียว แล้วบิดาแห่งวงการ AI อย่าง Geoffrey Hinton ก็บอกให้นักวิจัยไปซื้อ GPU มาใช้
ต่อมา Alex Krizhevsky ลูกศิษย์ของ Geoffrey Hinton ใช้คอมในห้องนอนที่มีการ์ดจอเล่นเกมสองตัว มาเทรนโมเดล AI
เขาแบ่งโมเดลครึ่งหนึ่ง ใส่การ์ดจอตัวละฝั่ง แล้วเขียนโค้ด “CUDA” ด้วยมือตัวเอง ผลปรากฏว่าโมเดลเขาทำผลงานถล่มทลายในการแข่งขัน
วินาทีนั้น ทุกแล็บวิจัยในโลกต้องการในสิ่งที่ Alex มีอยู่ในห้องนอน แต่น่าตลกตรงที่ภายใน Nvidia เอง กลับไม่มีใครทำเรื่อง AI เลย…
จนกระทั่งนักวิจัยไปช่วยงานแล็บที่ Stanford ถึงรู้ว่าตัวเองมีของดี พอผู้บริหารรู้เรื่อง Nvidia ก็ประกาศตัวเปลี่ยนทิศทางเข้าสู่โลก AI ทันที
ทีมที่ซุ่มเขียนไลบรารีเงียบๆ ก็เอาสมการที่วงการ AI ต้องใช้ มาจูนเข้ากับชิปบริษัท แล้วปล่อยออกมาภายใต้ชื่อ cuDNN
หลังจากนั้นบรรดาคนที่สร้างเฟรมเวิร์ก AI ต่างพากันเลิกเขียนโค้ดหลังบ้านเอง หันมาใช้ของ Nvidia ที่ฟรีและเร็วกว่า
พอเฟรมเวิร์กดังๆ ถือกำเนิด โครงสร้างก็ซ้อนกันเป็นชั้นๆ คนรุ่นใหม่แค่พิมพ์คำว่า “CUDA” ลงไป โดยไม่ต้องรู้เลยว่าข้างล่างทำงานยังไง
มาตรฐานเปิดอย่าง Open CL สุดท้าย Apple ผู้ให้กำเนิดมัน ก็ทอดทิ้งมันไปในปี 2018 ปล่อยให้ Nvidia เป็นฝ่ายกินรวบตลาด…
เมื่อมีบริษัทเดียวที่คุมตลาด จึงไม่แปลกที่จะมีคนอยากเจาะกำแพงนี้ Andrzej Janik คือหนึ่งในนั้น กับโปรเจกต์ ZLUDA ของเขา
แต่สุดท้ายก็โดนสกัดดาวรุ่ง โค้ดบินหายไปจากอินเทอร์เน็ต เพราะ Nvidia เขียนดักทางไว้เงียบๆ ในเงื่อนไขการใช้งานห้ามทำวิศวกรรมย้อนกลับ
ไม่มีใครสามารถก๊อปปี้ปาฏิหาริย์ของ “CUDA” แล้วอยู่รอดได้ง่ายๆ ถึงบิ๊กเทคจะพยายามสร้างชิปตัวเองหนี แต่ Nvidia ก็ยังกวาดรายได้มหาศาลอยู่ดี
1
Ian Buck อดีตนักศึกษาที่เกลียดความยุ่งยากของการ์ดจอ วันนี้กลายเป็นรองประธานบริษัท เขาบอกว่าเคล็ดลับคือการเลือกใช้สิ่งที่คนคุ้นเคย
ประโยคที่ทัชใจสุดๆ คือการที่เขาบอกว่าบริษัททำเงินจากสิ่งนี้ไม่ได้เลยถึง 10 ปี แต่ก็ไม่เคยยอมแพ้กับมันเลย…
การเดิมพันที่ยาวนาน ซื้อเวลาให้บริษัทสร้างป้อมปราการที่แข็งแกร่งที่สุดในโลกเทคโนโลยีแบบทุกวันนี้
ใครจะไปคิดว่าของแถมที่ไม่มีใครอยากได้ในวันนั้น จะกลายมาเป็นขุมพลังที่ขับเคลื่อนโลกอนาคตในวันนี้ เรื่องราวนี้สอนให้รู้ว่าความดื้อดึงบางทีก็เปลี่ยนโลกได้เหมือนกัน
References : [nvidia, github, techcrunch, bloomberg, theverge]
=========================
😴 นอนไม่หลับ? 😴 หลับไม่สนิท?
=========================
ใครที่มีปัญหานอนไม่สนิท ตื่นมาแล้วเพลียเหมือนผมบ้างครับ ผมอยากแนะนำ Diip CBD ที่มีทั้งแบบกัมมี่และแคปซูล
พอดีผมได้ลองใช้เองมาเพียงแค่อาทิตย์แรก บอกเลยว่าชีวิตเปลี่ยน ปัญหาเรื่องการนอนหมดไปเลยครับ สนใจแอดไลน์ @diipgeek มีผู้เชี่ยวชาญดูแลคอยปรึกษาตลอด 24 ชั่วโมง หรือคลิกลิงก์ใน Comment ได้เลยครับ
ติดตามสาระดี ๆ อัพเดททุกวันผ่าน Line OA ด.ดล Blog
คลิกเลย --> https://lin.ee/aMEkyNA
——————————————––
ติดตาม ด.ดล Blog เพิ่มเติมได้ที่
=========================
โฆษณา