WinML là một bộ hàm lập trình (API) cho phép lập trình viên khai thác toàn diện năng lực tính toán của mọi thiết bị chạy Windows 10 để thực hiện các mô hình 'dạy' trước cho máy (pre-trained machine learning) và từ đó đưa hoạt động tính toán AI từ đám mây xuống xử lý trên thiết bị tại chỗ khi cần.
Có nhiều lý để đưa tác vụ AI về xử lý bằng sức mạnh phần cứng của máy. Lý do đầu tiên là tốc độ xử lý!? Mặc dù sức mạnh tính toán trên đám mây rất lớn nhưng suy cho cùng, chúng ta vẫn phải truyền tải dữ liệu lên đám mây và dĩ nhiên phải tốn nhiều tiền để đổi lấy tốc độ. Đó là chưa kể độ trễ của kết nối mạng dĩ nhiên chậm hơn rất nhiều so với tốc độ truy xuất bộ nhớ nội tại và việc xử lý các tập dữ liệu khổng lồ có thể sẽ rất khó nếu không sử dụng đường truyền băng thông lớn, dành riêng và chi phí đắt đỏ. Do đó, khi đưa tác vụ tính toán về xử lý trên máy, tốc độ xử lý có thể được cải thiện đáng kể nhờ độ trễ thấp hơn rất nhiều và kết quả gần như có ngay theo thời gian thực. Chi phí vận hành có thể được cắt giảm thông qua việc giảm nhu cầu sử dụng đường truyền băng thông rộng và thời gian truy xuất đám mây.
Vì các lý do bảo mật và quy tắc dữ liệu nên nhiều ngành công nghiệp vẫn chưa thể khai thác AI và máy học để xử lý các tập dữ liệu lớn. Do đó WinML sẽ cung cấp một giải pháp đơn giản hơn để chuyển các phần việc tính toán từ đám mây xuống máy tính tại chỗ, điều này có nghĩa các doanh nghiệp sẽ có thể đảm bảo mọi hoạt động đều tuân theo các quy tắc cần thiết.
Một ví dụ được Microsoft đưa ra như sau: chẳng hạn một hệ thống công nghiệp có chức năng chụp lại hình ảnh về sản phẩm để xác định liệu sản phẩm có đạt chuẩn hay có lỗi sản xuất hay không - đây là một tác vụ lý tưởng dành cho các công cụ AI chẳng hạn như Microsoft Computer Vision API. Nếu dạng tác vụ này được chuyển sang một chiếc máy tính công nghiệp để xử lý thì hiệu năng sẽ cao hơn mà không tốn chi phí cho các dịch vụ ngoài hay đòi hỏi kết nối đám mây.
Bộ hàm lập trình mới của Microsoft mang lại nhiều lợi ích giúp các nhà phát triển tích hợp chúng vào sản phẩm của mình. Điều quan trọng nhất là hàm lập trình này sẽ thực hiện tất cả các phần việc nặng nhọc nhất cho lập trình viên nhờ đó họ không cần lo lắng về loại phần cứng nào có trên chiếc máy sẽ chạy ứng dụng của mình. WinML engine sẽ khai thác phần cứng một cách linh hoạt và tạo mã lập trình để tối ưu hiệu năng có sẵn từ phần cứng của thiết bị. Engine được xây dựng dựa trên Direct 3D và nếu hệ thống có GPU hỗ trợ DX12, nó sẽ khai thác DX12 để tính toán shader. Nếu GPU có bộ nhớ VRAM lớn, tác vụ có thể được chuyển hẳn sang xử lý bằng GPU và nếu không có GPU hỗ trợ DX12 hay hiệu năng của GPU tích hợp không đủ, engine sẽ tự đổi chuyển ngược về CPU. Mã được tạo khi chạy runtime và nó luôn tối ưu hóa theo phần cứng cũng như tự cập nhật để khai thác các phần cứng mới như dòng VPU Intel Movidius.
Điều đáng chú ý nhất là engine hỗ trợ cả dòng Snapdragon 835 hiện đã được dùng trên một số mẫu laptop chạy Windows 10 ARM cũng như các thiết bị IoT. Thêm vào đó, WinML API mang lại lợi ích cho các mô hình máy học được 'dạy' từ trước. Nhờ đó dữ liệu và cấu trúc mô hình có thể được nạp vào engine để tiến hành phân tích và cho ra xác suất.
WinML khai thác các tiêu chuẩn công nghiệp như ONNX ML và ONNX được triển khai bởi Microsoft, Facebook và Amazon. Bên cạnh đó nó còn được hỗ trợ bởi các nhà sản xuất phần cứng lớn như Intel, AMD, Nvidia, ARM, Qualcomm, Huawei.