
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.
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.
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.
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ó.
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.
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.