Thuật ngữ

Thất bại

Hiểu về FLOP trong học máy! 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.

FLOP, hay Phép toán dấu phẩy động, là một số liệu cơ bản được sử dụng trong Học máy (ML) để đo độ 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ư phép cộng, phép trừ, phép nhân hoặc phép chia—liên quan đến các số có dấu thập phân, 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 các phép toán mỗi giây, nhưng trong bối cảnh học sâu , FLOP 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 truyền tiếp duy nhất của một mô hình. Số liệu này cung cấp một cách không phụ thuộc vào phần cứng để ước tính mức độ tính toán chuyên sâu của một mô hình trong quá trình suy luận . Các con số thường lớn đến mức chúng được biểu thị bằng GigaFLOP (GFLOP), là hàng tỷ phép toán hoặc TeraFLOP (TFLOP), là hàng nghìn tỷ phép toán.

Tại sao FLOP lại quan trọng trong học máy?

FLOP là một chỉ số quan trọng về hiệu quả của một mô hình. Số lượng FLOP thấp hơn thường cho thấy mô hình sẽ nhanh hơn và đòi hỏi ít năng lực 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 có tài nguyên hạn chế, chẳng hạn như AI biên và trên thiết bị di động. Bằng cách phân tích FLOP, các nhà phát triển có thể:

  • So sánh Kiến trúc Mô hình : Khi lựa chọn giữa các mô hình khác nhau, chẳng hạn như những mô hình được tìm thấy trong các trang so sánh mô hình của chúng tôi, FLOP cung cấp một cách chuẩn hóa để đánh giá hiệu quả tính toán cùng với độ chính xác .
  • Tối ưu hóa để triển khai : Đối với việc triển khai mô hình trên phần cứng như Raspberry Pi hoặc NVIDIA Jetson , việc lựa chọn mô hình có số lượng FLOP phù hợp là điều cần thiết để đạt được mức hiệu suất mong muốn.
  • Thiết kế Mô hình Hướng dẫn : Các nhà nghiên cứu phát triển kiến trúc mới, chẳng hạn như các kiến trúc trong dòng Ultralytics YOLO , thường coi việc giảm thiểu FLOP là một ràng buộc thiết kế quan trọng. Các kỹ thuật được khám phá trong các mô hình như EfficientNet tập trung vào việc giảm chi phí tính toán mà không ảnh hưởng đến hiệu suất.

Ứng dụng trong thế giới thực

FLOP là số liệu thực tế đượ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.

  1. Ứng dụng Thị giác Di động : Nhà phát triển tạo tính năng phát hiện vật thể theo thời gian thực cho ứ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 FLOP của các mô hình nhẹ như 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 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ị.

  2. Xe tự hành : Trong lái xe tự hành , các mô hình nhận thức phải xử lý 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 nhiều mô hình khác nhau để đảm bảo kiến trúc đượ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 lựa 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 đáp ứng các yêu cầu nghiêm ngặt về thời gian để vận hành an toàn.

FLOP so với các số liệu liên quan

Điều quan trọng là phải phân biệt FLOP với các số liệu phổ biến khác:

  • Tham số so với FLOP : Số lượng trọng số mô hình (tham số) biểu thị kích thước của mô hình về mặt lưu trữ bộ nhớ. Mặt khác, FLOP đo lường khối lượng tính toán. Một mô hình có thể có số lượng tham số ít nhưng số lượng FLOP cao nếu các tham số đó được sử dụng lại nhiều lần trong các phép tính toán chuyên sâu.
  • MAC so với FLOP : MAC, hay phép toán Nhân-Tích lũy, là một phép toán phổ biến trong mạng nơ-ron. Một MAC đơn lẻ thường được coi là tương đương với hai FLOP (một phép nhân và một phép cộng). Một số bài báo nghiên cứu và khuôn khổ có thể báo cáo chi phí tính toán theo MAC, chỉ bằng khoảng một nửa giá trị FLOP. Bạn có thể thấy sự khác biệt này trong các tài liệu như Papers with Code .
  • Độ trễ so với FLOP : Độ trễ suy luận là thời gian thực tế cần thiết để một mô hình đưa ra dự đoán. Mặc dù FLOP cung cấp một ước tính lý thuyết tốt, độ trễ thực tế bị ảnh hưởng bởi các yếu tố mà FLOP không nắm bắt được, chẳng hạn như băng thông bộ nhớ, tính song song của phần cứng và hiệu quả của các thư viện phần mềm như PyTorch .

Hạn chế

Mặc dù hữu ích, FLOP cũng có những hạn chế:

  • Chúng không tính đến chi phí truy cập bộ nhớ, đây có thể là một trở ngại đáng kể.
  • Chúng không nắm bắt được mức độ song song có thể có trong các hoạt động.
  • Hiệu suất thực tế phụ thuộc rất nhiều vào khả năng tối ưu hóa phần cứng cụ thể và hiệu quả của các thư viện phần mềm cơ bản ( cuDNN , Intel MKL ).
  • Một số hoạt động (ví dụ: hàm kích hoạt như ReLU ) có số lượng FLOP thấp nhưng vẫn có thể ảnh hưởng đến độ trễ.

Do đó, FLOPs nên được xem xét cùng với các số liệu hiệu suất , thông số và chuẩn mực thực tế khác để có bức tranh toàn cảnh về hiệu quả của mô hình. Các công cụ như Ultralytics HUB có thể giúp quản lý các mô hình và theo dõi nhiều khía cạnh hiệu suất khác nhau trong quá trình phát triển và triển khai .

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, cộng tác và phát triển với những nhà đổi mới toàn cầu

Tham gia ngay
Liên kết đã được sao chép vào clipboard