مدل decoder-only یک دنباله‌ی اندازه‌گیری را به‌صورت autoregressive ادامه می‌دهد — همان سازوکار مقیاس‌پذیری مدل‌های زبانی.
مدل decoder-only یک دنباله‌ی اندازه‌گیری را به‌صورت autoregressive ادامه می‌دهد — همان سازوکار مقیاس‌پذیری مدل‌های زبانی.

وقتی مدل decoder-only به سراغ پیش‌بینی سری‌زمانی می‌رود

Google Research یک مدل پایه‌ی decoder-only برای پیش‌بینی سری‌زمانی منتشر کرد. این انتخاب معماری در عمل چه معنایی دارد و چرا قرض‌گرفتن آن از مدل‌های زبانی صرفاً بر اساس مد این روزها نیست.

«decoder-only» نامیدن یک مدل پیش‌بینی دقیقاً یعنی چه، و چرا کسی باید این برچسب را از مدل‌های زبانی بزرگ قرض بگیرد تا مصرف برق یا ترافیک وب را پیش‌بینی کند؟

اول خود اصطلاح. مدل پایه (foundation model) مدلی است که یک‌بار روی یک پیکره‌ی بسیار وسیع آموزش می‌بیند و سپس برای کارهای پایین‌دستی متعدد، تقریباً بدون آموزش مجدد مختص به هر کار، استفاده می‌شود. این مفهوم متعلق به دنیای زبان و بینایی بود؛ کاری که Google Research انجام داد این است که یک مدل پایه‌ی decoder-only را مستقیماً برای پیش‌بینی سری‌زمانی منتشر کرد. تازگی کار این نیست که کسی یک سری‌زمانی را پیش‌بینی کند — این کار از زمان باکس و جنکینز انجام می‌شود. تازگی در این ادعاست که یک مدل از‌پیش‌آموزش‌دیده می‌تواند به سراغ مسائلی برود که هرگز به‌طور خاص برایشان تنظیم نشده است.

سری‌زمانی صرفاً یک دنباله‌ی مرتب از اندازه‌گیری‌هاست: دمای ساعتی، فروش روزانه، نمودار ضربان قلب. وظیفه‌ی پیش‌بینی این است که بخش گذشته‌ی این دنباله را بخوانیم و ادامه‌ی آن را تولید کنیم. در روش کلاسیک، برای هر مجموعه‌داده یک مدل جداگانه آموزش می‌دهیم — یکی برای خرده‌فروشی، یکی برای انرژی، یکی برای ترافیک. همین رویه است که چارچوب مدل پایه می‌خواهد بشکند.

چرا «decoder-only» کلمه‌ی باربر است

در خانواده‌ی transformer سه شکل کلی وجود دارد. encoder کل ورودی را یک‌جا می‌خواند و یک بازنمایی آن می‌سازد. decoder خروجی را گام‌به‌گام تولید می‌کند و هر گام تازه به همه‌ی چیزهایی که تا کنون تولید شده مشروط است. مدل‌های encoder-decoder هر دو کار را می‌کنند: می‌خوانند، سپس تولید می‌کنند. سامانه‌های ترجمه کلاسیک از نوع encoder-decoder بودند؛ خط مدل‌های زبانی GPT از نوع decoder-only است. مدل Google همان طراحی decoder-only را برمی‌گزیند، یعنی همان تبار معماری که مقیاس‌پذیری تمیز مدل‌های زبانی بزرگ را ممکن کرد.

چرا این انتخاب برای اعداد، نه کلمات، اهمیت دارد؟ چون پیش‌بینی ذاتاً یک مسئله‌ی autoregressive است. autoregressive یعنی هر پیش‌بینی به‌عنوان ورودی به پیش‌بینی بعدی بازخورانده می‌شود. transformer decoder-only دقیقاً برای همین ساخته شده: یک زمینه از توکن‌های گذشته را می‌خورد و توکن بعدی را بیرون می‌دهد، و باز بعدی را. اگر جای «کلمه» را با «تکه‌ای از اندازه‌گیری‌های اخیر» عوض کنیم، این ماشین تقریباً دست‌نخورده منتقل می‌شود. دیگر از مدل نمی‌خواهیم بین دو modality ترجمه کند؛ از او می‌خواهیم یک دنباله را ادامه دهد. کارکرد این معماری همین است.

یک سود عملی هم در این انتخاب پنهان است. پیش‌بینی‌گرهای encoder-decoder اغلب در زمان آموزش به یک افق پیش‌بینی ثابت متعهد می‌شوند — اگر برای ۲۴ ساعت آموزش ببینند، ۱۶۸ ساعت دردسرساز می‌شود. اما یک decoder که گام‌به‌گام تولید می‌کند، در اصل می‌تواند خروجی خود را تا هر افقی که لازم داشته باشید جلو ببرد. افق دیگر در معماری حک نمی‌شود و به تصمیمی در زمان اجرا بدل می‌گردد.

ادعای اصلی، انتقال است نه دقت روی یک محک

وعده‌ی جذاب یک مدل پایه، تعمیم zero-shot یا few-shot است. zero-shot یعنی مدل با یک مجموعه‌داده‌ی هرگز ندیده، بدون هیچ آموزش اضافی، کنار می‌آید. برای مهندسی که در تولید کار می‌کند، همین بخش است که اقتصاد ماجرا را تغییر می‌دهد. واقعیت پرهزینه و بی‌زرق‌وبرق پیش‌بینی در تولید این است که هر مشتری تازه، هر متریک تازه، هر کالای تازه به‌طور سنتی مدل آموزش‌دیده‌ی خود، اعتبارسنجی خود و پایش خود را می‌طلبد. این را در چند هزار سری ضرب کنید؛ گلوگاه دیگر مدل‌سازی نیست — پراکندگی عملیاتی است.

اگر یک مدل از‌پیش‌آموزش‌دیده روی یک سری کاملاً تازه و بدون تنظیم یک پیش‌بینی قابل‌استفاده بدهد، حساب‌وکتاب عوض می‌شود. از «برای هر مسئله یک مدل آموزش بده» می‌رسیم به «یک مدل را صدا بزن، و در صورت نیاز بعداً fine-tune کن». همان گذاری که مدل‌های زبانی بر ابزارهای پردازش زبان تحمیل کردند؛ و دقیقاً به همین دلیل، انتخاب decoder-only فقط یک قرض‌گرفتن ظاهری نیست — کل یک دستورالعمل آموزش و استقرار را که مقیاس‌پذیری‌اش اثبات شده، وارد می‌کند.

چه چیزی را از این ادعا می‌طلبم

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

پرسش صادقانه‌ی مهندسی این نیست که «آیا به‌خوبی یک مدل دستی‌تنظیم‌شده روی یک مجموعه‌داده است؟» — یک مدل تخصصی تقریباً همیشه در زمین خانگی خود می‌برد. پرسش این است که «پیش‌بینی zero-shot، روی صدها سری ندیده، با کسری از هزینه‌ی عملیاتی، چقدر نزدیک می‌شود؟» اگر پاسخ این باشد که «به‌اندازه‌ی کافی نزدیک برای دنباله‌ی بلند سری‌هایی که کسی فرصت مدل‌کردنشان را نداشته»، همین هم ارزشمند است. اغلب خط‌لوله‌های واقعی پیش‌بینی روی آن ده سری که کسی برایش وقت گذاشت گلوگاه نمی‌خورند؛ روی آن ده هزار سری گلوگاه می‌خورند که کسی دستشان نزد.

چارچوب بزرگ‌تر

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

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

منابع

مقالات مرتبط