سنتعرف في هذه السلسلة من المقالات على منصة Hugging Face وهي منصة تفاعلية سهلة الاستخدام للمهتمين بإنشاء تطبيقات الذكاء الاصطناعي وتعلم الآلة، فهي توفر أكثر من 400 ألف نموذج جاهز للاستخدام وتوفر مجموعات بيانات مخصصة لتدريب نماذج جديدة، كما أنها تتيح لك التواصل مع مجتمع ضخم مع المهتمين بتعلم الآلة من جميع أنحاء العالم ومشاركة تجاربك معهم.
سنبدأ السلسلة بالتعرف على أداة برمجية فعالة تعمل على هذه المنصة وهي المكتبة Transformers التي تسهل استخدام نماذج تعلم الآلة الحديثة وتمكنك من أداء عدة مهام متعلقة بالذكاء الاصطناعي، ونتعرف على النماذج المتنوعة التي توفرها هذه المكتبة للتعامل مع النصوص والصور والصوت والوسائط المتعددة كما نستعرض مختلف إطارات العمل البرمجية التي تدعمها وأهم تطبيقاتها.
ما هي المكتبة Transformers
مكتبة المحوّلات Transformers هي أحدث تقنيات تعلُّم الآلة المستخدمة مع أطر عمل الذكاء الاصطناعي الشهيرة مثل باي تورش PyTorch وتنسرفلو TensorFlow و JAX، وهي تزود المبرمجين بواجهات برمجة تطبيقات APIs وأدوات مساعدة تُسهّل عليهم تحميل أحدث نماذج تعلم الآلة المدربة مسبقًا pretrained models وإعادة تدريبها.
وتوفر هذه النماذج المدربة مسبقًا وقتك وجهدك فلن تحتاج لجمع البيانات، وتنظيفها، وتحضيرها، ولا لتشغيل عمليات التدريب والتحسين بل يمكنك استخدام النموذج مباشرة في تطبيقك، كما توفر أيضًا الموارد وعمليات الحوسبة وحتى استهلاك الطاقة الذي تحتاجه لتدريب نماذج جديدة من الصفر، وتخدمك في العديد من مجالات الذكاء الاصطناعي وإليك أهما:
-
مجال معالجة اللغة الطبيعية Natural Language Processing: ومن أهم تطبيقاته تصنيف النصوص text classification، والتعرّف على الكائنات المسماة named entity recognition، والإجابة على الأسئلة question answering، والاختيار من متعدد multiple choice، ونمذجة اللغة language modeling، والتلخيص summarization، والترجمة translation، وتوليد النص text generation.
-
مجال الرؤية الحاسوبية Computer Vision: تستخدم الرؤية الحاسوبية في مشاريع عديدة مثل: تصنيف الصور image classification، والتعرّف على الكائنات object detection، وتجزئة الصور segmentation بناءً على خصائص محددة وغير ذلك.
-
مجال الصوتيات Audio: ومن أهم تطبيقاته التعرّف التلقائي على الكلام automatic speech recognition، وتصنيف المقاطع الصوتية audio classification.
-
مجال الأنماط المتعددة Multimodal: يقصد به التعامل مع أنواع متعددة من المُدخَلات ومن أمثلتها الإجابة على الأسئلة الموجودة ضمن جدول معين table question answering، والتعرّف البصري على الحروف optical character recognition، واستخراج المعلومات من المستندات الممسوحة ضوئيًا، وتصنيف مقاطع الفيديو video classification، والإجابة على الأسئلة مرئيًا visual question answering أي الإجابة على أسئلة حول الصور.
وتدعم مكتبة المحولات التشغيل البيني framework interoperability لأطر العمل الثلاثة PyTorch و TensorFlow و JAX أي أن بإمكانك جمعها في مشروع واحد بمرونة تامة، فهي تتيح لك استخدام إطار عمل مختلف في كل مرحلة من مراحل بناء النموذج؛ تستطيع مثلًا تدريب النموذج بإطار عمل معين، ثم استخدام إطار آخر في مرحلة الاستدلال inference وهكذا، يمكنك أيضًا تصدير نماذج الآلي بصيغ مثل: ONNX و TorchScript لنشرها في بيئات الإنتاج.
النماذج التي يدعمها كل إطار عمل
يبين الجدول التالي نماذج المكتبة التي يدعمها كل إطار عمل من الأطر التالية PyTorch و TensorFlow و JAX حتى تاريخ ترجمة هذا المقال، سواء كانت مميزة بمُرمِز tokenizer بايثون بطيء"slow" أو سريع "fast".
النموذج | توافقيته مع PyTorch؟ | توافقيته مع TensorFlow؟ | توافقيته مع JAX؟ |
---|---|---|---|
ALBERT | نعم | نعم | نعم |
ALIGN | نعم | لا | لا |
AltCLIP | نعم | لا | لا |
Audio Spectrogram Transformer | نعم | لا | لا |
Autoformer | نعم | لا | لا |
Bark | نعم | لا | لا |
BART | نعم | نعم | نعم |
BARThez | نعم | نعم | نعم |
BARTpho | نعم | نعم | نعم |
BEiT | نعم | لا | نعم |
BERT | نعم | نعم | نعم |
Bert Generation | نعم | لا | لا |
BertJapanese | نعم | نعم | نعم |
BERTweet | نعم | نعم | نعم |
BigBird | نعم | لا | نعم |
BigBird-Pegasus | نعم | لا | لا |
BioGpt | نعم | لا | لا |
BiT | نعم | لا | لا |
Blenderbot | نعم | نعم | نعم |
BlenderbotSmall | نعم | نعم | نعم |
BLIP | نعم | نعم | لا |
BLIP-2 | نعم | لا | لا |
BLOOM | نعم | لا | نعم |
BORT | نعم | نعم | نعم |
BridgeTower | نعم | لا | لا |
BROS | نعم | لا | لا |
ByT5 | نعم | نعم | نعم |
CamemBERT | نعم | نعم | لا |
CANINE | نعم | لا | لا |
Chinese-CLIP | نعم | لا | لا |
CLAP | نعم | لا | لا |
CLIP | نعم | نعم | نعم |
CLIPSeg | نعم | لا | لا |
CLVP | نعم | لا | لا |
CodeGen | نعم | لا | لا |
CodeLlama | نعم | لا | نعم |
Conditional DETR | نعم | لا | لا |
ConvBERT | نعم | نعم | لا |
ConvNeXT | نعم | نعم | لا |
ConvNeXTV2 | نعم | نعم | لا |
CPM | نعم | نعم | نعم |
CPM-Ant | نعم | لا | لا |
CTRL | نعم | نعم | لا |
CvT | نعم | نعم | لا |
Data2VecAudio | نعم | لا | لا |
Data2VecText | نعم | لا | لا |
Data2VecVision | نعم | نعم | لا |
DeBERTa | نعم | نعم | لا |
DeBERTa-v2 | نعم | نعم | لا |
Decision Transformer | نعم | لا | لا |
Deformable DETR | نعم | لا | لا |
DeiT | نعم | نعم | لا |
DePlot | نعم | لا | لا |
Depth Anything | نعم | لا | لا |
DETA | نعم | لا | لا |
DETR | نعم | لا | لا |
DialoGPT | نعم | نعم | نعم |
DiNAT | نعم | لا | لا |
DINOv2 | نعم | لا | لا |
DistilBERT | نعم | نعم | نعم |
DiT | نعم | لا | نعم |
DonutSwin | نعم | لا | لا |
DPR | نعم | نعم | لا |
DPT | نعم | لا | لا |
EfficientFormer | نعم | نعم | لا |
EfficientNet | نعم | لا | لا |
ELECTRA | نعم | نعم | نعم |
EnCodec | نعم | لا | لا |
Encoder decoder | نعم | نعم | نعم |
ERNIE | نعم | لا | لا |
ErnieM | نعم | لا | لا |
ESM | نعم | نعم | لا |
FairSeq Machine-Translation | نعم | لا | لا |
Falcon | نعم | لا | لا |
FastSpeech2Conformer | نعم | لا | لا |
FLAN-T5 | نعم | نعم | نعم |
FLAN-UL2 | نعم | نعم | نعم |
FlauBERT | نعم | نعم | لا |
FLAVA | نعم | لا | لا |
FNet | نعم | لا | لا |
FocalNet | نعم | لا | لا |
Funnel Transformer | نعم | نعم | لا |
Fuyu | نعم | لا | لا |
Gemma | نعم | لا | نعم |
GIT | نعم | لا | لا |
GLPN | نعم | لا | لا |
GPT Neo | نعم | لا | نعم |
GPT NeoX | نعم | لا | لا |
GPT NeoX Japanese | نعم | لا | لا |
GPT-J | نعم | نعم | نعم |
GPT-Sw3 | نعم | نعم | نعم |
GPTBigCode | نعم | لا | لا |
GPTSAN-japanese | نعم | لا | لا |
Graphormer | نعم | لا | لا |
GroupViT | نعم | نعم | لا |
HerBERT | نعم | نعم | نعم |
Hubert | نعم | نعم | لا |
I-BERT | نعم | لا | لا |
IDEFICS | نعم | لا | لا |
ImageGPT | نعم | لا | لا |
Informer | نعم | لا | لا |
InstructBLIP | نعم | لا | لا |
Jukebox | نعم | لا | لا |
KOSMOS-2 | نعم | لا | لا |
LayoutLM | نعم | نعم | لا |
LayoutLMv2 | نعم | لا | لا |
LayoutLMv3 | نعم | نعم | لا |
LayoutXLM | نعم | لا | لا |
LED | نعم | نعم | لا |
LeViT | نعم | لا | لا |
LiLT | نعم | لا | لا |
LLaMA | نعم | لا | نعم |
Llama2 | نعم | لا | نعم |
LLaVa | نعم | لا | لا |
Longformer | نعم | نعم | لا |
LongT5 | نعم | لا | نعم |
LUKE | نعم | لا | لا |
LXMERT | نعم | نعم | لا |
M-CTC-T | نعم | لا | لا |
M2M100 | نعم | لا | لا |
MADLAD-400 | نعم | نعم | نعم |
Marian | نعم | نعم | نعم |
MarkupLM | نعم | لا | لا |
Mask2Former | نعم | لا | لا |
MaskFormer | نعم | لا | لا |
MatCha | نعم | لا | لا |
mBART | نعم | نعم | نعم |
mBART-50 | نعم | نعم | نعم |
MEGA | نعم | لا | لا |
Megatron-BERT | نعم | لا | لا |
Megatron-GPT2 | نعم | نعم | نعم |
MGP-STR | نعم | لا | لا |
Mistral | نعم | لا | نعم |
Mixtral | نعم | لا | لا |
mLUKE | نعم | لا | لا |
MMS | نعم | نعم | نعم |
MobileBERT | نعم | نعم | لا |
MobileNetV1 | نعم | لا | لا |
MobileNetV2 | نعم | لا | لا |
MobileViT | نعم | نعم | لا |
MobileViTV2 | نعم | لا | لا |
MPNet | نعم | نعم | لا |
MPT | نعم | لا | لا |
MRA | نعم | لا | لا |
MT5 | نعم | نعم | نعم |
MusicGen | نعم | لا | لا |
MVP | نعم | لا | لا |
NAT | نعم | لا | لا |
Nezha | نعم | لا | لا |
NLLB | نعم | لا | لا |
NLLB-MOE | نعم | لا | لا |
Nougat | نعم | نعم | نعم |
Nyströmformer | نعم | لا | لا |
OneFormer | نعم | لا | لا |
OpenAI GPT | نعم | نعم | لا |
OpenAI GPT-2 | نعم | نعم | نعم |
OpenLlama | نعم | نعم | لا |
OPT | نعم | نعم | نعم |
OWL-ViT | نعم | لا | لا |
OWLv2 | نعم | لا | لا |
PatchTSMixer | نعم | لا | لا |
PatchTST | نعم | لا | لا |
Pegasus | نعم | نعم | نعم |
PEGASUS-X | نعم | لا | لا |
Perceiver | نعم | لا | لا |
Persimmon | نعم | لا | لا |
Phi | نعم | لا | لا |
PhoBERT | نعم | نعم | نعم |
Pix2Struct | نعم | لا | لا |
PLBart | نعم | لا | لا |
PoolFormer | نعم | لا | لا |
Pop2Piano | نعم | لا | لا |
ProphetNet | نعم | لا | لا |
PVT | نعم | لا | لا |
QDQBert | نعم | لا | لا |
Qwen2 | نعم | لا | لا |
RAG | نعم | نعم | لا |
REALM | نعم | لا | لا |
Reformer | نعم | لا | لا |
RegNet | نعم | نعم | نعم |
RemBERT | نعم | نعم | لا |
ResNet | نعم | نعم | نعم |
RetriBERT | نعم | لا | لا |
RoBERTa | نعم | نعم | نعم |
RoBERTa-PreLayerNorm | نعم | نعم | نعم |
RoCBert | نعم | لا | لا |
RoFormer | نعم | نعم | نعم |
RWKV | نعم | لا | لا |
SAM | نعم | نعم | لا |
SeamlessM4T | نعم | لا | لا |
SeamlessM4Tv2 | نعم | لا | لا |
SegFormer | نعم | نعم | لا |
SEW | نعم | لا | لا |
SEW-D | نعم | لا | لا |
SigLIP | نعم | لا | لا |
Speech Encoder decoder | نعم | لا | نعم |
Speech2Text | نعم | نعم | لا |
SpeechT5 | نعم | لا | لا |
Splinter | نعم | لا | لا |
SqueezeBERT | نعم | لا | لا |
StableLm | نعم | لا | لا |
SwiftFormer | نعم | لا | لا |
Swin Transformer | نعم | نعم | لا |
Swin Transformer V2 | نعم | لا | لا |
Swin2SR | نعم | لا | لا |
SwitchTransformers | نعم | لا | لا |
T5 | نعم | نعم | نعم |
T5v1.1 | نعم | نعم | نعم |
Table Transformer | نعم | لا | لا |
TAPAS | نعم | نعم | لا |
TAPEX | نعم | نعم | نعم |
Time Series Transformer | نعم | لا | لا |
TimeSformer | نعم | لا | لا |
Trajectory Transformer | نعم | لا | لا |
Transformer-XL | نعم | نعم | لا |
TrOCR | نعم | لا | لا |
TVLT | نعم | لا | لا |
TVP | نعم | لا | لا |
UL2 | نعم | نعم | نعم |
UMT5 | نعم | لا | لا |
UniSpeech | نعم | لا | لا |
UniSpeechSat | نعم | لا | لا |
UnivNet | نعم | لا | لا |
UPerNet | نعم | لا | لا |
VAN | نعم | لا | لا |
VideoMAE | نعم | لا | لا |
ViLT | نعم | لا | لا |
VipLlava | نعم | لا | لا |
Vision Encoder decoder | نعم | نعم | نعم |
VisionTextDualEncoder | نعم | نعم | نعم |
VisualBERT | نعم | لا | لا |
ViT | نعم | نعم | نعم |
ViT Hybrid | نعم | لا | لا |
VitDet | نعم | لا | لا |
ViTMAE | نعم | نعم | لا |
ViTMatte | نعم | لا | لا |
ViTMSN | نعم | لا | لا |
VITS | نعم | لا | لا |
ViViT | نعم | لا | لا |
Wav2Vec2 | نعم | نعم | نعم |
Wav2Vec2-BERT | نعم | لا | لا |
Wav2Vec2-Conformer | نعم | لا | لا |
Wav2Vec2Phoneme | نعم | نعم | نعم |
WavLM | نعم | لا | لا |
Whisper | نعم | نعم | نعم |
X-CLIP | نعم | لا | لا |
X-MOD | نعم | لا | لا |
XGLM | نعم | نعم | نعم |
XLM | نعم | نعم | لا |
XLM-ProphetNet | نعم | لا | لا |
XLM-RoBERTa | نعم | نعم | نعم |
XLM-RoBERTa-XL | نعم | لا | لا |
XLM-V | نعم | نعم | نعم |
XLNet | نعم | نعم | لا |
XLS-R | نعم | نعم | نعم |
XLSR-Wav2Vec2 | نعم | نعم | نعم |
YOLOS | نعم | لا | لا |
YOSO | نعم | لا | لا |
الخلاصة
تعرفنا في مقال اليوم على منصة Hugging Face التفاعلية التي تقدم نماذج مدربة جاهزة ومجموعات بيانات للتدريب تسرع عملية تطوير تطبيقات الذكاء الاصطناعي وتعلم الآلة وتعرفنا على المجالات المختلفة التي يمكن تطبيق الذكاء الاصطناعي فيها باستخدام هذه المكتبة كما استعرضنا أطر العمل المختلفة التي توفرها لبناء النماذج.
ترجمة -وبتصرف- لقسم Transformers من توثيقات Hugging Face.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.