Tin tức tiếng Việt
Mới nhất
AI & Công nghệ

AlexNet: kỹ thuật CUDA đằng sau đột phá năm 2012

Ảnh minh họa chi tiết vi mạch bộ xử lý, không phải GPU NVIDIA được bàn trong bài viết.
Ảnh minh họa chi tiết vi mạch bộ xử lý, không phải GPU NVIDIA được bàn trong bài viết.

Năm 2012, đột phá AlexNet đã chứng minh rằng mạng nơ-ron sâu kết hợp với GPU hỗ trợ CUDA có thể vượt qua hàng thập kỷ kỹ thuật thị giác máy tính truyền thống. Tại ImageNet Large Scale Visual Recognition Challenge (ILSVRC), Alex Krizhevsky, Ilya Sutskever và Geoffrey Hinton đạt tỷ lệ lỗi top-5 là 15.3%, vượt qua người về nhì với 26.2% gần 11 điểm phần trăm.

Nút thắt phần cứng và giải pháp

Vào thời điểm đó, các framework deep learning như PyTorch và TensorFlow chưa tồn tại, và GPU tiêu dùng có giới hạn bộ nhớ nghiêm trọng.

  • Phần cứng gaming phổ thông: Nhóm đã huấn luyện mạng trong một phòng ngủ bằng hai GPU NVIDIA GTX 580 tầm tiêu dùng. Mỗi card chỉ có 3 GB VRAM, không đủ để chứa toàn bộ mạng 60 triệu tham số trên một chip duy nhất.
  • Song song mô hình qua CUDA: Alex Krizhevsky viết các kernel CUDA C++ tùy chỉnh (cuda-convnet) để chia mạng theo chiều dọc trên cả hai GPU. Mỗi GPU lưu một nửa số nơ-ron và kernel trong vùng bộ nhớ 3 GB của riêng mình.
  • Giao tiếp liên GPU có chọn lọc: Vì việc truyền dữ liệu giữa các GPU qua bus PCIe của bo mạch chủ rất chậm, Krizhevsky lập trình cho các GPU chỉ giao tiếp ở những lớp cụ thể (chẳng hạn Lớp 3). Các lớp khác hoạt động hoàn toàn độc lập trên mỗi card, giảm thiểu nút thắt băng thông.

Những đột phá kiến trúc chính

Có sức mạnh tính toán CUDA thô cho phép nhóm kết hợp một số kỹ thuật then chốt mà trước đây quá chậm để thử nghiệm ở quy mô lớn:

  • Kiến trúc sâu: AlexNet xếp chồng 8 lớp học được (5 lớp tích chập tiếp theo là 3 lớp kết nối đầy đủ), sâu hơn nhiều so với các mạng nơ-ron trước đó.
  • Hàm kích hoạt ReLU: Thay vì phép toán tanh hoặc sigmoid truyền thống, họ dùng Rectified Linear Units (ReLU). ReLU đơn giản về mặt tính toán trong CUDA và cho phép mạng sâu huấn luyện nhanh hơn khoảng sáu lần mà không bị gradient biến mất.
  • Tăng cường dữ liệu và Dropout: Trong khi GPU nghiền các phép toán ma trận, CPU tạo ra các phép biến đổi ảnh theo thời gian thực (cắt và lật) để chống overfitting. Họ cũng áp dụng Dropout, ngẫu nhiên tắt các nơ-ron trong quá trình huấn luyện để buộc mạng học những đặc trưng bền vững.

Tại sao nó kích hoạt cuộc cách mạng deep learning

Trước tháng 9 năm 2012, hầu hết các nhà nghiên cứu thị giác máy tính dựa vào các thuật toán thủ công (như SIFT và HOG) để phát hiện cạnh và hình dạng, và xem mạng nơ-ron sâu là một lý thuyết ngõ cụt.

  • Thời gian huấn luyện: Ngay cả với tối ưu CUDA tùy chỉnh, AlexNet cũng mất 5 đến 6 ngày để huấn luyện trên 1.2 triệu ảnh độ phân giải cao. Nếu không có CUDA, cùng thí nghiệm đó sẽ mất hàng tháng trên CPU.
  • Bước chuyển của ngành: Khi AlexNet nghiền nát mọi phương pháp truyền thống tại ImageNet, toàn bộ cộng đồng nghiên cứu AI đã từ bỏ các đặc trưng thủ công gần như ngay lập tức. Các nhà nghiên cứu đổ xô mua GPU NVIDIA, thúc đẩy NVIDIA chuyển hướng sang AI và phát hành cuDNN hai năm sau đó.

Tin tức khác: AI & Công nghệ