Deep Learning, Artificial Intelligence – AI: Khi GPU lên tiếng

Về thông thuường, thường sức mạnh tính toán đi cùng với số lượng CPUs và số lượng core trên mỗi unit tính toán. Suốt thập niên 90, khi WinTel bắt đầu đánh chiếm thị trường DC cho mảng doanh nghiệp, hiệu suất của ứng dụng và throughput của DB được cân đối trực tiếp cho số CPU và số lượng RAM. Khi những yếu tố này bắt buộc phải đạt được hiệu suất ứng dụng, 1 VXL mới bắt đầu thu hút nhiều sự chú ý – Graphic Processing Unit, còn tắt là GPU.

Tổng quan về công nghệ Deep Learning

Đối với nhiều người, khái niệm GPUs làm nghĩ ngay tới việc xử lý hình ảnh, video, chơi game… Nhưng chúng ta đang sống trong thời kỳ Machine Learning và AI – trí tuệ nhân tạo, GPUs giờ đây có vai trò xử rất giống CPUs. Đó là lý do đơn giản mà GPU lại thu hút rất nhiều sự chú ý ngày nay.

Deep Learning được ứng dụng vào rất nhiều ngành công nghiệp bao gồm xe hơi tự hành, phát hiện các bệnh lý, công nghệ điện toán, nhận diện giọng nói và các ứng dụng trí tuệ. Cũng như các thuật toán Machine Learning, Deep Learning cũng dựa trên các thuật toán phức tạp và kỹ thuật thống kê. Artificial Neutral Network (ANN), Convolutional Neural Networks(CNN) và Recurrent Neutral Netwrok (RNN) là những ứng dụng của deep learning hiện đại – mạng lưới này mô phỏng tương tự như mạng lưới thân kinh của con người. Mỗi một loại network thần kinh được sắp xếp với những use case phức tạp, như: việc phân loại, clustering và dự đoán. Ví dụ, nhận diện hình ảnh và nhận diện khuôn mặt sử dụng CNN, trong khi xử lý ngôn ngữ – Natural Language Processing (NLP) sử dụng RNN. ANN, là network đơn giản hơn, thường được sử dụng để dự đoán, khi liên quan nhiều đến số liệu

Không giống như các mạng lưới network khác, tất cả thuật toán của deep learning thực hiện các việc tính toán số liệu phức tạp. Từ số liệu điển hình của sàn chứng khoán, hình ảnh của chú mèo nhà bạn, các báo cáo phóng xạ… mọi thứ đều được decode thành các con số. Trong trường hợp là các hình ảnh, bước đầu tiên phải là đưa về grayscale format và sau đó gán từng con số vào mỗi pixel hình ảnh, tuỳ thuộc vào độ sáng hoặc đen của nó. Hình dung 1 cách đơn giản, tấm hình selfie của bạn chụp từ điện thoại, sẽ được chuyển hoá thành hàng triệu pixel, sau đó lại chuyển thành 1 ma trận lớn, tập hợp các con số. Trong suốt giai đoạn training của deep learning, những ma trận số được sắp xếp vào theo tương ứng từng lớp phân loại. Ví dụ, khi training 1 mạng neutral network với 1000 cái hình chú mèo, chúng ta sẽ được 1 mô hình, dùng để nhận biết được đang có chú mèo trong 1 tấm hình. Và để quá trình training diễn ra nhanh chóng, cần phải được thực hiện song song với nhau.

AI, Artificial Intelligence, Deep Learning, GPU, So sánh GPU và CPU

So sánh GPU và CPU

Các CPU được thiết kế để giải quyến việc tính toán theo quy trình tuần tự, nghĩa là từng phép tính sẽ chờ đến lượt chúng. 1 CPU đa nhân có thể tăng tốc độ tính toán bằng việc loading nhiều phép tính vào mỗi core. Nhưng chúng ta biết CPU đa nhân quá đắt, nên đem CPU dùng cho việc training các neutal network quả thực không tối ưu hoá về mặt chi phí.

Còn đối với GPU, chúng ta có 1 bộ VXL với hàng ngàn core, có thể cùng lúc xử lý hàng triệu phép tính cùng lúc. Các việc render hình ảnh và deep learning cũng tương tự nhau, khi 2 tác vụ này đều phải xử lý rất rất nhiều ma trận số trên mỗi giây. Đó cũng là lý do tại sao mà laptop và desktop với high-end GPU được ưa chuộng khi dùng cho công tác deep learning. Nvidia có 1 model lập trình dành cho GPU, tên CUDA – có thể giúp các lập trình viên xây dựng các ứng dụng song song với nhau. Ngoài ra, cũng có 1 loại GPU, tên GPGPU – chuyên dụng cho các ứng dụng cần xử lý song song nhiều tác vụ, được xử dụng để tăng sức mạnh cho deep learning.

AI, Artificial Intelligence, Deep Learning, GPU, So sánh GPU và CPU

Mạng Neutral Network

Làm 1 phép so sánh đơn giản giữa CPU và GPU, chúng ta thấy rằng GPU mới nhất của Nvidia có 3584 core, còn top CPU của intel có 28 core. Nói vậy không có nghĩa CPU không có đất sống, vì có những tác vụ chúng ta sẽ rất cần các core “lực lưỡng” và sự kết hợp giữa CPU, GPU và RAM, cùng các chỉ số cấu hình thích hợp, sẽ cho ra 1 hệ thống hoàn hảo cho deep learning.

AI, Artificial Intelligence, Deep Learning, GPU, So sánh GPU và CPU

Các nhà cung cấp dịch vụ cloud của thế giới như Amazon, Google, IBM và Microsoft cũng bắt đầu offer dịch vụ cloud Server trên nền GPU. Những VM này được xây dựng trên nền tảng mới nhất của bộ VLX Nvidia  Tesla, đủ để đem tới sức mạnh cần thiết dành cho các tác vụ của Deep learning. Các hàng Cloud Server cũng có thể trả với hình thức theo giờ, tuỳ với nhu cầu của mình