Trong một bước tiến đáng kể nhằm thúc đẩy sự hợp tác và đổi mới trong lĩnh vực học máy, Apple đã công bố MLX, một framework dành cho máy học trên silicon của Apple, được nghiên cứu về máy học của Apple mang đến cho bạn.
Apple MLX là gì?
Apple vừa mới tung ra phần mềm hỗ trợ việc đào tạo, tinh chỉnh & “chạy” các mô hình AI một cách tối ưu trên thiết bị dùng chip Apple. Các phần mềm phổ biến sẵn có thường được tối ưu cho GPU hoặc các bộ tăng tốc ASIC chuyên dụng nên phần mềm mlx này sẽ hỗ trợ rất nhiều (giảm thời gian xử lý, tăng tốc tạo kết quả) cho các nhà nghiên cứu, nhà phát triển hoặc những người yêu thích AI.
Thực tế thì các thiết bị Apple (điện thoại, máy tính xách tay) dùng chip Apple đang rất phổ biến trong giới, nên đây là một tin đáng mừng.
Apple MLX làm được gì?
Một trong những tính năng nổi bật của MLX là giới thiệu các phép biến đổi hàm tổng hợp. Cách tiếp cận sáng tạo này cho phép tự động phân biệt, vector hóa và tối ưu hóa đồ thị tính toán. Bằng cách kết hợp các chức năng này, MLX trao quyền cho các nhà phát triển nâng cao khả năng của mô hình của họ một cách hiệu quả.
Một số tính năng chính của MLX bao gồm:
- API quen thuộc : MLX có API Python bám sát NumPy. MLX cũng có API C++ đầy đủ tính năng, phản ánh chặt chẽ API Python. MLX có các gói cấp cao hơn như
mlx.nn
vàmlx.optimizers
với các API bám sát PyTorch để đơn giản hóa việc xây dựng các mô hình phức tạp hơn. - Các phép biến đổi hàm có thể kết hợp : MLX có các phép biến đổi hàm có thể kết hợp để phân biệt tự động, vectơ hóa tự động và tối ưu hóa biểu đồ tính toán.
- Tính toán lười biếng : Tính toán trong MLX là tính toán lười biếng. Mảng chỉ được cụ thể hóa khi cần thiết.
- Xây dựng đồ thị động : Đồ thị tính toán trong MLX được xây dựng động. Việc thay đổi hình dạng của các đối số hàm không gây ra quá trình biên dịch chậm và việc gỡ lỗi rất đơn giản và trực quan.
- Đa thiết bị : Hoạt động có thể chạy trên bất kỳ thiết bị nào được hỗ trợ (hiện tại là CPU và GPU).
- Bộ nhớ hợp nhất : Một điểm khác biệt đáng chú ý so với MLX và các nền tảng khác là mô hình bộ nhớ hợp nhất . Mảng trong MLX nằm trong bộ nhớ dùng chung. Các thao tác trên mảng MLX có thể được thực hiện trên bất kỳ loại thiết bị được hỗ trợ nào mà không cần di chuyển dữ liệu.
MLX được thiết kế bởi các nhà nghiên cứu máy học dành cho các nhà nghiên cứu máy học. Khung này nhằm mục đích thân thiện với người dùng nhưng vẫn hiệu quả để đào tạo và triển khai các mô hình. Bản thân thiết kế của khung cũng đơn giản về mặt khái niệm. Chúng tôi dự định giúp các nhà nghiên cứu dễ dàng mở rộng và cải thiện MLX với mục tiêu nhanh chóng khám phá những ý tưởng mới.