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

شيء ما… انتظر! حاسوب! يحسن!

هل هذا ..؟
من المؤكد أن مشكلات المستخدم هذه لا تحصل على ردود اليوم. دعونا نتحدث عن تكامل Hugging Face في PyCharm.
الوجه المعانق موجود داخل منزلك
يمكنني تقديم هذا التكامل من خلال سرد الميزات فقط، ولكن هذا ممل وهناك وثائق لذلك. بدلاً من ذلك، دعونا نتعرف على كيفية استخدام كل ذلك عمليًا. لنفترض أنني أكتب تطبيق Python، وقررت أنني أريد أن يكون التطبيق قادرًا على الدردشة مع المستخدمين. ليس فقط الدردشة النصية، بل نريد أن يتمكن المستخدمون من لصق الصور أيضًا، وأن يقوم التطبيق بالدردشة عنها بشكل طبيعي أيضًا.
إذا لم تكن على دراية كبيرة بأحدث التطورات في مجال التعلم الآلي، فقد يبدو هذا مطلبًا مرعبًا، لكن لا تخف. ما عليك سوى النقر بزر الماوس الأيمن فوق الرمز الخاص بك، واختيار “إدراج نموذج HF”. سوف تحصل على مربع حوار:

تسمى الدردشة مع كل من الصور والنصوص “صورة نص إلى نص”: يمكن للمستخدم توفير الصور والنص، ويقوم النموذج بإخراج النص. قم بالتمرير لأسفل على اليسار حتى تجده. افتراضيًا، سيتم فرز قائمة النماذج حسب الإعجابات – ولكن تذكر أن العارضات الأقدم غالبًا ما يكون لديهن الكثير من الإعجابات المتراكمة حتى لو لم تعد أحدث ما توصلت إليه التكنولوجيا بعد الآن. يمكننا التحقق من عمر النماذج القديمة من خلال الاطلاع على تاريخ آخر تحديث لها، أسفل اسم الطراز مباشرة. دعنا نختار شيئًا حديثًا وشائعًا: microsoft/Phi-3.5-vision-instruct.
يمكنك تحديد “استخدام النموذج” لبعض فئات النماذج للصق بعض التعليمات البرمجية الأساسية تلقائيًا في دفتر الملاحظات الخاص بك، ولكن ما يعمل بشكل أفضل غالبًا هو التمرير عبر بطاقة النموذج الموجودة على اليمين والحصول على أي نموذج للتعليمات البرمجية. يمكنك رؤية بطاقة النموذج الكاملة على يمين مربع الحوار، تمامًا كما تظهر في Hugging Face Hub. دعونا نفعل ذلك ونلصقه في الكود الخاص بنا!

قد يشتكي موظف الأمن السيبراني في مكتبك من قيامك بنسخ جزء من نص عشوائي من الإنترنت وتشغيله دون قراءة كل ذلك، ولكن إذا حدث ذلك، فما عليك إلا أن تسميه شخصًا مهووسًا واستمر بغض النظر. وها هو: لدينا الآن نموذج عملي يمكنه الدردشة بسعادة حول الصور – في هذه الحالة، يقرأ ويعلق على لقطات الشاشة لمجموعة شرائح Microsoft. لا تتردد في اللعب مع هذا المثال. جرب الدردشة الخاصة بك، أو الصور الخاصة بك. بمجرد تشغيله، ما عليك سوى لف هذا الرمز في فصل دراسي وسيكون جاهزًا للاستخدام في تطبيقك. لقد حصلنا للتو على أحدث تقنيات التعلم الآلي مفتوح المصدر في عشر دقائق دون فتح متصفح الويب.
هذه النماذج يمكن أن تكون كبيرة! إذا كنت تتلقى أخطاء في الذاكرة، فحاول استخدام وحدة معالجة الرسومات (GPU) ذات ذاكرة أكبر، أو حاول تقليل 20 في نموذج التعليمات البرمجية. يمكنك أيضًا إزالة Device_map = “cuda” لوضع النموذج في ذاكرة وحدة المعالجة المركزية بدلاً من ذلك، على حساب السرعة.
بطاقات النماذج الفورية
بعد ذلك، دعونا نغير المنظور في السيناريو الصغير الخاص بنا. لنفترض الآن أنك لست مؤلف هذا الرمز – بل أنت زميل في العمل وعليه مراجعته. ربما كنت مسؤول الأمن السيبراني من قبل، والذي لا يزال منزعجًا من تعليق “الطالب الذي يذاكر كثيرا”. تنظر إلى مقتطف الشفرة هذا، وليس لديك أي فكرة عما تراه. لا داعي للذعر – فقط قم بالتمرير فوق اسم النموذج، وستظهر بطاقة النموذج بالكامل على الفور. يمكنك التحقق بسرعة من أصل هذا النموذج، وما هي الاستخدامات المقصودة منه.
(وهذا أيضًا مفيد للغاية إذا كنت تعمل على شيء آخر ونسيت تمامًا كل شيء يتعلق بالكود الذي كتبته قبل أسبوعين)

ذاكرة التخزين المؤقت للنموذج المحلي
قد تلاحظ أنه يجب تنزيل النموذج في المرة الأولى التي تقوم فيها بتشغيل هذا الرمز، ولكن بعد ذلك، يتم تحميله بسرعة أكبر. تم تخزين النموذج في ذاكرة التخزين المؤقت المحلية الخاصة بك. هل تتذكر الأيقونة الصغيرة الغامضة 🤗 التي ظهرت سابقًا؟ ما عليك سوى النقر عليه، وستحصل على قائمة بكل شيء في ذاكرة التخزين المؤقت الخاصة بك:

هذه طريقة رائعة للعثور على النماذج التي تعمل عليها الآن، وأيضًا لمسحها وتوفير بعض مساحة القرص عندما لا تحتاج إليها بعد الآن. كما أنه مفيد جدًا لسيناريو فقدان الذاكرة لمدة أسبوعين – إذا لم تتمكن من تذكر النموذج الذي كنت تستخدمه في ذلك الوقت، فمن المحتمل أنه موجود هنا. تذكر، مع ذلك، أن النماذج الأكثر فائدة والجاهزة للإنتاج في عام 2024 سيكون حجمها أكبر من 1 غيغابايت، لذلك يمكن أن تمتلئ ذاكرة التخزين المؤقت بسرعة!
بايثون في عصر الذكاء الاصطناعي
في Hugging Face، نميل إلى التفكير في الذكاء الاصطناعي مفتوح المصدر باعتباره امتدادًا طبيعيًا لفلسفة المصدر المفتوح: البرمجيات المفتوحة تحل المشكلات للمطورين والمستخدمين، وتخلق قدرات جديدة لهم للاندماج في التعليمات البرمجية الخاصة بهم، والنماذج المفتوحة تفعل الشيء نفسه. هناك ميل إلى التعقيد، والتركيز أكثر من اللازم على تفاصيل التنفيذ لأنها كلها جديدة ومثيرة للغاية، ولكن النماذج موجودة لذلك افعل الأشياء من أجلك. إذا قمت بتجريد تفاصيل الهندسة المعمارية والتدريب، فهي في الأساس وظائف – الأدوات الموجودة في التعليمات البرمجية الخاصة بك والتي من شأنها تحويل نوع معين من المدخلات إلى نوع معين من المخرجات.
وبالتالي فإن هذه الميزات مناسبة بشكل طبيعي. تمامًا كما تقوم IDEs بالفعل بسحب توقيعات الوظائف والمستندات لك، يمكنها أيضًا سحب نماذج التعليمات البرمجية وبطاقات النماذج للنماذج المدربة. تسهل عمليات التكامل هذه الوصول إلى نموذج الدردشة أو التعرف على الصور واستيراده بسهولة كما تفعل مع استيراد أي مكتبة أخرى. نعتقد أنه من الواضح أن هذا هو الشكل الذي سيبدو عليه مستقبل التعليمات البرمجية، ونأمل أن تجد هذه الميزات مفيدة!
قم بتنزيل PyCharm لتجربة تكامل Hugging Face.
[HF integration is a Pycharm Professional feature.]
احصل على اشتراك PyCharm مجاني لمدة 3 أشهر باستخدام رمز PyCharm4HF هنا.