دليل سهل لـ Safetensors و Stable Diffusion

دليل سهل لـ Safetensors و Stable Diffusion

تعمق في safetensors و stable diffusion مع دليلنا الشامل. تبسيط المفاهيم المعقدة للتطبيق الفعال.

مقدمة

في مجال التعلم الآلي سريع التطور، هناك حاجة متزايدة لتوزيع النماذج بشكل آمن ومستقر. وهنا يأتي دور safetensors و stable diffusion. توفر Safetensors، وهي أوزان نماذج التعلم الآلي بتنسيق آمن، تحكمًا صريحًا في انتشار النموذج، مما يضمن الاستقرار.

في هذا الدليل السهل، سنستكشف مفاهيم safetensors و stable diffusion، ونتعرف على أهميتها، ونتعلم كيفية تثبيتها واستخدامها. كما سنتعمق في عالم نماذج stable diffusion، بما في ذلك عملية إنشائها والنماذج المختلفة المتاحة. وأخيرًا، سنفحص تأثير safetensors و stable diffusion على عالم التكنولوجيا. لذا دعونا نتعمق ونكشف الأسرار وراء safetensors و stable diffusion!

فهم Safetensors

قبل أن نتعمق في التفاصيل الدقيقة، دعونا نفهم ما هي safetensors ولماذا هي مهمة.

ما هي Safetensors؟

Safetensors هي تنسيقات ملفات آمنة وسريعة لتخزين وتحميل المصفوفات (tensors). عادةً، يتم حفظ أوزان نموذج PyTorch أو “تخليلها” (pickled) في ملف باستخدام أداة pickle في Python. ومع ذلك، يمكن أن تحتوي ملفات نقطة التحقق التقليدية (.ckpt) على تعليمات برمجية ضارة بـ Python قد ينفذها المستخدم عن طريق الخطأ أثناء استخدام تلك النماذج. تعتبر Safetensors بديلاً أكثر أمانًا وأمناً من تنسيق .ckpt القياسي. وهي مصممة خصيصًا لتعزيز الأمان وتوفير مستوى أعلى من الحماية مقارنة بملفات .ckpt التقليدية، مما يجعلها مثالية لمشاركة أوزان النماذج.

أهمية استخدام Safetensors

  • الدافع الأساسي لاستخدام safetensors هو إعطاء الأولوية للسلامة. مع اتساع مشهد البرامج مفتوحة المصدر وتوزيع النماذج، من الضروري التأكد من أن أوزان النماذج التي تم تنزيلها خالية من أي تعليمات برمجية ضارة. يمنع الحجم الحالي للرأس (header) في safetensors تحليل ملفات JSON الكبيرة جدًا، مما يعالج هذه المشكلة.
  • توفر Safetensors ميزة سرعة التحميل الفعالة عند التبديل بين النماذج. من خلال تنفيذ وظيفة النسخ الصفري (zero-copy) للمصفوفات، تقلل safetensors الوقت اللازم للتحميل. تكون سرعة التحميل هذه ملحوظة بشكل خاص عند مقارنتها بالحالة الافتراضية لتحميل الأوزان إلى وحدة المعالجة المركزية (CPU)، مما يضمن انتقالات سريعة وسلسة بين النماذج المختلفة، مما يعزز الأداء والكفاءة بشكل عام.
  • Safetensors أكثر إحكاما وقابلية للنقل، حيث إنها تعطي الأولوية لتضمين أوزان النموذج الأساسية فقط. يجعلها هذا النهج المبسط مناسبة جدًا لنشر النماذج ونقلها، خاصة في التطبيقات المستندة إلى الويب أو الجوال.

كيف تعمل Safetensors؟

توفر Safetensors وظائف أساسية من خلال تسلسل (serialization) وضغط بيانات الشبكة العصبية. تحول هذه العملية البيانات إلى تنسيق مضغوط وقابل للنقل، مما يتيح التخزين والنقل الفعالين. أثناء نشر النموذج، يتم إلغاء تسلسل المصفوفات المتسلسلة (deserialized)، وتحويلها مرة أخرى إلى تنسيق المصفوفة الأصلي. ثم يمكن دمج هذا الإلغاء السلس للأوزان بسهولة في بنية النموذج، مما يجعلها متاحة للاستخدام في تطبيقات مختلفة.

تثبيت وتحميل Safetensors

الآن بعد أن فهمنا أهمية safetensors، دعونا نتعلم كيفية تثبيتها وتحميلها.

دليل التثبيت خطوة بخطوة

تثبيت safetensors عملية مباشرة. اتبع هذه الخطوات للبدء:

  • باستخدام pip: "pip install safetensors"
  • باستخدام conda: "conda install -c huggingface safetensors"
  • بالإضافة إلى ذلك، يمكنك تنزيل وتثبيت safetensors من Hugging Face.

تحميل ملفات .safetensor

بمجرد تثبيت safetensors، يصبح تحميلها في مستودع نموذج التعلم الآلي الخاص بك أمرًا سهلاً. ما عليك سوى استخدام التحكم الصريح لتحميل ملفات تنسيق safetensor إلى المستودع الخاص بك، مما يضمن توزيعًا آمنًا لأوزان النموذج. تسمح واجهة المستخدم الرسومية (WebUI) بتحميل safetensors بسهولة، مما يوفر تكاملًا سلسًا مع سير عمل التعلم الآلي الخاص بك.

للحصول على تحكم أكثر صراحة، يمكنك تعيين use_safetensors=True: انسخ الكود أدناه (Python).

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(“runwayml/stable-diffusion-v1-5”, use_safetensors=True)

يمكن أيضًا تخزين أوزان النموذج في ملف .safetensors واحد. إذا كانت الأوزان من Stable Diffusion، يمكنك تحميل الملف مباشرة باستخدام طريقة from_single_file(): انسخ الكود أدناه (Python).

from diffusers import StableDiffusionPipeline

pipeline = StableDiffusionPipeline.from_single_file(“https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors”)

تحويل التنسيقات الأخرى إلى .safetensors

في بعض الحالات، قد تكون لديك بالفعل أوزان نموذج بتنسيقات غير safetensors. لا تقلق، فهناك حل بسيط لتحويل هذه الأوزان إلى تنسيق safetensor.

عملية التحويل

  • إذا قمت بتنزيل نقطة تحقق (checkpoint) من Stable Diffusion، يمكنك تحويل ملفات .ckpt إلى ملفات .safetensors بالخطوات التالية:

import torch
from safetensors.torch import save_file

weights = torch.load(“sd-v1-4.ckpt”)[“state_dict”]
save_file(weights, “model.safetensors”)

  • في بعض الأحيان، قد تتطلب الأوزان المخزنة بتنسيق .bin التحويل إلى تنسيق .safetensors. للقيام بذلك، استخدم أداة Convert Space لتنزيل الأوزان المخلاة (pickled) وتحويلها، وابدأ طلب سحب (Pull Request) لرفع ملف .safetensors المحول حديثًا إلى Hub، مما يتحقق من عدم تضمين أي ملفات غير آمنة أو استيرادات pickle مشبوهة. عند التحويل، انسخ الكود أدناه (Python):

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1

الاحتياطات أثناء التحويل

عند تحويل أوزان النموذج، من الضروري اتخاذ بعض الاحتياطات لضمان الانتشار الآمن. توفر Safetensors تحكمًا صريحًا وبديلاً آمنًا لانتشار أوزان النموذج، ولكن من المهم أن تكون على دراية بالمخاطر المحتملة. فيما يلي بعض الاحتياطات التي يجب وضعها في الاعتبار:

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

مقدمة عن نماذج Stable Diffusion

الآن بعد أن غطينا موضوع safetensors، دعونا نوجه تركيزنا نحو نماذج stable diffusion ونتعرف على سبب اكتسابها للشعبية.

لماذا تحظى نماذج Stable Diffusion بشعبية؟

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

كيف يتم إنشاء نماذج Stable Diffusion؟

يعتمد إنشاء نماذج stable diffusion على استخدام safetensors لتخزين أوزان النموذج بتنسيق آمن. يضمن نموذج stable diffusion، المحفوظ بتنسيق safetensor، توزيعًا آمنًا للنموذج عبر المستودع. يعد تحويل أوزان النموذج إلى تنسيق safetensor خطوة حاسمة في إنشاء نماذج stable diffusion. من خلال تبني safetensors، يمكن لممارسي التعلم الآلي الحفاظ على انتشار مستقر وأوزان نموذج آمنة والحماية من الوصول غير المصرح به أو إدخال التعليمات البرمجية الضارة.

استكشاف نماذج Stable Diffusion المختلفة

مع تزايد شعبية نماذج stable diffusion، دعونا نلقي نظرة فاحصة على بعض الخيارات البارزة المتاحة.

Stable Diffusion v1.4 و v1.5

هناك نسختان بارزتان من stable diffusion هما v1.4 و v1.5، وكلاهما يوفر خط أنابيب انتشار مستقر (stable diffusion pipeline) لتوزيع النماذج. توفر أوزان stable Diffusion هذه، المتوفرة بتنسيق safetensors، تحكمًا صريحًا، مما يحمي من الوصول غير المصرح به وإدخال التعليمات البرمجية الضارة.

  • Stable-Diffusion-v1–4 استؤنف من Stable-Diffusion-v1–2 - 225k خطوة بدقة 512x512 على “laion-aesthetics v2 5+” مع إسقاط 10% من تكييف النص (text-conditioning) لتحسين أخذ العينات الإرشادي الخالي من المصنف (classifier-free guidance sampling).
  • Stable-Diffusion-v1–5 استؤنف من Stable-Diffusion-v1–2 - 595k خطوة بدقة 512x512 على “laion-aesthetics v2 5+” مع إسقاط 10% من تكييف النص لتحسين أخذ العينات الإرشادي الخالي من المصنف.

نماذج Realistic Vision و DreamShaper

يستخدم مستودع نموذج Realistic Vision أوزان نموذج stable diffusion، مما يضمن توزيعًا آمنًا ومستقرًا للنموذج. من ناحية أخرى، يستخدم DreamShaper stable diffusion v1.5، مما يوفر تحكمًا صريحًا في توزيع النموذج لتطبيقات مثل Dreambooth و Civitai. تقدم نماذج stable diffusion هذه، المدمجة مع safetensors، أوزان نموذج آمنة ومستقرة، مما يضمن الاستخدام الآمن والحماية من الانتهاكات الأمنية المحتملة. يمكنك تنزيل النماذج من CIVITAI.

كيفية تثبيت واستخدام نموذج Stable Diffusion

الآن بعد أن استكشفنا نماذج stable diffusion، دعنا ننتقل إلى تعلم كيفية تثبيتها واستخدامها.

دليل تثبيت نماذج Stable Diffusion

  • قم بتنزيل ملف safetensors لنموذج stable diffusion الذي تريد تثبيته.
  • تأكد من التوافق مع بيئة التطوير المفضلة لديك، مثل Colab أو GitHub.
  • اتبع الوثائق والبرامج التعليمية المتاحة لسحب مستودع نموذج stable diffusion، مما يضمن توزيعًا آمنًا للنموذج.
  • استخدم التحكم الصريح وطرق طلب السحب الآمنة للمساهمة في تطوير واستخدام نموذج stable diffusion.
  • تحقق من مستودع أوزان النموذج وراجعه، مما يضمن التوزيع الآمن للنموذج واستخدام خط أنابيب الانتشار المستقر.

تأكد من وضع نموذج stable diffusion / نقطة التحقق الذي قمت بتنزيله في المجلد التالي: "stable-diffusion-webui\\models\\Stable-diffusion". مع تثبيت النموذج بنجاح، يمكنك الآن استخدامه لعرض الصور في Stable Diffusion.

استخدام نموذج Stable Diffusion في Novita.ai

Novita.ai هي المنصة الشاملة التي تضم أكثر من 100 واجهة برمجة تطبيقات (API) وتوفر مجموعة متنوعة من نماذج Stable Diffusion لتوليد الصور بالذكاء الاصطناعي عبر الإنترنت، مما يجعل من السهل على كل من المطورين والأفراد اختيار النموذج الذي يريدونه.

فيما يلي مثال على استخدام نموذج Stable Diffusion لإنشاء صورة من صورة:

  • الخطوة 1: افتح موقع novita.ai. ثم أنشئ حسابًا أو سجل الدخول إذا كان لديك حساب بالفعل.
  • الخطوة 2: انتقل إلى “img2img” بعد النقر على زر “playground”.

  • الخطوة 3: اختر النموذج الذي تريده من القائمة.

  • الخطوة 4: ارفع الصورة الأصلية في الحقل المخصص.
  • الخطوة 5: أدخل “Prompt” (الموجه) لوصف ما تريد إنشاءه في صورة الذكاء الاصطناعي. كلما كان وصفك أكثر تفصيلاً، كانت الصور أفضل.
  • الخطوة 6: اضبط المعلمات أدناه وفقًا لاحتياجاتك.

  • الخطوة 7: انتقل إلى صفحة “Advanced” (متقدم) لإدخال “Negative Prompt” (الموجه السلبي) لوصف ما تريد تجنبه. واضبط المعلمات الأخرى.
  • الخطوة 8: انقر على زر “Generate” (توليد)، وقم بتنزيل النتائج ومشاركتها على وسائل التواصل الاجتماعي.

  • يمكنك محاولة إنشاء صور بأنماط مختلفة عن طريق تغيير نماذج Stable Diffusion المختلفة.

كيف تؤثر Safetensors و Stable Diffusion على عالم التكنولوجيا؟

يمكن الشعور بتأثير safetensors و stable diffusion في جميع أنحاء عالم التكنولوجيا، مما أحدث ثورة في توزيع النماذج واستخدامها. من خلال توفير بديل آمن لأوزان النماذج، تضمن safetensors تحكمًا صريحًا وانتشارًا مستقرًا، مما يحمي من الوصول غير المصرح به وإدخال التعليمات البرمجية الضارة.

يمكن لممارسي التعلم الآلي توزيع نماذجهم بثقة، مع العلم أن أمان وصف النص والتوزيع الآمن لأوزان النموذج يتم الحفاظ عليهما. تقدم نماذج stable diffusion، المصحوبة بـ safetensors، الاستقرار والأمان وراحة البال، مما يمكّن الباحثين والمهندسين والمطورين في رحلاتهم في مجال الذكاء الاصطناعي ويؤدي إلى تعاون أفضل واستخدام آمن للمستودعات وزيادة الكفاءة.

الخاتمة

في الختام، أحدثت Safetensors و Stable Diffusion ثورة في عالم التكنولوجيا. توفر Safetensors منصة آمنة وموثوقة للتعامل مع البيانات الحساسة، مما يضمن الخصوصية والحماية. من الضروري فهم مفهوم وأهمية Safetensors لإدارة البيانات بكفاءة وأمان. عملية التثبيت والتحويل واضحة ومباشرة، مما يجعلها في متناول المستخدمين. تقدم نماذج Stable Diffusion حلولاً متقدمة لتطبيقات مختلفة، من الرؤية الواقعية إلى تشكيل الأحلام. تنبع شعبية هذه النماذج من قدرتها على إنشاء نتائج عالية الجودة وواقعية، مما يمكن المستخدمين من الاستفادة من قدراتها بشكل فعال. بشكل عام، تدفع Safetensors و Stable Diffusion الابتكار وتفتح إمكانيات جديدة في صناعة التكنولوجيا.

الأسئلة الشائعة حول Safetensors في Stable Diffusion

هل جميع النماذج متاحة في ملفات .safetensor؟

لا، ليس كل نموذج سيكون له ملف .safetensor متاح. من الضروري التحقق من أنواع الملفات المتاحة قبل التنزيل.

أين يمكن الحصول على ملفات .safetensor؟

يمكنك تنزيل العديد من ملفات .safetensor من قسم النماذج (Models) على موقع Hugging Face.

novita.ai، المنصة الشاملة للإبداع غير المحدود التي تمنحك الوصول إلى أكثر من 100 واجهة برمجة تطبيقات. من توليد الصور ومعالجة اللغة إلى تحسين الصوت ومعالجة الفيديو، الدفع حسب الاستخدام بتكلفة منخفضة، تحررك من عناء صيانة GPU أثناء بناء منتجاتك الخاصة. جربها مجانًا.

قراءات موصى بها

  1. كيفية تثبيت Stable Diffusion 2.1 بسهولة
  2. نماذج Stable Diffusion لـ Anything V3
  3. Stable Video Diffusion: مستقبل الرسوم المتحركة