مجموعه داده برای آموزش یک مدل زبان


مدل زبان یک مدل ریاضی است که زبان انسانی را به عنوان توزیع احتمال بر واژگان آن توصیف می کند. برای آموزش یک شبکه یادگیری عمیق برای مدل سازی یک زبان، باید واژگان را شناسایی کنید و توزیع احتمال آن را یاد بگیرید. شما نمی توانید قالب را از ابتدا ایجاد کنید. شما به مجموعه داده ای نیاز دارید که مدل شما بتواند از آن بیاموزد.

در این مقاله، با مجموعه داده های مورد استفاده برای آموزش مدل های زبان و نحوه به دست آوردن مجموعه داده های رایج از مخازن عمومی آشنا خواهید شد.

بیایید شروع کنیم.

مجموعه داده برای آموزش یک مدل زبان
عکس توسط دن وی. برخی از حقوق محفوظ است.

یک مجموعه داده خوب برای آموزش یک مدل زبان

یک مدل زبانی خوب باید یاد بگیرد که از زبان به درستی و بدون پیش داوری یا خطا استفاده کند. برخلاف زبان های برنامه نویسی، زبان های انسانی فاقد دستور زبان و نحو رسمی هستند. آنها به طور مداوم در حال تکامل هستند و فهرست کردن همه گونه های زبان را غیرممکن می کند. بنابراین، مدل باید بر روی مجموعه ای از داده ها آموزش داده شود تا بر اساس قوانین.

راه اندازی یک مجموعه داده برای مدل سازی زبان چالش برانگیز است. شما به یک مجموعه داده بزرگ و متنوع نیاز دارید که نشان دهنده تفاوت های ظریف زبان باشد. در عین حال، باید از کیفیت بالایی برخوردار باشد و استفاده صحیح از زبان را ارائه دهد. در حالت ایده آل، مجموعه داده باید به صورت دستی ویرایش و پاک شود تا نویزهایی مانند اشتباهات تایپی، اشتباهات گرامری و محتوای غیر زبانی مانند نمادها یا برچسب های HTML حذف شود.

ایجاد چنین مجموعه داده ای از ابتدا گران است، اما چندین مجموعه داده با کیفیت بالا به صورت رایگان در دسترس هستند. مجموعه داده های رایج عبارتند از:

  • اکتشاف مشترک. مجموعه داده ای عظیم و به طور مداوم با بیش از 9.5 پتابایت به روز شده با محتوای متنوع. این توسط مدل های اصلی از جمله GPT-3، Llama و T5 استفاده می شود. با این حال، از آنجایی که از وب می آید، حاوی محتوای کم کیفیت و تکراری، و همچنین سوگیری و مطالب توهین آمیز است. تمیز کردن و فیلتر کردن دقیق برای مفید کردن آن مورد نیاز است.
  • C4 (جسم عظیم تمیز و کاوش شده). مجموعه داده 750 گیگابایتی بازیابی شده از وب. برخلاف Common Crawl، این مجموعه داده از قبل تمیز و فیلتر شده است و استفاده از آن را آسان‌تر می‌کند. با این حال، انتظار سوگیری ها و خطاهای احتمالی را داشته باشید. مدل T5 بر روی این مجموعه داده آموزش داده شد.
  • ویکی پدیا. محتوای انگلیسی به تنهایی حدود 19 گیگابایت است. عظیم است اما قابل مدیریت است. به خوبی سازماندهی شده، ساختار یافته و مطابق با استانداردهای ویکی پدیا ویرایش شده است. اگرچه طیف وسیعی از دانش عمومی را با دقت واقعی بسیار پوشش می دهد، سبک و لحن دایره المعارفی آن بسیار خاص است. آموزش بر روی این مجموعه داده به تنهایی ممکن است باعث شود که مدل ها بیش از حد با این سبک مطابقت داشته باشند.
  • متن ویکی. مجموعه داده ای مشتق شده از مقالات تایید شده و برجسته ویکی پدیا. دو نسخه وجود دارد: WikiText-2 (2 میلیون کلمه در میان صدها مقاله) و WikiText-103 (100 میلیون کلمه در بین 28000 مقاله).
  • BookCorpus. مجموعه داده چند گیگابایتی از متون کتاب طولانی، غنی از محتوا و با کیفیت بالا. برای یادگیری داستان سرایی منسجم و وابستگی های طولانی مدت مفید است. با این حال، با مشکلات کپی رایت و سوگیری اجتماعی مواجه است.
  • پشته. مجموعه داده 825 گیگابایتی از منابع متعدد، از جمله BookCorpus. این ژانرهای مختلف متون (کتاب، مقالات، کد منبع و مقالات دانشگاهی) را با هم ترکیب می کند و پوشش موضوعی گسترده ای را ارائه می دهد که برای استدلال چند رشته ای طراحی شده است. با این حال، این تنوع منجر به کیفیت متفاوت، محتوای تکراری و سبک های نوشتاری متناقض می شود.

مجموعه داده ها را دریافت کنید

می توانید این مجموعه داده ها را به صورت آنلاین جستجو کرده و آنها را به صورت فایل های فشرده دانلود کنید. با این حال، باید فرمت هر مجموعه داده را بدانید و برای خواندن آنها کد سفارشی بنویسید.

همچنین می‌توانید مجموعه داده‌های موجود در مخزن Hugging Face را جستجو کنید https://huggingface.co/datasets. این مخزن یک کتابخانه پایتون فراهم می کند که به شما امکان می دهد مجموعه داده ها را در زمان واقعی با استفاده از یک فرمت استاندارد بارگیری و بخوانید.

مخزن مجموعه داده Cuddly Faces

بیایید مجموعه داده WikiText-2 را از Hugging Face، یکی از کوچکترین مجموعه داده های مناسب برای ساخت یک مدل زبان، دانلود کنیم:

نتیجه ممکن است به این صورت باشد:

اگر قبلاً این کار را نکرده‌اید، کتابخانه مجموعه داده Hugging Face را نصب کنید:

وقتی این کد را برای اولین بار اجرا می کنید، load_dataset() مجموعه داده را در رایانه محلی شما دانلود می کند. مطمئن شوید که فضای دیسک کافی دارید، به خصوص برای مجموعه داده های بزرگ. به طور پیش فرض، مجموعه داده ها در آپلود می شوند ~/.cache/huggingface/datasets.

همه مجموعه داده های Hugging Face از یک قالب استاندارد پیروی می کنند. THE dataset شیء تکرارپذیر است و هر عنصر به عنوان فرهنگ لغت وجود دارد. برای آموزش مدل زبان، مجموعه داده ها معمولاً شامل رشته های متنی هستند. در این مجموعه داده، متن در زیر ذخیره می شود "text" کلید

کد بالا از چند عنصر از مجموعه داده نمونه برداری می کند. رشته های متن ساده با طول های مختلف را خواهید دید.

پس پردازش مجموعه داده ها

قبل از آموزش یک مدل زبان، ممکن است بخواهید مجموعه داده را پس از پردازش برای پاک کردن داده ها انجام دهید. این شامل قالب‌بندی مجدد متن (برش رشته‌های طولانی، جایگزینی چند فاصله با فاصله‌های منفرد)، حذف محتوای غیرزبانی (برچسب‌های HTML، نمادها)، و حذف کاراکترهای ناخواسته (فضاهای اضافی در اطراف علائم نگارشی) است. پردازش خاص به مجموعه داده و نحوه ارائه متن به مدل بستگی دارد.

به عنوان مثال، اگر یک مدل کوچک به سبک BERT را آموزش دهید که فقط حروف کوچک را کنترل می کند، می توانید اندازه واژگان را کاهش دهید و توکنایزر را ساده کنید. در اینجا یک تابع مولد است که متن پس از پردازش را ارائه می دهد:

ایجاد یک عملکرد خوب پس از پردازش یک هنر است. این باید نسبت سیگنال به نویز مجموعه داده را بهبود بخشد تا به مدل کمک کند تا بهتر یاد بگیرد و در عین حال توانایی مدیریت قالب‌های ورودی غیرمنتظره‌ای را که یک مدل آموزش‌دیده ممکن است با آن مواجه شود حفظ کند.

در ادامه مطلب

در زیر منابعی وجود دارد که ممکن است برای شما مفید باشد:

خلاصه

در این مقاله، با مجموعه داده های مورد استفاده برای آموزش مدل های زبان و نحوه تولید مجموعه داده های رایج از مخازن عمومی آشنا شدید. این فقط یک نقطه شروع برای کاوش مجموعه داده ها است. استفاده از کتابخانه ها و ابزارهای موجود را برای بهینه سازی سرعت بارگذاری مجموعه داده ها در نظر بگیرید تا به گلوگاهی در روند آموزش شما تبدیل نشود.



منبع:aitoolsclub.com/