Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

FLOPs

تعرف على كيفية قياس FLOPs للتعقيد الحسابي لنماذج الذكاء الاصطناعي. اكتشف كيفية حساب FLOPs لـ Ultralytics وتحسين الأداء لـ Edge AI.

FLOPs، أو عمليات النقطة العائمة، هي مقياس قياسي يستخدم لقياس التعقيد الحسابي لـ نموذج التعلم الآلي. وهي تحسب على وجه التحديد عدد العمليات الحسابية — بشكل أساسي عمليات الجمع والضرب التي تتضمن أرقامًا عشرية — التي يجب أن تقوم بها الشبكة العصبية لمعالجة مدخل واحد، مثل صورة أو جملة. في عالم التعلم العميق، تعمل FLOPs كمقياس نظري لتقدير مدى "ثقل" النموذج أو تكلفته الحسابية. يشير عدد FLOPs الأعلى عمومًا إلى أن النموذج أكثر تعقيدًا وسيتطلب مزيدًا من قوة المعالجة والطاقة للتنفيذ، في حين يشير العدد الأقل إلى بنية خفيفة الوزن مصممة لتحقيق الكفاءة.

دور FLOPs في اختيار النموذج

عند تطوير تطبيقات الذكاء الاصطناعي، غالبًا ما يواجه المهندسون مفاضلة بين الدقة والسرعة. تعمل FLOPs كبديل مستقل عن الأجهزة ل زمن استدلال الاستدلال، مما يسمح للمطورين بمقارنة البنى المختلفة دون الحاجة إلى قياسها على كل جهاز ممكن. هذا المقياس ضروري لاختيار النموذج المناسب لسيناريوهات النشر المحددة. على سبيل المثال، قد يعطي الباحث الذي يجري تجارب على خوادم حوسبة سحابية قوية الأولوية للدقة على الكفاءة، باستخدام نماذج ذات FLOPs عالية. على العكس من ذلك، يجب على المهندس الذي يبني أجهزة AI متطورة إعطاء الأولوية لـ FLOPs منخفضة لضمان تشغيل التطبيق بسلاسة ضمن حدود صارمة للطاقة والحرارة.

تطبيقات واقعية

تتجلى الآثار العملية لـ FLOPs في مختلف الصناعات التي تعتبر فيها الموارد الحاسوبية عاملاً حاسماً .

  • الطائرات بدون طيار المستقلة: في مجالات مثل الروبوتات الزراعية، تقوم الطائرات بدون طيار المزودة بكاميرات بتحليل صحة المحاصيل في الوقت الفعلي. ونظرًا لأن بطاريات الطائرات بدون طيار محدودة، فإن كل جزء من استهلاك الطاقة مهم. يختار المهندسون على وجه التحديد نماذج ذات FLOPs منخفضة، مثل متغيرات Nano من YOLO26، لتقليل استنزاف المعالج المدمج، وبالتالي زيادة وقت الطيران ونطاق التشغيل إلى أقصى حد.
  • الواقع المعزز المحمول: تعتمد تطبيقات الهواتف الذكية التي تستخدم التعرف على الوجه لأغراض الأمان أو تطبق مرشحات الواقع المعزز بشكل كبير على المعالجة الفعالة. يجب أن تعمل هذه التطبيقات دون التسبب في ارتفاع درجة حرارة الجهاز أو تباطؤه. يستخدم المطورون تقديرات FLOPs لاختيار نماذج خفيفة الوزن تتناسب بشكل مريح مع قدرات شرائح الهواتف المحمولة مثل سلسلة Snapdragon أو شرائح Apple A-series.

FLOPs مقابل FLOPS (عمليات النقطة العائمة في الثانية)

من المهم التمييز بين "FLOPs" (جمع FLOP) و "FLOPS" (بالأحرف الكبيرة). على الرغم من أنهما يبدوان متطابقين تقريبًا، إلا أنهما يقيسان أشياء مختلفة. يشير FLOPs (بالحرف الصغير 's') إلى إجمالي عدد العمليات المطلوبة من قبل النموذج — وهو مقياس ثابت للتعقيد. FLOPS (بحرف كبير) تعني عمليات النقطة العائمة في الثانية وتقيس سرعة أو قدرة أداء الأجهزة، مثل GPU. يمكنك التفكير في FLOPs على أنها المسافة التي تحتاج السيارة إلى قطعها (العمل المطلوب إنجازه)، بينما FLOPS هي السرعة القصوى للسيارة (قدرة الأجهزة على إنجاز العمل).

قياس FLOPs باستخدام Python

يمكنك بسهولة حساب التكلفة الحسابية Ultralytics باستخدام Python. وهذا مفيد بشكل خاص خلال مرحلة تحسين النموذج لضمان توافق الشبكة العصبية مع ميزانية الأجهزة الخاصة بك. يوضح المثال التالي كيفية تحميل نموذج YOLO26 وتحديد FLOPs الخاص به.

from ultralytics import YOLO
from ultralytics.utils.torch_utils import get_flops

# Load a lightweight YOLO26 model
model = YOLO("yolo26n.pt")

# Calculate and print the model's FLOPs (Billions of operations)
# This gives you a hardware-independent complexity metric
flops = get_flops(model)
print(f"Model FLOPs: {flops:.2f} Billion")

تقليل FLOPs من أجل الكفاءة

لجعل النماذج أكثر قابلية للتطبيق، يستخدم الباحثون عدة تقنيات لتقليل FLOPs دون التضحية بشكل كبير بالدقة . يتضمن تقليم النموذج إزالة الوصلات الأقل أهمية في الشبكة العصبية، مما يؤدي إلى تخفيفها بشكل فعال. تقنية أخرى هي التكمية، التي تقلل من دقة الأرقام المستخدمة في الحسابات (على سبيل المثال، من 32 بت عائم إلى 8 بت صحيح). تساعد الأدوات المتاحة على Ultralytics في تبسيط عمليات التحسين هذه، مما يسهل نشر نماذج فعالة لأهداف مثل TensorRT أو OpenVINO. من خلال فهم وتحسين FLOPs، يمكن للمطورين بناء أنظمة ذكاء اصطناعي قوية ومستدامة.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن