FLOPs
تعرف على كيفية قياس FLOPs للتعقيد الحسابي لنماذج الذكاء الاصطناعي. اكتشف كيفية حساب FLOPs لـ Ultralytics YOLO26 وتحسين الأداء لـ Edge AI.
تُعد FLOPs، أو عمليات الفاصلة العائمة، مقياساً قياسياً يُستخدم لقياس التعقيد الحسابي لنموذج تعلم الآلة. وهي تحسب على وجه التحديد عدد العمليات الحسابية—بشكل أساسي عمليات الجمع والضرب التي تتضمن أرقاماً عشرية—التي يجب أن تؤديها الشبكة العصبية لمعالجة مدخل واحد، مثل صورة أو جملة. في عالم التعلم العميق، تعمل FLOPs كمعيار نظري لتقدير مدى "ثقل" النموذج أو تكلفته الحسابية. يشير عدد FLOPs الأعلى عموماً إلى أن النموذج أكثر تعقيداً وسيتطلب طاقة وقدرة معالجة أكبر للتنفيذ، بينما يشير العدد الأقل إلى بنية خفيفة الوزن مصممة للكفاءة.
Link to this sectionدور FLOPs في اختيار النموذج#
عند تطوير تطبيقات الذكاء الاصطناعي، غالباً ما يواجه المهندسون مقايضة بين الدقة والسرعة. تعمل FLOPs كوكيل مستقل عن الأجهزة لـ زمن انتقال الاستدلال، مما يسمح للمطورين بمقارنة البنى المختلفة دون الحاجة إلى قياس أدائها على كل جهاز ممكن. يعد هذا المقياس ضرورياً لاختيار النموذج المناسب لسيناريوهات نشر محددة. على سبيل المثال، قد يعطي الباحث الذي يجري تجارب على خوادم الحوسبة السحابية القوية الأولوية للدقة على الكفاءة، مستخدماً نماذج ذات عدد FLOPs مرتفع. وعلى العكس من ذلك، يجب على المهندس الذي يبني تطبيقات لـ أجهزة حافة الذكاء الاصطناعي إعطاء الأولوية لعدد FLOPs منخفض لضمان تشغيل التطبيق بسلاسة ضمن حدود طاقة وحرارة صارمة.
Link to this sectionتطبيقات العالم الحقيقي#
الآثار العملية لـ FLOPs واضحة عبر مختلف الصناعات التي تعد فيها الموارد الحسابية عاملاً حاسماً.
- الطائرات بدون طيار المستقلة: في مجالات مثل روبوتات الزراعة، تقوم الطائرات بدون طيار المجهزة بكاميرات بتحليل صحة المحاصيل في الوقت الفعلي. ولأن بطاريات الطائرات بدون طيار محدودة، فإن كل جزء من استهلاك الطاقة مهم. يختار المهندسون تحديداً نماذج ذات عدد FLOPs منخفض، مثل متغيرات Nano من YOLO26، لتقليل الاستنزاف على المعالج المدمج، وبالتالي تعظيم وقت الطيران ونطاق التشغيل.
- الواقع المعزز على الهاتف المحمول: تعتمد تطبيقات الهواتف الذكية التي تستخدم التعرف على الوجه للأمان أو تطبق فلاتر الواقع المعزز بشكل كبير على المعالجة الفعالة. يجب أن تعمل هذه التطبيقات دون التسبب في ارتفاع درجة حرارة الجهاز أو حدوث بطء. يستخدم المطورون تقديرات FLOPs لاختيار نماذج خفيفة الوزن تتناسب بشكل مريح مع قدرات مجموعات شرائح الهاتف المحمول مثل سلسلة Snapdragon أو رقائق Apple من فئة A.
Link to this sectionالفرق بين FLOPs و FLOPS (عمليات الفاصلة العائمة في الثانية)#
من المهم التمييز بين "FLOPs" (جمع كلمة FLOP) و "FLOPS" (كلها بأحرف كبيرة). على الرغم من أنها تبدو متطابقة تقريباً، إلا أنها تقيس أشياء مختلفة. تشير FLOPs (حرف s صغير) إلى إجمالي كمية العمليات المطلوبة من قبل النموذج—وهي مقياس ثابت للتعقيد. بينما ترمز FLOPS (حرف S كبير) إلى عمليات الفاصلة العائمة في الثانية وتقيس سرعة أو قدرة أداء الأجهزة، مثل GPU. يمكنك التفكير في FLOPs كالمسافة التي تحتاج السيارة لقطعها (العمل المراد القيام به)، بينما FLOPS هي السرعة القصوى للسيارة (قدرة الجهاز على القيام بالعمل).
Link to this sectionقياس 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")Link to this sectionتقليل FLOPs لتحقيق الكفاءة#
لجعل النماذج أكثر قابلية للنشر، يستخدم الباحثون العديد من التقنيات لتقليل FLOPs دون التضحية بالدقة بشكل كبير. يتضمن تقليم النموذج إزالة الروابط الأقل أهمية في الشبكة العصبية، مما يؤدي إلى تخفيفها بشكل فعال. تقنية أخرى هي الكمية، والتي تقلل من دقة الأرقام المستخدمة في العمليات الحسابية (على سبيل المثال، من فاصلة عائمة 32-بت إلى أعداد صحيحة 8-بت). تساعد الأدوات المتاحة على منصة Ultralytics في تبسيط عمليات التحسين هذه، مما يسهل نشر نماذج فعالة على أهداف مثل TensorRT أو OpenVINO. من خلال فهم FLOPs وتحسينها، يمكن للمطورين بناء أنظمة ذكاء اصطناعي قوية ومستدامة في آن واحد.






