# المصطلحات

يُعرّف هذا المسرد المصطلحات العامة في تعلم الآلة ومصطلحات 🤗 Transformers لمساعدتك على فهم التوثيق بشكل أفضل.

## A

### قناع الانتباه

قناع الانتباه هو معامل اختياري يُستخدم عند تجميع التسلسلات في دفعة واحدة.

تُشير هذه الحجة إلى النموذج أي الرموز التي يجب الانتباه إليها وأيها يجب تجاهلها.

على سبيل المثال، فكّر في هاتين التسلسلين:

```python
>>> from transformers import BertTokenizer

>>> tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-cased")

>>> sequence_a = "This is a short sequence."
>>> sequence_b = "This is a rather long sequence. It is at least longer than the sequence A."

>>> encoded_sequence_a = tokenizer(sequence_a)["input_ids"]
>>> encoded_sequence_b = tokenizer(sequence_b)["input_ids"]
```

تختلف أطوال الإصدارات المُرمّزة:

```python
>>> len(encoded_sequence_a), len(encoded_sequence_b)
(8, 19)
```

لذلك، لا يمكننا وضعهما معًا في نفس الموتر كما هو. يجب ملء التسلسل الأول حتى يطابق طول التسلسل الثاني، أو يجب تقصير التسلسل الثاني حتى يطابق طول التسلسل الأول.

في الحالة الأولى، سيتم توسيع قائمة المعرّفات بمؤشرات الحشو. يمكننا تمرير قائمة إلى مُجزّئ الرموز وطلب منه إجراء الحشو على النحو التالي:

```python
>>> padded_sequences = tokenizer([sequence_a, sequence_b], padding=True)
```

يمكننا ملاحظة أنه تمت إضافة أصفار على يمين الجملة الأولى لجعلها بنفس طول الجملة الثانية:

```python
>>> padded_sequences["input_ids"]
[[101, 1188, 1110, 170, 1603, 4954, 119, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [101, 1188, 1110, 170, 1897, 1263, 4954, 119, 1135, 1110, 1120, 1655, 2039, 1190, 1103, 4954, 138, 119, 102]]
```

يمكن بعد ذلك تحويل ذلك إلى متجه في PyTorch. قناع الانتباه هو متجه ثنائي يحدد مواضع الفهارس المملوءة حتى لا ينتبه النموذج إليها. بالنسبة إلى [BertTokenizer](/docs/transformers/main/ar/model_doc/lxmert#transformers.BertTokenizer)، يشير `1` إلى قيمة يجب الانتباه إليها، بينما يشير `0` إلى قيمة مملوءة. يوجد هذا قناع الانتباه في القاموس الذي يعيده المرمّز تحت المفتاح "attention_mask":

```python
>>> padded_sequences["attention_mask"]
[[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]
```

### نماذج الترميز التلقائي

انظر إلى [نماذج المُشفِّر](#encoder-models) و[نمذجة اللغة المقنّعة](#masked-language-modeling-mlm)

### النماذج التوليدية

راجع [النمذجة اللغوية السببية](#causal-language-modeling) و[نماذج المُفكِّك](#decoder-models)

## B

### الهيكل

العمود الفقري هو الشبكة (التمثيلات والطبقات) التي تُخرج الحالات المخفية الخام أو الميزات. عادةً ما يتم توصيله برأس [head](#head) الذي يستقبل الميزات كمدخلات له لإجراء تنبؤ. على سبيل المثال، [ViTModel](/docs/transformers/main/ar/model_doc/vit#transformers.ViTModel) هو عمود فقري بدون رأس محدد في الأعلى. يمكن لنماذج أخرى أيضًا استخدام [ViTModel](/docs/transformers/main/ar/model_doc/vit#transformers.ViTModel) كعمود فقري، مثل [DPT](./model_doc/dpt).

## C

### النمذجة اللغوية السببية

مهمة تدريب مسبق حيث يقرأ النموذج النصوص بالترتيب ويتعين عليه التنبؤ بالكلمة التالية. وعادةً ما يتم ذلك بقراءة الجملة بأكملها، مع استخدام قناع داخل النموذج لإخفاء الرموز المستقبلية عند خطوة زمنية معينة.

### قناة

تتكوّن الصور الملونة من مزيج من القيم في ثلاثة قنوات: الأحمر والأخضر والأزرق (RGB)، بينما تحتوي الصور الرمادية على قناة واحدة فقط. في 🤗 Transformers، يمكن أن تكون القناة هي البُعد الأول أو الأخير من مُتجه الصورة: [`n_channels`، `height`، `width`] أو [`height`، `width`، `n_channels`].

### التصنيف الزمني الاتصال (CTC)

خوارزمية تتيح للنموذج التعلّم دون معرفة كيفية محاذاة المدخلات والمخرجات بدقة؛ حيث يحسب CTC توزيع جميع المخرجات الممكنة لمدخل معيّن، ثم يختار المخرج الأكثر احتمالاً من بينها. يُستخدم CTC بشكل شائع في مهام التعرف على الكلام، لأن الكلام لا يتطابق دائماً بشكل نظيف مع النص المكتوب لعدة أسباب، مثل اختلاف معدلات الكلام بين المتكلمين.

### التماس

نوع من الطبقات في الشبكة العصبية حيث تُضرب مصفوفة الإدخال عنصرًا بعنصر بمصفوفة أصغر (نواة أو مرشح) ثم تُجمع القيم في مصفوفة جديدة. يُعرف هذا بالعملية التلافيفية (Convolutional operation) التي تتكرر على كامل مصفوفة الإدخال. تُطبَّق كل عملية على مقطع مختلف من مصفوفة الإدخال. تُستخدم الشبكات العصبية التلافيفية (CNNs) بشكل شائع في مجال الرؤية الحاسوبية.

## D

### DataParallel (DP)

تقنية التوازي لتدريب النماذج على وحدات معالجة رسومية متعددة، حيث يُنسخ نفس الإعداد عدة مرات، وتُستقبل كل نسخة شريحة بيانات مختلفة. يتم تنفيذ المعالجة بالتوازي، وتُزامَن جميع الإعدادات في نهاية كل خطوة تدريب.

اعرف المزيد حول [DataParallel](./perf_train_gpu_many#dataparallel).

### معرفات مدخلات المُفكِّك

هذا الإدخال خاص بنماذج المُشفِّر-المُفكِّك (encoder-decoder)، ويحتوي على معرّفات الإدخال التي ستُمرَّر إلى المُفكِّك. ينبغي استخدام هذه المدخلات لمهام تسلسل إلى تسلسل، مثل الترجمة أو التلخيص، وعادةً ما تُبنى بطريقة خاصة بكل نموذج.

تُنشئ معظم نماذج المُشفِّر-المُفكِّك (BART، T5) `decoder_input_ids` الخاصة بها بنفسها انطلاقًا من `labels`. في مثل هذه النماذج، يُعد تمرير `labels` الطريقة المفضلة للتعامل مع التدريب.

يرجى الرجوع إلى توثيق كل نموذج لمعرفة كيفية تعامله مع هذه المعرّفات المدخلة في التدريب من تسلسل إلى تسلسل.

### نماذج فك الترميز

تُعرف نماذج المُفكِّك أيضاً بنماذج التوليد الذاتي (autoregressive models)، وتعتمد على مهمة تدريب مسبق (تُسمى نمذجة اللغة السببية) حيث يقرأ النموذج النصوص بالترتيب ويتعيّن عليه التنبؤ بالكلمة التالية. وعادةً ما يتم ذلك بقراءة الجملة بأكملها مع استخدام قناع لإخفاء الرموز المستقبلية عند خطوة زمنية معينة.

### التعلم العميق (DL)

خوارزميات تعلم الآلة التي تستخدم شبكات عصبية متعددة الطبقات.

## E

### نماذج المُشفِّرة

تُعرف نماذج الترميز أيضًا بنماذج الترميز الذاتي، حيث تستقبل مدخلًا (مثل النص أو الصور) وتحوّله إلى تمثيل رقمي مكثف يُسمى التضمين. وغالبًا ما يتم تدريب نماذج الترميز مسبقًا باستخدام تقنيات مثل [نمذجة اللغة المقنّعة](#masked-language-modeling-mlm)، التي تُخفي أجزاء من تسلسل المدخلات وتجبر النموذج على إنشاء تمثيلات أكثر دلالة.

## F

### استخراج الميزات

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

### تجزئة الأمامية

In each residual attention block in transformers the self-attention layer is usually followed by 2 feed forward layers. The intermediate embedding size of the feed forward layers is often bigger than the hidden size of the model (e.g., for `google-bert/bert-base-uncased`).

في حالة إدخال بحجم `[batch_size, sequence_length]`، قد تستهلك الذاكرة المطلوبة لتخزين تمثيلات التغذية الأمامية الوسيطة `[batch_size, sequence_length, config.intermediate_size]` نسبة كبيرة من استخدام الذاكرة. لاحظ مؤلفا [Reformer: The Efficient Transformer](https://huggingface.co/papers/2001.04451) أنه بما أن الحساب مستقل عن بُعد `sequence_length`، فإنّه مكافئ رياضياً لحساب تمثيلات الإخراج لطبقتي التغذية الأمامية `[batch_size, config.hidden_size]_0, ..., [batch_size, config.hidden_size]_n` بشكل منفصل ثم دمجها لاحقاً إلى `[batch_size, sequence_length, config.hidden_size]` باستخدام `n = sequence_length`، وهو ما يحوّل زيادة وقت الحساب إلى تقليل في استخدام الذاكرة، لكنه يُنتج نتيجة **مكافئة** رياضياً.

بالنسبة للنماذج التي تستخدم الدالة [apply_chunking_to_forward()](/docs/transformers/main/ar/internal/modeling_utils#transformers.apply_chunking_to_forward)، يحدد `chunk_size` عدد تمثيلات الإخراج التي يتم حسابها بالتوازي، وبالتالي يحدد التوازن بين تعقيد الذاكرة وتعقيد الوقت. إذا تم ضبط `chunk_size` على 0، فلن يتم تنفيذ تقطيع الشبكة الأمامية.

### النماذج المُحسّنة

يُعدّ الضبط الدقيق (Finetuning) شكلاً من أشكال التعلم الانتقالي، حيث يتم أخذ نموذج مُدرَّب مسبقاً، وتجميد أوزانه، واستبدال طبقة الإخراج برأس نموذج [model head](#head) مُضاف حديثاً. يتم تدريب رأس النموذج على مجموعة البيانات المستهدفة لديك.

راجع شريط التعليمات [ضبط نموذج مُدرَّب مسبقًا](./training) لمزيد من التفاصيل، وتعلّم كيفية ضبط النماذج باستخدام 🤗 Transformers.

## H

### رأس

يشير رأس النموذج إلى الطبقة الأخيرة في الشبكة العصبية التي تستقبل الحالات المخفية الخام وتُرجعها إلى بُعد مختلف. يوجد رأس نموذج مختلف لكل مهمة. على سبيل المثال:

* [GPT2ForSequenceClassification](/docs/transformers/main/ar/model_doc/gpt2#transformers.GPT2ForSequenceClassification) هو رأس تصنيف تسلسل - طبقة خطية - فوق النموذج الأساسي [GPT2Model](/docs/transformers/main/ar/model_doc/gpt2#transformers.GPT2Model).
* [ViTForImageClassification](/docs/transformers/main/ar/model_doc/vit#transformers.ViTForImageClassification) هو رأس لتصنيف الصور - وهو طبقة خطية فوق الحالة المخفية النهائية لرمز `CLS` - فوق النموذج الأساسي [ViTModel](/docs/transformers/main/ar/model_doc/vit#transformers.ViTModel).
* [Wav2Vec2ForCTC](/docs/transformers/main/ar/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC) هو رأس لنمذجة اللغة يعتمد على [CTC](#connectionist-temporal-classification-ctc) فوق النموذج الأساسي [Wav2Vec2Model](/docs/transformers/main/ar/model_doc/wav2vec2#transformers.Wav2Vec2Model).

## I

### بقعة الصورة

تقوم نماذج Transformers القائمة على الرؤية بتقسيم الصورة إلى بقع أصغر تُضمَّن خطيًا، ثم تُمرَّر كسلسلة إلى النموذج. يمكنك العثور على `patch_size` - أو الدقة - للنموذج في ملفه الإعدادي.

### الاستدلال

الاستدلال هو عملية تقييم النموذج على بيانات جديدة بعد اكتمال التدريب. راجع شروحات [خط أنابيب الاستدلال](./pipeline_tutorial) لمعرفة كيفية تنفيذ الاستدلال باستخدام 🤗 Transformers.

### معرّفات الإدخال

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

يعمل كل مُجزِّئ (tokenizer) بشكل مختلف، لكن الآلية الأساسية تبقى واحدة. إليك مثالاً باستخدام مُجزِّئ BERT، وهو مُجزِّئ [WordPiece](https://huggingface.co/papers/1609.08144):

```python
>>> from transformers import BertTokenizer

>>> tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-cased")

>>> sequence = "A Titan RTX has 24GB of VRAM"
```

يتولى مُجزِّئ النص مهمة تقسيم التسلسل إلى رموز متاحة في قاموس مُجزِّئ النص.

```python
>>> tokenized_sequence = tokenizer.tokenize(sequence)
```

تكون الرموز إما كلمات أو أجزاء من كلمات. ففي هذا المثال، لم تكن "VRAM" ضمن مفردات النموذج، لذا تم تقسيمها إلى "V" و"RA" و"M". ولإشارة إلى أن هذه الرموز ليست كلمات منفصلة بل أجزاء من كلمة واحدة، يُضاف بادئة مزدوجة من علامتي # للرمزين "RA" و"M":

```python
>>> print(tokenized_sequence)
['A', 'Titan', 'R', '##T', '##X', 'has', '24', '##GB', 'of', 'V', '##RA', '##M']
```

يمكن بعد ذلك تحويل هذه الرموز إلى معرّفات يمكن للنموذج فهمها. ويتم ذلك عن طريق تمرير الجملة مباشرةً إلى مُجزّئ الرموز، الذي يستفيد من التنفيذ بلغة Rust في [🤗 Tokenizers](https://github.com/huggingface/tokenizers) لتحقيق أداءٍ ذروة.

```python
>>> inputs = tokenizer(sequence)
```

يعيد مُجزِّئ النص (tokenizer) قاموسًا يحتوي على جميع الحُجج اللازمة لعمل النموذج المقابل بشكل صحيح. توجد فهارس الرموز تحت المفتاح `input_ids`:

```python
>>> encoded_sequence = inputs["input_ids"]
>>> print(encoded_sequence)
[101, 138, 18696, 155, 1942, 3190, 1144, 1572, 13745, 1104, 159, 9664, 2107, 102]
```

لاحظ أن مُجزّئ النص يضيف تلقائيًا "رموزًا خاصة" (إذا كان النموذج المرتبط يعتمد عليها)، وهي معرّفات خاصة يستخدمها النموذج في بعض الأحيان.

إذا قمنا بفك ترميز تسلسل المعرّفات السابق،

```python
>>> decoded_sequence = tokenizer.decode(encoded_sequence)
```

سنرى

```python
>>> print(decoded_sequence)
[CLS] A Titan RTX has 24GB of VRAM [SEP]
```

لأن هذا هو الشكل الذي تتوقع به [BertModel](/docs/transformers/main/ar/model_doc/bert#transformers.BertModel) مدخلاتها.

## L

### التسميات

تُعد التسميات (labels) حجة اختيارية يمكن تمريرها ليحسب النموذج الدالة الخاسرة (loss) بنفسه. يجب أن تكون هذه التسميات هي التوقعات المتوقعة من النموذج: إذ سيقوم باستخدام الدالة الخاسرة القياسية لحساب الفرق بين توقعاته والقيمة المتوقعة (أي التسمية).

تختلف هذه التسميات حسب رأس النموذج، على سبيل المثال:

- في نماذج تصنيف التسلسل، ([BertForSequenceClassification](/docs/transformers/main/ar/model_doc/bert#transformers.BertForSequenceClassification))، يتوقع النموذج متجهًا بعدد أبعاد `(batch_size)` حيث يتوافق كل قيمة في الدفعة مع التسمية المتوقعة للتسلسل بأكمله.
- لنماذج تصنيف الرموز ([BertForTokenClassification](/docs/transformers/main/ar/model_doc/bert#transformers.BertForTokenClassification))، يتوقع النموذج متجهًا (tensor) بأبعاد `(batch_size, seq_length)` حيث يتوافق كل قيمة مع التسمية المتوقعة لكل رمز فردي.
- لنمذجة اللغة المقنّعة ([BertForMaskedLM](/docs/transformers/main/ar/model_doc/bert#transformers.BertForMaskedLM))، يتوقع النموذج متجهًا (tensor) بأبعاد `(batch_size, seq_length)` حيث يتوافق كل قيمة مع التسمية المتوقعة لكل رمز فردي: فالتسميات هي معرّف (token ID) للرمز المقنّع، والقيم التي يجب تجاهلها لبقية الرموز (عادةً -100).
- في مهام التحويل من تسلسل إلى تسلسل، ([BartForConditionalGeneration](/docs/transformers/main/ar/model_doc/bart#transformers.BartForConditionalGeneration)، [MBartForConditionalGeneration](/docs/transformers/main/ar/model_doc/mbart#transformers.MBartForConditionalGeneration))، يتوقع النموذج متجهًا (tensor) بأبعاد `(batch_size, tgt_seq_length)` حيث يتوافق كل قيمة مع تسلسلات الهدف المرتبطة بكل تسلسل إدخال. أثناء التدريب، سيقوم كل من BART و T5 بإنشاء `decoder_input_ids` وأقنعة الانتباه (attention masks) الخاصة بالمفكك بشكل صحيح داخليًا. وعادةً لا حاجة إلى توفيرها. ولا ينطبق هذا على النماذج التي تعتمد على إطار عمل المشفر-المفكك (Encoder-Decoder).
- في نماذج تصنيف الصور، ([ViTForImageClassification](/docs/transformers/main/ar/model_doc/vit#transformers.ViTForImageClassification))، يتوقع النموذج متجهًا بعدد أبعاد `(batch_size)` حيث يتوافق كل قيمة في الدفعة مع التسمية المتوقعة لكل صورة على حدة.
- لنماذج التقسيم الدلالي، ([SegformerForSemanticSegmentation](/docs/transformers/main/ar/model_doc/segformer#transformers.SegformerForSemanticSegmentation))، يتوقع النموذج متجهًا بأبعاد `(batch_size, height, width)` حيث يتوافق كل قيمة في الدفعة مع التسمية المتوقعة لكل بكسل فردي.
- لنماذج كشف الكائنات، ([DetrForObjectDetection](/docs/transformers/main/ar/model_doc/detr#transformers.DetrForObjectDetection))، يتوقع النموذج قائمة من القواميس تحتوي على مفتاح `class_labels` ومفتاح `boxes`، حيث يتوافق كل قيمة في الدفعة مع التسمية المتوقعة وعدد صناديق الحدود لكل صورة فردية.
- لنماذج التعرف التلقائي على الكلام، ([Wav2Vec2ForCTC](/docs/transformers/main/ar/model_doc/wav2vec2#transformers.Wav2Vec2ForCTC))، يتوقع النموذج متجهًا (tensor) بأبعاد `(batch_size, target_length)` حيث يتوافق كل قيمة مع التسمية المتوقعة لكل رمز فردي.

قد تختلف تسميات كل نموذج، لذا تأكد دائمًا من الرجوع إلى توثيق كل نموذج للحصول على مزيد من المعلومات حول تسمياته المحددة!

لا تقبل النماذج الأساسية ([BertModel](/docs/transformers/main/ar/model_doc/bert#transformers.BertModel)) التسميات، إذ إنها نماذج التحويل الأساسية التي تخرج الميزات فقط.

### نماذج اللغة الكبيرة (LLM)

مصطلح عام يشير إلى نماذج اللغة التحويلية (GPT-3، BLOOM، OPT) التي تم تدريبها على كميات كبيرة من البيانات. تميل هذه النماذج أيضًا إلى امتلاك عدد كبير من المعلمات القابلة للتعلم (مثل 175 مليارًا في حالة GPT-3).

## M

### نمذجة اللغة المقنّعة (MLM)

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

### متعدد الوسائط

مهمة تجمع بين النصوص وأنواع أخرى من المدخلات (مثل الصور على سبيل المثال).

## N

### توليد اللغة الطبيعية (NLG)

جميع المهام المتعلقة بتوليد النص (على سبيل المثال، [الكتابة باستخدام Transformers](https://transformer.huggingface.co/)، والترجمة).

### معالجة اللغة الطبيعية (NLP)

طريقة عامة للإشارة إلى "التعامل مع النصوص".

### فهم اللغة الطبيعية (NLU)

جميع المهام المتعلقة بفهم ما هو موجود في نص (على سبيل المثال، تصنيف النص بأكمله، أو الكلمات الفردية).

## P

### pipeline

يُعد خط الأنابيب في 🤗 Transformers تجريدًا يشير إلى سلسلة من الخطوات التي تُنفَّذ بترتيب محدد لمعالجة البيانات مسبقًا وتحويلها وإرجاع تنبؤ من نموذج. ومن أمثلة المراحل التي قد توجد في خط أنابيب: المعالجة المسبقة للبيانات، واستخراج الميزات، والتطبيع.

لمزيد من التفاصيل، راجع [خطوط أنابيب للاستدلال](./pipeline_tutorial).

### PipelineParallel (PP)

تقنية توازٍ يتم فيها تقسيم النموذج عمودياً (على مستوى الطبقات) عبر وحدات معالجة رسومية متعددة، بحيث تُوضع طبقة واحدة أو عدة طبقات من النموذج على وحدة معالجة رسومية واحدة. تعالج كل وحدة معالجة رسومية بالتوازي مراحل مختلفة من خط المعالجة وتعمل على جزء صغير من الدفعة. تعرّف على المزيد حول [PipelineParallel](./perf_train_gpu_many#pipeline-parallelism).

### قيم البكسل

مصفوفة (Tensor) تمثل التمثيلات العددية لصورة تُمرَّر إلى نموذج. تكون قيم البكسلات على شكل [`batch_size`, `num_channels`, `height`, `width`]، وتُنتج بواسطة معالج الصور (image processor).

### التجميع

عملية تقلّص مصفوفة إلى مصفوفة أصغر، إما بأخذ القيمة العظمى أو المتوسط للأبعاد المجمّعة. تُشاهَد طبقات التجميع عادةً بين طبقات الالتفاف لتقليل حجم تمثيل الميزات.

### معرّفات الموضع

على عكس شبكات RNN التي تُضمَّن فيها موضع كل رمز داخلها، لا تُدرك نماذج transformers موضع كل رمز. لذلك، تُستخدم المعرّفات الموضعية (`position_ids`) من قِبل النموذج لتحديد موضع كل رمز ضمن قائمة الرموز.

إنها معلمة اختيارية. إذا لم يتم تمرير `position_ids` إلى النموذج، يتم إنشاء المعرّفات تلقائيًا كتضمينات موضعية مطلقة.

تُختار التضمينات الموضعية المطلقة ضمن النطاق `[0, config.max_position_embeddings - 1]`. تستخدم بعض النماذج أنواعًا أخرى من التضمينات الموضعية، مثل التضمينات الموضعية الجيبية أو التضمينات الموضعية النسبية.

### المعالجة المسبقة

مهمة تجهيز البيانات الخام في صيغة يمكن للنماذج التعلُّمية الآلية استهلاكها بسهولة. على سبيل المثال، تتم معالجة النص مسبقًا عادةً عن طريق التقطيع إلى رموز. للحصول على فكرة أفضل عن شكل المعالجة المسبقة لأنواع المدخلات الأخرى، اطّلع على درس [المعالجة المسبقة](https://huggingface.co/docs/transformers/preprocessing).

### نموذج مُدرَّب مسبقًا

نموذج تم تدريبه مسبقًا على بعض البيانات (مثل ويكيبيديا بأكملها). تتضمن طرق التدريب المسبق هدفًا ذاتي الإشراف، يمكن أن يكون قراءة النص ومحاولة التنبؤ بالكلمة التالية (انظر [النمذجة اللغوية السببية](#causal-language-modeling)) أو إخفاء بعض الكلمات ومحاولة التنبؤ بها (انظر [النمذجة اللغوية المقنّعة](#masked-language-modeling-mlm)).

لنماذج الكلام والرؤية أهدافها الخاصة في التدريب المسبق. على سبيل المثال، Wav2Vec2 هو نموذج كلام تم تدريبه مسبقًا على مهمة تباينية تتطلب من النموذج تحديد تمثيل الكلام "الصحيح" من مجموعة من تمثيلات الكلام "الخاطئة". في المقابل، BEiT هو نموذج رؤية تم تدريبه مسبقًا على مهمة نمذجة الصور المقنّعة التي تُخفي بعض رقاعات الصورة وتتطلب من النموذج التنبؤ بالرقاعات المقنّعة (بشكل مشابه لهدف نمذجة اللغة المقنّعة).

## R

### شبكة عصبية متكررة (RNN)

نوع من النماذج يستخدم حلقة على طبقة لمعالجة النصوص.

### تعلم التمثيلات

فرع فرعي من تعلم الآلة يركّز على تعلّم تمثيلات ذات معنى للبيانات الخام. تتضمن بعض أمثلة تقنيات التمثيل التضمينات اللغوية، والمشفّرات التلقائية، والشبكات التوليدية الخصومية (GANs).

## S

### معدل أخذ العينات

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

### الانتباه الذاتي

تحدد كل عنصر من عناصر المدخل أي العناصر الأخرى من المدخل يجب أن ينتبه إليها.

### التعلم غير المُشرِف

فئة من تقنيات تعلم الآلة يقوم فيها النموذج بإنشاء هدف التعلم الخاص به من بيانات غير موسومة. يختلف عن [التعلم غير المُشرف](#unsupervised-learning) و [التعلم المُشرف](#supervised-learning) في أن عملية التعلم مُشرفة، لكنها ليست مُشرفة بشكل صريح من قِبل المستخدم.

مثال على التعلم الذاتي الإشرافي هو [نمذجة اللغة المقنّعة](#masked-language-modeling-mlm)، حيث يُمرَّر إلى النموذج جُمل تم حذف نسبة من رموزها، ليتعلم التنبؤ بالرموز الناقصة.

### التعلّم شبه المُشرِف

فئة واسعة من تقنيات تدريب تعلم الآلة تستفيد من كمية صغيرة من البيانات الموسومة مع كمية أكبر من البيانات غير الموسومة لتحسين دقة النموذج، على عكس [التعلم المُشرف](#supervised-learning) و[التعلم غير المُشرف](#unsupervised-learning).

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

### تسلسل إلى تسلسل (seq2seq)

النماذج التي تولّد تسلسلاً جديداً من مدخل، مثل نماذج الترجمة أو نماذج التلخيص (مثل [Bart](./model_doc/bart) أو [T5](./model_doc/t5)).

### DDP المجزّأ

اسم آخر للمفهوم التأسيسي [ZeRO](#zero-redundancy-optimizer-zero) كما تستخدمه تطبيقات أخرى مختلفة من ZeRO.

### خطوة

في [التماسك](#convolution) أو [التجميع](#pooling)، يشير التخطي إلى المسافة التي يُزاح بها النواة فوق مصفوفة. التخطي بقيمة 1 يعني أن النواة تُزاح بكسل واحد في كل مرة، والتخطي بقيمة 2 يعني أن النواة تُزاح بكسلين في كل مرة.

### التعلم المُشرف

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

## T

### التوازي على مستوى الموترات (TP)

تقنية توازي لتدريب النماذج على وحدات معالجة رسومية متعددة، يتم فيها تقسيم كل متجه (Tensor) إلى عدة أجزاء، بحيث لا يقيم المتجه بأكمله على وحدة معالجة رسومية واحدة، بل يقيم كل جزء من المتجه على وحدة المعالجة الرسومية المخصصة له. تُعالَج هذه الأجزاء بشكل منفصل ومتوازٍ على وحدات معالجة رسومية مختلفة، ثم يتم مزامنة النتائج في نهاية خطوة المعالجة. يُشار إلى هذا النوع أحياناً بالتوازي الأفقي، لأن التقسيم يتم على المستوى الأفقي. تعرّف على المزيد حول توازي المتجهات [هنا](./perf_train_gpu_many#tensor-parallelism).

### رمز

جزء من الجملة، وهو عادةً كلمة، لكنه قد يكون أيضاً تحت كلمة (غالباً ما تُقسَّم الكلمات غير الشائعة إلى تحت كلمات) أو رمز ترقيم.

### معرّفات أنواع الرموز

غرض بعض النماذج هو تنفيذ التصنيف على أزواج من الجمل أو الإجابة عن الأسئلة.

These require two different sequences to be joined in a single "input_ids" entry, which usually is performed with the help of special tokens, such as the classifier (`[CLS]`) and separator (`[SEP]`) tokens. For example, the BERT model builds its two sequence input as such:

```python
>>> # [CLS] SEQUENCE_A [SEP] SEQUENCE_B [SEP]
```

يمكننا استخدام مُجزّئنا لتوليد مثل هذا الجملة تلقائيًا عن طريق تمرير التسلسلين إلى `tokenizer` كحجّتين (وليس كقائمة، كما كان من قبل) على النحو التالي:

```python
>>> from transformers import BertTokenizer

>>> tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-cased")
>>> sequence_a = "HuggingFace is based in NYC"
>>> sequence_b = "Where is HuggingFace based?"

>>> encoded_dict = tokenizer(sequence_a, sequence_b)
>>> decoded = tokenizer.decode(encoded_dict["input_ids"])
```

والذي سيعيد:

```python
>>> print(decoded)
[CLS] HuggingFace is based in NYC [SEP] Where is HuggingFace based? [SEP]
```

هذا يكفي لبعض النماذج لفهم أين تنتهي تسلسلة واحدة وأين تبدأ أخرى. ومع ذلك، تستخدم نماذج أخرى، مثل BERT، معرّفات أنواع الرموز (المعروفة أيضًا بمعرفات المقاطع). وهي ممثّلة كقناع ثنائي يميّز بين نوعي التسلسل في النموذج.

يعيد مُجزِّئ الرموز هذه القناع كعنصر "token_type_ids":

```python
>>> encoded_dict["token_type_ids"]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

تمثل جميع الرموز في التسلسل الأول، وهو "السياق" المستخدم للسؤال، بالقيمة `0`، بينما تمثل جميع الرموز في التسلسل الثاني، الذي يقابل "السؤال"، بالقيمة `1`.

تستخدم بعض النماذج، مثل [XLNetModel](/docs/transformers/main/ar/model_doc/xlnet#transformers.XLNetModel)، رمزًا إضافيًا ممثلاً بـ `2`.

### التعلم الانتقالي

تقنية تتضمن أخذ نموذج مُدرَّب مسبقًا وتكييفه مع مجموعة بيانات خاصة بمهمتك. بدلاً من تدريب نموذج من الصفر، يمكنك الاستفادة من المعرفة المكتسبة من نموذج موجود كنقطة انطلاق. هذا يسرّع عملية التعلم ويقلل من كمية بيانات التدريب المطلوبة.

### transformer

بنية نموذج تعلم عميق تعتمد على الانتباه الذاتي.

## U

### التعلم غير المُشرَف

شكل من أشكال تدريب النموذج لا يتم فيه وضع تسميات على البيانات المُقدَّمة للنموذج. تستفيد تقنيات التعلم غير المُشرف من المعلومات الإحصائية لتوزيع البيانات للعثور على أنماط مفيدة للمهمة قيد النظر.

## Z

### مُحسِّن الصفرية الزائدة (ZeRO)

تقنية توازي تقوم بتقسيم المتجهات (Tensors) بطريقة تشبه إلى حد ما [TensorParallel](#tensor-parallelism-tp)، باستثناء أن المتجه الكامل يُعاد بناؤه في الوقت المناسب لحساب الأمامي أو الخلفي، وبالتالي لا حاجة إلى تعديل النموذج. تدعم هذه الطريقة أيضاً تقنيات مختلفة لتفريغ البيانات (Offloading) لتعويض محدودية ذاكرة وحدة معالجة الرسوميات (GPU). لمعرفة المزيد عن ZeRO، راجع [هنا](./perf_train_gpu_many#zero-data-parallelism).

