Scalability
Khám phá tầm quan trọng của scalability trong AI. Tìm hiểu cách Ultralytics YOLO26 và Ultralytics Platform hỗ trợ triển khai model hiệu quả, hiệu năng cao.
Khả năng mở rộng đề cập đến khả năng của một hệ thống, mạng hoặc quy trình trong việc xử lý khối lượng công việc ngày càng tăng bằng cách bổ sung tài nguyên. Trong bối cảnh Trí tuệ nhân tạo (AI) và Học máy (ML), khả năng mở rộng mô tả năng lực của model hoặc hạ tầng trong việc duy trì mức hiệu năng khi nhu cầu tăng lên. Nhu cầu này thường biểu hiện qua các dataset lớn hơn trong quá trình training, lưu lượng người dùng cao hơn khi inference hoặc độ phức tạp gia tăng trong các tác vụ tính toán. Kiến trúc có khả năng mở rộng cho phép mở rộng liền mạch—dù là triển khai model [thị giác máy tính](https://ultralytics-translation-2.invalid trên một thiết bị nhúng duy nhất hay xử lý hàng triệu yêu cầu API thông qua các cluster cloud—đảm bảo rằng độ trễ inference vẫn thấp ngay cả khi tải cao.
Tầm quan trọng của khả năng mở rộng trong AI#
Thiết kế hướng đến khả năng mở rộng là một thành phần quan trọng của Vận hành học máy (MLOps) thành công. Một model hoạt động hoàn hảo trong môi trường nghiên cứu được kiểm soát có thể bị lỗi khi phải xử lý các luồng dữ liệu tốc độ cao trong môi trường production. Quản lý hiệu quả Dữ liệu lớn đòi hỏi các hệ thống có thể scale theo chiều ngang (bổ sung máy vào cluster) hoặc theo chiều dọc (bổ sung tài nguyên, chẳng hạn như RAM hoặc GPU, cho các máy hiện có).
Các ưu điểm chính của hệ thống AI có khả năng mở rộng bao gồm:
- Độ tin cậy: Các hệ thống có khả năng mở rộng đảm bảo dịch vụ hoạt động ổn định trong những đợt tăng lưu lượng đột biến ngoài dự kiến, ngăn ngừa sự cố trong các ứng dụng quan trọng.
- Hiệu quả chi phí: Scaling động cho phép giảm tài nguyên trong các giai đoạn sử dụng thấp, một tính năng thường được quản lý bởi các nền tảng điện toán đám mây như AWS hoặc Google Cloud.
- Đảm bảo cho tương lai: Hạ tầng có khả năng mở rộng hỗ trợ các thuật toán mới hơn, phức tạp hơn, chẳng hạn như vision transformer (ViT), mà không cần đại tu toàn bộ hệ sinh thái phần cứng.
Các chiến lược đạt được khả năng mở rộng#
Việc tạo ra các giải pháp AI có khả năng mở rộng đòi hỏi tối ưu hóa cả kiến trúc model lẫn hạ tầng triển khai.
- Training phân tán: Khi dataset training trở nên quá lớn đối với một processor duy nhất, training phân tán chia workload trên nhiều Bộ xử lý đồ họa (GPUs). Các framework như PyTorch Distributed cho phép developer parallelize các phép tính, rút ngắn đáng kể thời gian cần thiết để train các foundation model. Các công cụ như Ultralytics Platform đơn giản hóa quy trình này bằng cách tự động quản lý tài nguyên cloud training.
- Kiến trúc model hiệu quả: Việc lựa chọn kiến trúc model phù hợp có vai trò then chốt đối với throughput. Ultralytics YOLO26 mới nhất được thiết kế nhỏ gọn và nhanh hơn các phiên bản tiền nhiệm, giúp model có khả năng scale tự nhiên trên nhiều loại phần cứng, từ thiết bị AI biên đến các cụm server khổng lồ.
- Container hóa và orchestration: Đóng gói ứng dụng bằng Docker đảm bảo ứng dụng chạy nhất quán trên các môi trường khác nhau. Để quản lý các cluster container lớn, Kubernetes tự động hóa việc triển khai, scaling và quản lý các ứng dụng được container hóa.
- Tối ưu hóa model: Các kỹ thuật như lượng tử hóa model và pruning làm giảm memory footprint và chi phí tính toán của model. Các công cụ như NVIDIA TensorRT có thể tiếp tục tăng tốc inference, cho phép đạt throughput cao hơn trên phần cứng hiện có.
Ví dụ code: Batch Inference có khả năng mở rộng#
Một phương pháp hiệu quả để cải thiện khả năng mở rộng trong quá trình inference là xử lý input theo batch thay vì tuần tự. Điều này tối đa hóa mức sử dụng GPU và tăng throughput tổng thể.
from ultralytics import YOLO
# Load a scalable YOLO26 model (smaller 'n' version for speed)
model = YOLO("yolo26n.pt")
# Define a batch of images (URLs or local paths)
# Processing multiple images at once leverages parallel computation
batch_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference on the batch
results = model(batch_images)
# Print the number of detections for the first image
print(f"Detected {len(results[0].boxes)} objects in the first image.")Các ứng dụng trong thực tế#
Khả năng mở rộng giúp các công nghệ AI chuyển đổi từ nghiên cứu lý thuyết thành các công cụ công nghiệp toàn cầu.
- Sản xuất thông minh: Trong lĩnh vực AI trong sản xuất, các hệ thống kiểm tra tự động phải phân tích hàng nghìn linh kiện mỗi giờ trên các dây chuyền lắp ráp tốc độ cao. Một hệ thống phát hiện vật thể có khả năng mở rộng đảm bảo rằng khi tốc độ sản xuất tăng, quy trình kiểm soát chất lượng vẫn duy trì độ chính xác cao mà không trở thành điểm nghẽn.
- Engine đề xuất trong bán lẻ: Các nền tảng thương mại điện tử lớn sử dụng hệ thống đề xuất để cung cấp tức thời hàng triệu gợi ý sản phẩm được cá nhân hóa. Hạ tầng có khả năng mở rộng cho phép các nền tảng này xử lý những sự kiện quy mô lớn như Black Friday, khi lưu lượng có thể tăng gấp 100 lần, bằng cách tự động cấp phát thêm các node server thông qua Microsoft Azure hoặc các nhà cung cấp tương tự.
Khả năng mở rộng so với các khái niệm liên quan#
Mặc dù thường được sử dụng thay thế cho nhau, khả năng mở rộng khác với hiệu năng và hiệu quả.
- Khả năng mở rộng so với hiệu năng: Hiệu năng thường đề cập đến tốc độ hoặc độ chính xác của một hệ thống tại một thời điểm cụ thể (ví dụ: số khung hình mỗi giây). Khả năng mở rộng mô tả năng lực của hệ thống trong việc duy trì hiệu năng đó khi workload tăng lên.
- Khả năng mở rộng so với hiệu quả: Hiệu quả đo lường tài nguyên được sử dụng để hoàn thành một tác vụ cụ thể (ví dụ: mức tiêu thụ năng lượng trên mỗi lần inference). Một hệ thống có thể hiệu quả nhưng không có khả năng mở rộng (nếu không thể xử lý các tác vụ song song), hoặc có khả năng mở rộng nhưng kém hiệu quả (nếu sử dụng quá nhiều tài nguyên để xử lý mức tăng trưởng).
- Khả năng mở rộng so với tính linh hoạt: Tính linh hoạt cho phép một hệ thống xử lý các loại tác vụ khác nhau, chẳng hạn như YOLO11 thực hiện detection, segmentation và pose estimation. Khả năng mở rộng tập trung cụ thể vào việc xử lý nhiều hơn cùng một tác vụ.









