توکنسازیپردازش زبان طبیعیترانسفورماتورهاالگوریتمهای زیرکلمههوش مصنوعی
رمزگذاری جفت بایت در مقابل توکنسازی WordPiece
رمزگذاری جفت بایت و WordPiece دو الگوریتم توکنسازی زیرکلمات هستند که به طور گسترده مورد استفاده قرار میگیرند و مدلهای مدرن NLP را پشتیبانی میکنند و تفاوت اصلی آنها در نحوه ادغام توکنها در طول آموزش و معیارهای امتیازدهی آنهاست.
برجستهها
ادغام BPE صرفاً بر اساس تعداد دفعات انجام میشود در حالی که WordPiece احتمال دادههای آموزشی را بهینه میکند.
مدلهای GPT از BPE استفاده میکنند در حالی که BERT و انواع آن به توکنسازی WordPiece متکی هستند.
WordPiece معمولاً مرزهای توکن از نظر زبانی تمیزتری نسبت به BPE مبتنی بر فرکانس تولید میکند.
هر دو روش، مسئله خارج از واژگان را حل میکنند، اما از طریق اهداف بهینهسازی اساساً متفاوت.
رمزگذاری جفت بایت چیست؟
یک الگوریتم توکنسازی زیرکلمه که به صورت تکراری جفتهای کاراکتر مجاورِ پرتکرار را در توکنهای جدید ادغام میکند.
BPE در ابتدا در سال ۱۹۹۴ به عنوان یک الگوریتم فشردهسازی داده توسعه داده شد و سپس در سال ۲۰۱۶ توسط سنریچ و همکارانش برای پردازش زبان طبیعی (NLP) تطبیق داده شد.
این الگوریتم با مجموعهای از کاراکترهای منفرد آغاز میشود و مکرراً جفت توکنهای مجاور که بیشترین تکرار را دارند، ادغام میکند.
GPT-2، GPT-3 و RoBERTa همگی از توکنسازی BPE به عنوان بخشی از خطوط لوله پیشپردازش خود استفاده میکنند.
BPE از شمارش فرکانس برای تعیین اینکه کدام جفت توکنها باید ادغام شوند استفاده میکند و آن را کاملاً دادهمحور و بدون مدل زبانی میکند.
این الگوریتم میتواند با تجزیه کلمات خارج از واژگان به واحدهای زیرکلمه شناختهشده، آنها را تولید کند و مدیریت اصطلاحات نادر را بهبود بخشد.
توکنسازی WordPie چیست؟
یک روش توکنسازی زیرکلمه که توکنها را بر اساس حداکثرسازی احتمال به جای فراوانی خام ادغام میکند.
WordPiece در ابتدا توسط گوگل برای سیستمهای جستجوی صوتی ژاپنی و کرهای توسعه داده شد و سپس برای جستجوی متنی به کار گرفته شد.
این الگوریتم ادغامهایی را انتخاب میکند که احتمال دادههای آموزشی را به حداکثر میرسانند، نه اینکه صرفاً فراوانیها را بشمارند.
BERT، DistilBERT و ALBERT همگی از توکنسازی WordPiece استفاده میکنند، که معمولاً دارای اندازه واژگانی معادل 30522 توکن است.
WordPiece اغلب قبل از شروع فرآیند ادغام، واژگان خود را طوری مقداردهی اولیه میکند که شامل تمام کاراکترهای منفرد باشد.
این روش در مقایسه با BPE، توکنهای سطح کاراکتر کمتری برای کلمات رایج تولید میکند و کارایی را بهبود میبخشد.
جدول مقایسه
ویژگی
رمزگذاری جفت بایت
توکنسازی WordPie
معیار ادغام
فراوانی جفتهای مجاور
احتمال دادههای آموزشی
موارد استفاده اولیه
سری GPT، Roberta، CLIP
برت، دیستیل برت، آلبرت
مقداردهی اولیه واژگان
کاراکترها یا بایتهای تکی
شخصیتهای فردی
مدیریت کلمات نادر
به واحدهای زیرکلمه مکرر تقسیم میشود
تقسیمبندی بر اساس تقسیمبندی مبتنی بر احتمال
سرعت تمرین
به دلیل شمارش ساده، معمولاً سریعتر است
به دلیل محاسبه احتمال، کمی کندتر است
سبک خروجی توکن
اغلب دانهبندیشدهتر
اغلب برای کلمات رایج، تلفیقیتر است
توسعه اصلی
۱۹۹۴ به عنوان فشردهسازی؛ ۲۰۱۶ برای NLP
تیم تشخیص گفتار گوگل
مقایسه دقیق
فلسفه الگوریتم اصلی
BPE به توکنسازی به عنوان یک مسئله فشردهسازی نگاه میکند و با حرص و ولع هر جفتی را که بیشتر در مجموعه آموزشی ظاهر میشود، ادغام میکند. این رویکرد ساده مبتنی بر فرکانس، آن را شهودی و نسبتاً سریع برای محاسبه میکند. WordPiece زاویه احتمالاتیتری را در نظر میگیرد و میپرسد کدام ادغام، دادههای آموزشی را تحت فرض مدل زبانی یونیگرام، محتملتر میکند. این تغییر ظریف در چارچوببندی، به ویژه برای زبانهای غنی از نظر مورفولوژی، منجر به مرزهای توکن متفاوتی میشود.
مرزهای توکن و ویژگیهای زبانی
از آنجا که BPE صرفاً به دنبال تکرار است، گاهی اوقات کلمات را در نقاط غیرطبیعی از نظر زبانی تقسیم میکند، اگر این نقاط الگوهای رایجی در دادهها باشند. رویکرد مبتنی بر احتمال WordPiece تمایل دارد مرزهای تکواژ را بهتر رعایت کند و توکنهایی تولید کند که با واحدهای معنادار همترازتر باشند. برای انگلیسی، هر دو روش عملکرد مشابهی دارند، اما این تفاوت در زبانهایی با مورفولوژی غنیتر مانند آلمانی یا ترکی بارزتر میشود.
پیادهسازی و قفل شدن در اکوسیستم
انتخاب بین این توکنسازها اغلب به معماری مدلی که استفاده میکنید بستگی دارد، نه به ترجیح عمیق خود الگوریتم. خانواده GPT شرکت OpenAI بر اساس BPE استانداردسازی شدهاند، بنابراین هر کسی که این مدلها را تنظیم دقیق یا مستقر میکند، از آن طرح توکنسازی بهره میبرد. اکوسیستم BERT گوگل، WordPiece را به عنوان انتخاب بالفعل برای مدلهای تبدیلکننده فقط رمزگذار تثبیت کرد. این تثبیت اکوسیستم به این معنی است که متخصصان به ندرت توکنسازها را مستقل از معماریهای مدل تغییر میدهند.
رسیدگی به موارد خاص
هر دو الگوریتم با موارد مرزی خاصی دست و پنجه نرم میکنند، اما به روشهای مختلف. BPE میتواند در مورد فضای خالی و علائم نگارشی شکننده باشد و گاهی اوقات هنگام تغییر قالببندی، توکنهای غیرمنتظرهای تولید میکند. WordPiece معمولاً یک نماد پیشوند ویژه (مانند ## در BERT) برای نشان دادن زیرکلمات ادامه اضافه میکند، که بازسازی متن اصلی را صریحتر میکند، اما همچنین مصنوعات توکنسازی را معرفی میکند که مدلهای پاییندستی باید یاد بگیرند که چگونه آنها را مدیریت کنند.
انواع مدرن و تکامل
سالهای اخیر شاهد تکامل قابل توجهی فراتر از هر دو الگوریتم بودهایم. SentencePiece یک چارچوب یکپارچه ارائه میدهد که میتواند توکنسازی مدل زبان BPE، WordPiece یا Unigram را با یک کتابخانه واحد پیادهسازی کند. BPE سطح بایت (که در GPT-2 استفاده میشود) به جای کاراکترهای یونیکد، روی بایتهای خام عمل میکند و مشکلات توکن ناشناخته را به طور کامل از بین میبرد. در همین حال، رویکردهای جدیدتر مانند BPE-dropout در طول آموزش، تصادفی بودن را برای بهبود استحکام ایجاد میکنند. این پیشرفتها نشان میدهد که در حالی که BPE و WordPiece همچنان بنیادی هستند، این حوزه همچنان در حال پیشرفت است.
مزایا و معایب
رمزگذاری جفت بایت
مزایا
+ساده و شهودی برای درک
+آموزش سریع با حداقل محاسبات
+با ورودیهای سطح بایت به خوبی کار میکند
+به طور گسترده در کتابخانههای مدرن پشتیبانی میشود
+هر متن یونیکدی را مدیریت میکند
مصرف شده
−میتواند در مرزهای زبانی عجیب و غریب تقسیم شود
−حساس به انحراف فرکانس پیکره آموزشی
−عدم وجود مدل زبانی صریح در طول آموزش
−ممکن است اصطلاحات فنی نادر را بیش از حد تقسیمبندی کند
−مدیریت فضای خالی میتواند متناقض باشد
توکنسازی WordPie
مزایا
+همترازی بهتر با مرزهای تکواژ
+بهینهسازی مبتنی بر احتمال صریح
+پاک کردن نشانگرهای ادامه با پیشوند ##
+ابزارهای بالغ در TensorFlow و Hugging Face
+برای کلمات رایج در دادههای آموزشی کارآمد است
مصرف شده
−کاملاً به اکوسیستم BERT متصل است
−محاسبات آموزشی کمی کندتر
−نمادهای پیشوندی، پیچیدگی توکنسازی را افزایش میدهند
−انعطافپذیری کمتر برای دادههای غیرمتنی مانند کد
−واژگان میتوانند با پیشوندهای نادر حجیم شوند
تصورات نادرست رایج
افسانه
BPE و WordPiece همیشه توکنسازیهای متفاوتی برای یک متن یکسان تولید میکنند.
واقعیت
برای بسیاری از کلمات رایج انگلیسی، هر دو الگوریتم در واقع به تقسیمبندیهای یکسان یا تقریباً یکسانی میرسند. این تفاوتها در کلمات نادر، اصطلاحات پیچیده از نظر مورفولوژیکی و در زبانهایی با الگوهای صرفی غنیتر از انگلیسی، آشکارتر میشوند.
افسانه
WordPiece در طول توکنسازی از یک شبکه عصبی استفاده میکند.
واقعیت
با وجود استفاده از WordPiece در مدلهای عصبی، خود WordPiece کاملاً غیرعصبی است. محاسبه احتمال بر اساس آمار فرکانس یونیگرام ساده است، نه بر اساس هیچ نمایش عصبی آموختهشده. «مدل زبانی» در WordPiece فقط یک جدول فرکانس است، نه یک ترانسفورماتور یا شبکه بازگشتی.
افسانه
BPE نمیتواند زبانهایی با مجموعه کاراکترهای بزرگ مانند چینی را مدیریت کند.
واقعیت
BPE سطح بایت به طور خاص با عمل بر روی بایتهای خام UTF-8 به جای کاراکترها، این مشکل را برطرف میکند. این بدان معناست که میتواند هر متن یونیکد را بدون مواجهه با کاراکتر ناشناخته نمایش دهد، اگرچه ممکن است برای اسکریپتهایی با هزاران کاراکتر، به توکنهای بیشتری نیاز داشته باشد.
افسانه
انتخاب توکنایزر به طور قابل توجهی بر عملکرد مدل در وظایف پاییندستی تأثیر میگذارد.
واقعیت
اگرچه توکنسازی اهمیت دارد، اما معماری مدل و مقیاس دادههای آموزشی معمولاً انتخاب توکنساز را از اهمیت میاندازند. مطالعات نشان دادهاند که BPE و WordPiece وقتی همه عوامل دیگر برابر باشند، عملکرد قابل مقایسهای دارند و تفاوتها معمولاً کوچک و وابسته به وظیفه هستند.
افسانه
WordPiece به طور خاص برای BERT اختراع شد.
واقعیت
WordPiece چندین سال قبل از BERT وجود داشته است. گوگل در ابتدا آن را برای جستجوی صوتی ژاپنی و کرهای در اوایل دهه ۲۰۱۰ توسعه داد، سپس قبل از اینکه در BERT ظاهر شود، آن را برای ترجمه ماشینی عصبی تطبیق داد. ارتباط آن با BERT بسیار قوی است زیرا BERT آن را در جامعه تحقیقاتی NLP مشهور کرد.
افسانه
اندازه واژگان BPE تا زمانی که به اندازه کافی بزرگ باشد، مهم نیست.
واقعیت
اندازه واژگان به طور قابل توجهی بر عملکرد مدل و کارایی محاسباتی تأثیر میگذارد. اگر خیلی کوچک باشد، مدل ظرفیت را برای توالیهای توکن طولانی هدر میدهد. اگر خیلی بزرگ باشد، ماتریسهای جاسازی دشوار میشوند در حالی که توکنهای نادر نمایش ضعیفی دریافت میکنند. اکثر متخصصان این ابرپارامتر را با دقت تنظیم میکنند و معمولاً بین 30،000 تا 50،000 توکن قرار میدهند.
سوالات متداول
تفاوت اصلی بین BPE و WordPiece چیست؟
تفاوت اساسی در نحوه تصمیمگیری آنها برای ادغام جفتهای توکن در طول آموزش است. BPE به سادگی تعداد دفعات ظاهر شدن جفتها را با هم میشمرد و جفتی را که بیشترین تکرار را دارد ادغام میکند. در عوض، WordPiece محاسبه میکند که کدام ادغام، احتمال دادههای آموزشی را تحت یک مدل یونیگرام به حداکثر میرساند. این بدان معناست که BPE صرفاً مبتنی بر فرکانس است در حالی که WordPiece یک معیار احتمالی را در بر میگیرد که تمایل به تولید مرزهای معنادارتر از نظر زبانی دارد.
چرا GPT از BPE استفاده میکند در حالی که BERT از WordPiece؟
این انتخابها بیشتر منعکسکنندهی گروههای تحقیقاتی مختلف و زمینههای تاریخی آنها است تا یک ضرورت فنی عمیق. نسل GPT در OpenAI، BPE را از کارهای قبلی روی فشردهسازی سطح بایت به ارث برد و آن را برای رویکرد مدلسازی زبان مولد خود مؤثر یافت. تیم BERT گوگل قبلاً WordPiece را برای سیستمهای گفتار و ترجمه خود توسعه داده بود، بنابراین طبیعتاً از ابزارهای موجود خود استفاده کردند. هر دو به اندازهای خوب کار میکردند که هیچکدام از گروهها مجبور به تغییر نشدند.
آیا CanEEK میتواند BPE و WordPiece زبانهایی را که از فاصله بین کلمات استفاده نمیکنند، مدیریت کند؟
بله، هر دو الگوریتم بدون فاصله به خوبی کار میکنند، هرچند ممکن است قطعهبندیهای شهودی کمتری ایجاد کنند. از آنجایی که هر دو روی توالی کاراکترها یا بایتها عمل میکنند، عدم وجود فاصله آنها را خراب نمیکند. با این حال، زبانهایی مانند تایلندی، چینی یا ژاپنی اغلب از پیشقطعهبندی یا پیشپردازش تخصصی بهرهمند میشوند زیرا ادغام صرفاً آماری ممکن است با شهود گوینده بومی در مورد مرزهای کلمات همسو نباشد.
چگونه میتوانم برای یک پروژه جدید بین BPE و WordPiece یکی را انتخاب کنم؟
در عمل، شما به ندرت مستقل از معماری مدل خود انتخاب میکنید. اگر در حال تنظیم دقیق GPT-2، GPT-3 یا RoBERTa هستید، باید از توکنساز BPE آنها برای حفظ سازگاری استفاده کنید. برای مدلهای مبتنی بر BERT، WordPiece مورد نیاز است. اگر از ابتدا در حال ساخت هستید، در نظر داشته باشید که BPE پیادهسازی و اشکالزدایی کمی سادهتر است، در حالی که WordPiece ممکن است تقسیمبندیهای زبانی کمی تمیزتری ارائه دهد. کتابخانههای مدرن مانند SentencePiece به شما امکان میدهند به راحتی با هر دو آزمایش کنید.
چه تعداد دایره لغاتی باید در BPE یا WordPiece استفاده کنم؟
اکثر مدلهای مدرن NLP از بین ۳۰،۰۰۰ تا ۵۰،۰۰۰ توکن استفاده میکنند که ۳۲،۰۰۰ تا ۵۰،۰۰۰ توکن به طور پیشفرض رایج هستند. واژگان کوچکتر، تقسیم زیرکلمات بیشتری را الزامی میکنند که طول توالی را افزایش میدهد اما مدیریت بهتری از اصطلاحات نادر ارائه میدهد. واژگان بزرگتر طول توالی را کاهش میدهند اما به ماتریسهای جاسازی بزرگتری نیاز دارند و ممکن است با توکنهای بسیار نادر مشکل داشته باشند. نقطه بهینه به زبان، اندازه مجموعه و بودجه محاسباتی شما بستگی دارد.
آیا این توکنایزرها میتوانند ایموجیها، کد یا سایر متنهای غیراستاندارد را مدیریت کنند؟
BPE سطح بایت به طور قوی این موارد را مدیریت میکند زیرا به جای مجموعه کاراکترهای از پیش تعریف شده، بر روی بایتهای خام عمل میکند. BPE استاندارد و WordPiece ممکن است در مورد کاراکترهای یونیکد نادر با شکست مواجه شوند، مگر اینکه واژگان اولیه آنها به صراحت شامل آنها باشد. اکنون اکثر پیادهسازیهای تولید از پوشش سطح بایت یا یونیکد توسعهیافته استفاده میکنند تا از مشکلات توکن ناشناخته با متن رسانههای اجتماعی، کد منبع و محتوای چندزبانه جلوگیری شود.
SentencePiece چیست و چه ارتباطی با BPE و WordPiece دارد؟
SentencePiece یک کتابخانه توکنسازی متنباز از گوگل است که پیادهسازی یکپارچهای از الگوریتمهای زیرکلمههای متعدد از جمله BPE، WordPiece و توکنسازی مدل زبان یونیگرام را ارائه میدهد. این کتابخانه پیشتوکنسازی، نرمالسازی و آموزش واژگان را در یک ابزار مدیریت میکند. به جای اینکه یک الگوریتم مجزا باشد، آن را به عنوان یک چارچوب انعطافپذیر در نظر بگیرید که به شما امکان میدهد استراتژی توکنسازی مورد نظر خود را با رابطهای سازگار انتخاب و پیکربندی کنید.
آیا BPE و WordPiece هنوز در مدلهای زبان بزرگ مدرن اهمیت دارند؟
کاملاً. با وجود مقیاس عظیم مدلهایی مانند GPT-4، Claude و Gemini، همه آنها هنوز در پایه خود به توکنسازی زیرکلمات متکی هستند. الگوریتم خاص ممکن است متفاوت باشد و برخی از مدلهای جدیدتر با رویکردهای جایگزین آزمایش میشوند، اما چالش اصلی نمایش متن با طول متغیر در فضاهای واژگانی با اندازه ثابت، همچنان جهانی است. درک BPE و WordPiece درک اساسی از نحوه پردازش زبان توسط این مدلها را فراهم میکند.
چرا خطاهای توکنسازی باعث چنین رفتار گیجکنندهای در مدلهای زبانی میشوند؟
توکنسازی قبل از اینکه شبکه عصبی متن را ببیند، اتفاق میافتد، بنابراین هرگونه تغییر ناگهانی در نحوه تقسیم رشتهها در نمایش ورودی مدل لحاظ میشود. مدلها همچنین میتوانند از طریق مصنوعات توکنسازی مورد سوءاستفاده قرار گیرند، جایی که رشتههای ساخته شده خاص با توکنسازی به روشهای غیرمنتظره، فیلترهای ایمنی را دور میزنند. این امر طراحی توکنسازی قوی را برای قابلیت اطمینان و امنیت مدل به طرز شگفتآوری مهم میکند.
آیا راهی برای تجسم نحوه توکنسازی متن خاص توسط BPE یا WordPiece وجود دارد؟
بله، اکثر کتابخانههای مدرن NLP ابزارهایی برای این کار ارائه میدهند. کتابخانه Hugging Face Transformers شامل متدهای tokenizer.decode و tokenizer.convert_ids_to_tokens است که دقیقاً نحوه تقسیم متن را نشان میدهند. همچنین ابزارهای تجسم مبتنی بر وب وجود دارند که میتوانید متن را وارد کنید و مرزهای توکن را به صورت برجسته ببینید. این ابزارها برای اشکالزدایی رفتار غیرمنتظره مدل و درک اینکه چرا ورودیهای خاص سیستم شما را گیج میکنند، بسیار ارزشمند هستند.
ترک تحصیل در BPE چه تفاوتی با BPE استاندارد دارد؟
الگوریتم BPE-dropout که در سال ۲۰۲۰ معرفی شد، به طور تصادفی برخی از عملیات ادغام را در طول آموزش با احتمال مشخصی نادیده میگیرد. این کار چندین توکنسازی معتبر برای یک کلمه ایجاد میکند که به عنوان نوعی افزایش داده عمل میکند. مدل حاصل در برابر تغییرات توکنسازی مقاومتر میشود و به طور کلی در وظایف پاییندستی، به ویژه با دادههای آموزشی محدود، عملکرد بهتری دارد. این یک پیشرفت ساده اما مؤثر برای الگوریتم کلاسیک BPE است.
آیا میتوانم توکنسازیهای BPE و WordPiece را در یک خط لوله با هم ترکیب کنم؟
از نظر فنی ممکن است اما عملاً توصیه نمیشود. توکنسازهای مختلف، شناسههای توکن و نگاشتهای واژگان ناسازگاری تولید میکنند، بنابراین ترکیب آنها نیاز به لایههای همترازی دقیق یا مراحل توکنسازی مجدد دارد که معمولاً عملکرد را کاهش میدهد. اگر نیاز به ترکیب مدلها با استفاده از توکنسازهای مختلف دارید، رویکرد استاندارد این است که یکی را دوباره آموزش دهید یا تطبیق دهید تا با دیگری مطابقت داشته باشد، یا از ابتدا از یک توکنساز یکپارچه مانند SentencePiece برای همه اجزا استفاده کنید.
حکم
هنگام کار با مدلهای سبک GPT یا زمانی که به توکنسازی ساده و سریع نیاز دارید که متنهای متنوع از جمله کد و دادههای چندزبانه را مدیریت کند، BPE را انتخاب کنید. هنگام ساخت بر اساس معماریهای مبتنی بر BERT یا زمانی که میخواهید مرزهای توکن با تکواژهای زبانی همسوتر باشند، WordPiece را انتخاب کنید. برای اکثر متخصصان، تصمیم به طور مؤثر توسط مدل از پیش آموزشدیدهای که انتخاب میکنید، گرفته میشود.