مدل زبانی BERT چیست؟

زمان مطالعه: 11 دقیقه
مدل زبانی BERT چیست؟

مقدمه

تصور کنید با کسی دارید صحبت می‌کنید که هیچ چیزی از زبان فارسی نمی‌داند، نه معنی واژه‌ها و نه هیچ کدام از قواعد و دستور زبان را، حالا اگر به همین شخص یک جمله نصف و نیمه بگویید؛ مثل “من یک کتاب…” و از او بخواهید که ادامه جمله را بگوید؛ به احتمال خیلی زیاد آن فرد نمی‌تواند حدس بزند که کلمه‌ بعدی چیست؛ اما اگر همان فرد کمی زبان فارسی بلد باشد، می‌تواند حدس بزند که کلمه بعدی این جمله ممکن است “خواندم”، “دارم” یا “می‌خواهم بخرم” باشد.  مدل زبانی BERT دقیقا همین کار را انجام می‌دهند، این مدل با خواندن حجم زیادی از متن، یاد می‌گیرد که کلمه‌ها چطور کنار هم چیده می‌شود و تلاش می‌کند زبان انسان‌ها را درک کنند. حتی در بسیاری از کاربردهای امروزی مثل وب‌سرویس صوت به متن، این مدل‌ها به سیستم کمک می‌کنند گفتار انسان را بهتر بفهمد و تبدیل به متن کند. در ادامه با ما همراه باشید تا به طور کامل و با زبان ساده با برت، مدل زبانی بزرگ گوگل آشنا شویم.

مدل زبانی برت چیست؟

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

شاید برایتان جالب باشد که بدانید BERT مخفف Bidirectional Encoder Representations from Transformers است یعنی مدلی که می‌تواند هم از چپ به راست و هم از راست به چپ جمله را بخواند تا معنای دقیق آن را درک کند.

مدل زبانی برت

تاریخچه مدل‌های زبانی برت

قبل از توسعه مدل BERT، مدل‌هایی که برای درک زبان استفاده می‌شد معمولا بسیار محدود بودند. مثلا مدل‌هایی بودند که فقط از چپ به راست جملات را می‌خواندند و به همین دلیل هم فقط کلمات قبلی را در نظر می‌گرفتند و نه کلمات بعدی را. اما در سال 2017 تیم هوش مصنوعی گوگل یک مدل ساختند به اسم BERT که ویژگی‌های خاص و جالب توجهی داشت. مثلا یکی از مهم‌ترین ویژگی‌های برت این است که  همزمان از دو طرف جمله یعنی هم چپ و هم راست یاد می‌گیرد و با روش جدیدی مثل Masked Language Modeling کار می‌کند و همچنین  در بسیاری از کارهای پردازش زبان طبیعی و NLP نتایج شگفت‌انگیزی را ارائه می‌دهد. چنین قابلیت‌هایی به برت کمک می‌کند که معنای کلمات را با توجه به زمینه و کلمات اطراف آن بهتر درک کند.

بیشتر بخوانید: مدل زبانی بزرگ (LLM) چیست؟

گوگل از سال 2019 از مدل زبانی برت در موتور جستجوی خود استفاده کرد تا جستجوهای اینترنتی را بهتر بفهمد، الگوریتم برت گوگل باعث شد نتایج جستجو طبیعی‌تر و دقیق‌تر شوند.

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

تا به اینجا متوجه شدیم که برت شبیه یک مغز بسیار باهوش می‌ماند که می‌تواند جمله‌ها را از چپ به راست و از راست به چپ بخواند حالا در ادامه هم همراه ما باشید تا مرحله به مرحله به شما بگوییم این مدل چطور کار می‌کند.

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

مرحله اول: تبدیل کلمات به توکن (Tokenization)

 نمی‌تواند مستقیما متن فارسی یا انگلیسی را بفهمد، بنابراین اول باید هر جمله به قطعات کوچک‎تری تبدیل شود که به آن می‌گویند توکن. مثلا جمله “گل در باغچه است” می‌شود “گل”، “در”، “باغ”، “چه” است.

 مرحله دوم: ماسک‌گذاری (Masked Language Modeling)

در این مرحله، مدل موقع یادگیری، بعضی از کلمات را عمدا پنهان می‌کند یا به اصطلاح ماسک می‌زند تا خودش بفهمد که آن کلمه چیست. مثلا “آسمان [MASK] است.” مدل با نگاه به این جمله می‌تواند حدس می‌زند که بارانی، آفتابی یا گرم است. این تمرین باعث می‌شود که مدل برت بتواند معنی دقیق کلمات در جمله را حدس بزند نه فقط حفظ کند. این بخش مهم‌ترین فرق مدل BERT با مدل‌های قدیمی است؛ به این معنی که می‌تواند قبل و بعد کلمه‌ای که ماسک کرده را مشاهده کند.

مدل زبان ماسک شده برت

مرحله سوم: رمزگذاری یا گذر از لایه‌های ترنسفورمر (Transformer Encoding)

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

مرحله چهارم: تولید خروجی برای کار خاص (Fine-Tuning)

تا به اینجا مدل با گذر از مراحل یک تا سوم داشت یاد می‌گرفت که چطور جمله‌ها را درک کند. از اینجا به بعد باید به آن یاد بدهیم برای یک وظیفه خاص چه کاری انجام دهد. در اینجا وارد مرحله ریز تنظیم یا Fine-Tuning می‌شویم. در این مرحله با توجه به اینکه مدل قرار است چه کاری انجام دهد (مثلا ترجمه، پاسخ به سوال و تحلیل احساسات)، یک لایه خروجی مخصوص آن کار به مدل اضافه می‌شود و مدل روی داده‌های مربوط به آن کار خاص آموزش داده می‎شود.

بیشتر بخوانید: مدل ترنسفورمر (Transformer Model) چیست؟

معماری مدل برت

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

کاربردهای مدل زبانی BERT

BERT خودش به تنهایی قابل استفاده نیست، اما می‌تواند مبنای بسیاری از محصولات هوشمند نظیر چت‌بات‌ها شود.  مدل برت کاربردهای مختلفی در دنیای واقعی دارد؛ از پاسخ به سوال تا ترجمه ماشینی، تبدیل صوت به متن و خلاصه‌سازی متن که در ادامه هر کدام از این موارد را بررسی خواهیم کرد.

کاربردهای مدل زبانی BERT

پاسخ به سوال (Question Answering)

این قابلیت برت در دستیارهای صوتی و چت‌بات‌ها کاربرد دارد؛ به این صورت که مدل بر اساس چیزهایی که قبلا یاد گرفته می‌تواند به سوالات کاربرها پاسخ دهد و حتی در فرآیند تبدیل صوت به متن به بهبود دقت دستیارهای صوتی کمک کند.

بیشتر بخوانید: کاربردهای پردازش گفتار

موتورهای جستجو (Search Engines)

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

طبقه‌بندی متن

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

طبقه بندی متن با استفاده از BERT

ترجمه ماشینی و خلاصه‌سازی متن

برت می‌تواند در ترجمه و خلاصه‌سازی کاربرد داشته باشد؛ به این صورت که مفهوم متن را درک می‌کند، مهم‌ترین جمله‌ها را می‌فهمد و خلاصه‌ای از آن ارائه می‌دهد. 

مقایسه BERT  و GPT

برت و چی پی تی دو مدل معروف در دنیای هوش مصنوعی هستند؛ اما تفاوت‌هایی با هم دارند که در جدول زیر می‌توانید مشاهده کنید:

جی‌پی‌تی (GPT)برت (BERT)
یک‌طرفه و خودکار است و متن فقط در یک جهت پردازش می‌شود همچنین از بخش رمزگشای مدل ترانسفورمر استفاده می‌کند.دوطرفه است یعنی می‌تواند متن را هم از چپ به راست و هم از راست به چپ پردازش کند همچنین این مدل از بخش رمزگذار مدل ترانسفورمر استفاده می‌کند.
کاربردها:  ساخت برنامه‌ها، تولید کد، ساخت وب‌سایت، نوشتن مقاله، پادکست، ایجاد اسناد حقوقی و غیره.کاربردها: گوگل داکس، جیمیل، بهبود نتایج جستجو، دستیار صوتی، تحلیل نظرات مشتریان و غیره.
کاربردها: گوگل داکس، جیمیل، بهبود نتایج جستجو، دستیار صوتی، تحلیل نظرات مشتریان و غیره.دقت: نمره GLUE = 80.4% و دقت 93.3% روی مجموعه داده . SQUAD
روش آموزش: تولید مستقیم متن با استفاده از مدل‌سازی زبان خودکار.روش آموزش: دو وظیفه بدون نظارت – مدل‌سازی زبان پوشیده شده (پر کردن جاهای خالی) و پیش‌بینی جمله بعدی (مثلاً آیا جمله B بعد از جمله A می‌آید؟)

همچنین در تصویر زیر می‌‌توانید مقایسه این دو مدل زبانی را مشاهده کنید:

BERT درمقابل GPT

آموزش مدل برت

مدل برت برای اینکه بتواند زبان انسان را بفهمد، باید ابتدا آموزش ببیند. اما این آموزش چطور انجام می‌شود؟ در ادامه همراه ما باشید تا به نحوه آموزش مدل برت بپردازیم.

آموزش به روش Masked Language Modeling (MLM)

در قسمت های قبل، کمی به این روش اشاره کردیم. اما اگر بخواهیم دقیق‌تر بگوییم، مدل زبانی BERT یک روش خیلی خاص برای آموزش به اسم Masked Language Modeling دارد. به این صورت که مدل، برخی کلمات جمله را پنهان یا همان ماسکه می‌کند؛ این کار باعث می‌شود مدل مجبور شود به تمام جمله نگاه کند تا بتواند جواب دقیقی ارائه بدهد. با این روش، برت از هر دو طرف جمله یعنی قبل و بعد آن استفاده می‌کند تا یاد بگیرد.

بیشتر بخوانید: شبکه عصبی چیست؟

آموزش با استفاده از ترنسفورمرها

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

آموزش با استفاده از ترنسفورمرها

آموزش پیشرفته (Pre-training) و آموزش ویژه (Fine-tuning)

برت دو مرحله اصلی آموزش هم دارد. آموزش پیشرفته این است که با استفاده از داده‌های بزرگ مثل کتاب‌ها، مقالات و صفحات وب به یادگیری زبان می‌پردازد. در این مرحله برت به روش‌هایی مانند Masked Language  Modeling (MLM) و Next Sentence  آموزش می‌بیند. آموزش پیشرفته (Fine-tuning) هم برای کارهای خاص‌تری کاربرد دارد.

استفاده از داده‌های زیاد برای آموزش

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

روش‌های بهینه‌سازی الگوریتم BERT

خب در این قسمت می‌خواهیم ببینیم که چطور می‌شود عملکرد مدل زبانی برت را بهبود دهیم و آن را بهینه‌سازی کنیم تا بهترین نتیجه را بگیریم.

بهینه‌سازی الگوریتم BERT

استفاده از یادگیری انتقالی (Transfer Learning)

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

یادگیری انتقالی

استفاده از داده‌های بیشتر و متنوع‌تر

داده‌ها کلید بهینه‌سازی هر مدل هستند، هر چه ما داده‌های بیشتری به مدل بدهیم، مدل می‌تواند زبان را بهتر درک کند. داده‌های متنوع به مدل کمک می‌کند که بتواند با موقعیت‌ها و جملات پیچیده کنار بیاید. همچنین اگر می‌خواهیم برت را برای زبان‌های مختلف استفاده کنیم، باید مدل را با داده‌های زبان‌های مختلف آموزش دهیم. بنابراین استفاده از داده‌های بیشتر و متنوع‌تر باعث بهینه‎سازی مدل می‌شود. 

کاهش تعداد پارامترها

برت پارامترهای زیادی دارد که همین باعث می‌شود سرعت پردازش آن پایین بیاید، بنابراین یکی از روش‌های بهینه‌سازی این است که تعداد پارامترهای مدل را کاهش دهیم. برای این کار باید تعداد لایه‌ها را کمتر کنیم یا از مدل‌های فشرده‌تری مانند TinyBERT  یاMobileBERT  استفاده کنیم که این کار باعث می‌شود زمان آموزش و پردازش کاهش پیدا کند و مدل بهینه‌تر شود و عملکرد خوبی داشته باشد.

بیشتر بخوانید: بینایی ماشین چیست؟

استفاده از تکنیک‌های بهینه‌سازی پیشرفته مثل  AdamW 

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

استفاده از نسخه‌های فشرده‌تر (Distillation)

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

آموزش با Batch Size بزرگ‌تر

تعداد داده‌هایی که به مدل در هر بار آموزش داده می‌شود Batch Size می‌گویند. برای بهینه‌سازی مدل می‌توانیم این تعداد را افزایش دهیم. افزایش Batch Size باعث می‌شود مدل بتواند اطلاعات بیشتری را در یک زمان پردازش کند، البته نکته مهم در اینجا این است که نباید تعداد Batch Size را خیلی هم بالا ببریم چون ممکن است باعث overfitting شود.

استفاده از Dropout برای جلوگیری از Overfitting

یکی از مشکلات رایج در زمان آموزش برت Overfitting است به این معنی که مدل فقط روی داده‌های آموزش داده شده خوب عمل می‌کند. اما وقتی داده‌های جدید را به آن می‌دهیم، عملکردش افت پیدا می‌کند. برای حل این مشکل می‌توانیم از تکنیک dropout استفاده کنیم. این تکنیک به این صورت است که بعضی از اتصالات مدل به صورت تصادفی قطع می‌شوند تا مدل فقط به داده‌های خاص وابسته نباشد و همین‌طور قدرت تعمیم بیشتری پیدا کند.

آشنایی با RoBERTa – نسخه بهبودیافته BERT

اگر مدل زبانی برت را یک ماشین قوی تصور کنید نسخه RoBERTa همان ماشینی است که روغن‌کاری شده، سرعت بیشتری دارد و بهتر عمل می‌کند. در واقع می‌توان گفت مدل RoBERTa یک نسخه بازطراحی شده و بهینه‌تر از برت است که توسط شرکت Facebook AI معرفی شده است.

آشنایی با RoBERTa – نسخه بهبودیافته BERT

این نسخه با یک سری از تغییرات ساده، قوی‌تر از برت عمل می‌کند. مثلا در مدل برت یک قسمتی بود که باید تشخیص می‌داد آیا این دو جمله با هم مرتبط هستند یا نه که به آن Next Sentence Prediction می‌گویند. فیس‌بوک فهمید که این کار لزوما مفید نیست و بنابراین در نسخه جدید این روش را حذف کرد. علاوه بر این، در نسخه RoBERTa از داده‌های بیشتری استفاده شده که می‌توان گفت ده برابر بیشتر از داده‌های برت در این قسمت وجود دارد. این ویژگی باعث می‌شود مدل بهتر بتواند الگوهای زبان را یاد بگیرد. علاوه بر آموزش دادن با داده‌‎های زیاد، در این نسخه از برت از جملات طولانی‌تری هم استفاده شده است. استفاده از Longer Sequences باعث می‌شود مدل بتواند جملات بلندتر را ببیند و بتواند مفهوم کلی متن را بهتر متوجه شود.

بیشتر بخوانید: بهترین زبانهای برنامه نویسی هوش مصنوعی ۲۰۲۵

علاوه بر این‌ها، مدت زمان آموزش (Training Time) و تعداد داده‌هایی که در هر مرحله به مدل داده می‌شود (Batch Size) هم افزایش پیدا کرده و همین باعث شده مدل با دقت و کیفیت بالاتری آموزش ببیند. نتیجه همه این تغییرات این است که کاربرد برت در طبقه‌بندی متون، پاسخگویی به سوالات و تشخیص موجودیت‌ها به طور چشمگیری دقیق و قوی شده است.

جمع‌بندی نهایی

در این مقاله با یکی از مهم‌ترین مدل‌های زبان طبیعی یعنی مدل زبانی BERT آشنا شدیم. اینکه این مدل اساسا چه چیزی است، اینکه چطور کار می‌کند و کجاها به کار می‌آید و همینطور با روش‌های بهینه‌سازی و حتی نسخه‌های بهتر آن مانند RoBERTa آشنا شدیم.

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

این مطلب را با دوستان خود به اشتراک بگذارید:
اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها

راهکارهای هوشمند ویرا برای رشد کسب‌وکار شما آماده‌اند!