Vì sao bọn làm AI toàn dùng Python thay vì C++ thế?

2
2639

Cách đây hơn 1 tuần mình có đọc được post này của bạn Long Nguyễn Xuân trên Quora Việt Nam. Cái này thì mình cũng biết nhưng không giải thích hay và đơn giản như Long. Cho nên mình có xin phép bạn ấy chia sẻ bài viết lên Share Ngay – đương nhiên Long đã đồng ý.

Để trả lời cho câu hỏi: “Vì sao bọn làm AI toàn dùng Python thay vì C++?” thì a/e cần hiểu cốt lõi vấn đề. Câu trả lời mình nghĩ sẽ làm nhiều bạn ngạc nhiên đấy:

À thì phần lớn người làm AI không-phải-kỹ-sư-phần-mềm, họ không cần quan tâm về quản lý bộ nhớ, tham biến/tham trị, và đa kế thừa. Họ cần một công cụ giúp họ trực quan hóa dữ liệu (visualize data), kết nối các thí nghiệm với vài dòng code, và tương tác/thay đổi data và mô hình mà không cần biên tập lại (recomplile) và chạy lại toàn bộ hệ thống mỗi lần thay đổi xíu xiu.

C++ vượt trội hơn về tốc độ nhưng khó học và ít thư viện

Python đáp ứng tất cả những yêu cầu trên, C++ thì không.

Tuy vậy, các mô hình học máy (machine learning model) yêu cầu phần cứng rất cao, ví dụ như GPU đối với các tác vụ tính toán dạng ma trận, (matrix operations). Để xử lý nó, đương nhiên cần các ngôn ngữ bậc thấp như là C/C++. Và thực ra, phần lớn thư viện như Tensorflow cung cấp các giao diện Python (Python interface) tuy nhiên, các mô-đun con (submodule) được viết bằng C để đảm bảo vấn đề hiệu suất.

Mô hình một phần-mềm-AI

Vậy nên, bạn có thể tự làm bánh cho mình rồi tự thưởng thức luôn (OP chơi chữ, vì dính tới C/C++ là dính tới câu chuyện build-it-yourself, tự nướng cái bánh của mình đi). Chúng ta có thể tận dụng lợi thế của sự dễ dàng và đơn giản của Python, và hiệu suất & khả năng tương tác với các phần cứng ở tầng thấp (low level intergration) của C++.

Footnotes

Nguồn: Quora dịch bởi Long Nguyễn Xuân

2
Bình Luận Bài Viết

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Bà NaTrần Minh Recent comment authors

Trần Minh | <span class="wpdiscuz-comment-count">67 comments</span>
Khách
Trần Minh | 67 comments
Off

Không phải lười học ngôn ngữ mới. Nhưng mà em định dành cả thanh xuân với C/C++ nghe có vẻ gian nan nhỉ :v