Tìm hiểu về FLOPs trong machine learning! Tìm hiểu cách nó đo lường độ phức tạp của mô hình, tác động đến hiệu quả và hỗ trợ lựa chọn phần cứng.
FLOPs, hay Floating-Point Operations (Số phép toán dấu phẩy động), là một chỉ số cơ bản được sử dụng trong Machine Learning (ML) để đo lường độ phức tạp tính toán của một mô hình. Một phép toán dấu phẩy động là bất kỳ phép tính toán học nào—như cộng, trừ, nhân hoặc chia—liên quan đến các số có dấu thập phân, đây là tiêu chuẩn trong mạng nơ-ron. Mặc dù thuật ngữ này về mặt kỹ thuật có thể đề cập đến số lượng phép toán trên giây, nhưng trong bối cảnh của deep learning, FLOPs thường định lượng tổng số các phép toán này cần thiết cho một lần forward pass (duyệt xuôi) của mô hình. Chỉ số này cung cấp một cách thức độc lập với phần cứng để ước tính mức độ tốn kém về mặt tính toán của một mô hình trong quá trình suy luận (inference). Các con số thường rất lớn đến mức chúng được biểu thị bằng GigaFLOPs (GFLOPs), là hàng tỷ phép toán, hoặc TeraFLOPs (TFLOPs), hàng nghìn tỷ phép toán.
FLOP là một chỉ số quan trọng về hiệu quả của mô hình. Số lượng FLOP thấp hơn thường cho thấy rằng một mô hình sẽ nhanh hơn và yêu cầu ít sức mạnh tính toán hơn để chạy. Điều này đặc biệt quan trọng đối với các ứng dụng mà tài nguyên bị hạn chế, chẳng hạn như trong AI biên và trên các thiết bị di động. Bằng cách phân tích FLOP, các nhà phát triển có thể:
FLOPs là một chỉ số thiết thực được sử dụng hàng ngày trong quá trình phát triển và triển khai các giải pháp AI.
Ứng dụng thị giác trên thiết bị di động: Một nhà phát triển tạo ra một tính năng phát hiện đối tượng theo thời gian thực cho một ứng dụng điện thoại thông minh phải chọn một mô hình có thể chạy nhanh mà không làm hao pin. Bằng cách so sánh FLOPs của các mô hình nhẹ như một biến thể Ultralytics YOLO11 nhỏ với các mô hình khác, họ có thể chọn một mô hình cung cấp sự cân bằng tốt giữa tốc độ và độ chính xác cho CPU hoặc GPU của thiết bị.
Xe tự hành: Trong lái xe tự động, các mô hình nhận thức phải xử lý các nguồn cấp dữ liệu camera với độ trễ cực thấp. Các kỹ sư thiết kế các hệ thống này phân tích FLOP của các mô hình khác nhau để đảm bảo kiến trúc đã chọn có thể chạy trên phần cứng chuyên dụng của xe. Một mô hình như YOLO11 có thể được chọn thay vì một mô hình phức tạp hơn nếu FLOP thấp hơn của nó cho phép nó đáp ứng các yêu cầu về thời gian nghiêm ngặt để vận hành an toàn.
Điều quan trọng là phải phân biệt FLOPs với các số liệu phổ biến khác:
Mặc dù hữu ích, FLOP có những hạn chế:
Do đó, FLOPs nên được xem xét cùng với các số liệu hiệu suất, tham số và điểm chuẩn thực tế khác để có được bức tranh đầy đủ về hiệu quả của mô hình. Các công cụ như Ultralytics HUB có thể giúp quản lý mô hình và theo dõi các khía cạnh hiệu suất khác nhau trong quá trình phát triển và triển khai.