رفتن به محتوای اصلی
Koohestun
توضیح کوهستانتوکنایز کردنمقاله تشریحی· 5 دقیقه مطالعه· در هوش مصنوعی

چگونه رمزگذاری جفت‌بایت (BPE) متن خام را به توکن‌های ورودی مدل تبدیل می‌کند

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

به قلم آزاده ابراهیمی

مدافعان کارایی زیرکلمه‌ای 60%منتقدان برابری چندزبانه 30%فرمالیست‌های الگوریتمی 10%
مدافعان کارایی زیرکلمه‌ای
پژوهشگرانی که BPE را به عنوان مصالحه ریاضی بهینه میان اندازه دایره واژگان و طول توالی می‌بینند.
منتقدان برابری چندزبانه
زبان‌شناسان و توسعه‌دهندگانی که استدلال می‌کنند توکنایز کردن مبتنی بر فراوانی، ذاتاً زبان‌های غیرانگلیسی را در مضیقه قرار می‌دهد.
فرمالیست‌های الگوریتمی
دانشمندان علوم کامپیوتر که بر محدودیت‌های نظری و ماهیت حریصانه الگوریتم BPE تمرکز دارند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • معماران سخت‌افزاری که در حال بهینه‌سازی جداول جستجوی توکن هستند

پیش از آنکه یک شبکه عصبی بتواند کلمه بعدی را پیش‌بینی کند، ابتدا باید زبان انسان را به دنباله‌ای از اعداد تبدیل کند تا قابلیت پردازش ریاضی را داشته باشد. این گامِ ترجمه، دایره واژگان مدل، میزان مصرف حافظه و توانایی آن در مدیریت غلط‌های املایی یا اصطلاحات نادر را تعیین می‌کند. اگر یک مدل تلاش کند تک‌تک کلمات زبان انگلیسی را به خاطر بسپارد، لایه جاسازی (Embedding) آن برای محاسبه بیش از حد عظیم می‌شود. از سوی دیگر، اگر متن را حرف به حرف بخواند، توالی‌ها برای گنجایش در پنجره زمینه (Context Window) آن بیش از حد طولانی خواهند شد.[6]

سازوکار غالب برای این ترجمه در مدل‌های زبانی بزرگ امروزی، رمزگذاری جفت‌بایت (BPE) است. این الگوریتم که در ابتدا توسط فیلیپ گیج در سال ۱۹۹۴ ابداع شد، برای هوش مصنوعی طراحی نشده بود. طبق گفته ویکی‌پدیا، اختراع گیج «شکل ساده‌ای از فشرده‌سازی داده‌ها بود که در آن رایج‌ترین جفت‌بایت‌های متوالی داده با بایتی جایگزین می‌شود که در آن داده‌ها وجود ندارد.»[1]

در سال ۲۰۱۶، پژوهشگرانی به نام‌های ریکو سنریچ، بری هادو و الکساندرا برچ، تکنیک فشرده‌سازی گیج را برای پردازش زبان طبیعی تطبیق دادند. مقاله آن‌ها که در «ای‌سی‌ال آنتولوژی» (ACL Anthology) منتشر شد، به دنبال حل یک گلوگاه خاص در ترجمه ماشینی عصبی بود: مشکل کلمات خارج از دایره واژگان.[4]

سنریچ و همکارانش نوشتند: «ما نشان می‌دهیم که مدل‌های زیرکلمه‌ای در مقایسه با خط پایه دیکشنری پشتیبان برای وظایف ترجمه WMT 15 در جفت‌زبان‌های انگلیسی-آلمانی و انگلیسی-روسی، به ترتیب تا ۱.۱ و ۱.۳ نمره BLEU بهبود می‌یابند.» با خرد کردن کلمات ناشناخته به واحدهای زیرکلمه‌ایِ شناخته‌شده، مدل می‌توانست معنای یک اصطلاح جدید را بر اساس قطعات سازنده آن حدس بزند.[4]

الگوریتم BPE از طریق یک فرآیند ادغام آماری عمل می‌کند. این کار با تقسیم کل پیکره آموزشی به نویسه‌های مجزا یا همان بایت‌ها آغاز می‌شود. همان‌طور که مستندات «هاگینگ فیس» (Hugging Face) توضیح می‌دهد: «رمزگذاری جفت‌بایت (BPE) در ابتدا یک الگوریتم فشرده‌سازی داده بود... که بعداً برای پردازش زبان طبیعی (NLP) تطبیق داده شد.»[2]

از این دایره واژگان پایه که شامل حدود ۲۵۶ نویسه بایتی مجزا است، الگوریتم متن را اسکن می‌کند تا پرتکرارترین جفت‌نمادهای مجاور را بیابد. اگر حروف "e" و "s" بیشتر از هر ترکیب دیگری در کنار یکدیگر ظاهر شوند، BPE آن‌ها را در قالب یک توکن جدید و واحد ادغام می‌کند: "es".[2]

BPE به صورت تکرارشونده، پرتکرارترین نویسه‌های مجاور را در قالب توکن‌های جدید و واحد ادغام می‌کند.

این چرخه شمارش و ادغام به صورت تکرارشونده ادامه می‌یابد. توکن جدید "es" ممکن است در مرحله بعد با "t" ادغام شود تا "est" را تشکیل دهد. این فرآیند تا زمانی ادامه می‌یابد که دایره واژگان به اندازه هدفِ از پیش تعیین‌شده برسد؛ رقمی که برای مدل‌های زبانی مدرن معمولاً بین ۳۰,۰۰۰ تا ۵۰,۰۰۰ توکن است.[2][6]

توکن جدید "es" ممکن است در مرحله بعد با "t" ادغام شود تا "est" را تشکیل دهد.

این رویکرد آماری، نمایشی بسیار کارآمد و با طول متغیر از زبان ایجاد می‌کند. کلمات رایجی مانند "the" یا "apple" به توکن‌های واحدی ادغام می‌شوند، زیرا توالی نویسه‌های آن‌ها دائماً با هم ظاهر می‌شوند. با این حال، کلمات نادر همچنان به چندین توکن زیرکلمه‌ای تقسیم شده باقی می‌مانند.[5]

نشریه «مای ریتن ورد» (My Written Word) خاطرنشان می‌کند که همین مقیاس‌پذیری پویاست که BPE را برای مدل‌های زبانی بزرگ تا این حد مؤثر می‌سازد. یک مدل نیازی ندارد تک‌تک کلمات ممکن در زبان انگلیسی را به خاطر بسپارد؛ بلکه تنها باید پرتکرارترین قطعات و نحوه ترکیب آن‌ها را بیاموزد.[5]

ویژگی‌های ریاضی این روش توکنایز کردن هنوز به طور فعال در حال پژوهش است. مقاله‌ای که در سال ۲۰۲۳ در پایگاه آرکایو (arXiv) با عنوان «فرموله‌سازی توکنایز کردن BPE» منتشر شد، تلاش کرد تا رفتار این الگوریتم را به شکلی دقیق و موشکافانه تعریف کند.[3]

نویسندگان مقاله آرکایو با تاکید بر اینکه ماهیت حریصانه (Greedy) الگوریتم ادغام همیشه توکنایز کردن بهینه را برای یک توالی خاص تضمین نمی‌کند، خاطرنشان کردند: «با وجود استفاده گسترده، ویژگی‌های نظری BPE هنوز به خوبی درک نشده‌اند.»[3]

یکی از محدودیت‌های قابل‌توجه BPE، سوگیری زبانی آن است. از آنجا که الگوریتم، توکن‌ها را بر اساس فراوانی آن‌ها در داده‌های آموزشی ادغام می‌کند، زبان‌هایی که در پیکره متنی حضور پررنگی دارند (عمدتاً انگلیسی)، برای بیشتر کلمات خود نمایش‌های تک‌توکنی و بسیار بهینه‌ای دریافت می‌کنند.[6]

توکنایز کردن زیرکلمه‌ای، تعادلی میان طول توالی و اندازه دایره واژگان برقرار می‌کند.

در مقابل، زبان‌های دارای ساختار صرفی غنی یا زبان‌هایی با خط غیرلاتین، اغلب برای هر کلمه به چندین توکن شکسته می‌شوند. این تکه‌تکه شدن، مدل را مجبور می‌کند تا بخش بیشتری از پنجره زمینه خود را برای پردازش همان مقدار اطلاعات معنایی صرف کند، که در عمل باعث می‌شود مدل برای کاربران غیرانگلیسی‌زبان کندتر و از نظر محاسباتی پرهزینه‌تر شود.[6]

اتکا به BPE همچنین حالت‌های شکست خاصی را به نام «توکن‌های گلیچ» (Glitch Tokens) یا توکن‌های معیوب به وجود می‌آورد. اگر یک رشته خاص از نویسه‌ها به طور مکرر در داده‌های آموزشی ظاهر شود اما فاقد معنای مفهومی باشد (مانند یک رشته کد تکراری یا یک نام کاربری خاص در ردیت)، الگوریتم BPE وظیفه‌شناسانه آن را در یک توکن واحد ادغام می‌کند.[5][6]

هنگامی که کاربر مدل را با یکی از این توکن‌های گلیچ تحریک می‌کند، شبکه عصبی اغلب دچار توهم می‌شود یا متن بی‌معنی تولید می‌کند؛ زیرا این توکن در دایره واژگان آن وجود دارد، اما فاقد ارتباطات مستحکم با سایر مفاهیم در وزن‌های عصبی مدل است.[6]

از آنجا که BPE به فراوانی داده‌های آموزشی متکی است، متن انگلیسی معمولاً به توکن‌های کمتری نسبت به سایر زبان‌ها نیاز دارد.

اندازه دقیق دایره واژگان به عنوان یک ابرپارامتر (Hyperparameter) حیاتی عمل می‌کند. دایره واژگان کوچکتر، مدل را مجبور می‌کند تا از توکن‌های بیشتری برای نمایش یک متن استفاده کند که این امر پنجره زمینه مؤثر را کوچک می‌کند. از سوی دیگر، دایره واژگان بزرگتر طول توالی را کاهش می‌دهد، اما اندازه لایه جاسازی مدل را به صورت تصاعدی افزایش داده و به حافظه بیشتری نیاز دارد.[2][6]

تعادلی که BPE ایجاد می‌کند (فشرده‌سازی طول توالی‌ها تقریباً به میزان یک‌سوم در مقایسه با رمزگذاری خالص در سطح نویسه، در حالی که از مقیاس‌پذیری نامحدود مدل‌های سطح کلمه جلوگیری می‌کند) همچنان استاندارد این صنعت باقی مانده است. ظرافت آماری این الگوریتم تضمین می‌کند که با تکامل زبان، فرآیند توکنایز کردن به طور خودکار با فراوانی داده‌های جدید سازگار شود.[6]

نکات کلیدی

  • رمزگذاری جفت‌بایت (BPE) متن انسانی را به توکن‌های ریاضی مورد نیاز شبکه‌های عصبی ترجمه می‌کند.
  • الگوریتم BPE که در اصل یک الگوریتم فشرده‌سازی داده در سال ۱۹۹۴ بود، در سال ۲۰۱۶ برای پردازش زبان طبیعی تطبیق داده شد.
  • این الگوریتم به صورت تکرارشونده، پرتکرارترین نویسه‌های مجاور را در قالب واحدهای زیرکلمه‌ای واحد ادغام می‌کند.
  • BPE با فراهم کردن امکان خرد کردن کلمات ناشناخته به قطعات شناخته‌شده برای مدل‌ها، مشکل کلمات خارج از دایره واژگان را حل می‌کند.
  • فرآیند ادغام مبتنی بر فراوانی، ذاتاً به نفع زبان انگلیسی عمل می‌کند و اغلب زبان‌های دیگر را به توالی‌های توکنی با کارایی کمتر تجزیه می‌کند.

اصطلاحات کلیدی

توکن (Token)
واحد بنیادی داده‌ها که توسط یک مدل زبانی بزرگ پردازش می‌شود و می‌تواند یک کلمه کامل، یک هجا یا یک نویسه منفرد باشد.
خارج از دایره واژگان (OOV)
مشکلی که در آن مدل با کلمه‌ای مواجه می‌شود که قبلاً هرگز ندیده است و نمی‌تواند آن را پردازش کند.
پنجره زمینه (Context Window)
حداکثر تعداد توکن‌هایی که یک مدل زبانی می‌تواند در طول یک تعامل واحد، به طور همزمان پردازش کرده و به خاطر بسپارد.
لایه جاسازی (Embedding Layer)
بخشی از یک شبکه عصبی که توکن‌های گسسته را به بردارهای ریاضی پیوسته ترجمه می‌کند.

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

مدافعان کارایی زیرکلمه‌ای 60%منتقدان برابری چندزبانه 30%فرمالیست‌های الگوریتمی 10%
  1. [1]Wikipedia

    Byte-pair encoding

    مطالعه در Wikipedia
  2. [2]Hugging Faceمدافعان کارایی زیرکلمه‌ای

    Byte-Pair Encoding tokenization

    مطالعه در Hugging Face
  3. [3]arXivفرمالیست‌های الگوریتمی

    [2309.08715] Formalizing BPE Tokenization

    مطالعه در arXiv
  4. [4]ACL Anthologyمدافعان کارایی زیرکلمه‌ای

    Neural Machine Translation of Rare Words with Subword Units

    مطالعه در ACL Anthology
  5. [5]My Written Word

    How LLM Tokenization Actually Works: BPE Explained

    مطالعه در My Written Word
  6. [6]تیم سردبیری کوهستانمنتقدان برابری چندزبانه

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.