Serverless Computing
Khám phá cách điện toán không máy chủ (serverless computing) đơn giản hóa việc triển khai AI. Tìm hiểu cách xây dựng các quy trình có thể mở rộng, hiệu quả về chi phí bằng Ultralytics YOLO26 cho suy luận ML hiệu quả.
Điện toán serverless là một mô hình thực thi trên đám mây cho phép các lập trình viên xây dựng và chạy ứng dụng mà không cần sự phức tạp của việc quản lý cơ sở hạ tầng. Trong mô hình này, nhà cung cấp dịch vụ đám mây quản lý việc phân bổ và cung cấp máy chủ một cách linh hoạt, ẩn đi các chi tiết về phần cứng và hệ điều hành bên dưới đối với người dùng. Mã nguồn được thực thi trong các container không trạng thái (stateless) được kích hoạt bởi các sự kiện cụ thể, chẳng hạn như yêu cầu HTTP, sửa đổi cơ sở dữ liệu hoặc tải tệp lên. Cách tiếp cận này đặc biệt phù hợp với các chiến lược cloud computing hiện đại, vì nó cho phép các tổ chức chỉ trả phí cho thời gian tính toán thực tế tiêu thụ, đồng thời tự động đáp ứng các yêu cầu về scalability bằng cách mở rộng từ quy mô bằng không lên hàng nghìn instance dựa trên lưu lượng truy cập.
Link to this sectionCơ chế của Serverless đối với AI#
Cốt lõi của điện toán serverless là khái niệm Function-as-a-Service (FaaS), trong đó các ứng dụng được chia nhỏ thành các hàm riêng biệt thực hiện các tác vụ cụ thể. Đối với những người làm việc trong lĩnh vực Machine Learning (ML), điều này cung cấp một lộ trình hợp lý hóa cho việc model deployment. Thay vì duy trì một máy chủ chuyên dụng nhàn rỗi trong các khoảng thời gian lưu lượng truy cập thấp, một hàm serverless có thể khởi chạy theo yêu cầu để xử lý dữ liệu và tắt ngay sau đó.
Tuy nhiên, một cân nhắc quan trọng trong kiến trúc này là "cold start"—độ trễ phát sinh khi một hàm được gọi lần đầu tiên hoặc sau một khoảng thời gian không hoạt động. Để giảm thiểu điều này, các lập trình viên thường sử dụng các kiến trúc nhẹ như YOLO26 hoặc các kỹ thuật như model quantization để đảm bảo thời gian tải nhanh, điều này rất cần thiết để duy trì inference latency thấp.
Link to this sectionỨng dụng trong thực tế của Machine Learning#
Các kiến trúc serverless đặc biệt hiệu quả cho các quy trình làm việc và đường ống dữ liệu computer vision (CV) hướng sự kiện.
- Tiền xử lý dữ liệu tự động: Khi người dùng tải một tập dữ liệu thô lên dịch vụ lưu trữ như Amazon S3, nó có thể kích hoạt một hàm serverless để thực hiện data preprocessing ngay lập tức. Hàm này có thể thay đổi kích thước hình ảnh, chuẩn hóa các giá trị pixel hoặc xác thực định dạng tệp trước khi dữ liệu đi vào quy trình training data, đảm bảo tính nhất quán mà không cần can thiệp thủ công.
- Giám sát thông minh theo yêu cầu: Trong AI in Security, một cảm biến chuyển động có thể kích hoạt camera để chụp một khung hình. Sự kiện này gọi một hàm đám mây đang lưu trữ mô hình object detection. Mô hình phân tích hình ảnh để phân biệt giữa động vật vô hại và kẻ xâm nhập tiềm năng, chỉ gửi cảnh báo khi cần thiết. Điều này làm giảm đáng kể băng thông và chi phí lưu trữ so với việc truyền phát liên tục.
Link to this sectionVí dụ Python: Trình xử lý suy luận Serverless#
Đoạn mã sau minh họa một trình xử lý serverless về mặt ý tưởng. Nó khởi tạo một instance mô hình toàn cục để tận dụng "warm starts" (trạng thái trong đó container vẫn hoạt động giữa các yêu cầu) và xử lý đường dẫn hình ảnh đầu vào.
from ultralytics import YOLO
# Initialize the model outside the handler to cache it for subsequent requests
# YOLO26n is ideal for serverless due to its compact size and speed
model = YOLO("yolo26n.pt")
def lambda_handler(event, context):
"""Simulates a serverless function handler triggered by an event. 'event' represents the input payload containing
the image source.
"""
image_source = event.get("url", "https://ultralytics.com/images/bus.jpg")
# Perform inference
results = model(image_source)
# Return prediction summary
return {
"statusCode": 200,
"body": {
"objects_detected": len(results[0].boxes),
"top_class": results[0].names[int(results[0].boxes.cls[0])] if len(results[0].boxes) > 0 else "None",
},
}Link to this sectionPhân biệt các công nghệ liên quan#
Việc hiểu về điện toán serverless đòi hỏi phải phân biệt nó với các mô hình cơ sở hạ tầng khác thường được sử dụng trong MLOps.
- Serverless so với Edge Computing: Mặc dù cả hai đều nhằm tối ưu hóa hiệu quả, chúng hoạt động ở các vị trí khác nhau. Edge computing xử lý dữ liệu cục bộ trên thiết bị (ví dụ: camera thông minh hoặc IoT device) để giảm thiểu thời gian di chuyển qua mạng. Điện toán serverless diễn ra trong một đám mây công cộng tập trung. Các giải pháp lai thường xử lý dữ liệu ban đầu tại edge và gửi các điểm bất thường phức tạp đến các hàm đám mây serverless để phân tích chuyên sâu hơn như medical image analysis hoặc đánh giá pháp y.
- Serverless so với Kubernetes: Kubernetes là một nền tảng điều phối cho containerization giúp lập trình viên có quyền kiểm soát chi tiết đối với môi trường cụm, mạng và các pod. Mặc dù mạnh mẽ, nó đòi hỏi chi phí quản lý đáng kể. Các nền tảng serverless, như Google Cloud Functions hoặc Azure Functions, ẩn hoàn toàn việc điều phối này, cho phép các nhóm tập trung hoàn toàn vào logic mã nguồn thay vì tình trạng của các node.
- Serverless so với IaaS: Infrastructure-as-a-Service (IaaS) cung cấp các tài nguyên tính toán ảo hóa qua internet, như Amazon EC2. Với IaaS, người dùng chịu trách nhiệm vá lỗi hệ điều hành và quản lý middleware. Ngược lại, điện toán serverless loại bỏ các trách nhiệm vận hành này, cho phép lập trình viên tập trung vào các tác vụ cấp cao hơn như cải thiện độ chính xác của image classification.
Bằng cách tận dụng các kiến trúc serverless, các lập trình viên có thể triển khai các giải pháp AI mạnh mẽ, tiết kiệm chi phí và có khả năng xử lý khối lượng công việc không thể dự đoán trước, sử dụng các công cụ như Ultralytics Platform để hợp lý hóa quy trình huấn luyện và quản lý mô hình trước khi triển khai.






