کاربرد مدل‌های BERT و جمع‌بندی فصل پیش‌آموزش

کاربرد مدل‌های BERT و جمع‌بندی فصل پیش‌آموزش

توسط admin | گروه هوش مصنوعی | 1405/05/18

نظرات 0

کاربرد مدل‌های BERT و جمع‌بندی فصل پیش‌آموزش

عنوان اصلی کتاب: Foundations of Large Language Models

نویسندگان: Tong Xiao و Jingbo Zhu

سازمان: NLP Lab, Northeastern University & NiuTrans Research

زبان اصلی: انگلیسی

بازهٔ منبع: صفحات PDF 37 تا 42

مجوز منبع: Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0)

تاریخ ترجمه: 1405/05/18 / 2026-08-09

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

شکل 1.7تصویر درون‌خطی شکل 1.7 از کتاب Foundations of Large Language Models؛ توضیح فارسی در زیر شکل آمده است.
شکل ۱.۷ — نمایی از مدل‌سازی زبانی ترجمه (translation language modeling). برای ساده‌شدن درک، مثالی نشان داده شده که همهٔ توکن‌های انتخاب‌شده در آن ماسک شده‌اند و مدل برای پیش‌بینی همین توکن‌ها آموزش می‌بیند. چون دنباله شامل توکن‌های دو زبان است، هنگام پیش‌بینی یک توکن در یک زبان، مدل به توکن‌های زبان دیگر نیز دسترسی دارد و به این ترتیب مدل‌سازی میان‌زبانی ممکن می‌شود. در Lample و Conneau [2019]، هر تعبیهٔ ورودی ei جمع تعبیهٔ توکن، تعبیهٔ موقعیت و تعبیهٔ زبان است؛ بنابراین باید به هر توکن برچسب زبان اختصاص داده شود و می‌توان توکن‌های زبان‌های مختلف را از هم تشخیص داد. بااین‌حال، در پیش‌آموزش چندزبانه، به‌ویژه در روش‌های دارای واژگان مشترک، تعیین زبان هر توکن ضروری نیست. استفاده از تعبیهٔ زبان نیز مدیریت جابه‌جایی کد را دشوار می‌کند. ازاین‌رو در اینجا فرض می‌شود همهٔ بازنمایی‌های توکن مستقل از زبان‌اند.

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

۱.۴ به‌کارگیری مدل‌های BERT

پس از پیش‌آموزش یک مدل BERT، می‌توان از آن برای حل مسائل NLP استفاده کرد. بااین‌حال، مدل BERT بلافاصله برای اجرای یک وظیفهٔ پایین‌دستی مشخص آماده نیست و معمولاً برای سازگاری به ریزتنظیم (fine-tuning) اضافی نیاز دارد. در نخستین گام، به یک پیش‌بینی‌گر نیاز داریم تا خروجی مدل را با مسئلهٔ مورد نظر هم‌تراز کند. فرض کنید BERTθ̂(·) مدل BERT با پارامترهای پیش‌آموختهٔ θ̂ و Predictω(·) شبکهٔ پیش‌بینی با پارامترهای ω باشد. با یکپارچه‌کردن شبکهٔ پیش‌بینی با خروجی BERT، مدلی برای حل وظیفهٔ پایین‌دستی می‌سازیم:

y = Predictω(BERTθ̂(x))    (1.21)

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

سپس مجموعه‌ای از نمونه‌های برچسب‌خوردهٔ D گردآوری می‌کنیم و مدل را به‌صورت زیر ریزتنظیم می‌کنیم:

(ω̃, θ̃) = arg minω, θ̂+(x,ygold)∈D Loss(yω,θ̂+, ygold)    (1.22)

که در آن (x, ygold) یک زوج شامل ورودی و خروجی متناظر آن است. نمادگذاری این معادله کمی پیچیده به‌نظر می‌رسد، اما فرایند آموزش/تنظیم کاملاً استاندارد است. مدل با کمینه‌کردن زیان روی نمونه‌های ریزتنظیم بهینه می‌شود و نتیجه، پارامترهای بهینه‌شدهٔ ω̃ و θ̃ است. بهینه‌سازی از پارامترهای پیش‌آموختهٔ θ̂ آغاز می‌شود. در اینجا θ̂+ نشان می‌دهد پارامترها با θ̂ مقداردهی اولیه شده‌اند و yω,θ̂+ خروجی مدلی است که با پارامترهای ω و θ̂+ محاسبه می‌شود.

با پارامترهای ریزتنظیم‌شدهٔ ω̃ و θ̃، می‌توان مدل Predictω̃(BERTθ̃(·)) را روی داده‌های جدید همان وظایفی که مدل برای آن‌ها ریزتنظیم شده است به‌کار برد. شکل وظیفهٔ پایین‌دستی، قالب ورودی و خروجی مدل و نیز معماری شبکهٔ پیش‌بینی را تعیین می‌کند. در ادامه چند وظیفه که BERT عموماً برای آن‌ها مناسب است فهرست می‌شوند.

طبقه‌بندی (یک متن)

یکی از پرکاربردترین کاربردهای BERT طبقه‌بندی متن است. در این وظیفه، BERT یک دنبالهٔ توکن دریافت و آن را به دنباله‌ای از بردارها رمزگذاری می‌کند. نخستین بردار خروجی hcls (یا h0) معمولاً نمایش کل متن در نظر گرفته می‌شود. شبکهٔ پیش‌بینی hcls را می‌گیرد و یک توزیع روی برچسب‌ها تولید می‌کند. اگر متن ورودی [CLS] x₁ x₂ ... xₘ باشد، ساختار کلی چنین است:

[CLS] x1 x2 ... xm [SEP]
  ↓    ↓  ↓      ↓    ↓
 ecls e1 e2 ... em em+1
  ↓    ↓  ↓      ↓    ↓
 hcls h1 h2 ... hm hm+1
          BERT
            ↓
           Class

جعبهٔ خاکستری در شکل منبع شبکهٔ پیش‌بینی را نشان می‌دهد. مسائل بسیاری در NLP را می‌توان در قالب طبقه‌بندی متن صورت‌بندی کرد و چندین بنچمارک طبقه‌بندی برای ارزیابی مدل‌های پیش‌آموخته وجود دارد. برای نمونه، می‌توان متن را از نظر درستی دستوری (grammaticality) یا لحن عاطفی (sentiment) طبقه‌بندی کرد [Socher et al., 2013; Warstadt et al., 2019]. شبکهٔ پیش‌بینی می‌تواند هر مدل طبقه‌بندی، از شبکهٔ عصبی عمیق تا یک طبقه‌بند سنتی‌تر، باشد. سپس کل مدل مانند یک مدل طبقه‌بندی استاندارد آموزش یا ریزتنظیم می‌شود. برای مثال، شبکهٔ پیش‌بینی می‌تواند تنها یک لایهٔ Softmax باشد و پارامترها با بیشینه‌کردن احتمال برچسب درست بهینه شوند.

طبقه‌بندی (جفت متن)

طبقه‌بندی را می‌توان روی یک جفت متن نیز انجام داد. فرض کنید دو متن x₁...xₘ و y₁...yₙ داریم. می‌توان آن‌ها را به یک دنبالهٔ واحد با طول len متصل کرد و سپس بر پایهٔ بردار hcls برای دنبالهٔ ترکیبی یک برچسب پیش‌بینی کرد:

[CLS] x1 x2 ... xm [SEP] y1 y2 ... yn [SEP]
       Text 1                 Text 2
                  BERT
                    ↓
                   Class

که در آن len = n + m + 2. طبقه‌بندی جفت متن طیفی از مسائل را پوشش می‌دهد: قضاوت هم‌ارزی معنایی (آیا دو متن از نظر معنا معادل‌اند؟) [Dolan and Brockett, 2005]؛ قضاوت استلزام متنی (آیا یک فرضیه را می‌توان به‌طور منطقی از یک مقدمه استنتاج کرد؟) [Bentivogli and Giampiccolo, 2011; Williams et al., 2018]؛ استنتاج عقل سلیم زمینه‌مند (آیا با داشتن زمینه، رخ‌دادن یک رویداد محتمل است؟) [Zellers et al., 2018]؛ و استنتاج پرسش–پاسخ (آیا پاسخ با پرسش داده‌شده متناظر است؟).

رگرسیون

به‌جای تولید توزیع برچسب، می‌توان شبکهٔ پیش‌بینی را طوری ساخت که یک امتیاز حقیقی خروجی دهد. برای مثال با افزودن یک لایهٔ Sigmoid به شبکهٔ پیش‌بینی، سامانه می‌تواند شباهت دو جمله را محاسبه کند. معماری همان معماری سامانه‌های طبقه‌بندی مبتنی بر BERT است و تنها لایهٔ خروجی تغییر می‌کند:

[CLS] x1 ... xm [SEP] y1 ... yn [SEP]
                 BERT
                   ↓
       Number (similarity/evaluation score/etc.)

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

برچسب‌گذاری دنباله

برچسب‌گذاری دنباله (sequence labeling) رویکردی در یادگیری ماشین است که برای دامنهٔ وسیعی از مسائل NLP کاربرد دارد. این رویکرد به هر توکن دنبالهٔ ورودی یک برچسب اختصاص می‌دهد و سپس می‌توان از دنبالهٔ برچسب‌ها حاشیه‌نویسی‌های زبانی استخراج کرد. نمونه‌ای از آن برچسب‌گذاری نقش دستوری (POS tagging) است که در آن به هر واژه نقش دستوری متناظر داده می‌شود. نمونهٔ دیگر تشخیص موجودیت نامدار (NER) است که در آن هر واژه یک برچسب NER می‌گیرد و موجودیت‌های نامدار از این برچسب‌ها شناسایی می‌شوند.

[CLS] x1 x2 ... xm [SEP]
        BERT
         ↓  ↓      ↓
       Tag Tag ... Tag
       {B,I,O} at each position

در اینجا {B, I, O} مجموعهٔ برچسب‌های NER است. برای مثال، B-ORG شروع نام یک سازمان، I-ORG قرارداشتن واژه درون نام سازمان و O تعلق‌نداشتن واژه به هیچ موجودیت نامدار را نشان می‌دهد. این مدل NER می‌تواند در هر موقعیت توزیعی روی مجموعهٔ برچسب‌ها تولید کند که آن را با pi نشان می‌دهیم. آموزش یا ریزتنظیم مدل روی توزیع‌های {p₁,...,pₘ} انجام می‌شود. اگر pi(tagi) احتمال برچسب درست در موقعیت i باشد، زیان آموزش را می‌توان درست‌نمایی منفی تعریف کرد:

Loss = −(1/m) ∑i=1m log pi(tagi)    (1.23)

یافتن بهترین دنبالهٔ برچسب با داشتن یک مدل NER آموزش‌دیده، مسئله‌ای شناخته‌شده در NLP است. این کار اغلب با برنامه‌ریزی پویا انجام می‌شود که در صورت صورت‌بندی به‌عنوان یافتن مسیر روی شبکه (lattice)، پیچیدگی خطی دارد [Huang, 2009].

پیش‌بینی بازه (Span Prediction)

برخی وظایف NLP به پیش‌بینی یک بازه از متن نیاز دارند. یک نمونهٔ رایج، درک مطلب است. در این وظیفه پرس‌وجوی x₁...xₘ و متن زمینهٔ y₁...yₙ داده می‌شود و هدف، یافتن یک بازهٔ پیوسته در y₁...yₙ است که بهترین پاسخ را به پرس‌وجو می‌دهد. این مسئله را می‌توان مانند برچسب‌گذاری دنباله صورت‌بندی کرد و برای هر yj برچسبی پیش‌بینی کرد که آغاز یا پایان بازه بودن آن را مشخص کند. مطابق Seo et al. [2017]، روی خروجی BERT برای هر yj دو شبکه قرار می‌دهیم: یکی احتمال آغاز بازه بودن yj را تولید می‌کند (pbegj) و دیگری احتمال پایان بازه بودن آن را (pendj).

[CLS] x1 ... xm [SEP] y1 y2 ... yn [SEP]
       Query            Context Text
                    BERT
                     ↓  ↓      ↓
                  Beg/End probabilities for y1...yn

پرس‌وجو و متن زمینه با هم بسته‌بندی می‌شوند تا دنبالهٔ ورودی ساخته شود. شبکه‌های پیش‌بینی فقط روی خروجی‌های متن زمینه اعمال می‌شوند و در هر موقعیت احتمال‌های pbegj و pendj را می‌سازند. زیان با جمع درست‌نمایی لگاریتمی دو مدل در سراسر متن زمینه محاسبه می‌شود:

Loss = −(1/n) ∑j=1n (log pbegj + log pendj)    (1.24)

در زمان آزمون، بهترین بازه با رابطهٔ زیر جست‌وجو می‌شود:

(ĵ₁, ĵ₂) = arg max1≤j₁≤j₂≤n (log pbegj₁ + log pendj₂)    (1.25)

رمزگذاری برای مدل‌های رمزگذار–رمزگشا

اگرچه تمرکز این بخش عمدتاً بر مسائل درک زبان بوده است، BERT را می‌توان در دامنهٔ گسترده‌تری از وظایف NLP به‌کار برد. در واقع BERT در هر سناریویی که لازم باشد قطعه‌ای متن رمزگذاری شود کاربرد دارد. یکی از کاربردهایی که هنوز ذکر نکرده‌ایم تولید متن است که وظایفی مانند ترجمهٔ ماشینی، خلاصه‌سازی، پرسش‌پاسخ و تولید گفت‌وگو را دربر می‌گیرد. این وظایف را می‌توان به‌صورت مسائل دنباله‌به‌دنباله صورت‌بندی کرد: رمزگذار متن مبدأ را نمایش می‌دهد و رمزگشا متن مقصد متناظر را تولید می‌کند. یک راه مستقیم برای استفاده از BERT، درنظرگرفتن آن به‌عنوان رمزگذار است. پیش از ریزتنظیم، پارامترهای رمزگذار با پارامترهای یک BERT پیش‌آموخته مقداردهی اولیه می‌شوند و سپس مدل رمزگذار–رمزگشا مثل معمول روی زوج متن‌ها ریزتنظیم می‌شود.

Source: [CLS] x1 ... xm [SEP]
            BERT (Encoder)
                  ↓
               Adapter (optional)
                  ↓
Decoder input:  y1 y2 ... y(n-1)
                  ↓
Target output: y1 y2 y3 ... yn

در این نمودار، x₁...xₘ دنبالهٔ مبدأ، y₁...yₙ دنبالهٔ مقصد، eˣ₁...eˣₘ دنبالهٔ تعبیهٔ مبدأ و eʸ₁...eʸₙ دنبالهٔ تعبیهٔ مقصد هستند. سازگارکننده (adapter) اختیاری است و خروجی BERT را به قالبی نگاشت می‌کند که برای رمزگشا مناسب‌تر است.

ریزتنظیم BERT یک مسئلهٔ مهندسی پیچیده است و عواملی مانند مقدار دادهٔ ریزتنظیم، اندازهٔ مدل و بهینه‌ساز مورد استفاده بر آن اثر می‌گذارند. به‌طور کلی می‌خواهیم مدل را به‌اندازهٔ کافی ریزتنظیم کنیم تا روی وظایف پایین‌دستی خوب عمل کند. بااین‌حال، ریزتنظیم BERT برای وظایف خاص ممکن است به بیش‌برازش منجر شود و در نتیجه توان تعمیم مدل به وظایف دیگر را کاهش دهد. برای مثال فرض کنید BERT روی یک وظیفهٔ مشخص خوب عمل می‌کند؛ اگر سپس آن را برای وظایف جدید ریزتنظیم کنیم، ممکن است عملکردش روی وظیفهٔ اصلی افت کند. این مسئله با «فراموشی فاجعه‌بار» (catastrophic forgetting) در آموزش پیوسته مرتبط است؛ وضعیتی که شبکهٔ عصبی هنگام به‌روزرسانی با نمونه‌های جدید، اطلاعاتی را که قبلاً آموخته فراموش می‌کند.

در کاربردهای عملی، راهی رایج برای کاهش فراموشی فاجعه‌بار این است که مقداری دادهٔ قدیمی به دادهٔ ریزتنظیم افزوده شود و مدل با داده‌ای متنوع‌تر آموزش ببیند. همچنین می‌توان از روش‌های ویژهٔ فراموشی فاجعه‌بار مانند بازپخش تجربه (experience replay) [Rolnick et al., 2019] و تثبیت کشسان وزن‌ها (elastic weight consolidation) [Kirkpatrick et al., 2017] استفاده کرد. برای بحث تفصیلی‌تر دربارهٔ این مسئله در یادگیری پیوسته می‌توان به مرورهای Parisi et al. [2019] و Wang et al. [2023a;e] مراجعه کرد.

۱.۵ جمع‌بندی

در این فصل ایدهٔ عمومی پیش‌آموزش در NLP را بررسی کردیم. به‌طور خاص، پیش‌آموزش خودنظارتی و کاربرد آن در معماری‌های رمزگذار-تنها، رمزگشا-تنها و رمزگذار–رمزگشا را توضیح دادیم. همچنین مجموعه‌ای از وظایف پیش‌آموزش برای این معماری‌ها ارائه و با یکدیگر مقایسه شد. BERT به‌عنوان نمونه به‌کار رفت تا نشان دهد مدل‌های دنباله چگونه با مدل‌سازی زبانی ماسک‌شده پیش‌آموزش می‌بینند و سپس در وظایف پایین‌دستی متفاوت استفاده می‌شوند.

سال‌های اخیر شاهد پیشرفت چشمگیر NLP بوده است که استفادهٔ گسترده از پیش‌آموزش خودنظارتی یکی از نیروهای اصلی آن است. پیشرفت‌های فراگیر نه‌فقط در NLP، بلکه در بینایی ماشین و دیگر حوزه‌های هوش مصنوعی نیز در حال رخ‌دادن‌اند. یکی از ایده‌های پشت این پیشرفت‌ها این است که می‌توان مقدار قابل‌توجهی دانش دربارهٔ جهان را صرفاً با آموزش سامانه‌های هوش مصنوعی روی حجم عظیمی از دادهٔ بدون برچسب آموخت. برای نمونه، یک مدل زبانی می‌تواند با پیش‌بینی مکرر واژه‌های ماسک‌شده در متن‌های بزرگ‌مقیاس، مقداری دانش عمومی دربارهٔ زبان بیاموزد. در نتیجه، این مدل زبانی پیش‌آموخته می‌تواند به‌عنوان مدل پایه (foundation model) عمل کند و به‌آسانی برای حل وظایف پایین‌دستی مشخص در NLP سازگار شود.

این تغییر پارادایم در NLP توسعهٔ سامانه‌هایی بسیار قدرتمند برای درک، تولید و استدلال زبانی را ممکن کرده است [Manning, 2022]. بااین‌حال باید توجه داشت هنوز در مراحل ابتدایی ساخت سامانه‌های واقعاً هوشمند هستیم و راه درازی باقی مانده است. با وجود این، پیش‌آموزش در مقیاس بزرگ دری را به‌سوی سامانه‌های هوشمندی باز کرده که پژوهشگران مدت‌ها آرزوی ساخت آن‌ها را داشته‌اند. هم‌زمان، چند حوزهٔ کلیدی پژوهش همچنان باز است؛ از جمله یادگیری کارآمد هوشمندی با داده‌هایی با اندازهٔ معقول و کسب توانایی‌های پیچیدهٔ استدلال و برنامه‌ریزی.

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

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620

© 2040 a00b.com. تمامی حقوق متعلق به دفتر برنامه نویسی بینا می باشد.