AI hiện đại cần GPU vì công việc chính của một mô hình là thực hiện hàng tỷ phép nhân và cộng giống hệt nhau, có thể làm cùng một lúc, và GPU được thiết kế với hàng nghìn lõi tính nhỏ để làm đúng kiểu việc song song đó. Một CPU thông thường có ít lõi mạnh, giỏi xử lý các bước nối tiếp phức tạp, nhưng chậm hơn nhiều khi phải làm cả biển phép tính đơn giản.
GPU vốn được làm ra để vẽ hình cho trò chơi điện tử, rồi tình cờ trở thành thứ phần cứng quan trọng nhất của ngành AI. Bài này giải thích vì sao phép tính của AI hợp với GPU, câu chuyện lịch sử dẫn tới điều đó, vì sao bộ nhớ quan trọng không kém sức tính, GPU khác TPU và NPU ở đâu, và người dùng bình thường có cần quan tâm tới GPU không.
CPU và GPU: vài đầu bếp giỏi và một bếp ăn tập thể
Hình dung CPU như một nhà hàng có vài đầu bếp rất giỏi. Mỗi người làm được mọi món, xử lý được đơn hàng rắc rối có yêu cầu đặc biệt, chuyển từ món này sang món khác rất nhanh. Nhưng nếu cần làm một nghìn suất cơm giống nhau trong mười phút, vài đầu bếp giỏi cũng không kịp, vì mỗi người chỉ có hai tay.
GPU giống một bếp ăn tập thể với hàng nghìn người phụ bếp. Mỗi người chỉ làm được một việc đơn giản, như múc một muôi cơm hay đặt một miếng thịt, và không ai trong số họ tự xử lý được đơn hàng phức tạp. Nhưng khi việc là một nghìn khay giống nhau, cả nghìn người làm cùng lúc thì xong trong chớp mắt.
Máy tính của bạn có cả hai. CPU điều phối mọi thứ: chạy hệ điều hành, mở ứng dụng, xử lý các bước có điều kiện "nếu thế này thì làm thế kia". GPU nhận những khối việc lớn, đồng dạng, như tính màu cho hàng triệu điểm ảnh trên màn hình trong mỗi khung hình của trò chơi.
Câu hỏi then chốt là: công việc của AI giống đơn hàng rắc rối hay giống một nghìn khay cơm? Câu trả lời, như phần sau giải thích, là gần như hoàn toàn giống một nghìn khay cơm. Đó là lý do bếp ăn tập thể thắng.
Vì sao phép tính của AI hợp với GPU
Bên trong một mô hình học sâu là nhiều lớp nối tiếp nhau. Ở mỗi lớp, việc chính là lấy một dãy số đầu vào, nhân từng số với một tham số tương ứng, rồi cộng các tích lại để ra một số đầu ra. Một lớp có thể có hàng nghìn số đầu ra như vậy, và mỗi số đầu ra được tính hoàn toàn độc lập với các số khác. Người làm toán gọi khối việc này là nhân ma trận.
Điều quan trọng không nằm ở độ khó, vì mỗi phép nhân, phép cộng đều rất đơn giản. Điều quan trọng là số lượng và tính độc lập. Một câu trả lời của chatbot đòi hỏi lặp lại khối việc này qua hàng chục lớp, cho từng chữ được sinh ra, với hàng tỷ tham số. Vì các phép tính trong cùng một lớp không phải chờ nhau, chúng có thể chia cho hàng nghìn lõi làm đồng thời.
Đồ hoạ trò chơi điện tử cũng có đúng tính chất này: màu của mỗi điểm ảnh được tính theo cùng một công thức, độc lập với điểm ảnh bên cạnh. Vì vậy phần cứng làm ra cho trò chơi hoá ra lại hợp với AI một cách tự nhiên, dù không ai thiết kế nó cho mục đích đó từ đầu.
Ngoài ra, AI chịu được tính toán ở độ chính xác thấp. Đồ hoạ khoa học hay mô phỏng tài chính cần số rất chính xác, còn mô hình AI vẫn chạy tốt với số 16 bit, 8 bit, thậm chí ít hơn. Các thế hệ GPU gần đây có thêm những khối chuyên tính ở độ chính xác thấp, làm được nhiều phép tính hơn hẳn trong cùng thời gian và cùng lượng điện.
Từ chip chơi game tới chip AI: những mốc chính
Câu chuyện GPU gặp AI có vài mốc được nhắc nhiều trong lịch sử ngành:
- Thập niên 1990. Card đồ hoạ chuyên dụng phổ biến trên máy tính cá nhân để chơi trò chơi ba chiều. Chúng chỉ làm được việc vẽ hình.
- Khoảng năm 2007. Các nền tảng lập trình cho phép dùng GPU vào việc tính toán đa năng ra đời, nổi bật là CUDA. Nhà khoa học bắt đầu dùng GPU cho mô phỏng vật lý, sinh học.
- Năm 2009. Nhóm của Andrew Ng ở Đại học Stanford công bố nghiên cứu dùng GPU để huấn luyện mạng nơ ron lớn nhanh hơn nhiều lần so với CPU.
- Năm 2012. Mô hình AlexNet của Alex Krizhevsky, Ilya Sutskever và Geoffrey Hinton, huấn luyện trên hai card đồ hoạ chơi game, thắng cách biệt cuộc thi nhận dạng ảnh ImageNet. Mốc này thường được coi là khởi đầu của làn sóng học sâu.
- Năm 2016. Google công bố TPU, chip do hãng tự thiết kế riêng cho học sâu, cho thấy các công ty lớn bắt đầu làm chip AI chuyên dụng.
- Năm 2017. Kiến trúc transformer ra đời; nó xử lý cả đoạn văn song song thay vì đọc từng chữ nối tiếp như các kiến trúc trước, nên tận dụng GPU tốt hơn hẳn.
- Những năm gần đây. Các mô hình ngôn ngữ lớn được huấn luyện trên những cụm máy gồm hàng nghìn tới hàng chục nghìn chip, đặt trong các trung tâm dữ liệu chuyên dụng.
Đọc chuỗi mốc này, bạn thấy học sâu không chỉ đi lên nhờ ý tưởng mới mà còn nhờ phần cứng đủ mạnh và đủ rẻ để thử các ý tưởng đó ở quy mô lớn.
Không chỉ sức tính: bộ nhớ và đường nối mới là nút thắt
Quảng cáo chip AI thường nhấn vào sức tính. Nhưng với mô hình ngôn ngữ, đặc biệt ở khâu chạy mô hình phục vụ người dùng, giới hạn thường nằm ở chỗ khác: bộ nhớ. Mỗi chữ sinh ra đòi đọc gần như toàn bộ tham số từ bộ nhớ vào các lõi tính. Nếu đường từ bộ nhớ tới lõi tính hẹp, hàng nghìn lõi phải ngồi chờ, giống bếp ăn đông người mà nguyên liệu chỉ được chuyển vào qua một cửa nhỏ.
Vì vậy GPU dùng cho AI có loại bộ nhớ đặc biệt, thường được gọi là bộ nhớ băng thông cao (HBM), đặt rất sát chip tính toán để dữ liệu chảy qua nhanh hơn nhiều so với bộ nhớ thông thường. Dung lượng bộ nhớ trên mỗi chip cũng quyết định một mô hình có vừa trong một chip hay phải chia ra nhiều chip.
Khi mô hình quá lớn cho một chip, hoặc khi huấn luyện cần cả nghìn chip làm chung, đường nối giữa các chip trở thành nút thắt tiếp theo. Các chip phải liên tục trao đổi kết quả với nhau; đường nối chậm thì cả cụm máy chậm theo. Đây là lý do các hệ thống AI lớn dùng những công nghệ kết nối tốc độ cao chuyên dụng giữa các chip và giữa các máy chủ.
Với người đọc tin, điều này giải thích vì sao các bài về chip AI hay nói tới bộ nhớ và kết nối, không chỉ số phép tính mỗi giây. Một hệ thống AI mạnh là cả một dây chuyền cân đối, không phải chỉ một con chip nhanh.
CPU, GPU, TPU và NPU khác nhau thế nào
Bốn loại bộ xử lý hay xuất hiện trong tin về AI. Bảng dưới so sánh ở mức nguyên lý:
| Loại | Thiết kế cho | Mạnh ở | Thường gặp ở |
|---|---|---|---|
| CPU | mọi loại việc, xử lý tuần tự | điều khiển, logic phức tạp, linh hoạt | mọi máy tính, điện thoại, máy chủ |
| GPU | tính song song lượng lớn | đồ hoạ, huấn luyện và chạy mô hình AI | máy chơi game, máy trạm, trung tâm dữ liệu |
| TPU | phép tính học sâu, do Google thiết kế | huấn luyện và chạy mô hình ở quy mô lớn | trung tâm dữ liệu của Google, cho thuê qua dịch vụ đám mây |
| NPU | chạy mô hình AI tiết kiệm điện | tính năng AI trên thiết bị chạy pin | điện thoại, máy tính xách tay đời mới |
Ngoài bốn loại trên còn nhiều chip AI chuyên dụng khác do các hãng lớn và công ty khởi nghiệp tự thiết kế. Xu hướng chung là càng chuyên một việc thì càng hiệu quả cho việc đó nhưng càng kém linh hoạt. GPU giữ vị trí lớn một phần vì cân bằng tốt giữa hai mặt này, một phần vì hệ sinh thái phần mềm quanh nó đã phát triển nhiều năm.
Chuyện GPU ra khỏi phạm vi kỹ thuật
Chi phí và sự tập trung. Chip AI cao cấp đắt và thường khan hàng. Chỉ một số ít công ty đủ tiền xây cụm máy hàng chục nghìn chip, điều nhiều người lo ngại sẽ dồn năng lực phát triển AI hàng đầu vào tay vài tổ chức.
Điện năng và nước. Trung tâm dữ liệu AI tiêu thụ nhiều điện và cần làm mát, có nơi dùng nước. Con số cụ thể được công bố và ước tính rất khác nhau, nên đọc với sự dè dặt; điều chắc chắn là đây đã thành một chủ đề quy hoạch năng lượng ở nhiều nước.
Chuỗi cung ứng và chính sách. Chip AI tiên tiến phụ thuộc một chuỗi sản xuất toàn cầu ít đầu mối. Từ năm 2022, Mỹ áp dụng các biện pháp hạn chế xuất khẩu chip AI cao cấp sang một số thị trường, biến GPU thành một chủ đề địa chính trị. Quy định cụ thể thay đổi thường xuyên, cần kiểm nguồn chính thức.
Tin tài chính về chip. Bạn sẽ gặp nhiều tin về giá cổ phiếu các hãng chip. Đó là chuyện thị trường, không cho biết công nghệ AI tiến tới đâu, và bài này không đưa ra bất kỳ lời khuyên đầu tư nào.
Người dùng bình thường có cần GPU không
Nếu bạn dùng chatbot qua trình duyệt hay ứng dụng, câu trả lời là không. Mọi phép tính diễn ra trên GPU trong trung tâm dữ liệu của hãng; máy của bạn chỉ gửi câu hỏi và hiển thị chữ. Một chiếc điện thoại đời cũ vẫn trò chuyện được với mô hình mạnh nhất, miễn là có mạng.
GPU chỉ trở nên quan trọng khi bạn muốn chạy mô hình ngay trên máy của mình, ví dụ để tài liệu nhạy cảm không rời máy, hoặc để thử nghiệm mô hình trọng số mở. Lúc đó, thông số đáng xem đầu tiên thường là dung lượng bộ nhớ của card đồ hoạ, vì nó quyết định mô hình cỡ nào nạp vừa. Một card chơi game tầm trung đã chạy được mô hình vài tỷ tham số ở dạng nén.
Một số máy tính dùng chip có bộ nhớ dùng chung giữa CPU và GPU cũng chạy được mô hình khá lớn, vì GPU tận dụng được phần lớn bộ nhớ của máy. Còn trên điện thoại và máy tính xách tay đời mới, nhiều tính năng AI chạy bằng NPU thay vì GPU để tiết kiệm pin.
Trước khi mua phần cứng để chạy AI tại chỗ, hãy tự hỏi việc của mình có thật sự cần chạy riêng không, hay một dịch vụ có sẵn với cài đặt quyền riêng tư phù hợp đã đủ. Phần cứng đắt và lỗi thời nhanh, còn mô hình nhỏ chạy tại chỗ thường không mạnh bằng dịch vụ trực tuyến.
Câu hỏi thường gặp
GPU và card đồ hoạ có phải là một không?
Gần như vậy trong cách nói thông thường. GPU là con chip xử lý đồ hoạ; card đồ hoạ là cả tấm mạch gồm GPU, bộ nhớ riêng, quạt tản nhiệt và cổng kết nối. Trong trung tâm dữ liệu, GPU thường nằm trên các mô đun chuyên dụng chứ không phải card cắm như máy chơi game.
Có thể chạy AI chỉ bằng CPU không?
Được, nhất là với mô hình nhỏ và đã nén. Nhưng chậm hơn nhiều so với GPU, vì CPU có ít lõi. Với mô hình ngôn ngữ vài tỷ tham số, chạy bằng CPU vẫn dùng được cho việc thử nghiệm; với mô hình lớn hơn hoặc nhiều người dùng cùng lúc thì không thực tế.
Vì sao huấn luyện AI cần cả nghìn GPU cùng lúc?
Vì mô hình lớn và dữ liệu khổng lồ đến mức một GPU sẽ cần thời gian quá dài, và có khi mô hình còn không vừa bộ nhớ của một chip. Chia việc cho nhiều GPU làm song song giúp rút thời gian từ nhiều năm xuống vài tuần, đổi lại phải giải bài toán kết nối giữa các chip.
Card đồ hoạ chơi game có dùng để chạy AI được không?
Được. Chính AlexNet năm 2012 được huấn luyện trên card chơi game. Ngày nay card chơi game vẫn chạy tốt mô hình nhỏ và vừa. Giới hạn chính là dung lượng bộ nhớ của card, thường nhỏ hơn nhiều so với GPU chuyên dụng trong trung tâm dữ liệu.
Thiếu GPU có làm AI ngừng phát triển không?
Thiếu chip làm chậm và làm đắt việc huấn luyện, nhưng cũng thúc đẩy các hướng tiết kiệm: mô hình nhỏ hơn mà hiệu quả hơn, lượng tử hoá, chưng cất, chip chuyên dụng mới. Lịch sử AI cho thấy giới hạn phần cứng thường đẩy người ta tìm cách làm hiệu quả hơn, không chỉ làm dừng lại.
TPU có tốt hơn GPU không?
Không có câu trả lời chung. TPU được thiết kế riêng cho học sâu nên rất hiệu quả với một số loại việc, nhưng chủ yếu dùng được trong hệ sinh thái của Google. GPU linh hoạt hơn và có hệ sinh thái phần mềm rộng hơn. Lựa chọn tuỳ việc, tuỳ chi phí và tuỳ phần mềm đang dùng.