- vừa được xem lúc

[MLX Framework] Apple đã bắt đầu cuộc chơi !

0 0 4

Người đăng: Nhat Anh

Theo Viblo Asia

Giới thiệu MLX framework ( dành riêng cho việc huấn luyện mô hình học máy cho Apple Silicon)

Các nhóm học máy (ML) của Apple đã phát hành ra một framework chỉ dành riêng cho các dòng chip M . Bạn có thể xem chi tiết hơn ở đây (link) Ở trong bài viết này, tôi cũng như các bạn thật sự cảm thấy rất tò mò về framework này, Apple nổi tiếng với việc đêm tới những trải nghiệm tối ưu phần cứng nhất có thể trên các thiết bị như Iphone, Ipad, Macbook,.... Thì ở MLX framework, tôi cũng đang có cảm giác như vậy. MLX được lấy cảm hứng từ các framework đi trước như Pytorch, Jax, ... Tuy nhiên, MLX thêm hỗ trợ cho một mô hình bộ nhớ thống nhất ( a unified memory model), có nghĩa là các mảng sống trong bộ nhớ dùng chung và các thao tác 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 thực hiện các bản sao dữ liệu.

Ở link này ml-examples ( các ví dụ để developer các thể trải nghiệm về hiệu năng của MLX), như mô tả của repo thì có thể chạy mượt mà LLama2-7b hay một vài mô hình lớn khác như Stable_diffusion, mistral,.... Và đặc biệt trong repo có nói đó chính là việc chúng ta hoàn toàn có thể fine tuning lora trên dòng chip M, nghe khá thú vị tuy nhiên thực tế thì chắc cần phải kiểm chứng thêm. Trong repo còn đưa ra những dẫn chứng rằng MLX có thể chạy nhanh hơn ~15% so với PyTorch trong việc inference Stable_diffusion.

Trước đây mình có sử dụng thử device:mps của PyTorch ( tất nhiên là trải nghiệm rất tốt, mình có thể train cả model GAN🤣) và cũng đã có suy nghĩ về việc liệu Apple có cho ra mắt một framework chuyên dụng cho huấn luyện học máy hay không, vì các tiến trình công nghệ chip của Apple càng ngày càng tăng GPU và neural engine. Và cuối cùng ngày này cũng đã đến, ngày Apple chính thức cùng các ông lớn tham gia vào cuộc chạy đua công nghệ 🤩

Trải nghiệm thử MLX framework với bài toán kinh điển ( huấn luyện tập MNIST)

Đây là dòng lệnh rất quan trọng, nếu như hiện lên là i386 thì bạn phải thực hiện config đến khi output à arm thì lúc đó mới có thể trải nghiệm MLX một cách trọn vẹn. Screenshot 2023-12-09 at 22.07.49.png

Để thực hiện config chuyển đổi từ i386 thành arm, bạn có thể tham khảo ở link này

Huấn luyện tập MNIST trên MLX Framework

Việc quan trọng đầu tiên là cài đặt thư viện MLX : pip install mlx

*Có một vài lưu ý nhỏ, đó là hệ điều hành MacOS >= 13.3

Sau đó tiến hành tải repo này : git clone https://github.com/ml-explore/mlx-examples.git

Di chuyển tới thư mục mnist: cd mnist

Và trải nghiệm sức mạnh của Apple Silicon thôi ( ở đây mình đang sử dụng chip M1 phiên bản base chỉ có 8 GPU): python main.py --gpu

*Mình chỉ cần chạy 20 epochs và cho một kết quả khá là tích cực

Screenshot 2023-12-09 at 22.16.33.png

Một epoch chạy chưa đến 1s 🤪. Đúng là Apple không bao giờ làm chúng ta thất vọng. Không những thế độ chính xác trong 20 epochs đầu tiên ~97%.

Khá hứng thú đúng không các bạn, vì mình cũng là một iFan🤣. Mình sẽ thử fine tuning với Llama2-7b để xem MLX có thật sự mạnh hay không !

Link tải file pretrained mình để ở đây nha (link)

Bình luận

Bài viết tương tự

- vừa được xem lúc

Trực quan hóa thuật toán Machine Leaning bằng Python

Thuật toán ML(machine learning) thường được sử dụng để tìm mối quan hệ đặc trưng giữa các features và labels. Features là các biến độc lập mà chúng ta đưa vào thuật toán để huấn luyện mô hình ML, còn

0 0 12

- vừa được xem lúc

Machine Learning Cơ bản || Lesson 01: Sơ lược về Machine Learning

Sơ lược về Machine Learning (ML). 1) Định nghĩa về ML:.

0 0 16

- vừa được xem lúc

Phân loại hình ảnh với Vision Transformer

Ví dụ này triển khai mô hình Vision Transformer (ViT) của Alexey Dosovitskiy để phân loại hình ảnh và thể hiện mô hình đó trên tập dữ liệu CIFAR-100. Mô hình ViT áp dụng kiến trúc Transformer với khả

0 0 17

- vừa được xem lúc

Introduction Backpropagation CNN(Series 2)

Nhân dịp năm mới mình kính mong tất cả mọi người năm mới an lạnh thật nhiều niềm vui . Chúc mừng năm mới ngập tràn tiếng cười.

0 0 18

- vừa được xem lúc

Khám phá activation function Gelu(Transformers)

Phần 1 . Lời nói đầu. Trong bài viết này chúng ta sẽ bắt đầu tìm hiểu một số chi tiết chưa có trong bài báo https://arxiv.org/abs/1606.

0 0 17

- vừa được xem lúc

[Machine Learning] Một số nguồn hay cho việc tìm hiểu cơ chế "Attention"

head-attention-mechanism. https://data-science-blog.com/blog/2021/04/07/multi-head-attention-mechanism/. Giải thích về mặt toán học cơ chế head attention.

0 0 17