Tối ưu hóa hiệu năng để mang AI tới thiết bị đầu cuối

Ngọc Ánh, Phạm Thu Trang| 03/10/2018 17:43
Theo dõi ICTVietnam trên

Trí tuệ nhân tạo (AI) là yếu tố cốt lõi để tạo ra những thiết bị thông minh hơn. Với hàng tỷ thiết bị được kết nối, cách duy nhất để quản lý lượng dữ liệu tạo ra bởi sự tương tác này là để các thiết bị tự đưa ra quyết định một cách độc lập ở một mức nhất định.

Khi các thiết bị trở nên phức tạp và nhiều tính năng hơn, chúng cũng cần có khả năng học hỏi và thích nghi với các ứng dụng, người dùng và môi trường cụ thể. Để đáp ứng được yêu cầu thời gian thực và cắt giảm chi phí vận hành, những chức năng này cần phải được tích hợp với thiết bị nữa.

Thử thách cho các nhà phát hành là để áp dụng trí thông minh vào những thiết bị này theo một cách hiệu quả về hiệu năng và khả năng. Đây là khó khăn với gần như tất cả các ứng dụng IoT từ cảm biến thông minh tới điện thoại di động.

Mô hình mạng lưới thần kinh

Trí tuệ nhân tạo là một thuật ngữ để mô tả công nghệ khiến các thiết bị thông minh hơn. Có nhiều kiểu AI khác nhau, ví dụ như machine learning và deep learning.

Thay vì làm việc với các cấu trúc và thuật toán về hệ thần kinh, các nhà phát triển đã được tiếp cận với một lượng lớn các công cụ cao cấp cho phép họ có thể tạo ra các mẫu hệ thần kinh. Các khuôn mẫu như Caffe2, TensorFlow và PyTorch định hình nên các mẫu từ khái niệm cho tới kết quả. Sự sẵn có của định dạng Open Neural Network Exchange (ONNX) đem lại cho các nhà phát triển sự linh hoạt bằng cách chuyển giao mẫu deep-learning giữa các khung mẫu.

Hiệu suất

Hiệu suất có thể được định nghĩa theo nhiều cách khác nhau. Với các ứng dụng tích hợp AI tốn năng lượng sẽ ảnh hưởng xấu tới khả năng vận hành, hiệu suất có thể đo lường qua khả năng xử lý trên mỗi watt. Nhìn chung, tối ưu hiệu suất thường gắn với việc đưa hệ thống tiếp cận với các thuật toán, phần cứng và phần mềm.

Tối ưu hóa hiệu suất dưới góc độ phần mềm có thể khá khó khăn cho các mẫu dựa trên mạng lưới thần kinh.  Về mặt nội bộ, một mẫu là một tập hợp các điểm được kết nối bằng dây và chốt chặn. Các nhà sản xuất huấn luyện các mẫu bằng cách cập nhật các điểm chốt tới khi chúng đưa ra đáp án chính xác nhất.

Tuy nhiên, vì các nhà phát triển đang làm việc trên cấp độ mô hình, sự áp dụng cho các mạng lưới thần kinh này vẫn chưa được tập trung, vậy nên sự vận hành vẫn còn là một câu hỏi. Vì chúng chưa có những khả năng và chuyên môn cần thiết để tạo ra những quyết định hiệu quả ở cấp độ thuật toán và phần cứng, các nhà phát triển thường sẽ không thể tới ưu được mô hình này trong thực tiễn.

Cân nhắc cả việc cắt giảm và lượng tử hóa, hai điều cần thiết cho việc tối ưu hóa một hệ thống thần kinh. Cắt giảm là một quá trình gỡ bỏ các điểm và dây. Trong vài trường hợp, các điểm này chỉ là phụ trong mô hình. Chúng có thể được loại bỏ để cải thiện kích cỡ mô hình và tăng khả năng xử lý. Tuy nhiên, việc này có thể đổi lại bằng độ chính xác và hiệu năng. Ví dụ, gỡ bỏ một vùng của hệ thống có thể giảm độ chính xác khoảng 0.5% có thể tăng một lượng lớn tốc độ và thời gian hoạt động.

Lượng tử hóa là quá trình giảm số lượng bit trên các thông số trở kháng kết nối các điểm. Trong quá trình phát triển, vẫn khả thi để huấn luyện một mô hình 32-bit. Tuy nhiên, điều này có thể đưa ra kết quả chính xác hơn yêu cầu. Bằng cách sử dụng ít bit hơn, từ 32-bit xuống 8-bit, mô hình này có thể thu nhỏ hơn rất nhiều mà không ảnh hưởng đến độ chính xác. Thu nhỏ các mô hình bằng  các này loại bỏ việc xử lý và truyền dẫn dữ liệu, đem đến khả năng xử lý cao hơn rất nhiều. Bởi mô hình này có thể xử lý nhanh hơn, đồng nghĩa với việc tiêu thụ ít điện năng hơn.

Sự hiệu quả của các mô hình thần kinh này có thể được tối ưu bằng cách sửa đổi phần cứng. Ví dụ, các vị xử lý của Snapdragon từ Qualcomm đem tới một nền tảng điện toán tích hợp CPU, vi xử lý tín hiệu số (DSP) và vi xử lý đồ họa (GPU) trong một chip. CPU này đem tới một sự linh hoạt, nhưng cũng tiêu thụ điện năng lớn hơn. Nhiều thuật toán AI được thực thi trên DSP với hình thức xử lý vector, và các ứng dụng AI sẽ đem tới khả năng xử lý trên mỗi watt tốt hơn khi các phần hợp lý của thuật toán AI được áp dụng.

text

Để hỗ trợ các nhà phát triển, môi trường phát triển phần mềm có thể tự động hóa việc tối ưu phần cứng và phần mềm. Các công cụ sẽ phải tích hợp với nền tảng phần cứng để đạt được điều này. Với ngành công nghiệp AI thay đổi với một tốc độ chóng mặt, tối ưu hóa ở mức độ hệ thống có thể sẽ khó khăn. Giống với cách các thiết bị cần thích nghi  qua việc học hỏi, các nhà phát triển và nhà sản xuất cần có theerthisch nghi với các khung mẫu và mô hình để dẫn đầu trong ngành AI. Và với hệ sinh thái đang tăng dần, việc sử dụng các khuôn mẫu từ bên thứ ba là rất quan trọng.

text

Qualcomm AI Research có sứ mệnh đột phá trong các nghiên cứu AI và đem chúng tới các ngành công nghiệp. Điều này thường được thực hiện bằng cách thương mại hóa các nghiên cứu qua các sản phẩm, như Qualcomm Neural Processing SDK. SDK hỗ trợ một vài khung mẫu, bao gồm TensorFlow, Caffe2, ONNX, cho phép các nhà phát triển lựa chọn môi trường phát triển  cho các mô hình hệ thống thần kinh. SDK sau đó sử dụng các mô hình này và tối ưu hóa chúng cho nền tảng Snapdragon. Sử dụng một file tùy chỉnh, các nhà phát triển có thể hướng dẫn SDK tối ưu các ứng dụng cụ thể một cách hợp lý.

text

Chú ý rằng cấp độ tự động hóa của các công cụ phát triển đang thay đổi nhanh chóng. Ngày nay, các kỹ sư Qualcomm đã thiết kế các kernel phù hợp với tính chất của phần cứng. Qualcomm tiếp tục tiến tới việc tự động hóa cho giai đoạn phát triển này.

Qualcomm AI Research đang tập trung vào các nghiên cứu hiệu năng của AI, liên tục đổi mới quá trình tự độgn hóa và lượng tử hóa để giảm kích cỡ hệ thống thần kinh trong khi giữ được sự chính xác.

Học hỏi trên thiết bị

Hãy chú ý rằng việc có được các công cụ phát triển có thể tự động tối ưu xử lý chỉ là một phần của việc tối ưu hóa hệ thống AI,  đặc biệt với các mô hình cụ thể. Với việc học hỏi liên tục, một hệ thống dựa trên AI có thể tăng cường độ chính xác và hiệu quả quả thời gian. Những cải thiện này không chỉ trong việc chạy ứng dụng mà cho cả những người dùng cụ thể và các điều kiện môi trường lớn.

Ví dụ, Qualcomm AI Research đã có sự phát triển bao quát trong việc tự động hóa nhận diện giọng nói qua UI. Đây là điểm mà các thiết bị thích ứng với một mẫu giọng nói và trở nên chính xác hơn bằng việc nhận thức một người dùng cụ thể ngay cả khi họ các ngữ điệu riêng. Qualcomm cũng tăng khả năng nhận diện và lọc âm thanh môi trường để tăng độ chính xác.

Một khía cạnh thiết yếu của việc đổi mới này là khả năng tích hợp chúng vào thiết bị. Trong khi đám mây rất hữu dụng cho việc phân tích, có nhiều lợi thế khi tích hợp với thiết bị hơn, ví dụ như nhận diện giọng nói, xử lý ngôn ngữ và cá nhân hóa. AI trên thiết bị trở nên khả thi hơn khi sự tối ưu hóa phần cứng và phần mềm được áp dụng hiệu quả. Kết quả của việc này là tăng cường bảo mật, khả năng phản hồi, chi phí vận hành thấp, và độ hài lòng từ khách hàng cao, cùng với nhiều lợi ích khác.

Đổi mới đối với AI tiếp tục đem lại cho các nhà phát triển khả năng đem đến trí thông minh tân tiến hơn tới các thiết bị cuối. Bằng cách thiết kế các hệ thống tối ưu hóa hiệu năng, các nhà sản xuất có thể cân bằng hệ sinh thái các ứng dụng AI và khả năng đem tới các giá trị lớn hơn tới khách hàng.

Nổi bật Tạp chí Thông tin & Truyền thông
Đừng bỏ lỡ
Tối ưu hóa hiệu năng để mang AI tới thiết bị đầu cuối
POWERED BY ONECMS - A PRODUCT OF NEKO