Edge Computing
Điện toán biên xử lý dữ liệu ngay trên hoặc gần các thiết bị tạo ra dữ liệu, giúp giảm độ trễ và mức sử dụng băng thông. Nội dung đề cập đến các tầng edge, edge AI và triển khai model.
Điện toán biên là cách chạy phép tính và lưu trữ dữ liệu gần nơi dữ liệu được tạo ra hoặc sử dụng: trên thiết bị, máy chủ và gateway tại chỗ, hoặc trung tâm dữ liệu nhỏ ở rìa mạng viễn thông, thay vì gửi tất cả đến một vùng cloud ở xa. Xử lý gần nguồn giúp giảm thời gian phản hồi, giảm băng thông cần thiết để truyền dữ liệu thô, giữ dữ liệu nhạy cảm tại chỗ và giúp hệ thống tiếp tục hoạt động khi mất kết nối mạng. Ý tưởng này phát triển từ các mạng phân phối nội dung, vốn lưu cache trang web gần người dùng vào cuối thập niên 1990; năm 2009, các nhà nghiên cứu do Mahadev Satyanarayanan dẫn đầu đề xuất "cloudlet" ở gần thiết bị di động; năm 2012, Cisco đưa ra thuật ngữ điện toán sương mù; và năm 2014, cơ quan tiêu chuẩn châu Âu ETSI bắt đầu tiêu chuẩn hóa Điện toán biên đa truy nhập cho mạng di động. Chạy model machine learning trên hạ tầng này được gọi là AI biên.
Các tầng biên#
"Biên" bao gồm một số tầng nằm giữa cảm biến và cloud:
- Biên thiết bị: Camera, điện thoại, drone, robot và phương tiện xử lý dữ liệu bằng bộ xử lý riêng, thường có accelerator tích hợp.
- Biên tại chỗ: Gateway và máy chủ nhỏ gọn bên trong nhà máy, cửa hàng, bệnh viện hoặc trang trại, tổng hợp dữ liệu từ nhiều thiết bị; chẳng hạn một máy tính có GPU phân tích hàng chục luồng camera.
- Biên mạng: Máy chủ tại trạm gốc viễn thông hoặc điểm hiện diện khu vực, cách người dùng di động vài mili giây, chạy workload thay cho các thiết bị không đủ nhỏ gọn để xử lý cục bộ.
- Cloud: Các vùng trung tâm dùng để huấn luyện model, lưu trữ dữ liệu dài hạn và quản lý đội thiết bị biên.
Lý do xử lý dữ liệu ở biên#
Độ trễ là lý do đầu tiên. Ánh sáng truyền qua cáp quang với tốc độ khoảng 200 km mỗi mili giây, vì vậy trung tâm dữ liệu cách xa 1,000 km tạo thêm ít nhất 10 ms độ trễ khứ hồi, chưa tính định tuyến, xếp hàng hay xử lý; xe tự hành và robot cần phản ứng trong vài mili giây nên thực hiện suy luận thời gian thực ngay trên thiết bị. Băng thông là lý do thứ hai: một luồng camera H.264 1080p cần vài megabit mỗi giây, vì vậy một địa điểm có 100 camera sẽ liên tục tải lên hàng trăm megabit, trong khi một sự kiện phát hiện được gửi dưới dạng JSON chỉ chiếm vài kilobyte. Xử lý tại chỗ cũng giữ ảnh thô của mọi người ở lại địa phương, chỉ gửi số liệu, cảnh báo hoặc kết quả đã ẩn danh ra ngoài tòa nhà, nhờ đó đơn giản hóa các nghĩa vụ về quyền riêng tư dữ liệu; đồng thời giúp hệ thống tiếp tục hoạt động khi mất mạng tại trang trại, tàu biển, mỏ và hạ tầng ở vùng xa.
Trên thực tế, biên và cloud tạo thành một vòng lặp. Thiết bị xử lý từng frame tại chỗ và chỉ gửi sự kiện cùng các mẫu được chọn lên cloud; cloud dùng những mẫu đó để huấn luyện lại và đẩy model cải tiến trở lại thiết bị:
Mô hình này được áp dụng cho kiểm tra chất lượng trên dây chuyền sản xuất, nơi phải loại bỏ sản phẩm lỗi trước khi sản phẩm tiếp theo đến; giám sát cây trồng và vật nuôi trên những cánh đồng có kết nối yếu; và hệ thống quản lý giao thông điều chỉnh đèn tín hiệu dựa trên camera tại các giao lộ.
Điện toán biên và các thuật ngữ liên quan#
Điện toán cloud tập trung năng lực điện toán linh hoạt tại các trung tâm dữ liệu lớn, còn điện toán biên mở rộng việc xử lý từ cloud ra bên ngoài; vì vậy, hầu hết hệ thống sử dụng cả hai. AI biên là một nhánh của điện toán biên, chạy model AI. Điện toán sương mù, thuật ngữ của Cisco, mô tả tầng gateway và máy chủ cục bộ nằm giữa thiết bị và cloud, phần lớn đồng nghĩa với các tầng biên tại chỗ và biên mạng. Internet vạn vật (IoT) là mạng lưới các cảm biến và thiết bị được kết nối; điện toán biên là nơi xử lý phần lớn dữ liệu do chúng tạo ra.
Triển khai model lên thiết bị biên#
Phần cứng edge chỉ có một phần nhỏ bộ nhớ, năng lực tính toán và ngân sách điện năng của GPU trung tâm dữ liệu, từ vi điều khiển tiêu thụ milliwatt đến module NVIDIA Jetson và bo mạch Raspberry Pi. Model được thu nhỏ và tăng tốc bằng lượng tử hóa model xuống số nguyên 8 bit, pruning và chưng cất tri thức, sau đó biên dịch cho runtime và bộ tăng tốc của thiết bị đích, chẳng hạn TensorRT trên GPU NVIDIA, OpenVINO trên CPU Intel và NPU, LiteRT trên Android hoặc Core ML trên thiết bị Apple. Chế độ export của Ultralytics YOLO tạo các định dạng này từ một model đã huấn luyện. Ví dụ này export YOLO26 sang NCNN, framework inference của Tencent dành cho di động và CPU ARM, rồi chạy model đã export:
from ultralytics import YOLO
# Export YOLO26n to NCNN, a lightweight runtime for ARM CPUs and mobile devices
model = YOLO("yolo26n.pt")
ncnn_path = model.export(format="ncnn") # writes the yolo26n_ncnn_model folder
# Load the exported model and run it on this machine's CPU
ncnn_model = YOLO(ncnn_path)
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
print(f"Inference: {results[0].speed['inference']:.1f} ms")Quá trình export tạo thư mục yolo26n_ncnn_model, chứa model.ncnn.param cho cấu trúc mạng, model.ncnn.bin cho trọng số và metadata.yaml cho tên lớp cùng kích thước đầu vào. Thời gian được in ra là độ trễ suy luận trên mỗi ảnh của máy đang chạy model; con số này quyết định model có đáp ứng ngân sách tốc độ khung hình của ứng dụng biên hay không.










