Azure Machine Learning - Part1: Introduction

22/11/2024
Hiện nay, các giải pháp machine learning đang được áp dụng vào cuộc sống để xử lí rất nhiều bài toán ở nhiều mảng khác nhau. Với các nhánh được phát triển từ machine learning như deep learning hay reinforce learning, việc đơn giản hóa công việc thiết lập môi trường, tính toán tài nguyên, sẽ giúp người dùng tập trung vào mục đích chính là cách giải quyết bài toán. Dựa vào nhu cầu đó, kết hợp với hạ tầng cloud, một số nhà cung cấp đã đưa ra một số bộ giải pháp cho phép người dùng thao tác trên hạ tầng của các nhà cung cấp. Loạt bài sau đây sẽ giới thiệu về Azure Machine Learning - một bộ giải pháp về machine learning do Microsoft phát triển.

Overview

Azure Machine Learning là gì?

Trước tiên, cùng xem định nghĩa của Microsoft về Azure Machine Learning (viết tắt là AzureML):

Azure Machine Learning is a cloud service for accelerating and managing the machine learning project lifecycle. Machine learning professionals, data scientists, and engineers can use it in their day-to-day workflows: train and deploy models, and manage MLOps.

You can create a model in Azure Machine Learning or use a model built from an open-source platform, such as PyTorch, TensorFlow, or scikit-learn. MLOps tools help you monitor, retrain, and redeploy models.

Tạm dịch:

Azure Machine Learning là một dịch vụ cloud dùng để hỗ trợ và quản lí vòng đời của dự án machine learning. Các chuyên gia machine learning, nhà khoa học dữ liệu và kỹ sư có thể sử dụng AzureML trong các công việc hằng ngày như train, deploy model và quản lí thông qua MLOps.

Model trong AzureML có thể được tạo thủ công hoặc sử dụng các model xây dựng từ các nền tảng mã nguồn mở như PyTorch, TensorFlow hay scikit-learn. Các công cụ MLOps giúp người dùng theo dõi, train lại và deploy lại model.

Nói ngắn gọn, Azure Machine Learning là một môi trường để quản lí, train và deploy các dự án machine learning.


Key Concepts

Các ưu điểm của Azure Machine Learning

Azure Machine Learning chạy trên hạ tầng cloud của Azure, do đó kế thừa đầy đủ các ưu điểm của dịch vụ cloud và bổ sung thêm nhiều tính năng chuyên biệt cho machine learning:

  • Tạo môi trường làm việc chung cho các thành viên trong nhóm, có thể cộng tác ở bất kỳ đâu mà không bị giới hạn địa lý.

  • Tài nguyên hạ tầng (CPU, RAM, GPU, …) được quản lí trực tiếp qua giao diện. Việc scale tài nguyên trở nên nhanh và đơn giản hơn rất nhiều so với triển khai hạ tầng on-premise.

  • Đảm bảo tính bảo mật và cung cấp sẵn các công cụ quản lí.

  • Cung cấp các environment (image) được xây dựng sẵn dành riêng cho AzureML, phục vụ các dự án cụ thể.

Các image Ubuntu trên Microsoft Artifact Registry, bao gồm image CPU base và GPU base.

  • Hỗ trợ nhiều cách làm việc với dự án: Azure Machine Learning Studio, Python SDK, Azure CLI (ML extension) và REST API.

  • Dễ dàng tích hợp với các dịch vụ khác trong hệ sinh thái Azure như:

    • Azure Container Registry, Azure Key Vault, Azure Virtual Network

    • Azure Synapse Analytics để xử lí và stream dữ liệu bằng Spark

    • Azure Arc để chạy dịch vụ Azure trên Kubernetes

    • Azure SQL Database, Azure Storage Blobs để lưu trữ dữ liệu

    • Azure App Service để deploy ứng dụng machine learning

  • Hỗ trợ các framework phổ biến như PyTorch, TensorFlow, scikit-learn, XGBoost, LightGBM, đồng thời hỗ trợ ngôn ngữ R và .NET.

  • Tích hợp sẵn các công cụ MLOps, giúp tự động hóa quá trình deploy model thông qua endpoints và pipeline.

Một vòng đời điển hình của model machine learning – Azure Machine Learning hỗ trợ toàn bộ các bước trong lifecycle này.


Nhược điểm của Azure Machine Learning

Bên cạnh những ưu điểm, Azure Machine Learning cũng tồn tại một số hạn chế:

  • Chi phí khó kiểm soát hơn so với on-premise
    Với triển khai tại chỗ, chi phí thường được dự đoán trước. Trong khi đó, Azure Machine Learning tính chi phí dựa trên tài nguyên compute sử dụng.
    Ngoài ra, các dịch vụ đi kèm như Azure Storage Account sẽ được tính phí riêng.
    Mô hình thanh toán Pay-as-you-go hoặc các gói cam kết (Saving Plan, Reservation) có thể giúp giảm chi phí, nhưng nếu sử dụng không cẩn thận, chi phí có thể tăng rất cao.

Cảnh báo của Microsoft về chi phí khi sử dụng Azure Machine Learning.

  • Người mới cần thời gian làm quen với Azure Machine Learning Studio cũng như SDK và CLI.


Người dùng nào nên sử dụng Azure Machine Learning?

Dựa trên các đặc điểm trên, Azure Machine Learning phù hợp với các đối tượng sau:

  • Data scientist muốn tập trung vào xử lí dữ liệu và xây dựng model, thay vì phải tự thiết lập pipeline và hạ tầng.

  • DevOps có thể phối hợp cùng data scientist trong việc chuẩn bị môi trường, tài nguyên, pipeline train và deploy model.

  • Người dùng đã quen với hệ sinh thái Azure, cần tích hợp machine learning vào các dịch vụ Azure sẵn có.


Implementation

Tạo môi trường Azure Machine Learning

Khi bắt đầu một dự án, bước đầu tiên là tạo Azure Machine Learning Workspace.

Nhập các thông tin cần thiết để tạo workspace mới.

Sau khi tạo thành công, người dùng sẽ truy cập được vào giao diện Azure Machine Learning Studio để quản lí toàn bộ dự án.


Conclusion

Azure phát triển Azure Machine Learning như một giải pháp nhằm đơn giản hóa việc train và deploy các model machine learning trên nền tảng cloud. Ngoài Azure, các nhà cung cấp khác cũng có những giải pháp Machine Learning as a Service (MLaaS) tương tự như Amazon Machine Learning, Google AI Platform hay IBM Watson Machine Learning.

Trong phần tiếp theo, chúng ta sẽ tìm hiểu chi tiết các thành phần trong một Azure Machine Learning Workspace thông qua giao diện Azure Machine Learning Studio.


References

https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning?view=azureml-api-2

Dropdown icon

Blog liên quan

Dropdown icon
Contact Us