Skip to content
Closed
Changes from 8 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions docs/source/ar/philosophy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# الفلسفة

تُعد 🤗 Transformers مكتبة برمجية ذات رؤية واضحة صُممت من أجل:```

- باحثي والمُتعلّمون في مجال التعلم الآلي ممن يسعون لاستخدام أو دراسة أو تطوير نماذج Transformers واسعة النطاق.
- مُطبّقي تعلم الآلة الذين يرغبون في ضبط تلك النماذج أو تشغيلها في بيئة إنتاجية، أو كليهما.
- المهندسون الذين يريدون فقط تنزيل نموذج مُدرب مسبقًا واستخدامه لحل مهمة تعلم آلي معينة.

تم تصميم المكتبة مع الأخذ في الاعتبار هدفين رئيسيين:

1.سهولة وسرعة الاستخدام:

- تمّ تقليل عدد المفاهيم المُجردة التي يتعامل معها المستخدم إلى أدنى حد والتي يجب تعلمها، وفي الواقع، لا توجد مفاهيم مُجردة تقريبًا، فقط ثلاث فئات أساسية مطلوبة لاستخدام كل نموذج: [الإعدادات](main_classes/configuration)،
[نماذج](main_classes/model)، وفئة ما قبل المعالجة ([مُجزّئ لغوي](main_classes/tokenizer) لـ NLP، [معالج الصور](main_classes/image_processor) للرؤية، [مستخرج الميزات](main_classes/feature_extractor) للصوت، و [معالج](main_classes/processors) للمدخﻻت متعددة الوسائط).
- يمكن تهيئة جميع هذه الفئات بطريقة بسيطة وموحدة من خلال نماذج مُدربة مسبقًا باستخدام الدالة الموحدة `from_pretrained()` والتي تقوم بتنزيل (إذا لزم الأمر)، وتخزين وتحميل كل من: فئة النموذج المُراد استخدامه والبيانات المرتبطة ( مُعاملات الإعدادات، ومعجم للمُجزّئ اللغوي،
وأوزان النماذج) من نقطة تدقيق مُحددة مُخزّنة على [Hugging Face Hub](https://huggingface.co/models) أو ن من نقطة تخزين خاصة بالمستخدم.
- بالإضافة إلى هذه الفئات الأساسية الثلاث، توفر المكتبة واجهتي برمجة تطبيقات: [`pipeline`] للاستخدام السريع لأحد النماذج لأداء استنتاجات على مهمة مُحددة، و [`Trainer`] للتدريب السريع أو الضبط الدقيق لنماذج PyTorch (جميع نماذج TensorFlow متوافقة مع `Keras.fit`).
- نتيجة لذلك، هذه المكتبة ليست صندوق أدوات متعدد الاستخدامات من الكتل الإنشائية للشبكات العصبية. إذا كنت تريد
توسيع أو البناء على المكتبة، فما عليك سوى استخدام Python و PyTorch و TensorFlow و Keras العادية والوراثة من الفئات الأساسية
للمكتبة لإعادة استخدام الوظائف مثل تحميل النموذج وحفظه. إذا كنت ترغب في معرفة المزيد عن فلسفة الترميز لدينا للنماذج، فراجع منشور المدونة الخاص بنا [Repeat Yourself](https://huggingface.co/blog/transformers-design-philosophy).

2. تقديم نماذج رائدة في مجالها مع أداء قريب قدر الإمكان من النماذج الأصلية:

- نقدم مثالًا واحدًا على الأقل لكل بنية تقوم بإعادة إنتاج نتيجة مقدمة من المؤلفين الرسميين
لتلك البنية.
- عادةً ما تكون الشفرة قريبة قدر الإمكان من قاعدة الشفرة الأصلية، مما يعني أن بعض شفرة PyTorch قد لا تكون
"بأسلوب PyTorch" كما يمكن أن تكون نتيجة لكونها شفرة TensorFlow محولة والعكس صحيح.

بعض الأهداف الأخرى:

- عرض داخليات النماذج بشكل متسق قدر الإمكان:
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated

- نمنح حق الوصول، باستخدام واجهة برمجة تطبيقات واحدة، إلى جميع الحالات المخفية وأوزان الاهتمام.
- تم توحيد فئات ما قبل المعالجة وواجهات برمجة التطبيقات الأساسية للنموذج لتسهيل التبديل بين النماذج.
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated

- دمج مجموعة مختارة ذاتيًا من الأدوات الواعدة لضبط هذه النماذج ودراستها:
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated

- طريقة بسيطة ومتسقة لإضافة رموز جديدة إلى المعجم والمغلفات لضبط النماذج الدقيق.
- طرق بسيطة لتنميق رؤوس المحول وإزالتها.
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated
- طريقة بسيطة ومتسقة لإضافة رموز جديدة إلى المعجم والمغلفات لضبط النماذج الدقيق.
- طرق بسيطة لتنميق رؤوس المحول وإزالتها.

- التبديل بسهولة بين PyTorch و TensorFlow 2.0 و Flax، مما يسمح بالتدريب باستخدام إطار واحد والاستدلال باستخدام إطار آخر.

## المفاهيم الرئيسية

تم بناء المكتبة حول ثلاثة أنواع من الفئات لكل نموذج:
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated

- **فئات النماذج** يمكن أن تكون نماذج PyTorch ([torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module))، أو نماذج Keras ([tf.keras.Model](https://www.tensorflow.org/api_docs/python/tf/keras/Model))، أو نماذج JAX/Flax ([flax.linen.Module](https://flax.readthedocs.io/en/latest/api_reference/flax.linen/module.html)) التي تعمل مع الأوزان المُدربة مسبقًا المقدمة في المكتبة.
- **فئات التكوين** تخزن معلمات التهيئة المطلوبة لبناء نموذج (مثل عدد الطبقات والحجم المخفي). أنت لست مضطرًا دائمًا إلى إنشاء مثيل لهذه الفئات بنفسك. على وجه الخصوص، إذا كنت تستخدم نموذجًا مُدربًا مسبقًا دون أي تعديل، فإن إنشاء النموذج سيهتم تلقائيًا بتهيئة التكوين (والذي يعد جزءًا من النموذج).
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated
- **فئات ما قبل المعالجة** تحويل البيانات الخام إلى تنسيق مقبول من قبل النموذج. يقوم [المعالج](main_classes/tokenizer) بتخزين المعجم لكل نموذج ويقدم طرقًا لتشفير وفك تشفير السلاسل في قائمة من مؤشرات تضمين الرموز ليتم إطعامها للنموذج. تقوم [معالجات الصور](main_classes/image_processor) بمعالجة إدخالات الرؤية، وتقوم [مستخلصات الميزات](main_classes/feature_extractor) بمعالجة إدخالات الصوت، ويقوم [المعالج](main_classes/processors) بمعالجة الإدخالات متعددة الوسائط.

يمكن تهيئة جميع هذه الفئات من مثيلات مُدربة مسبقًا، وحفظها محليًا، ومشاركتها على Hub باستخدام ثلاث طرق:
Comment thread
AhmedAlmaghz marked this conversation as resolved.
Outdated

- تسمح لك `from_pretrained()` بتهيئة نموذج وفئة تكوين وفئة ما قبل المعالجة من إصدار مُدرب مسبقًا إما
يتم توفيره بواسطة المكتبة نفسها (يمكن العثور على النماذج المدعومة على [Model Hub](https://huggingface.co/models)) أو
مخزن محليًا (أو على خادم) بواسطة المستخدم.
- تسمح لك `save_pretrained()` بحفظ نموذج وفئة تكوين وفئة ما قبل المعالجة محليًا بحيث يمكن إعادة تحميله باستخدام
`from_pretrained()`.
- تسمح لك `push_to_hub()` بمشاركة نموذج وفئة تكوين وفئة ما قبل المعالجة على Hub، بحيث يمكن الوصول إليها بسهولة من قبل الجميع.