وجه المعانقة مجموعات البيانات لا توفر المكتبة إمكانية الوصول إلى أكثر من 70 ألف مجموعة بيانات متاحة للعامة فحسب، بل توفر أيضًا خطوط أنابيب مريحة للغاية لإعداد البيانات لمجموعات البيانات المخصصة.
Renumics Spotlight يسمح لك بالإنشاء تصورات تفاعلية ل تحديد المجموعات الحرجة في بياناتك. نظرًا لأن Spotlight يفهم دلالات البيانات ضمن مجموعات بيانات Hugging Face، يمكنك فعل ذلك ابدأ بسطر واحد فقط من التعليمات البرمجية:
import datasets
from renumics import spotlight
ds = datasets.load_dataset('speech_commands', 'v0.01', split='validation')
spotlight.show(ds)

أضواء كاشفة تسمح بذلك الاستفادة من نتائج النموذج مثل التنبؤات والتضمينات للحصول على فهم أعمق لقطاعات البيانات وأوضاع فشل النموذج:
ds_results = datasets.load_dataset('renumics/speech_commands-ast-finetuned-results', 'v0.01', split='validation')
ds = datasets.concatenate_datasets([ds, ds_results], axis=1)
spotlight.show(ds, dtype={'embedding': spotlight.Embedding}, layout=spotlight.layouts.debug_classification(embedding='embedding', inspect={'audio': spotlight.dtypes.audio_dtype}))
يعد فحص البيانات مهمة بالغة الأهمية في جميع مراحل تطوير تعلم الآلة تقريبًا، ولكنها قد تستغرق وقتًا طويلاً أيضًا.
“من المحتمل أن يكون للفحص اليدوي للبيانات أعلى نسبة قيمة إلى مكانة مقارنة بأي نشاط في مجال التعلم الآلي.” – جريج بروكمان
تسليط الضوء يساعدك على جعل فحص البيانات أكثر قابلية للتطوير على بعدين: إعداد وصيانة سير عمل فحص البيانات المخصصة والعثور على عينات ومجموعات البيانات ذات الصلة لفحصها. نعرض في الأقسام التالية بعض الأمثلة المستندة إلى مجموعات بيانات Hugging Face.
أضواء كاشفة 🤝 مجموعات بيانات الوجه المعانقة
ال مجموعات البيانات تحتوي المكتبة على العديد من الميزات التي تجعلها أداة مثالية للعمل مع مجموعات بيانات ML: فهي تقوم بتخزين البيانات الجدولية (مثل البيانات التعريفية والتسميات) بالإضافة إلى البيانات غير المنظمة (مثل الصور والصوت) في جدول أسهم مشترك. مجموعات البيانات يصف أيضًا دلالات البيانات المهمة من خلال الميزات (مثل الصور والصوت) والبيانات الوصفية الإضافية الخاصة بالمهمة.
يعمل Spotlight مباشرة على الجزء العلوي من مجموعات البيانات مكتبة. وهذا يعني أنه ليست هناك حاجة لنسخ مجموعة البيانات أو معالجتها مسبقًا لتصور البيانات وفحصها. يقوم Spotlight بتحميل البيانات الجدولية في الذاكرة للسماح بتحليلات البيانات الفعالة من جانب العميل. يتم تحميل عينات البيانات غير المنظمة كثيفة الاستهلاك للذاكرة (مثل الصوت والصور والفيديو) بتكاسل عند الطلب. في معظم الحالات، يتم استنتاج أنواع البيانات وتعيينات العناوين مباشرةً من مجموعة البيانات. هنا، نتصور مجموعة بيانات CIFAR-100 بسطر واحد من التعليمات البرمجية:
ds = datasets.load_dataset('cifar100', split='test')
spotlight.show(ds)
في الحالات التي تكون فيها أنواع البيانات غامضة أو غير محددة، تسمح واجهة برمجة تطبيقات Spotlight بتعيينها يدويًا:
label_mapping = dict(zip(ds.features['fine_label'].names, range(len(ds.features['fine_label'].names))))
spotlight.show(ds, dtype={'img': spotlight.Image, 'fine_label': spotlight.dtypes.CategoryDType(categories=label_mapping)})
الاستفادة من نتائج النموذج لفحص البيانات
غالبًا ما يؤدي استكشاف مجموعات البيانات الأولية غير المنظمة إلى القليل من الأفكار. يمكن أن تساعد الاستفادة من نتائج النماذج مثل التنبؤات أو عمليات التضمين في الكشف عن عينات ومجموعات البيانات المهمة. يحتوي Spotlight على العديد من خيارات التصور (على سبيل المثال، خريطة التشابه، مصفوفة الارتباك) التي تستخدم نتائج النموذج على وجه التحديد.
نوصي بتخزين نتائج التنبؤ الخاصة بك مباشرة في مجموعة بيانات Hugging Face. لا يسمح لك هذا بالاستفادة من إمكانات المعالجة المجمعة لمكتبة مجموعات البيانات فحسب، بل يحافظ أيضًا على تعيينات الملصقات.
يمكننا استخدام محولات مكتبة لحساب التضمينات والتنبؤات بشأن مشكلة تصنيف الصور CIFAR-100. نقوم بتثبيت المكتبات عبر النقطة:
pip install renumics-spotlight datasets transformers[torch]
الآن يمكننا حساب التخصيب:
import torch
import transformers
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model_name = "Ahmed9275/Vit-Cifar100"
processor = transformers.ViTImageProcessor.from_pretrained(model_name)
cls_model = transformers.ViTForImageClassification.from_pretrained(model_name).to(device)
fe_model = transformers.ViTModel.from_pretrained(model_name).to(device)
def infer(batch):
images = [image.convert("RGB") for image in batch]
inputs = processor(images=images, return_tensors="pt").to(device)
with torch.no_grad():
outputs = cls_model(**inputs)
probs = torch.nn.functional.softmax(outputs.logits, dim=-1).cpu().numpy()
embeddings = fe_model(**inputs).last_hidden_state[:, 0].cpu().numpy()
preds = probs.argmax(axis=-1)
return {"prediction": preds, "embedding": embeddings}
features = datasets.Features({**ds.features, "prediction": ds.features["fine_label"], "embedding": datasets.Sequence(feature=datasets.Value("float32"), length=768)})
ds_enriched = ds.map(infer, input_columns="img", batched=True, batch_size=2, features=features)
إذا كنت لا ترغب في إجراء تشغيل الاستدلال الكامل، فيمكنك بدلاً من ذلك تنزيل نتائج النموذج المحسوبة مسبقًا لـ CIFAR-100 لمتابعة هذا البرنامج التعليمي:
ds_results = datasets.load_dataset('renumics/spotlight-cifar100-enrichment', split='test')
ds_enriched = datasets.concatenate_datasets([ds, ds_results], axis=1)
يمكننا الآن استخدام النتائج لاستكشاف نماذج ومجموعات البيانات ذات الصلة بشكل تفاعلي في Spotlight:
layout = spotlight.layouts.debug_classification(label='fine_label', embedding='embedding', inspect={'img': spotlight.dtypes.image_dtype})
spotlight.show(ds_enriched, dtype={'embedding': spotlight.Embedding}, layout=layout)

تخصيص سير عمل فحص البيانات
يمكن تغيير تخطيطات التصور وحفظها وتحميلها بشكل تفاعلي في واجهة المستخدم الرسومية: يمكنك تحديد أنواع وتكوينات مختلفة لعناصر واجهة المستخدم. ال مفتش تسمح الأداة بتمثيل عينات بيانات متعددة الوسائط بما في ذلك بيانات النص والصورة والصوت والفيديو والسلاسل الزمنية.
يمكنك أيضًا تحديد التخطيطات من خلال Python API. يعد هذا الخيار مفيدًا بشكل خاص لإنشاء عمليات سير عمل لفحص البيانات ومعالجتها بما في ذلك EDA وتصحيح أخطاء النموذج ومهام مراقبة النموذج.
بالاشتراك مع أداة مشكلات البيانات، توفر واجهة برمجة تطبيقات Python طريقة رائعة لدمج نتائج البرامج النصية الموجودة (على سبيل المثال، اختبارات جودة البيانات أو مراقبة النموذج) في سير عمل فحص البيانات القابل للتطوير.
استخدام Spotlight على مركز Hugging Face
يمكنك استخدام Spotlight مباشرةً على مجموعة البيانات المحلية الخاصة بالبرمجة اللغوية العصبية (NLP) أو الصوت أو السيرة الذاتية أو مجموعة البيانات متعددة الوسائط. إذا كنت ترغب في عرض مجموعة البيانات أو نتائج النماذج الخاصة بك على مركز Hugging Face، فيمكنك استخدام مساحات Hugging Face لبدء تصور Spotlight لها.
لقد قمنا بالفعل بإعداد مساحات أمثلة للعديد من مجموعات بيانات البرمجة اللغوية العصبية والصوت والسيرة الذاتية الشائعة على المركز. يمكنك ببساطة تكرار إحدى هذه المسافات وتحديد مجموعة البيانات الخاصة بك في ملف HF_DATASET عامل.
يمكنك اختياريًا اختيار مجموعة بيانات تحتوي على نتائج النموذج وخيارات التكوين الأخرى مثل الانقسامات أو المجموعات الفرعية أو مراجعات مجموعة البيانات.

ما هي الخطوة التالية؟
مع Spotlight يمكنك إنشاء تصورات تفاعلية والاستفادة من إثراء البيانات ل تحديد المجموعات الحرجة في مجموعات بيانات Hugging Face الخاصة بك. في هذه المدونة، رأينا مثالًا على تعلم الآلة الصوتي ورؤية الكمبيوتر.
يمكنك استخدام Spotlight مباشرةً لاستكشاف وتنظيم مجموعة بيانات البرمجة اللغوية العصبية (NLP) أو الصوت أو السيرة الذاتية أو مجموعة البيانات متعددة الوسائط: