2 คะแนน โดย GN⁺ 2023-12-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Pat Gelsinger ซีอีโอของ Intel เปิดตัวชิปดาต้าเซ็นเตอร์ Core Ultra และ 5th Gen Xeon ในงานที่ New York City พร้อมระบุว่าอำนาจครอบงำของ CUDA ของ Nvidia ในการฝึก AI จะไม่คงอยู่ตลอดไป
  • Gelsinger มองว่าอุตสาหกรรมกำลังขยับไปสู่ เลเยอร์การเขียนโปรแกรมแบบ Pythonic เพื่อทำให้การฝึก AI เปิดกว้างขึ้น โดยยกตัวอย่าง MLIR, Google และ OpenAI
  • Intel มองตลาด การอนุมาน (inference) ซึ่งไม่พึ่งพา CUDA ว่าเป็นสนามแข่งขันที่สำคัญกว่า และเตรียมแข่งขันในการรันโมเดลหลังการฝึกด้วย Gaudi 3, Xeon และพีซีที่เอดจ์
  • หัวใจของกลยุทธ์ AI คือ OpenVINO โดย Intel คาดการณ์สภาพแวดล้อมคอมพิวติ้งแบบผสมที่บางงานประมวลผลบนคลาวด์ และบางงานประมวลผลบนพีซี
  • Gelsinger ระบุว่าจะแข่งขันในตลาด AI ดาต้าเซ็นเตอร์ด้วย CPU, ตัวเร่งความเร็ว และ ฟาวดรี พร้อมเดินหน้าทั้งโอกาสด้านชิปภายในและโอกาสเชิงพาณิชย์กับ Nvidia, AMD และรายอื่น ๆ

การรุกของ Intel ต่ออำนาจครอบงำของ CUDA

  • Pat Gelsinger เปิดตัวชิปดาต้าเซ็นเตอร์ Intel Core Ultra และ 5th Gen Xeon ในงานที่ New York City พร้อมเล็งเป้าโดยตรงไปที่เทคโนโลยี CUDA ของ Nvidia
  • เมื่อตอบคำถามที่ NASDAQ เขากล่าวว่าอำนาจครอบงำของ Nvidia CUDA ในการฝึก AI จะไม่คงอยู่ตลอดไป
  • เขากล่าวว่า “ทั้งอุตสาหกรรมมีแรงจูงใจที่จะกำจัดตลาด CUDA”
  • เขามองว่า MLIR, Google และ OpenAI กำลังขยับไปสู่ เลเยอร์การเขียนโปรแกรมแบบ Pythonic เพื่อทำให้การฝึก AI เปิดกว้างขึ้น
  • เขาอธิบายคูเมืองของ CUDA ว่า “ตื้นและเล็ก” และระบุว่าอุตสาหกรรมกำลังพยายามนำชุดเทคโนโลยีที่กว้างขึ้นเข้ามา เพื่อรองรับการฝึก การสร้างนวัตกรรม และวิทยาศาสตร์ข้อมูลในวงกว้าง

กลยุทธ์ที่ให้ความสำคัญกับการอนุมานมากกว่าการฝึก

  • Intel มองว่า การอนุมาน เป็นตลาดหลัก แทนที่จะแข่งขันด้วยการฝึกเพียงอย่างเดียว
  • ตามคำกล่าวของ Gelsinger เมื่อโมเดลถูกฝึกเสร็จครั้งหนึ่งแล้ว ก็ไม่จำเป็นต้องพึ่งพา CUDA และสิ่งสำคัญคือจะรันโมเดลนั้นได้ดีเพียงใด
  • Gaudi 3 ซึ่งเปิดตัวครั้งแรกบนเวที ถูกนำเสนอเป็นผลิตภัณฑ์สำหรับรับมือการแข่งขันนี้
  • Xeon และพีซีที่เอดจ์ก็ถูกกล่าวถึงว่าเป็นแกนการแข่งขันในทิศทางเดียวกัน
  • นี่ไม่ได้หมายความว่า Intel จะยอมแพ้ในตลาดการฝึก แต่ Gelsinger มองว่า “โดยพื้นฐานแล้ว ตลาดการอนุมานคือสนามตัดสิน”

OpenVINO และคอมพิวติ้งแบบผสม

  • Gelsinger เน้นย้ำ OpenVINO ในฐานะมาตรฐานศูนย์กลางของความพยายามด้าน AI ของ Intel
  • เขาคาดว่าจะเกิดโลกของ คอมพิวติ้งแบบผสม ที่บางงานประมวลผลบนคลาวด์ และบางงานประมวลผลบนพีซีของผู้ใช้
  • Sandra Rivera เสริมว่า Intel อาจกลายเป็นพาร์ตเนอร์ที่ถูกเลือก เพราะมีขนาดครอบคลุมตั้งแต่ดาต้าเซ็นเตอร์ไปจนถึงพีซี
  • Rivera ยังยกจุดแข็งว่า Intel สามารถผลิตในปริมาณมากได้

การแข่งขันสามทางที่มุ่งเป้าตลาด AI ดาต้าเซ็นเตอร์

  • Gelsinger ระบุว่า Intel จะแข่งขันในตลาด AI ดาต้าเซ็นเตอร์ทั้งหมดด้วยสามแนวทาง ได้แก่ CPU, ตัวเร่งความเร็ว และฟาวดรี
  • โอกาสภายในที่ถูกกล่าวถึงรวมถึงชิปอย่าง TPU, Inferentia และ Trainium
  • ในแง่โอกาสเชิงพาณิชย์ Intel ก็มีจุดยืนว่าจะเดินหน้าความเป็นไปได้ในการร่วมมือกับ Nvidia, AMD และรายอื่น ๆ ทั้งหมด
  • Intel ชูทั้งการแข่งขันด้วยผลิตภัณฑ์ของตนเองและกลยุทธ์ในการเป็นผู้เล่นด้านฟาวดรีควบคู่กัน

คำถามที่ยังเหลืออยู่ในภูมิทัศน์การแข่งขัน

  • ในการประกาศครั้งนี้ Gelsinger แสดงความมั่นใจอย่างมากและนำการพรีเซนต์ของทีม
  • ส่วนจะสามารถต่อกรกับ CUDA ได้จริงหรือไม่ ยังเป็นประเด็นที่ต้องรอดูหลังจากชิปที่ Intel เปิดตัวและแอปพลิเคชันของชิปที่คู่แข่งกำลังพัฒนาแพร่หลายมากขึ้น

1 ความคิดเห็น

 
GN⁺ 2023-12-16
ความเห็นจาก Hacker News
  • ประเด็นสำคัญก็เหมือนคอมเมนต์อื่น ๆ คือ CUDA นั่นเอง Intel หรือ AMD เองก็อาจทำชิปได้ค่อนข้างเร็ว แต่ยังไม่เข้าใจว่าคู่แข่งที่แท้จริงคือ ซอฟต์แวร์และระบบนิเวศ
    ตัวอย่างเช่น บน eBay คุณซื้อ MI100 มือสองที่ประสิทธิภาพเกือบเท่า A100 ได้ในราคาแค่หนึ่งในห้า แต่เหตุผลที่มันถูกขนาดนั้นก็เพราะเมื่อเทียบกับ Nvidia GPU แล้ว คุณต้องเสียเวลาอย่างมากเพื่อทำให้มันใช้งานได้เพราะปัญหาความเข้ากันได้ของซอฟต์แวร์
    แม้แต่ Google ก็ยังอยู่ในระดับที่แค่เอาอินเทอร์เฟซ XLA มาต่อเข้ากับ PyTorch เพื่อให้เส้นทางที่พอใช้งานได้ด้านความเข้ากันได้สำหรับนักวิจัย และ Intel ก็คล้ายกัน
    ถ้าเป็นบริษัทในวงการนี้ ก็ต้องสร้างชุดทดสอบขนาดมหึมาอย่างเช่นโมเดลทั้งหมดของ Hugging Face แล้วไล่แก้ปัญหาทีละตัวแบบตรงไปตรงมา ถึงจะขายชิปได้
    Intel ก็กำลังทำแบบที่ทำมาตลอด คือประกาศโครงการแบบเปิด แล้วซัพพอร์ตให้น้อยที่สุด และ OpenVINO ก็ดูมีโอกาสสูงที่จะจบแบบไม่ค่อยมีผลงานอะไร ดูเหมือนว่า Triton ของ OpenAI จะถูกพูดถึงมากกว่าแล้ว

    • เรื่องตลกคือ ส่วนใหญ่ของ ระบบนิเวศซอฟต์แวร์ AI จริง ๆ แล้วแทบจะก็คือ PyTorch ไม่จำเป็นต้องสร้างเฟรมเวิร์กใหม่แล้วทำให้มันฮิต และไม่จำเป็นต้องรองรับไลบรารีปลายทางจำนวนมหาศาลด้วย แค่รองรับ PyTorch ให้ดีจริงก็พอ
      ถ้า PyTorch รันบน Intel GPU ได้ดี คนจำนวนมากก็น่าจะย้ายไปใช้อย่างเต็มใจ
    • นี่ไม่ใช่ปัญหาของ Intel อย่างเดียว โครงการแบบเปิดและ consortium มักเป็นวิธีที่ฝั่งตามหลังรวมตัวกันเพื่อพยายามสร้างความได้เปรียบที่ตัวเองไม่มี
      ถ้าคุณอายุพอสมควร ก็น่าจะเคยเห็นแพตเทิร์นนี้ซ้ำแล้วซ้ำอีกในอุตสาหกรรม ประวัติศาสตร์ Unix ปะทะ Windows NT ในยุค 1990 ก็เต็มไปด้วยความเคลื่อนไหวแบบนี้ และในโลกเครือข่ายก็กำลังเจอเรื่องเดิมอีกครั้งกับ UltraEthernet
      OpenGL น่าจะเป็นแนวทางที่สำเร็จที่สุด แต่ก็แทบเรียกได้ว่าแค่พอใช้งานได้ และไม่ได้ช่วยผู้เล่นที่เดิมก็ไม่ได้อยู่บนเส้นทางจะชนะอยู่แล้วเท่าไรนัก ทั้ง Unix 95 และ Unix 98 ก็ไม่เวิร์ก
    • Nvidia น่าจะกลัวคนอย่าง https://github.com/ggerganov มากกว่า Intel หรือ AMD ถึงสิบเท่า
    • นี่แหละประเด็น จนกว่า Intel หรือ AMD จะมองฝั่ง ซอฟต์แวร์ อย่างจริงจังและลงทุนเงินจริง CUDA ก็จะไม่หายไป
      Intel มีแนวโน้มจะทำตัวแบบเดิม คือพูดถึงโครงการที่เกี่ยวข้องเสียงดัง แล้วอีกหนึ่งหรือสองไตรมาสถัดมาก็ตัดลดแผนกนั้นอย่างหนัก
      ถ้าจะมาแข่งในพื้นที่ของ CUDA ต้องมีคำมั่นระยะหลายปีและการจ้างงานขนาดใหญ่ และถ้าจะทำแบบนั้นก็ต้องยอมจ่ายเงินเดือนตามราคาตลาดด้วย
    • ดูเหมือนว่า AMD กับ Intel และในระดับหนึ่งรวมถึง Qualcomm ก็ยังไม่เข้าใจวิธีเอาชนะ NVIDIA
      ถ้าจะเอาส่วนแบ่งของ NVIDIA คุณไม่จำเป็นต้องสร้างของที่ดีกว่า H100 ทันที ผู้บริโภคจำนวนมากพอใจกับระดับ 4090, 4080 หรือแม้แต่ 3080 ถ้ามันราคาแค่ครึ่งเดียว ซื้อได้ทันทีจาก Amazon หรือ NewEgg และไม่มีปุ่ม “สอบถามราคา”
      AMD และ Intel ทำได้ดีกว่า NVIDIA มากในแง่ของการทำให้ชิปมีของพร้อมซื้อจริง แต่แค่นั้นยังไม่พอ
      สิ่งที่ต้องมีคือ intelcc, amdcc, qualcommcc ที่รับ โค้ดชุดเดียวกันเป๊ะ ที่เดิมใส่ให้ nvcc แล้วคอมไพล์ได้เลย ห้ามต่างกันแม้แต่ function prototype เดียว และต้องทำงานบนฮาร์ดแวร์เป้าหมายได้โดยไม่ต้องถามอะไรเพิ่ม มันต้องเป็นตัวแทนแบบ drop-in ของ CUDA
      ถ้าเป็นแบบนั้น การคอมไพล์ PyTorch และทุกอย่างอื่นใหม่สำหรับชิปตัวอื่นก็จะกลายเป็นเรื่องเล็กน้อย
  • เกร็ดที่น่าสนใจคือ มากกว่าครึ่งของวิศวกร NVIDIA เป็น วิศวกรซอฟต์แวร์ จริง ๆ Jensen ตั้งใจสร้างซอฟต์แวร์สแตกที่แข็งแกร่งบน GPU อย่างมีกลยุทธ์และมีเป้าหมาย และทำแบบนั้นต่อเนื่องมาหลายสิบปี
    จนกว่า Intel จะหา CEO ที่ทั้งมีวิสัยทัศน์ด้านเทคนิคและเชิงกลยุทธ์ได้พอ ๆ กับ Jensen แทนที่จะเป็นผู้บริหารที่ดูแต่ตัวเลข ก็ดูยากที่จะโต้กลับ CUDA ได้สำเร็จ

    • การเรียก Gelsinger ว่า “ไม่ใช่สายเทคนิค” นั้นห่างไกลจากความจริงเกินไป
      Gelsinger เข้าร่วม Intel ตั้งแต่อายุ 18 ปีในปี 1979 ร่วมเขียนหนังสือเกี่ยวกับการเขียนโปรแกรมไมโครโปรเซสเซอร์ 80386 ในปี 1987 และเป็นหัวหน้าผู้ออกแบบโปรเซสเซอร์ 80486 รุ่นที่สี่ซึ่งออกมาในปี 1989
      เขากลายเป็นรองประธานที่อายุน้อยที่สุดในประวัติศาสตร์ Intel ตอนอายุ 32 ปี และขึ้นเป็น CTO ในปี 2001 นำการพัฒนาเทคโนโลยีสำคัญอย่าง Wi-Fi, USB, Intel Core, Intel Xeon และโครงการชิป 14 ตัว อีกทั้งยังเริ่ม Intel Developer Forum ซึ่งเป็นเหมือนคู่ตอบโต้ WinHEC ของ Microsoft
    • การที่ Gelsinger พูดว่า “ทั้งอุตสาหกรรม” ดูจะใกล้เคียงข้อเท็จจริงง่าย ๆ มากกว่า ผู้เล่นทุกคนที่ไม่ใช่ Nvidia ล้วนมีแรงจูงใจที่จะลดความสำคัญของ เทคโนโลยีปิด อย่าง CUDA นั่นหมายถึงโปรแกรมเมอร์จำนวนมากกว่าที่ Nvidia จะจ้างไหวเสียอีก
      ต่อให้ Intel จะสะดุดขาตัวเอง ก็ยังมีแรงจูงใจสูงที่จะดึงผู้ผลิตชิปรายอื่นเข้ามาเพิ่ม มันจะเกิดขึ้นแน่ ๆ คำถามมีแค่ว่าจะใช้เวลาเป็นหลักเดือน หลักปี หรือ 10 ปี
      ส่วนตัวผมจะเดิมพันฝั่งที่สั้นกว่า เพราะมันดูเป็นปัญหาการคูณเมทริกซ์เป็นส่วนใหญ่ และจู่ ๆ ก็มีทั้งเงินและความสนใจไหลเข้ามามหาศาล กลยุทธ์ APU ของ AMD [0] เองก็น่าสนใจ เพราะเริ่มแตะตลาดระดับสูงด้วย MI300A แล้ว
      [0] เผื่อคนที่ยังไม่ได้ตามแนวโน้มนี้ AMD กำลังรวม system memory กับ GPU memory เข้าด้วยกัน ถ้าผมเข้าใจถูก บนชิปเหล่านี้ก็จะไม่ต้อง “คัดลอกข้อมูลไปยัง GPU” อีกต่อไป โดยพื้นฐานแล้วมันเหมือน CPU ได้รับส่วนขยายขนาดใหญ่สำหรับคณิตศาสตร์เมทริกซ์ ในอดีต AMD ใส่เทคโนโลยีนี้ไว้ใน CPU ราคาถูก จึงไม่ค่อยมีประโยชน์กับงาน AI แต่ตอนนี้เริ่มใส่ในชิปขนาดใหญ่แล้ว
    • บรรยากาศที่ยก Pat Gelsinger ขึ้นหิ้งราวกับเป็นวีรบุรุษนั้นดูแปลกพอสมควร สำหรับผม ภาพที่เห็นจากตอนอยู่ VMware ออกไปทาง ผู้บริหารเชิงตัวเลข มากกว่าเชิงเทคนิค และดูเหมือนเขาพัวพันกับอคติส่วนตัวหรือเกมเรื่องสถานะมากเกินกว่าจะตัดสินใจด้านภาวะผู้นำทางเทคนิคที่ดีได้
      แน่นอนว่าความประทับใจแรกของผมอาจไม่ดีก็ได้ ตอนประกาศการเข้าซื้อกิจการ คำแรกที่เขาพูดกับ Pivotal คือ “พวกคุณเคยเป็นเหมือนลูกพี่ลูกน้องของเรา แต่ตอนนี้ใกล้เคียงกับเป็นลูกของเรามากกว่า” ซึ่งทำให้บรรยากาศโดยรวมดูแปลก ๆ
    • เรื่องนี้เป็นความจริงกับ Intel อย่างน้อย 10 ปีแล้ว และอาจนานกว่านั้นมาก รวมถึงมีโอกาสสูงว่า Nvidia เองก็เป็นแบบนี้มาแทบตลอดช่วงเวลาที่บริษัทมีอยู่
      ฮาร์ดแวร์ที่ไม่มีซอฟต์แวร์ก็เป็นแค่ทรายราคาแพง ทุกบริษัทเซมิคอนดักเตอร์รู้เรื่องนี้อยู่แล้ว แต่เดิม Intel ต่างหากที่เป็นฝ่ายทำแพ็กเกจทั้งหมดนี้ให้สำเร็จกับ x86
      ในโลกของการประมวลผลด้วย GPU CUDA ก็คือ x86 มันอยู่ทุกที่ เป็นมาตรฐานโดยพฤตินัย และสักวันหนึ่งก็จะถูกสั่นคลอน คำถามมีแค่ว่าจะใช้เวลา 1 ปีหรือ 10 ปีเท่านั้น
  • ถ้าสร้าง toolchain, ecosystem และประสบการณ์การเขียนโปรแกรม ที่ดีกว่า CUDA ได้ และทำให้เข้ากันได้พร้อมประสิทธิภาพสูงสุดบนทุกแพลตฟอร์มการประมวลผลได้ก็คงยอดเยี่ยม ทุกฝ่ายชนะ
    แต่ก่อนจะไปถึงจุดนั้น คำพูดแบบนั้นก็ดูชวนขำอยู่บ้าง โดยเฉพาะเมื่อคิดว่า OpenCL เคยล้มเหลวทั้งในแง่ประสบการณ์ของโปรแกรมเมอร์และการสนับสนุนที่ค่อย ๆ หดหายไป ความพยายามจะใช้ compute shader ของ DX/GL/Vulkan เพื่อทำงานประมวลผล GPU ทั่วไปก็เหมือนกัน
    มี “แรงจูงใจ” กันจริงหรือ? เวลาก็มีมาหลายปีแล้วแต่ผลลัพธ์กลับย่ำแย่ ไม่รู้ด้วยซ้ำว่าได้ลงทุนแม้เพียงส่วนหนึ่งของที่ลงทุนไปกับ CUDA หรือเปล่า ต้องพิสูจน์ด้วยเงิน ไม่ใช่แค่คำพูด

    • อยากให้ AMD หรือ Intel ออก CPU ขนาดมหึมาที่มีหลายพันคอร์และใช้งานได้โดยไม่ต้องมีภาษาโปรแกรมเฉพาะทาง
      ไม่เอาทั้ง coprocessor และไม่เอาความพยายามสร้างภาษาเฉพาะทางพัง ๆ ขึ้นมาอีก ไม่ว่าจะเป็น C/C++ แบบมีลูกเล่นพิสดารเต็มไปหมด หรือ Python เลียนแบบที่ครึ่ง ๆ กลาง ๆ แค่ใส่คอร์มาเพิ่มเยอะ ๆ แล้วให้ใช้เธรดจริงของภาษาโปรแกรมทั่วไปก็พอ
    • สงสัยว่า compute shader มีปัญหาอะไร
  • Intel และ AMD มีเวลาหลายปีแล้วที่จะให้ความสามารถคล้ายกันบน OpenCL
    ดูเหมือนว่าควรย้อนกลับไปมอง ความล้มเหลว ของตัวเองก่อน

    • SYCL เป็นสิ่งที่เทียบเคียงกับ CUDA ได้ใกล้กว่า OpenCL และ Intel ก็มี implementation ของตัวเองด้วย ถึงอย่างนั้นก็แทบไม่เคยเห็นคนใช้ SYCL ทำอะไรจริงจัง
      ตอนที่ลองศึกษาเพื่อจะใช้งานก็พบว่ามีหลาย implementation และแต่ละตัวก็รองรับเพียงบางส่วนของระบบปฏิบัติการกับฮาร์ดแวร์ ทำให้ค่อนข้างรกและสับสน
      https://www.intel.com/content/www/us/en/developer/tools/onea...
    • ต้องมีทั้งความสามารถใกล้เคียงกัน ประสิทธิภาพใกล้เคียงกัน หรือไม่ก็ดีกว่า แต่ตอนนี้ไม่มีสักอย่าง
      คนไม่ได้อยากซื้อการประมวลผลที่ช้ากว่าบนฮาร์ดแวร์ Nvidia และอาจจะถูกกว่านิดหน่อย แล้วจะไปทำแบบนั้นบนฮาร์ดแวร์ Intel ทำไม? ยิ่งต้องแก้แอปด้วย ก็ยิ่งดูยากตั้งแต่ต้น
      ผมไม่ใช่ผู้เชี่ยวชาญด้านนี้ แต่ผมพลาดอะไรไปหรือเปล่า? ถ้าอุตสาหกรรม x86 อยากหลุดจากสิ่งที่ Nvidia มอบให้ Intel ก็ต้องเติมช่องของคำว่า “ดีกว่า” ให้ได้ไม่ทางใดก็ทางหนึ่ง
    • AMD กับ Intel ต่างก็ทำ OpenCL และ Nvidia ก็ทำด้วย อุตสาหกรรมสามารถสร้างต่อยอดบนภาษากลางนั้นได้
      แต่กลับไปสร้างทุกอย่างไว้บน CUDA แล้วค่อยบ่นว่าผู้ผลิตฮาร์ดแวร์รายอื่นไม่มี CUDA
      ผมคิดว่าเพราะ OpenCL เป็น ส่วนย่อยร่วมกัน ที่หลายบริษัทพอจะตกลงกันได้ว่าแต่ละเจ้าสามารถ implement ได้ ผมเคยเขียนโค้ดที่คอมไพล์ได้กับ CUDA, OpenCL, C++ และ OpenMP แล้วก็ต้องเจอซ้ำ ๆ ว่า “อะไรนะ OpenCL ทำแค่นี้ยังไม่ได้อีกเหรอ? ให้ตายสิ”
    • Intel เคยลองมากับ OneAPI เมื่อหลายปีก่อน แล้วก็พบว่าตัวเองตามหลังไปหลายสิบปี และตอนนี้ก็กำลังใช้เวลาตามให้ทัน
    • Apple ก็เหมือนกัน การที่ทุกคนไม่ทุ่มจริงกับสถานการณ์นี้ ทำให้คู่แข่งที่บูรณาการอย่างแน่นแฟ้นกวาดตลาดไปหมด ย้อนกลับไปมองตอนนี้ก็ตลกดีที่ข้อเสนอคุณค่าของ OpenCL ชัดเจนกว่ามาก
  • อยากให้คนที่รู้ลึกด้าน AI อธิบายว่า คูเมืองที่แท้จริงของ CUDA คืออะไร
    ทุกคนคงเห็นตรงกันว่าไม่ใช่ฮาร์ดแวร์ แต่เป็นซอฟต์แวร์ หรือก็คือ ecosystem ของ CUDA
    ผมเคยทำแมชชีนเลิร์นนิงมาบ้าง แต่ในระดับฝึกและปรับแต่งโมเดลก็ใช้ไลบรารีระดับสูง และเท่าที่รู้ ไลบรารีเหล่านั้นก็แค่ตัดสินใจด้วย if ว่าจะใช้ backend ไหน
    ถ้าอย่างนั้น หากสมมติว่า Intel และรายอื่นทำคู่แข่งที่ใช้งานได้จริงขึ้นมา การคิดว่าการย้ายสำหรับผู้ใช้จำนวนมากจะราบรื่นนั้นผิดหรือ? สำหรับนักวิจัยหรือคนที่ผลักดันขอบเขตอาจไม่ใช่ แต่สำหรับบริษัทส่วนใหญ่ ต้นทุนการย้ายน่าจะไม่สูงมาก

    • ความเข้าใจนั้นไม่ผิด แต่สมมติฐานนั้นไม่ง่ายเลย ภาระงานที่ต้องใส่ลงไปใน CUDA มหาศาลมาก และ NVIDIA ไม่ได้หยุดรอให้คู่แข่งตามทัน
    • สถานการณ์นี้คล้ายกับ สงคราม IBM PC ยุคแรกมาก ตอนแรกมีทั้ง IBM PC และเครื่อง “compatible” หลายราย แต่ไม่ได้เข้ากันได้แบบแทนกันได้ทันที เป็นแค่ความเข้ากันได้แบบครึ่ง ๆ กลาง ๆ จนหลายโปรแกรมต้องคอมไพล์ใหม่
      ของพวกนั้นก็ผลิตโดยบริษัทอเมริกันรายใหญ่ที่ไม่ได้อยากทำให้ PC กลายเป็นสินค้าโภคภัณฑ์ทั่วไป แต่อยากได้เพียงเศษชิ้นเล็ก ๆ ของตลาดใหญ่
      PC clone ที่แท้จริง ซึ่งเป็นของที่แทนกันได้ทันทีแบบสมบูรณ์ กลับถูกผลิตในไต้หวันและครองตลาด บริษัทใหญ่ไม่อยากได้ตลาดแบบสินค้าโภคภัณฑ์ที่ราคาต่ำและทุกคนแข่งกันบนสนามที่เท่าเทียมกัน “การย้ายที่ราบรื่น” จะนำไปสู่ผลลัพธ์แบบนั้นพอดี จึงเป็นเหตุผลว่าทำไมบริษัทเหล่านี้ถึงไม่สร้างมัน
    • สิ่งที่ต้องมีคือ สมรรถนะการประมวลผลต่อดอลลาร์ ที่เทียบกันได้ในไลบรารีระดับสูง แค่นั้นเอง
      แน่นอนว่าพูดง่ายกว่าทำ แม้แต่ TPU ของ Google ก็ยังลำบากที่จะสู้ H100 ในด้าน floating-point ต่อดอลลาร์ และถ้าไม่ได้ใช้ Jax การใช้งานก็ยังค่อนข้างยุ่งยาก
    • สรุปได้ว่า Nvidia เลือก แนวทางจากล่างขึ้นบน เริ่มจากฮาร์ดแวร์สำหรับงานประมวลผลแบบขนานแล้วค่อยสร้างสภาพแวดล้อมการพัฒนาบนสิ่งนั้น
      ส่วนคู่แข่ง โดยเฉพาะ Intel ดูเหมือนกำลังพยายามเข้าสู่ตลาดด้วยแนวทางจากบนลงล่าง ใช้ฮาร์ดแวร์ที่ออกแบบมาสำหรับงานลำดับต่อเนื่องเพื่อแย่งตลาด inference บางส่วน และในทางปฏิบัติก็อาศัยนวัตกรรมที่เกิดขึ้นฝั่ง Nvidia CUDA จึงจะนำอยู่หนึ่งก้าวเสมอ
    • การบอกว่าคูเมืองคือซอฟต์แวร์นั้นไม่ถูก คูเมืองหลักยังคงเป็น ฮาร์ดแวร์ประมวลผล ที่คุ้มค่ามากเมื่อเทียบกับราคา และอุปกรณ์เครือข่ายที่ยอดเยี่ยมมาก
      สำหรับการฝึก LLM ขนาดใหญ่ CUDA ไม่ใช่คูเมืองใหญ่ ดูได้จากการที่ Anthropic ย้ายจาก CUDA ไป Trainium นั่นหมายความว่าน่าจะเขียนทุก kernel ใหม่สำหรับ Trainium
  • ดูเหมือนคนจะไม่ได้อยากหนีจาก CUDA เท่าไรนัก ช่วงไม่กี่เดือนที่ผ่านมาได้ดูทั้งโมเดลและเครื่องมือหลายตัว ซึ่งส่วนใหญ่ก็แทบจะเป็นแบบนี้
    device = "cuda" if torch.cuda.is_available() else "cpu"
    ยังไม่เคยเห็นแม้แต่ตัวเดียวที่ทำ neural network middleware ของ AMD: https://www.amd.com/en/developer/zendnn.html

    • ยังไม่เคยลองใช้เอง แต่เข้าใจว่า AMD/ROCm acceleration backend สำหรับ PyTorch ใช้วิธีโอเวอร์โหลดอุปกรณ์และโมดูล cuda เพื่อให้ ROCm ดูเหมือนเป็น CUDA ในแง่ของการตรวจสอบความสามารถ
      เพราะอยากให้การย้ายใช้งานราบรื่น และโค้ดเดิมจำนวนมากก็ตรวจเช็ก CUDA อยู่แล้ว จึงต้องทำสิ่งที่จำเป็นเพื่อให้โค้ดพวกนั้นรันได้
    • นี่ค่อนข้างเป็นปัญหาแบบไก่กับไข่ นักพัฒนาของโปรเจ็กต์พวกนี้อาจไม่มีอุปกรณ์ AMD ที่เกี่ยวข้องไว้ใช้ทดสอบด้วยซ้ำ จะมีไปทำไมล่ะ?
      วิธีที่สมเหตุสมผลในการทำลายวงจรนี้คือ AMD ต้องลงแรงช่วยโปรเจ็กต์ยอดนิยมหลัก ๆ อย่างจริงจัง ทั้งเรื่องโค้ด การทดสอบ และการติดตั้งแบบง่าย ๆ ที่ “ใช้ได้ทันที” เพื่อเพิ่มการรองรับ AMD แล้วค่อยไปขายฮาร์ดแวร์เพิ่มทีหลัง แต่ก็ยังไม่เห็น AMD ทำแบบนั้น
    • ดูเหมือนคุณจะไม่ได้ดูการเปิดตัว MI300X ถ้าจะใช้ AMD ก็ไม่จำเป็นต้องเปลี่ยนบรรทัดนั้น
    • zendnn ใช้สำหรับ CPU ส่วน PyTorch เวอร์ชัน ROCm ไม่ต้องแก้โค้ดแม้แต่บรรทัดเดียว
      ดังนั้นเวลาใช้ AMD GPU ความหมายของ device = "cuda" อะไรทำนองนั้นก็ยังใช้ได้เหมือนเดิม
  • Intel ไม่ได้ทำอะไรเลยมาตลอด 10 ปีที่ผ่านมา เอาเงินหลายพันล้านดอลลาร์ไปทิ้งกับ GPU ที่แทบใช้งานไม่ได้ แล้วก็อาศัยการผูกขาด CPU ชะลอนวัตกรรมเพื่อรีดกำไรออกมา
    อย่างน้อย Nvidia ก็สร้างบางอย่างที่ช่วยผลักดัน AI และ การเดิมพันครั้งใหญ่ ของพวกเขาก็สำเร็จ

  • ทั้ง Pat Gelsinger และ Lisa Su ดูเหมือนไม่เข้าใจซอฟต์แวร์เลย แถมยังเหมือนไม่สามารถมอบหมายงานได้ด้วย คาดหวังให้ “คอมมูนิตี้” มาทำซอฟต์แวร์สำหรับฮาร์ดแวร์ที่ซับซ้อนอย่างมากของตัวเอง
    ถ้าดูการนำเสนอของ Bill Daly แห่ง Nvidia [1] จะเห็นว่าพวกเขาพัฒนาฮาร์ดแวร์และซอฟต์แวร์ควบคู่กันมาตลอด CUDA programming model คือการเดิมพันครั้งมหาศาลตั้งแต่เนิ่น ๆ และพวกเขาก็ชนะในตลาดแมชชีนเลิร์นนิง/AI อย่างสมควร
    ถ้า Intel และ AMD ไม่เปลี่ยนตัวเองแบบถอนรากถอนโคน เกมนี้ก็จบแล้ว
    พวกเขาจะแพ้ให้ ARM และ Nvidia
    [1] https://www.youtube.com/watch?v=kLiwvnr4L80

    • ไม่ใช่ว่าพวกเขาไม่เข้าใจปัญหา ตอนนี้มันคือการแข่งขัน ยึดตลาด ครั้งใหญ่ และไม่มีใครอยากเสียทรัพยากรไปกับการประดิษฐ์วงล้อของ parallel computing ขึ้นมาใหม่
      เรื่องนี้ยากกว่าที่คนชอบพูดกันมาก
  • เรือลำนั้นออกไปตั้งแต่ 10 ปีก่อนแล้ว ตอนนั้นผมลงเรียนวิชาการประมวลผล GPGPU ที่มหาวิทยาลัย ชื่อประมาณ “heterogeneous parallel programming” แล้วเพิ่งมารู้ในคาบแรกว่า NVIDIA เป็นคนให้ฮาร์ดแวร์และสื่อการสอนทั้งหมดฟรี
    ผลลัพธ์คือมันกลายเป็นวิชา CUDA ล้วน ๆ ที่ไม่พูดถึงทางเลือกอื่นเลย คล้ายวิชาเรียน Word กับ Excel ในมหาวิทยาลัยสมัยก่อน
    Nvidia เก่งมากเรื่องการสร้างหรือซื้อคูเมืองทางการแข่งขัน
    ใน PhysX ถ้าไม่มี Nvidia GPU ระบบจะตกไปใช้เส้นทางช้าแบบ FPU ที่ไม่ได้ปรับแต่ง แม้บน CPU ที่รองรับ SSE ก็ตาม: https://arstechnica.com/gaming/2010/07/did-nvidia-cripple-it... https://www.realworldtech.com/physx87/3/ “จากมุมมองของ Nvidia การใช้คำสั่ง x87 และเธรดเดียวเพื่อลดประสิทธิภาพพื้นฐานของ CPU ทำให้ GPU ดูดีกว่า”
    โปรแกรม “The Way It’s Meant To Be Played” จ่ายเงินให้สตูดิโอทำให้ AMD เสียเปรียบโดยตรง ตัวอย่างหนึ่งคือ Ubisoft ถอนแพตช์ DX10.1: https://techreport.com/news/14707/ubisoft-comments-on-assass...
    ส่วนโปรแกรม “GameWorks” ก็ก้าวไปไกลกว่าเดิม โดยจ่ายเงินให้เกมสตูดิโอใส่ไลบรารีที่ทำให้ประสิทธิภาพตกของ Nvidia ลงในเกมโดยตรง: https://techreport.com/review/21404/crysis-2-tessellation-to... https://arstechnica.com/gaming/2015/05/amd-says-nvidias-game... https://wccftech.com/fight-nvidias-gameworks-continues-amd-c...

  • เข้าใจอย่างยิ่งว่า NVIDIA มีแรงจูงใจที่จะรักษาอำนาจครอบงำของ CUDA ไว้ และก็เข้าใจด้วยว่าในสภาพตลาดแบบนี้ บริษัทอื่นอย่าง AMD และ Intel พลาดโอกาสไป
    แต่ก็ควรชี้ให้เห็นว่า เมื่อคูเมืองทางเทคนิคและฟังก์ชันลักษณะนี้คงสภาพการผูกขาดโดยพฤตินัยไว้ในบางกรณีการใช้งาน สุดท้ายแล้ว ผู้บริโภคจะเป็นฝ่ายเสียประโยชน์

    • โดยมากก็จริง แต่ในกรณีของ CUDA ผมมองว่าผู้บริโภคกำลังเป็นฝ่ายได้ประโยชน์ CUDA ไม่ใช่อัลกอริทึมลับซับซ้อนพิเศษที่มีไว้สำหรับ GPU ของ Nvidia เท่านั้น แต่มันคือผลลัพธ์จากการที่ Nvidia ใส่ใจกับ ประสบการณ์นักพัฒนา ในหลายอุตสาหกรรมมาตลอด 10 ปี
      CUDA ไม่ได้ใช้แค่กับ AI แต่ยังใช้กับฟิสิกส์ การสร้างแบบจำลองเชิงตัวเลข วิทยาการเข้ารหัส ชีววิทยา และอื่น ๆ Nvidia สร้างแพลตฟอร์มขึ้นมาด้วยการค้นหากรณีใช้งานนับพันแบบและรับฟังความเห็นจากลูกค้า แล้ว AI ก็กลายเป็นแหล่งรายได้มหาศาล
      ปัญหาคือ Intel และ AMD มีแนวโน้มสูงที่จะยังคงมองแต่ถุงเงินจาก “AI” และเมินส่วนที่เหลือของแพลตฟอร์ม ซึ่งรวมถึงการดีบัก คอมไพเลอร์ การผสานกับภาษา GUI และการแก้บั๊ก
      ถ้า Intel พูดว่า “เราจะลงทุนหลายพันล้านดอลลาร์ใน OpenCL เพื่อรับประกันประสบการณ์นักพัฒนาระดับสูงสุดและแพลตฟอร์มที่ยอดเยี่ยม แล้วกำจัด CUDA ออกไป” ก็น่าตื่นเต้นอยู่หรอก แต่สิ่งที่อ่านตอนนี้ใกล้เคียงกับ “เราจะเปลี่ยนการเรียกฟังก์ชัน CUDA ไม่กี่จุดใน PyTorch” มากกว่า และมันคงฟังดูดีได้แค่จนกว่าจะถึงเวลาที่ต้องดีบักปัญหาด้านประสิทธิภาพ แล้วคุณก็จะตระหนักว่าแทนที่จะคุยกับวิศวกร CUDA บน GitHub ได้โดยตรง คุณกลับต้องส่งอีเมลไปยังเมลลิงลิสต์ร้างของ Intel
    • AMD, Intel และ Khronos สามารถแข่งขันกันอย่างอิสระด้วยสิ่งที่ดีกว่าได้ NVIDIA ไม่ได้ขัดขวางเรื่องนั้น
      ในแง่นั้น CUDA เป็นประโยชน์อย่างมากต่อผู้บริโภค เพราะทางเลือกอื่น ๆ แย่มากจริง ๆ