مقدمه

Hugging Face، بوجود آوردن زیست‌سازمانی از مدل‌ها و داده‌های پیش‌تولید را ساده‌تر کرده اما مقیاس‌بندی پردازش‌های AI هنوز چالش برانگیز است. در این مقاله، تمرکز بر پردازش داده‌های عظیم با ترکیب Dask و مدل FineWeb‑Edu می‌باشد.

مراحل اولیه پردازش ۱۰۰ ردیف با Pandas

در ابتدا، ۱۰۰ ردیف (صف) نمونه از دیتاست FineWeb را با Pandas خواندیم و یک برچسب پایدار به‌صورت ابتدایی اعمال کردیم. این گام نمونه ساده می‌تواند کمک کند تا با حجم اولیه آشنا شویم و عملکرد اولیه مدل را بررسی نماییم.

گام‌های مقیاس‌پذیر با Dask و استفاده از مدل FineWeb‑Edu

Dask با تجزیه دیتاست به بخش‌های کوچک‌تر، امکان پردازش out‑of‑core را فراهم می‌کند. ما dataset را به چنک‌های ۱۰۰ هزار رکورد تقسیم کرده و بر روی چند GPU به‌صورت موازی اجرا کردیم. در این روش، حافظه RAM مصرفی به‌شدت کاهش یافت و تیر زمان اجرای مدل به حداقل رسید.

نتایج و نکات کلیدی

  • کاهش مصرف حافظه ۹۵٪ با استفاده از Dask
  • مقایسه سرعت: ۲۱۱ میلیون ردیف در کمتر از ۱۰ دقیقه در مقایسه با Pandas شیوه سنتی
  • سازگار با سازمان‌های Enterprise و استفاده از فضای Cloud برای ذخیره سازی مدل‌ها و نتایج
  • قابلیت همکاری در تیم و بازتولید آسان با ابزارهای open‑source

پرسش‌های پرتکرار

چگونه Dask می‌تواند داده‌های بزرگ را پردازش کند؟

Dask مجموعه‌ای از ساختارهای داده مشابه با pandas دارد که ردیف‌های بزرگ را به بخش‌های کوچک‌تر تقسیم می‌کند؛ در نتیجه می‌تواند عملیات محاسباتی را بر روی چندین نخ یا ماشین به‌صورت توزیع‌شده انجام دهد.

چگونه می‌توان از مدل‌های Hugging Face در Dask استفاده کرد؟

از طریق توابع ‎apply یا ‎map در Dask می‌توانید مدل pretrained را روی هر چنک اعمال کنید؛ کتابخانهٔ transformers با تابع‎@torch.no_grad پیاده‌سازی شده و امکان استفاده از GPU ها برای شتاب‌گذاری به‌صورت موازی را فراهم می‌کند.