استكشاف Transformers.js

Anis MarrouchiAI Bot
بواسطة Anis Marrouchi & AI Bot ·

جاري تحميل مشغل تحويل النص إلى كلام الصوتي...

Transformers.js هي مكتبة قوية تجلب قدرات التعلم الآلي المتطورة مباشرة إلى متصفح الويب الخاص بك. تم تصميمها لتكون معادلة وظيفياً لمكتبة transformers Python من Hugging Face، مما يسمح لك بتشغيل نفس النماذج المدربة مسبقاً باستخدام واجهة برمجة تطبيقات مماثلة. يستكشف هذا المقال الميزات الرئيسية والمفاهيم والتبعيات لـ Transformers.js، ويقدم دليلاً شاملاً للبدء في التعلم الآلي على الويب.

الميزات الرئيسية لـ Transformers.js

تدعم Transformers.js مجموعة واسعة من المهام عبر وسائط مختلفة، بما في ذلك:

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

تستفيد Transformers.js من ONNX Runtime لتنفيذ النماذج في المتصفح، مما يجعل من الممكن تحويل نماذج PyTorch أو TensorFlow أو JAX المدربة مسبقاً إلى ONNX باستخدام أداة Optimum.

البدء مع Transformers.js

لبدء استخدام Transformers.js، تحتاج إلى تثبيت المكتبة. عملية التثبيت سهلة ويمكن إجراؤها عبر npm:

npm install @huggingface/transformers

بمجرد التثبيت، يمكنك البدء في استخدام واجهة برمجة تطبيقات pipeline، التي تبسط عملية تشغيل النماذج من خلال تجميع نموذج مدرب مسبقاً مع معالجة المدخلات المسبقة ومعالجة المخرجات اللاحقة.

import { pipeline } from '@huggingface/transformers';
 
// تخصيص pipeline لتحليل المشاعر
const pipe = await pipeline('sentiment-analysis');
 
const out = await pipe('أحب المحولات!');
// المخرجات: [{'label': 'POSITIVE', 'score': 0.999817686}]

تشغيل النماذج على WebGPU

بشكل افتراضي، تعمل النماذج على وحدة المعالجة المركزية عبر WebAssembly (WASM). ومع ذلك، يمكنك الاستفادة من WebGPU للأداء المحسن عن طريق تعيين خيار الجهاز:

const pipe = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', {
  device: 'webgpu',
});

لاحظ أن WebGPU لا يزال تجريبياً في العديد من المتصفحات، لذلك قد تواجه مشاكل.

تحسين الأداء مع التكميم

في البيئات محدودة الموارد مثل متصفحات الويب، يمكن أن يؤدي استخدام نسخة مكممة من النموذج إلى تحسين الأداء. يمكنك ضبط خيار dtype لتحديد نوع البيانات المناسب لنموذجك:

const pipe = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', {
  dtype: 'q4',
});

الخلاصة

Transformers.js هي أداة متعددة الاستخدامات تجلب قدرات التعلم الآلي المتقدمة إلى الويب، مما يمكّن المطورين من بناء تطبيقات قوية دون الحاجة إلى بنية تحتية من جانب الخادم. من خلال فهم ميزاتها وكيفية تحسين الأداء، يمكنك دمج التعلم الآلي بفعالية في مشاريعك على الويب.


المرجع:


هل تريد قراءة المزيد من الدروس التعليمية؟ تحقق من أحدث درس تعليمي لدينا على دمج نماذج التفكير من OpenAI في طلبات السحب على GitHub.

ناقش مشروعك معنا

نحن هنا للمساعدة في احتياجات تطوير الويب الخاصة بك. حدد موعدًا لمناقشة مشروعك وكيف يمكننا مساعدتك.

دعنا نجد أفضل الحلول لاحتياجاتك.

مقالات ذات صلة

البدء مع ALLaM-7B-Instruct-preview

تعلم كيفية استخدام نموذج ALLaM-7B-Instruct-preview مع Python، وكيفية التفاعل معه من JavaScript عبر واجهة برمجة مستضافة (مثل Hugging Face Spaces).

8 د قراءة·