يمكن لميزة القراءة المسبقة تقليل مدة تحميل النماذج التسلسلي عبر جلب الصفحات المستقبلية مسبقًا، لكن النوافذ الكبيرة جدًا قد تهدر ذاكرة التخزين المؤقت وعرض النطاق الترددي للتخزين المشترك.
عندما يفتح عدد من عمال الذكاء الاصطناعي المنزليين النموذج نفسه، الذي يبلغ حجمه عدة غيغابايت، من وحدة تخزين متصلة بالشبكة (NAS)، قد تتوقف القراءات عند الطلب لكل صفحة مفقودة. يمكن للقراءة المسبقة إبقاء الصفحات اللاحقة جاهزة، لكن قد يطلب كل عميل أيضًا بيانات لا يستخدمها مطلقًا أو يكرر حركة البيانات التي ينشئها عميل آخر. وتعتمد النتيجة على ترتيب الوصول، وتعيين الذاكرة، وإعادة استخدام ذاكرة التخزين المؤقت للصفحات، وتقسيم النموذج، والتزامن، وزمن استجابة التخزين، ومكان حدوث التخزين المؤقت.
تحوّل القراءة المسبقة الطلبات التسلسلية إلى عمليات إدخال وإخراج مبكرة
عند عدم وجود حالة مفيدة في ذاكرة التخزين المؤقت، يصل المُحمّل إلى صفحة وينتظر حتى يعيدها التخزين. تتعرف القراءة المسبقة على الوصول التسلسلي وترسل طلبات للصفحات اللاحقة قبل أن تطلبها العملية. وإذا توافق التنبؤ والتوقيت، يستهلك الحاسوب المنطقة الحالية بينما يملأ التخزين المنطقة التالية.
تطبّق ذاكرة الصفحات المؤقتة في Linux القراءة المسبقة، وتكبّر نافذتها أو تصغّرها استنادًا إلى نمط الوصول المرصود. وهي تساعد في القراءات التسلسلية المخبأة مؤقتًا، لأن الصفحات المستقبلية قد تكون موجودة بالفعل عندما يصل إليها المُحمّل.
تكون الفائدة أكبر عندما يتسبب زمن استجابة التخزين في حدوث فواصل لولا ذلك، وعندما يُقرأ النموذج بترتيب يمكن التنبؤ به. وتكون أقل عندما يكون الملف موجودًا مسبقًا في ذاكرة التخزين المؤقت، أو عندما تتجاوز عمليات الإدخال والإخراج المباشر ذاكرة الصفحات المؤقتة، أو عندما يحمّل المُحمّل كل شيء مسبقًا، أو عندما يلمس وقت التشغيل الصفحات المعيّنة في الذاكرة بنمط غير منتظم.
يجعل تعيين الذاكرة ترتيب أخطاء الصفحات جزءًا من عملية التحميل
قد يجعل تعيين الذاكرة بدء تشغيل النموذج يبدو سريعًا، لأن وقت التشغيل ينشئ تعيينات العناوين قبل وجود كل صفحة أوزان في الذاكرة. ويحدث الإدخال والإخراج الفعلي عندما تُلمس الصفحات. لذلك يعتمد زمن التحميل الظاهري على ما إذا كان الاختبار يتوقف بعد إنشاء التعيينات أو يستمر حتى يجلب الاستدلال مجموعة العمل إلى الذاكرة عبر أخطاء الصفحات.
قد تتسبب أوزان النماذج المعيّنة في الذاكرة في تأخيرات تخزين عند حدوث أخطاء للصفحات المفقودة، وقد يؤدي الوصول غير المنتظم إلى إنتاج العديد من القراءات الصغيرة. وتساعد القراءة المسبقة عندما يظل ترتيب اللمس تسلسليًا بدرجة كافية تسمح بالتنبؤ؛ وإلا فقد تجلب المناطق الخاطئة.
قِس كلًا من الزمن اللازم لإنشاء كائن النموذج والزمن حتى اكتمال أول رمز. فالتغيير الذي ينقل الإدخال والإخراج من بدء التشغيل إلى الطلب الأول لم يزل عمل التحميل، بل نقله فقط. وينبغي فصل اختبارات ذاكرة التخزين المؤقت الدافئة عن اختبارات الذاكرة الباردة، لأن إعادة استخدام الصفحات قد تهيمن على النتيجة.
تتسبب النوافذ الكبيرة جدًا في تلويث ذاكرة التخزين المؤقت واستهلاك النطاق الترددي المشترك
تنقل نافذة القراءة المسبقة التي تمتد إلى ما بعد مجموعة العمل القريبة للمُحمّل صفحات قد تُطرد من الذاكرة قبل استخدامها. وتشغل هذه الصفحات ذاكرة العميل، وتزيح إدخالات أخرى من ذاكرة التخزين المؤقت، وتستهلك النطاق الترددي على وصلة NAS وخلفية التخزين. ويصبح الهدر أوضح عندما يبدأ المُحمّلون نماذج مختلفة بالتزامن.
قد تؤدي القراءة المسبقة المفرطة إلى تلويث ذاكرات التخزين المؤقت ببيانات عديمة الفائدة، بينما يتسبب القليل منها في قراءات لاحقة عند الطلب؛ وكلاهما يضر بالأداء. ولا يمكن لإعداد افتراضي ثابت أن يكون مثاليًا للتحميل التسلسلي، والوصول المتناثر إلى الخبراء، وحركة التخزين المختلطة في الوقت نفسه.
يضخّم التخزين المشترك أثر الأخطاء، لأن كل عميل يضع تنبؤاته المحلية من دون أن يعرف بالضرورة ما يجلبه العملاء الآخرون. وإذا تعذر على التخزين المؤقت من جهة الخادم دمج تلك القراءات، فقد تحوّل عمليات بدء التشغيل المتزامنة القراءة المسبقة الشديدة إلى موجة من حركة البيانات تؤخر كل مُحمّل وأعمال NAS الأخرى غير المرتبطة.
يحدد موقع التخزين المؤقت ما إذا كان المُحمّلون سيتشاركون الفائدة
تفيد ذاكرة الصفحات المؤقتة لدى العميل العمليات الموجودة على ذلك الجهاز، بينما يمكن لذاكرة التخزين المؤقت في NAS أن تفيد عدة عملاء، لكنها لا تزال تتطلب نقل البيانات عبر الشبكة. وتُعد ذاكرة GPU وجهة منفصلة أخرى. لذلك قد تُخزّن وحدات بايت النموذج نفسها مؤقتًا على الخادم، وفي ذاكرة RAM لدى العميل، وفي المسرّع، من دون أن تلغي أي طبقة حركة البيانات في الطبقات الأخرى.
مع تقسيم النموذج، قد يقرأ العمال المناطق المخصصة لهم فقط بدلًا من الملف بأكمله. وقد تقوّض القراءة المسبقة للملف بأكمله هذه الميزة عبر جلب أجزاء لن يستخدمها العامل مطلقًا، في حين يمكن للوصول المتوافق مع الأجزاء إبقاء القراءة المسبقة ضمن النطاق المفيد.
قد تتشارك العمليات المتزامنة على مضيف واحد الصفحات المدعومة بالملفات، لكن المضيفين المنفصلين لا يمكنهما مشاركة ذاكرة RAM لدى العميل. اختبر البنية الفعلية: قرص SSD محلي، أو NAS عبر Ethernet، أو ذاكرة تخزين مؤقت موزعة، أو ملفات نماذج منسوخة. فقد يقلل إعداد القراءة المسبقة نفسه فترات التوقف المحلية، ومع ذلك يزيد إجمالي وحدات البايت المنقولة عبر الشبكة.
اضبط القراءة المسبقة باستخدام عمليات تحميل باردة ودافئة ومتزامنة
ثبّت ملف النموذج ووقت التشغيل ومسار التخزين والعتاد أثناء اختبار عدة نوافذ. وسجّل الزمن البارد حتى أول رمز، وزمن إعادة التشغيل الدافئ، والبايتات المقروءة من التخزين، ومعدل نقل الشبكة، وأخطاء الصفحات، وضغط ذاكرة التخزين المؤقت، وزمن استجابة أحمال NAS الأخرى. وكرّر الاختبار باستخدام مُحمّل واحد والعدد المتوقع من المُحمّلين المتزامنين.
يوضح نقاش عملي حول الجلب المسبق والتخزين المؤقت أن هذه الطبقات تتفاعل بدلًا من عملها كمفاتيح مستقلة. ويجب إسناد التحسينات إلى القراءات المبكرة المفيدة، أو التخزين المؤقت على الخادم، أو إعادة الاستخدام لدى العميل، بدلًا من نسبتها إلى رقم واحد لبدء التشغيل.
الإعداد الأفضل خاص بكل حمل عمل. زد القراءة المسبقة ما دامت تقلل فترات التوقف الباردة من دون زيادة ملحوظة في البايتات غير المستخدمة أو التداخل بين العمليات المتزامنة؛ وقللها عندما يكون الوصول متناثرًا أو النموذج مقسمًا أو يكون ضغط ذاكرة التخزين المؤقت مرتفعًا. وأعد التقييم بعد تغيير وقت التشغيل أو تنسيق النموذج أو تخطيط الأجزاء أو بنية التخزين.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

لماذا تتغير بنية خادم Jellyfin المنزلي مع إضافة الخدمات
يتحوّل جهاز Jellyfin إلى حزمة خدمات مع إضافة المزيد من التطبيقات، لذا يجب تحديد مسؤولية واضحة عن المعالج والتخزين والشبكة والأسرار والنسخ الاحتياطية وحدود...

كيفية قياس أداء Jellyfin دون الخلط بين ذاكرة التخزين المؤقت والسعة
يُصنّف اختبار أداء موثوق لـ Jellyfin حالتي التشغيل الباردة والدافئة بشكل منفصل، حتى لا تُعتبر البيانات الوصفية المخزّنة مؤقتًا أو صفحات نظام الملفات سعةً...

ما مقدار هامش أداء معالج الرسومات المدمج (iGPU) الذي يحتاجه Jellyfin متعدد المستخدمين؟
هامش أداء iGPU في Jellyfin يعتمد على عبء العمل: احتفظ بهامش يتجاوز أصعب مزيج متكرر من عمليات تحويل الترميز المتزامنة، بدلًا من اعتماد نسبة...

