اكتشف نموذج Reformer: وهو بنية تحويلية رائدة مُحسَّنة للتسلسلات الطويلة مع الانتباه المستند إلى تجزئة LSH والطبقات القابلة للعكس.
Reformer هو تطور عالي الكفاءة لهندسة Transformer القياسية ، مصمم خصيصًا لمعالجة تسلسلات البيانات الطويلة للغاية مع استهلاك أدنى للذاكرة. قدمته Google في عام 2020، يعالج Reformer أحد العوائق الحرجة في Transformers التقليدية: التكلفة التربيعية لآلية الانتباه. بينما تكافح النماذج القياسية لمعالجة المستندات الطويلة أو الصور عالية الدقة لأن استخدامها للذاكرة يزداد بشكل كبير مع زيادة طول التسلسل ، يستخدم Reformer تقنيات مبتكرة لتقليل هذه التعقيدات إلى مستويات شبه خطية. يتيح هذا الاختراق لنماذج التعلم العميق تحليل سياقات تصل إلى مليون رمز على وحدة معالجة رسوماتGPU ) واحدة ، مما يفتح إمكانيات جديدة للمهام التي تتطلب الاحتفاظ بسياقات واسعة النطاق.
يحقق جهاز Reformer أداءه الرائع من خلال اثنين من الابتكارات التقنية الأساسية التي تغير بشكل جذري طريقة تخزين المعلومات ومعالجتها أثناء تدريب النموذج.
نظرًا لقدرته على معالجة السياقات الطويلة، فإن Reformer مفيد بشكل خاص في المجالات التي تكون فيها العلاقة بين نقاط البيانات البعيدة أمرًا بالغ الأهمية.
من المفيد التمييز بين Reformer والبنى الأخرى التي تركز على الكفاءة.
في حين أن Reformer هو بنية محددة، فإن مفهوم إدارة التسلسلات الطويلة بكفاءة هو مفهوم عالمي. عند
العمل مع الفيديو - الذي هو في الأساس تسلسل من الصور - فإن استخدام معالجة البيانات بكفاءة أمر بالغ الأهمية. يوضح المثال التالي
كيفية استخدام ultralytics لمعالجة دفق الفيديو إطارًا بإطار، على غرار الطريقة التي يعالج بها نموذج التسلسل
الرموز، مما يضمن كفاءة الذاكرة.
import cv2
from ultralytics import YOLO
# Load the YOLO26 model, optimized for efficiency and accuracy
model = YOLO("yolo26n.pt")
# Open a video file (simulating a long data sequence)
video_path = "path/to/long_video.mp4"
cap = cv2.VideoCapture(video_path)
# Process the sequence frame by frame to conserve memory
while cap.isOpened():
success, frame = cap.read()
if success:
# Run inference on the current frame
results = model(frame)
# Display the annotated frame
cv2.imshow("YOLO26 Inference", results[0].plot())
# Break loop on 'q' key press
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()
فهم آليات الكفاءة هذه أمر أساسي للمطورين الذين يسعون إلى نشر حلول الذكاء الاصطناعي على أجهزة ذات موارد محدودة أو عند التعامل مع مجموعات بيانات ضخمة. لمزيد من المعلومات حول تحسين أداء النموذج، استكشف Ultralytics .