
Giới thiệu
Hiện tại xu hướng AI là bàn dân thiên hạ ai cũng có thì việc tìm phần cứng cho phép làm việc dễ dàng hoặc nhập môn AI là chuyện tất yếu. Bản thân mình không phải AI developer mà là Software Developer đang hiến thân thành Computer Engineer đã có kinh nghiệm AI nên cũng đóng góp.
Hiện tại thị trường có 3 môn phái cho anh em chọn: Xanh lá, đỏ và xanh dương và tùy theo hệ mà anh em đi theo nhánh khác nhau (chủ yếu nhu cầu công việc).
Tóm tắt:
- NVIDIA: Dễ nhập môn nhất, phổ biến nhất, nhu cầu CUDA mạnh, nhưng driver Linux hơi mệt.
- AMD: Thân thiện anh em Linux, tuy nhiên nhập môn khó nhất.
- Intel: Mới nổi, mạnh về HPC do FP64 cao, tuy chưa phổ biến trong tường học nhưng dễ nhập môn.
Hệ NVidia: Cho anh em cơ bản mì ăn liền nhưng hành ông IT cài server Linux
Phù hợp với anh em hệ cơ bản ở AI sử dụng TensorFlow hay PyTorch và dùng CUDA tính toán, đi làm doanh nghiệp hay kiếm cơ hội xin công việc AI cho oách do đa số doanh nghiệp hệ NVidia, và NVidia đang đầu tư mạnh ở Việt Nam. Các khóa học mà anh em có thể học cũng đa số từ hệ này.
Hệ này phổ biến nhất cũng là thành phần nguy hiểm nhất khi trong đám gamer lẫn lập trình AI thì 10 ông thì 8 ông xanh lá rồi. Với mindset “CUDA là chân lý, Tensor Core là thần thánh”, lên mấy group AI cứ ai hỏi là 9/10 người bình luận là “NVidia cho lành”. Khá nhiều thành phần khi thấy ai đi ngược số đông sẽ táp lại cho dù bình luận giải thích thế nào.
Ngoài ra thị trường low profile thì NVidia vẫn dẫn đầu khi nhiều option Low Profile thậm chí là bên đặt ra tiêu chuẩn low profile cho các nhà sản xuất nên anh em build máy nhỏ gọn khá ưa chuộng. Tensor Core khá được ưa chuộng trong AI do tính toán FP16, BF16, INT8, FP8 với các phép tính phân phối matrix khá là vượt trội, nhưng nó cũng là giới hạn của Tensor Core khi nó giới hạn trong mấy phép tính đó và chỉ sử dụng thông qua CUDA. CUDA ban đầu là thư viện giúp anh em dev game mang mấy logic vật lý trong game cho GPU gánh bớt nhưng nhu cầu ngày càng mở rộng và vô tình chung trở thành tiêu chuẩn trong lập trình backend cho AI framework.
Đối với sinh viên đang học đại học có điều kiện thì cũng nên phe này do đa số trường đại học dạy TensorFlow là chính, ngoài ra khi cài TensorFlow hoặc PyTorch thì cũng không cần cài extension chỉ để cho nó có thể chạy ở máy. Anh em sinh viên nào nghèo thì có thể học qua Google Collab hoặc như hồi xưa mình hay cắn trộm mấy dịch vụ Cloud Desktop hoặc Droplet hay Heroku. Mà đa số trường đại học đầu tư cho anh em nhất sau NVidia hợp tác đào tạo lẫn mở rộng ở Việt Nam.
Một vấn đề anh em NVidia hay gặp là driver NVidia trên desktop Linux Wayland hơi bị khó ở và cài đặt NVidia Driver trên Linux Server lại phức tạp hơn so với GPU khác khi một số trường hợp phải thêm repository chính chủ của NVidia như cài toolkit hỗ trợ container như Docker hoặc Podman, khiến cho việc setup trên môi trường server nhiều lúc phức tạp.
Hệ AMD: Cho anh em hệ Vulkan, OpenGL là chính thích hành bản thân nhưng sung sướng ở Linux.
Chuyên cho mấy anh em chạy AI với backend là Vulkan hoặc OpenGL là chính do lúc đó Tensor Core không còn quan trọng (có dùng AI Accelerator đâu) thì hiệu năng FP16 và FP32 của GPU so với giá tiền thì hơn NVidia.
ROCm tuy có nhưng chưa thực sự phổ biến trong các dự án do quá ít tài liệu kĩ thuật và đào tạo cho dev học, và ngoài ra vẫn còn khá ít dòng GPU AMD hỗ trợ ROCm, chỉ có các dòng gần đây như AMD Radeon Pro, Instinct, và một số GPU RDNA2/RDNA3, thậm chí mấy con 6000, 7000 không hỗ trợ ROCm đầy đủ, ROCm giống như là phương pháp chữa cháy với CUDA thôi.
Ngoài ra trong lĩnh vực y tế thì nhiều bên cung cấp chủ yếu GPU AMD khá nhiều do chính sách AMD thân thiện hơn cho nhà phân phối nên nhiều nhà phân phối thiết bị y tế chọn GPU AMD làm chủ lực.
Một số bệnh viện có dự án AI AMD và bên nước ngoài một số tận dụng mấy siêu máy tính cũ có GPU AMD (do xu hướng hồi đó không có AI mà chuyên vào tính toán phân mảng là chính và GPU AMD mềm giá tiền hơn, không dùng CUDA mà thay vào đó OpenGL).
Điều đặc biệt trong thiết kế phần cứng AI của AMD là thay vì tạo ra Unit độc lập chuyên xử lý mấy phép tính phân phối ma trận thì nó nằm ở intruction set điều khiển General Purpose Unit, tuy chắc chắn chậm hơn Unit Matrix nhưng nếu như nghiên cứu phương pháp không dùng kiểu dữ liệu ma trận nữa thì AMD không bị gò bó.
Việc dùng AMD trên Linux rất tốt do AMD khá thân thiện với Linux, gần như Linux chỉ cần có Mesa là chắc chắn hỗ trợ AMD. Chạy trên môi trường container cũng gần như không yêu cầu cài thêm gói toolkit hỗ trợ như NVidia. Ngoài ra GPU AMD còn hỗ trợ trên nhiều OS khác như Haiku, RedoxOS và nhiều loại kiến trúc CPU như ARM nên gặp nhiều kết hợp độc lạ như Raspberry với GPU AMD. Tuy nhiên ít option low profile lại là điểm trừ nên mấy anh em Dev muốn build con workstation gọn nhẹ nên xem xét lại.
Trái ngược với hỗ trợ phần cứng và phần mềm thì các khóa học AI với GPU AMD gần như không có. Các kiến thức AI với AMD anh em phải cóp nhặt từ các skill set khác như ROCm, tính toán bằng Vulkan Computing,… rồi từ đó mới hợp lại thành AMD AI được nên nhiều doanh nghiệp không chuộng dự án AMD AI, và các anh em tự học cũng vậy do không có khóa nào dạy trực tiếp AMD AI hay ROCm cả. Anh em nào theo đội đỏ coi như là độc cô trong chốn giang hồ hiểm ác và kiếm việc coi như không có.
Các framework AI phổ biến như PyTorch hoặc TensorFlow phải cài extension riêng hoặc thậm chí cài bản dev riêng do AMD phân phối. Hiện tại xu hướng viết bằng WebGPU chưa phổ biến ở Việt Nam và ít bên hướng dẫn với nền tảng này, ROCm còn hiếm hơn nữa. Một tip cho anh em theo phe đỏ là tập viết mấy phép đại số tuyến tính trên Vulkan Compute rồi từ đó nâng tay khá nhiều, thậm chí ưu việt hơn nhiều ông dev AI hiện tại.
Hệ Intel: Hệ OpenVINO hoặc yêu cầu tính toán cao.
Hệ Xanh dương là hệ non trẻ nhất khi Intel mới ra mắt GPU gần đây và đang bị vật vờ với mấy cú phốt CPU gần đây (AMD CPU vẫn bị nhưng Intel bị réo liên tục nhờ truyền thông). Tuy nhiên, Intel khá chú trọng đầu tư vào nền tảng AI khi ra mắt framework OpenVINO và phổ biến các khóa học AI của mình trên nhiều nền tảng, ngoài ra đang cố gắng mở rộng hợp tác với các framework khác như mới đây PyTorch đã support trực tiếp. Và trên hết, tất cả GPU Intel đều hỗ trợ nền tảng AI của Intel khi hỗ trợ toàn bộ thư viện OneAPI và framework OpenVINO của mình. Các anh em nhập môn AI cũng có thể dễ dàng tìm kiếm các khóa học AI qua framework OpenVINO trên các nền tảng học online khá dễ dàng.
Điều đặc biệt ở phần cứng Intel là tuy hiệu năng dùng chủ yếu ở AI (FP16 hoặc FP32) không nổi bật hơn hai đội kia, nhưng FP64 lại cao ngất ngưỡng hơn hai đội kia khi dành tận 1:4 hoặc 1:8 và đạt gần bằng 1 TOPS với mấy con yếu nhất và hơn 1 TOPS nhất là bản Battlemage là thông số cực cải thiện, phù hợp công việc tính toán phân mảng nâng cao trong nghiên cứu, giả lập trong ngành kĩ thuật, phân tích hình ảnh tính toán quỹ đạo hay tính toán bên tài chính (Nói chung là HPC). Vì điều đó, nhiều ông làm cơ khí hoặc bên tài chính làm workstation dần chuyển sang hệ Intel. Mình không đề cập MathMKL do hay dùng Vulkan Compute.
Trong AI, dev có thể tận dụng cho con AI triển khai ra code Python dùng thư viện MathMLK hoặc OpenBLAS rồi chạy code lấy kết quả sau đó tính toán thêm có thể tận dụng tốt hiệu năng FP64. Ngoài ra Intel cũng có XMX core tương tự Tensor core bên đội xanh lá, tuy nhiên nó hỗ trợ cả OneAPI (thư viện tính toán của Intel) và SYCL nên hỗ trợ nhiều phần cứng hơn.
Về phần cứng phổ thông thì tuy không bằng NVidia và AMD về số lượng nhưng cũng nhiều option hơn cho anh em chọn lựa so với AMD khi có dạng to lẫn low profile trong cùng một đời. Intel cũng mở rộng hợp tác nhiều bên sản xuất phần cứng như ở bên Trung Quốc để dễ dàng phổ biến hơn tránh hiện tượng khan hàng, tuy nhiên ở Việt Nam thì GPU Intel chưa phổ biến nhưng số lượng lẫn thị trường sẽ tăng mạnh trong tương lai.
Trái ngược với phổ thông thì bản doanh nghiệp của Intel thực sự rất khó tiếp cận khi mấy dòng Workstation không bán retail ra ngoài và số lượng máy OEM đi kèm nó cực hạn chế. Con Gaudi cho server hiện tại chỉ có dạng hợp đồng là chính chứ bên sản xuất server không có chào hàng ra ngoài.
Về phần mềm thì do mới ra mắt nên driver khá nhiều giới hạn. Anh em Linux sẽ phải tự compile driver Mesa mới nhất thì GPU Intel mới được hỗ trợ. Tuy nhiên về sau này khi bản Mesa trở nên phổ biến thì sẽ như AMD không cần cài thêm để hỗ trợ trên Linux. Hiện tại GPU Intel chỉ hỗ trợ CPU x86, x64 (mấy CPU Intel và AMD phổ biến cho máy tính bàn) nhưng nhiều dev đã thử phát triển chạy trên nền tảng khác như ARM dù chưa chạy được 100%.

