Làm Machine learning bằng trình duyệt web

Một thư viện JavaScript mới chạy trên TensorFlow của Google ngay trong trình duyệt với tăng tốc GPU – một cách mới để mang machine learning trở nên phổ biến.

Hiện tại, có một thư viện JavaScript thực hiện chức năng neural networks bên trong một trang web, sử dụng hardware-accelerated API có sẵn trong các trình duyệt web hiện đại.

Được phát triển bởi một nhóm sinh viên sau đại học của MIT, TensorFire có thể chạy các mô hình machine learning kiểu TensorFlow trên bất kỳ GPU nào mà không yêu cầu các trình trung gian GPU cần thiết bằng các thư viện machine learning như là Keras-js.

TensorFire đã tiến 1 bước dài hướng tới mục tiêu khiến Machine learning trở nên dễ dàng tiếp cận với nhiều đối tượng hơn, sử dụng các phần cứng và phần mềm mà sẵn có thông qua những tiến bộ đạt được trong cách thức đưa ra dự đoán mô hình chính xác. Điều này giúp tiết kiệm nguồn lực một phần so với trước đây.

Sức Machinelearning nằm trong trình duyệt của bạn

TensorFire hoạt động bằng cách sử dụng chuẩn WebGL, một hệ thống nền tảng cho phép vẽ đồ họa GPU-accelerated trong các trình duyệt web. WebGL hỗ trợ GLSL, một ngôn ngữ giống như C được sử dụng để viết shaders, là những chương trình ngắn được sử dụng để chuyển đổi dữ liệu trực tiếp trên GPU.

Shaders thường được sử dụng trong đường dẫn WebGL để biến đổi cách thức đồ họa được render – ví dụ như để render hiệu ứng bóng ảnh hoặc các hiệu ứng trực quan khác. Nhưng TensorFire sử dụng các shader để chạy song song các phép tính cần thiết tạo ra các dự đoán từ các mô hình TensorFlow. TensorFire cũng đi kèm với một thư viện để cập nhật các mô hình TensorFlow và Keras hiện tại.

Với framework này, bạn có thể triển khai mô hình training trực tiếp vào một trình duyệt web đưa ra các dự đoán cục bộ từ trình duyệt. Người dùng không cần phải tải về, cài đặt hoặc biên dịch bất cứ thứ gì; Tất cả công việc được thực hiện trực tiếp trong trình duyệt. Dữ liệu được sử dụng để thực hiện các dự đoán cũng được xử lý hoàn toàn trên client. Thương hiệu của GPU không còn là vấn đê cả hai GPU AMD và Nvidia đều được hỗ trợ.

Một ví dụ dựa trên web của TensorFire cho thấy một cách thức vận chuyển neural network, theo đó 1 hình ảnh có thể phản ánh nhiều nội dung khác nhau. Phần chậm nhất của bản demo là tải mô hình và biên dịch đường dẫn shader; phần triển khai thực tế chỉ mất một hoặc hai giây.

Những người sáng tạo của TensorFire tuyên bố rằng nó nhanh hơn các giải pháp khác. Khôi phục dữ liệu giữa GPU và CPU là một nút thắt làm giảm hiệu suất phổ biến hiện nay, do đó TensorFire tránh được vấn đề này bằng cách giữ càng nhiều dữ liệu trên GPU cùng một lúc.

Giữ cho dữ liệu của bạn gần hơn với dự đoán của bạn

Những ưu điểm nổi bật của phương pháp tiếp cận của TensorFire là tính linh hoạt và tiện lợi của nó.  Các trình duyệt web hiện đại chạy trên hầu hết mọi hệ điều hành và nền tảng phần cứng, và thậm chí các điện thoại thông minh cấp thấp cũng có một số lượng GPU dự phòng đủ lớn. Phần lớn các kết quả hữu ích thu được từ các mô hình machine learning liên quan đến thiết lập các đường dẫn machine learning, hoặc để thực hiện việc đào tạo hoặc cung cấp các dự đoán. Nó rất hữu ích để đẩy nhanh các quá trình chỉ cần mở một trình duyệt web và nhấp vào cái gì đó, ít nhất là cho các class của công việc.

Một ưu điểm khác được tuyên bố bởi người sáng tạo của TensorFire là nó cho phép triển khai các dự đoán hoàn toàn trên client. Điều này sẽ là bất lợi nếu phải train toàn bộ mô hình và dữ liệu được lưu trữ trên cloud. Nhưng nó phù hợp với các ứng dụng có mô hình triển khai nhỏ, dữ liệu từ phía client, và với người dùng không muốn tải bất cứ thứ gì.

Lợi thế thứ ba của TensorFire là về mặt lý thuyết giảm bớt các hạn chế gặp phải bới các thương hiệu đồ họa khác nhau, nhờ tốc độ cao mà nó tương thích với GPU của Nvidia và AMD.

Về mặt lịch sử, tiêu chuẩn CUDA của Nvidia đã được sử dụng để tăng tốc cho machine learning thông qua GPU, cho phép hiệu suất cao hơn, khả năng mở rông hơn tiêu chuẩn OpenCL, hỗ trợ nhiều loại phần cứng. AMD có kế hoạch riêng để giải quyết các vấn đề về hiệu năng của OpenCL, nhưng TensorFire cho phép người dùng và các developer hoàn toàn bỏ qua vấn đề này.

TensorFire ngày càng tận dụng các thế mạnh của mình: làm cho các mô hình machine learning trở nên nhỏ gọn và hiệu quả hơn, độ lệch chuẩn thường rất nhỏ và khó phát hiện. Cách tiếp cận “tensor quantized tensor” có nghĩa là các mô hình nhỏ hơn có thể được triển khai cho khách hàng, và dự đoán có thể được thực hiện nhanh hơn.

Tuy nhiên, các nhà sản xuất của TensorFire tuyên bố rằng phương pháp “tensor quantized tensor” có độ chính xác thấp cho phép phần mềm chạy trên một phạm vi GPU và trình duyệt rộng hơn, đặc biệt là những máy không hỗ trợ đầy đủ các phần mở rộng WebGL.

Cuối cùng, nhóm TensorFire có kế hoạch phát hành thư viện dưới dạng một dự án nguồn mở được MIT cấp phép, vì vậy công việc tăng tốc được thực hiện trong TensorFire cũng có thể được sử dụng trong một phạm vi các ứng dụng – ngay cả những ứng dụng không liên quan đến TensorFlow hoặc machine learning. Những nhà sáng tạo framework lưu ý GLSL API cấp thấp trong TensorFire “cũng có thể được sử dụng để thực hiện bất kỳ phép tính phức tạp nào”, có nghĩa là framework cho tính toán GPU, trong trình duyệt, tính toán client-side đều có thể được xây dựng trên nó .

Techtalk Via Infoworld