به لطف مدلهای زبان بزرگ (یا به اختصار LLM)، هوش مصنوعی اکنون توجه همه را به خود جلب کرده است. ChatGPT، احتمالاً معروفترین LLM، به دلیل این واقعیت که زبان طبیعی یک رابط طبیعی است که پیشرفتهای اخیر در هوش مصنوعی را برای همه قابل دسترس کرده است، بلافاصله محبوبیت خود را افزایش داده است. با این وجود، نحوه کار LLM ها هنوز کمتر شناخته شده است، مگر اینکه شما یک دانشمند داده یا در نقش دیگری مرتبط با هوش مصنوعی باشید. در این مقاله سعی می کنم آن را تغییر دهم.
مسلماً، این یک هدف بلندپروازانه است. به هر حال، LLM های قدرتمندی که امروز داریم، اوج دهه ها تحقیق در زمینه هوش مصنوعی هستند. متأسفانه، بیشتر مقالاتی که آنها را پوشش می دهند یکی از دو نوع هستند: آنها یا بسیار فنی هستند و دانش قبلی زیادی را فرض می کنند، یا آنقدر پیش پا افتاده هستند که در نهایت بیشتر از قبل نمی دانید.
هدف این مقاله ایجاد تعادل بین این دو رویکرد است. یا در واقع اجازه دهید این را مجدداً بیان کنم، هدف از آن این است که شما را از صفر به سمت نحوه آموزش LLM ها و اینکه چرا آنها به طرز چشمگیری خوب کار می کنند هدایت کند. ما این کار را با برداشتن تمام قطعات مربوطه در طول مسیر انجام خواهیم داد.
ما در این مقاله در تمام جزئیات دقیق نخواهیم شد، بنابراین ما در اینجا به جای ریاضیات، و تا حد امکان به تصاویر بصری تکیه خواهیم کرد. اما همانطور که خواهید دید، در حالی که مطمئناً موضوع بسیار پیچیده ای در جزئیات است، مکانیسم های اصلی زیربنای LLM بسیار شهودی هستند، و این به تنهایی ما را به اینجا بسیار دور می برد.
این مقاله همچنین باید به شما کمک کند تا از استفاده از LLM هایی مانند ChatGPT بهره بیشتری ببرید. در واقع، ما برخی از ترفندهای منظمی را یاد خواهیم گرفت که می توانید برای افزایش شانس پاسخ مفید به کار ببرید. یا همانطور که آندری کارپارتی، محقق و مهندس مشهور هوش مصنوعی، اخیراً و به طور واضح گفت: "انگلیسی داغ ترین زبان برنامه نویسی جدید است."
LLM ها در کجای دنیای هوش مصنوعی
اما ابتدا، بیایید سعی کنیم بفهمیم که LLM ها در کجای دنیای هوش مصنوعی قرار می گیرند.
زمینه هوش مصنوعی اغلب در لایههای زیر تجسم میشود:
هوش مصنوعی (AI) یک اصطلاح بسیار گسترده است، اما به طور کلی با ماشین های هوشمند سروکار دارد.
یادگیری ماشینی (ML) زیر شاخه ای از هوش مصنوعی است که به طور خاص بر تشخیص الگو در داده ها تمرکز دارد. همانطور که می توانید تصور کنید، هنگامی که یک الگو را تشخیص دادید، می توانید آن الگو را برای مشاهدات جدید اعمال کنید. این جوهر ایده است، اما ما فقط در مدت کوتاهی به آن خواهیم رسید.
یادگیری عمیق حوزه ای در ML است که بر داده های بدون ساختار متمرکز شده است که شامل متن و تصاویر است. این روش بر شبکههای عصبی مصنوعی متکی است، روشی که (به طور ضعیف) از مغز انسان الهام گرفته شده است.
مدلهای زبان بزرگ (LLM) به طور خاص با متن سروکار دارند، و تمرکز این مقاله بر آن خواهد بود.
همانطور که می رویم، قطعات مربوطه را از هر یک از آن لایه ها برمی داریم. ما فقط از بیرونیترین آن، یعنی هوش مصنوعی چشم پوشی میکنیم (چون به هر حال خیلی کلی است) و مستقیماً به سراغ یادگیری ماشینی میرویم.
یادگیری ماشین چیست؟
هدف یادگیری ماشینی کشف الگوها در داده ها است. یا به طور خاص، الگویی که رابطه بین یک ورودی و یک نتیجه را توصیف می کند. این به بهترین شکل با استفاده از یک مثال توضیح داده می شود.
بیایید بگوییم که میخواهیم بین دو ژانر موسیقی مورد علاقهام تمایز قائل شویم: رگیتون و R&B. رگیتون یک ژانر شهری لاتین است که بهخاطر ضربهای پر جنب و جوش و ریتمهای رقصانگیزش شناخته میشود، در حالی که R&B (ریتم و بلوز) ژانری است که ریشه در سنتهای موسیقی آفریقایی-آمریکایی دارد که با آوازهای روحانگیز و ترکیبی از آهنگهای شاد و آرامتر مشخص میشود.
در عمل چگونه بنظر می رسد؟
فرض کنید 20 آهنگ داریم. ما تمپو و انرژی هر آهنگ را می دانیم، دو معیاری که می توان آنها را به سادگی برای هر آهنگ اندازه گیری یا محاسبه کرد. علاوه بر این، ما آنها را با یک ژانر، یا رگیتون یا R&B، برچسب گذاری کرده ایم. وقتی دادهها را تجسم میکنیم، میتوانیم ببینیم که آهنگهای با انرژی بالا و سرعت بالا عمدتاً رگیتون هستند در حالی که آهنگهای با سرعت پایین و انرژی کمتر عمدتاً R&B هستند، که منطقی است.
با این حال، ما میخواهیم از برچسب زدن دائمی ژانر خودداری کنیم، زیرا زمانبر است و مقیاسپذیر نیست. در عوض، میتوانیم رابطه بین معیارهای آهنگ (تمپو، انرژی) و ژانر را بیاموزیم و سپس فقط با استفاده از معیارهای در دسترس پیشبینی کنیم.
در اصطلاح یادگیری ماشین، میگوییم که این یک مشکل طبقهبندی است، زیرا متغیر نتیجه (ژانر) تنها میتواند یکی از مجموعههای ثابتی از کلاسها/برچسبها را به خود بگیرد، در اینجا reggaeton و R&B. این برخلاف مشکل رگرسیون است که در آن نتیجه یک مقدار پیوسته است (به عنوان مثال، دما یا فاصله).
اکنون میتوانیم با استفاده از مجموعه دادههای برچسبگذاریشدهمان، یک مدل یادگیری ماشینی (یا «طبقهبندیکننده») را «آموزش دهیم»، یعنی با استفاده از مجموعهای از آهنگهایی که ژانر آن را میشناسیم. از نظر بصری، کاری که آموزش مدل در اینجا انجام می دهد این است که خطی را پیدا می کند که به بهترین وجه این دو کلاس را از هم جدا می کند.
چقدر مفید است؟ خوب، حالا که این خط را میدانیم، برای هر آهنگ جدیدی میتوانیم پیشبینی کنیم که آیا آهنگ رگیتون است یا R&B، بسته به اینکه آهنگ در کدام سمت خط قرار میگیرد. تنها چیزی که ما نیاز داریم سرعت و انرژی است که تصور میکردیم راحتتر در دسترس است. این بسیار ساده تر و مقیاس پذیرتر از این است که یک انسان ژانر را برای هر آهنگ تعیین کند.
علاوه بر این، همانطور که میتوانید تصور کنید، هر چه از خط دورتر باشیم، میتوانیم در مورد درست بودن مطمئنتر باشیم. بنابراین، اغلب میتوانیم درباره اینکه چقدر از صحت یک پیشبینی بر اساس فاصله از خط اطمینان داریم، اظهار نظر کنیم. برای مثال، برای آهنگ جدید کمانرژی و تمپوی ما ممکن است ۹۸ درصد مطمئن باشیم که این یک آهنگ R&B است، با دو درصد احتمال اینکه واقعاً رگیتون باشد.
چه چیزی پیچیده تر است؟
اما البته، واقعیت اغلب پیچیده تر از این است. بهترین مرز برای جداسازی کلاس ها ممکن است خطی نباشد. به عبارت دیگر، رابطه بین ورودی ها و نتیجه می تواند پیچیده تر باشد. ممکن است مانند تصویر بالا منحنی باشد یا حتی چندین برابر پیچیده تر از آن باشد.
واقعیت معمولاً از جنبه دیگری نیز پیچیده تر است. به جای تنها دو ورودی مانند مثال ما، اغلب ده ها، صدها یا حتی هزاران متغیر ورودی داریم. علاوه بر این، ما اغلب بیش از دو کلاس داریم. و همه کلاس ها می توانند از طریق یک رابطه غیرخطی و فوق العاده پیچیده به همه این ورودی ها وابسته باشند.
حتی با مثال ما می دانیم که در واقعیت بیش از دو ژانر وجود دارد و ما به معیارهای بسیار بیشتری غیر از سرعت و انرژی نیاز داریم. رابطه بین آنها نیز احتمالاً چندان ساده نیست.
چیزی که من عمدتاً از شما میخواهم حذف کنید این است: هرچه رابطه بین ورودی و خروجی پیچیدهتر باشد، مدل یادگیری ماشینی پیچیدهتر و قدرتمندتر است که ما برای یادگیری آن رابطه نیاز داریم. معمولاً با تعداد ورودی ها و تعداد کلاس ها پیچیدگی افزایش می یابد.
علاوه بر آن، ما همچنین به داده های بیشتری نیز نیاز داریم. شما خواهید دید که چرا این مهم است فقط در یک بیت.
اگر ورودی عکس باشد چگونه کار می کند؟
بیایید اکنون به سراغ یک مشکل کمی متفاوت برویم، اما مشکلی که ما به سادگی سعی خواهیم کرد مدل ذهنی قبلی خود را برای آن اعمال کنیم. در مشکل جدیدمان یک تصویر به عنوان ورودی داریم، به عنوان مثال، این تصویر از یک گربه ناز در یک کیف (زیرا نمونه هایی با گربه ها همیشه بهترین هستند).
در مورد نتیجه ما، اجازه دهید این بار بگوییم که ما سه برچسب ممکن داریم: ببر، گربه و روباه. اگر برای این کار به انگیزه ای نیاز دارید، فرض کنید می خواهیم از گله گوسفندان محافظت کنیم و اگر ببری را دیدیم زنگ خطر را به صدا در آوریم، اما اگر گربه یا روباه را دیدیم نه.
ما قبلاً می دانیم که این دوباره یک کار طبقه بندی است زیرا خروجی فقط می تواند یکی از چند کلاس ثابت را بگیرد. بنابراین، درست مانند قبل، میتوانیم به سادگی از برخی دادههای برچسبدار موجود (یعنی تصاویر با برچسبهای کلاس اختصاص داده شده) استفاده کنیم و یک مدل یادگیری ماشینی را آموزش دهیم.
با این حال، دقیقاً نحوه پردازش یک ورودی بصری کاملاً واضح نیست، زیرا یک رایانه فقط می تواند ورودی های عددی را پردازش کند. البته انرژی و سرعت آهنگ ما عددی بود. و خوشبختانه، تصاویر فقط ورودی های عددی هستند زیرا از پیکسل تشکیل شده اند. آنها دارای ارتفاع، عرض و سه کانال (قرمز، سبز و آبی) هستند. بنابراین در تئوری، ما میتوانیم پیکسلها را مستقیماً به یک مدل یادگیری ماشینی وارد کنیم (در حال حاضر نادیده بگیرید که یک عنصر فضایی در اینجا وجود دارد، که قبلاً به آن نپرداختهایم).
با این حال اکنون با دو مشکل مواجه هستیم. اول، حتی یک تصویر کوچک و با کیفیت پایین 224x224 از بیش از 150000 پیکسل (224x224x3) تشکیل شده است. به یاد داشته باشید، ما در مورد حداکثر صدها متغیر ورودی صحبت می کردیم (به ندرت بیش از هزار)، اما اکنون ناگهان حداقل 150000 متغیر داریم.
دوم، اگر به رابطه بین پیکسلهای خام و برچسب کلاس فکر میکنید، حداقل از منظر ML این رابطه فوقالعاده پیچیده است. مغز انسان ما این توانایی شگفت انگیز را دارد که به طور کلی ببرها، روباه ها و گربه ها را به راحتی تشخیص دهد. با این حال، اگر 150000 پیکسل را یک به یک می دیدید، نمی دانستید که تصویر حاوی چه چیزی است. اما این دقیقاً همان چیزی است که یک مدل یادگیری ماشینی آنها را می بیند، بنابراین باید از ابتدا نگاشت یا رابطه بین آن پیکسل های خام و برچسب تصویر را بیاموزد، که کار بی اهمیتی نیست.
اگر ورودی متن باشد چگونه کار می کند؟
بیایید نوع دیگری از رابطه ورودی-خروجی را در نظر بگیریم که بسیار پیچیده است، رابطه بین یک جمله و احساس آن. منظور ما از احساس معمولاً احساسی است که یک جمله منتقل می کند، در اینجا مثبت یا منفی.
بیایید دوباره تنظیم مشکل را رسمی کنیم: به عنوان ورودی در اینجا دنباله ای از کلمات داریم، به عنوان مثال، یک جمله، و احساس متغیر نتیجه ما است. مانند قبل، این یک کار طبقه بندی است، این بار با دو برچسب ممکن، یعنی مثبت یا منفی.
همانطور که با مثال تصویری که قبلاً مورد بحث قرار گرفت، ما به عنوان انسان این رابطه را به طور طبیعی درک می کنیم، اما آیا می توانیم به یک مدل یادگیری ماشینی آموزش دهیم که همین کار را انجام دهد؟
قبل از پاسخ دادن به آن، در ابتدا مشخص نیست که چگونه می توان کلمات را به ورودی های عددی برای یک مدل یادگیری ماشین تبدیل کرد. در واقع، این یک یا دو سطح پیچیدهتر از آنچه در تصاویر دیدهایم است، که همانطور که دیدیم اساساً از قبل عددی هستند. در مورد کلمات اینطور نیست. ما در اینجا وارد جزئیات نمی شویم، اما چیزی که باید بدانید این است که هر کلمه را می توان به یک کلمه جاسازی کرد.
به طور خلاصه، جاسازی کلمه نشان دهنده معنای معنایی و نحوی کلمه است، اغلب در یک زمینه خاص. این تعبیهها را میتوان به عنوان بخشی از آموزش مدل یادگیری ماشین یا با استفاده از یک روش آموزشی جداگانه به دست آورد. معمولاً جاسازیهای کلمه از دهها تا هزاران متغیر در هر کلمه تشکیل میشود.
به طور خلاصه، آنچه از اینجا حذف می شود این است که می توانیم یک جمله را برداریم و آن را به دنباله ای از ورودی های عددی تبدیل کنیم، یعنی کلمه embeddings که حاوی معنای معنایی و نحوی است. سپس این می تواند به یک مدل یادگیری ماشینی وارد شود. (دوباره، اگر دقت کنید، ممکن است متوجه شوید که یک بعد متوالی جدید وجود دارد که بر خلاف نمونههای قبلی ما است، اما ما در اینجا نیز از آن چشمپوشی میکنیم.)
عالی است، اما اکنون با همان چالشهایی مواجه هستیم که در ورودی بصری وجود دارد. همانطور که می توانید تصور کنید، با یک جمله طولانی (یا پاراگراف یا حتی یک سند کامل)، می توانیم به سرعت به تعداد بسیار زیادی از ورودی ها به دلیل اندازه بزرگ جاسازی کلمات برسیم.
مشکل دوم رابطه بین زبان و احساسات آن است که بسیار پیچیده است. فقط به جمله ای مانند "سقوط عالی بود" و همه راه هایی که می توان آن را تفسیر کرد (و نه به طعنه) فکر کنید.
آنچه ما به آن نیاز داریم یک مدل یادگیری ماشینی بسیار قدرتمند و داده های بسیار است. اینجاست که یادگیری عمیق وارد می شود.
ما قبلاً با بررسی اصول یادگیری ماشین و انگیزههای استفاده از مدلهای قویتر، گام بزرگی در جهت درک LLM برداشتیم، و اکنون با معرفی یادگیری عمیق گام بزرگ دیگری برخواهیم داشت.
ما در مورد این واقعیت صحبت کردیم که اگر رابطه بین ورودی و خروجی بسیار پیچیده است، و همچنین اگر تعداد متغیرهای ورودی یا خروجی زیاد باشد (و هر دو مورد برای مثال های تصویری و زبان قبلی ما هستند)، به موارد بیشتری نیاز داریم. مدل های انعطاف پذیر و قدرتمند یک مدل خطی یا هر چیزی نزدیک به آن به سادگی قادر به حل این نوع وظایف طبقه بندی بصری یا احساسی نخواهد بود.
اینجاست که شبکه های عصبی وارد می شوند.
شبکه مصنوعی چیست؟
شبکههای عصبی مدلهای یادگیری ماشینی قدرتمندی هستند که امکان مدلسازی روابط پیچیده دلخواه را فراهم میکنند. آنها موتوری هستند که امکان یادگیری چنین روابط پیچیده ای را در مقیاس وسیع فراهم می کنند.
در واقع، شبکههای عصبی بهطور ضعیفی از مغز الهام میگیرند، اگرچه شباهتهای واقعی قابل بحث است. معماری اولیه آنها نسبتا ساده است. آنها متشکل از دنباله ای از لایه های "نرون" متصل هستند که یک سیگنال ورودی برای پیش بینی متغیر نتیجه از آنها عبور می کند. شما می توانید آنها را به عنوان لایه های چندگانه رگرسیون خطی در کنار هم در نظر بگیرید، با افزودن غیر خطی ها در بین آنها، که به شبکه عصبی اجازه می دهد تا روابط بسیار غیر خطی را مدل کند.
شبکههای عصبی اغلب لایههای عمیقی هستند (از این رو Deep Learning نامیده میشود)، به این معنی که میتوانند بسیار بزرگ باشند. به عنوان مثال، ChatGPT بر اساس یک شبکه عصبی متشکل از 176 میلیارد نورون است که بیش از حدود 100 میلیارد نورون در مغز انسان است.
بنابراین، از اینجا به بعد ما یک شبکه عصبی را به عنوان مدل یادگیری ماشین خود فرض می کنیم و در نظر می گیریم که نحوه پردازش تصاویر و متن را نیز یاد گرفته ایم.
در نهایت، میتوانیم درباره مدلهای زبان بزرگ صحبت کنیم، و اینجاست که همه چیز واقعاً جالب میشود. اگر تا اینجا پیش رفته اید، باید دانش کافی برای درک LLM را داشته باشید.
راه خوبی برای شروع چیست؟ احتمالاً با توضیح اینکه مدل زبان بزرگ واقعاً به چه معناست. ما قبلاً می دانیم معنی بزرگ چیست، در این مورد به سادگی به تعداد نورون ها که پارامترها نیز نامیده می شوند در شبکه عصبی اشاره دارد. هیچ عدد مشخصی برای اینکه چه چیزی یک مدل زبان بزرگ را تشکیل می دهد وجود ندارد، اما ممکن است بخواهید هر چیزی که بیش از 1 میلیارد نورون است را بزرگ در نظر بگیرید.
با این وجود، «مدل زبان» چیست؟ بیایید در ادامه درباره این موضوع بحث کنیم، و فقط بدانید که در مدتی کوتاه، ما همچنین خواهیم فهمید که GPT در ChatGPT چیست. اما یک قدم در یک زمان.
مدل های زبانی چیست؟
بیایید ایده زیر را در نظر بگیریم و آن را به عنوان یک مسئله یادگیری ماشینی در نظر بگیریم: کلمه بعدی در یک دنباله معین از کلمات، به عنوان مثال، در یک جمله یا پاراگراف چیست؟ به عبارت دیگر، ما به سادگی می خواهیم یاد بگیریم که چگونه کلمه بعدی را در هر زمان پیش بینی کنیم. از قبل در این مقاله، ما همه چیزهایی را که برای در نظر گرفتن آن به عنوان یک مشکل یادگیری ماشین نیاز داریم، یاد گرفتیم. در واقع، این کار بی شباهت به طبقه بندی احساساتی نیست که قبلاً دیدیم.
همانطور که در آن مثال، ورودی شبکه عصبی دنباله ای از کلمات است، اما اکنون، نتیجه به سادگی کلمه بعدی است. باز هم، این فقط یک کار طبقه بندی است. تنها تفاوت این است که به جای تنها دو یا چند کلاس، اکنون به تعداد کلمات کلاس داریم، فرض کنید حدود 50000 کلاس. این همان چیزی است که مدل سازی زبان در مورد آن است، یادگیری پیش بینی کلمه بعدی.
بسیار خوب، بنابراین، همانطور که می توانید تصور کنید، این دستورات بزرگی پیچیده تر از طبقه بندی احساسات باینری است. اما اکنون که در مورد شبکههای عصبی و قدرت محض آنها نیز میدانیم، تنها پاسخ به این نگرانی واقعاً «چرا نه؟» است.
البته، ما در اینجا خیلی چیزها را ساده می کنیم (همانطور که در سراسر مقاله انجام می شود). در واقعیت، همه چیز کمی پیچیدهتر است، اما این نباید ما را از درک مکانیک اصلی باز دارد، به همین دلیل است که ما برخی از جزئیات را ساده کرده و حذف میکنیم.
آموزش عظیم داده ها در LLM
ما وظیفه را می دانیم و اکنون برای آموزش شبکه عصبی به داده نیاز داریم. در واقع ایجاد داده های زیادی برای کار "پیش بینی کلمه بعدی" ما دشوار نیست. متنهای فراوانی در اینترنت، در کتابها، در مقالات تحقیقاتی و موارد دیگر وجود دارد. و ما به راحتی می توانیم یک مجموعه داده عظیم از همه اینها ایجاد کنیم. ما حتی نیازی به برچسب گذاری داده ها نداریم، زیرا کلمه بعدی خود برچسب است، به همین دلیل به آن یادگیری خود نظارتی نیز می گویند.
تصویر بالا نحوه انجام این کار را نشان می دهد. فقط یک سکانس را می توان به چندین سکانس برای آموزش تبدیل کرد. و ما چنین سکانس های زیادی داریم. نکته مهم این است که ما این کار را برای بسیاری از دنباله های کوتاه و طولانی (بعضی تا هزاران کلمه) انجام می دهیم تا در هر زمینه ای یاد بگیریم که کلمه بعدی باید چه باشد.
به طور خلاصه، تمام کاری که ما در اینجا انجام می دهیم این است که یک شبکه عصبی (LLM) را آموزش دهیم تا کلمه بعدی را در یک دنباله معین از کلمات پیش بینی کند، مهم نیست که آن دنباله طولانی باشد یا کوتاه، در آلمانی یا انگلیسی یا به هر زبان دیگری. ، چه یک توییت باشد یا یک فرمول ریاضی، یک شعر یا یک قطعه کد. همه آنها دنباله هایی هستند که در داده های آموزشی خواهیم یافت.
اگر یک شبکه عصبی به اندازه کافی بزرگ و همچنین داده های کافی داشته باشیم، LLM در پیش بینی کلمه بعدی واقعاً خوب می شود. آیا کامل خواهد شد؟ نه، البته نه، زیرا اغلب کلمات متعددی وجود دارد که می توانند دنباله ای را دنبال کنند. اما در انتخاب یکی از کلمات مناسب که از نظر نحوی و معنایی مناسب هستند خوب می شود.
نسل زبان های طبیعی
اکنون که میتوانیم یک کلمه را پیشبینی کنیم، میتوانیم دنباله توسعهیافته را به LLM برگردانیم و کلمه دیگری را پیشبینی کنیم و غیره. به عبارت دیگر، با استفاده از LLM آموزش دیده خود، اکنون می توانیم متن تولید کنیم، نه فقط یک کلمه. به همین دلیل است که LLM ها نمونه ای از چیزی هستند که ما آن را Generative AI می نامیم. ما به تازگی به LLM یاد داده ایم که هر بار یک کلمه صحبت کند.
یک جزئیات دیگر در این مورد وجود دارد که به نظر من درک آن مهم است. ما لزوماً نباید همیشه محتمل ترین کلمه را پیش بینی کنیم. در عوض میتوانیم مثلاً از پنج کلمه محتمل در یک زمان معین نمونه برداری کنیم. در نتیجه، ممکن است خلاقیت بیشتری از LLM دریافت کنیم. برخی از LLM ها در واقع به شما این امکان را می دهند تا انتخاب کنید که خروجی چقدر قاطعانه یا خلاقانه باشد. همچنین به همین دلیل است که در ChatGPT، که از چنین استراتژی نمونهگیری استفاده میکند، معمولاً وقتی یک پاسخ را ایجاد میکنید، پاسخ مشابهی دریافت نمیکنید.
وقتی صحبت از ChatGPT شد، اکنون می توانید از خود بپرسید که چرا ChatLLM نامیده نمی شود. همانطور که مشخص است، مدل سازی زبان پایان داستان نیست، در واقع فقط شروع است. بنابراین GPT در ChatGPT مخفف چیست؟
ترانسفورماتور از پیش آموزش دیده مولد به چه معناست
ما در واقع به تازگی یاد گرفتیم که G مخفف چیست، یعنی "تولید کننده"، به این معنی که به بهانه تولید زبان آموزش داده شده است، که در مورد آن بحث کردیم. اما P و T چطور؟
ما در اینجا T را که مخفف "تبدیل کننده" است، نه چیزی که در فیلم ها آمده است (با عرض پوزش)، بلکه به سادگی از نوع معماری شبکه عصبی استفاده شده است، می پردازیم. این واقعاً نباید در اینجا ما را آزار دهد، اما اگر کنجکاو هستید و فقط می خواهید نقطه قوت اصلی آن را بدانید، این است که معماری ترانسفورماتور بسیار خوب کار می کند زیرا می تواند توجه خود را بر روی بخش هایی از دنباله ورودی متمرکز کند که مرتبط ترین هستند. هر زمان. شما می توانید استدلال کنید که این شبیه به نحوه کار انسان است. ما نیز باید توجه خود را بر آنچه که بیشتر مربوط به کار است متمرکز کنیم و بقیه را نادیده بگیریم.
حال به P، که مخفف "pre-training" است. در ادامه بحث می کنیم که چرا ناگهان شروع به صحبت در مورد قبل از تمرین می کنیم و دیگر فقط تمرین نمی کنیم.
دلیل آن این است که مدل های زبان بزرگ مانند ChatGPT در واقع در مراحل آموزش داده می شوند.
فاز یادگیری در مدل زبانی بزرگ
در این بخش می خواهیم با فاز یادگیری در LLM بپردازیم:
قبل از آموزش
مرحله اول قبل از آموزش است، که دقیقاً همان چیزی است که ما اکنون از آن عبور کرده ایم. این مرحله به حجم عظیمی از داده ها برای یادگیری پیش بینی کلمه بعدی نیاز دارد. در آن مرحله، مدل نه تنها به تسلط بر گرامر و نحو زبان می آموزد، بلکه دانش زیادی در مورد جهان و حتی برخی توانایی های نوظهور دیگر که بعداً در مورد آنها صحبت خواهیم کرد، به دست می آورد.
اما حالا من چند سوال از شما دارم: اول، مشکل این نوع پیشآموزش چیست؟ خوب، مطمئناً تعداد کمی وجود دارد، اما موردی که در اینجا میخواهم به آن اشاره کنم مربوط به چیزی است که LLM واقعاً آموخته است.
یعنی عمدتاً یاد گرفته است که در مورد یک موضوع پرسه بزند. حتی ممکن است کار فوقالعاده خوبی انجام دهد، اما کاری که انجام نمیدهد این است که به نوع ورودیهایی که معمولاً میخواهید به یک هوش مصنوعی بدهید، مانند یک سؤال یا یک دستورالعمل، به خوبی پاسخ میدهد. مشکل این است که این مدل یاد نگرفته است که یک دستیار باشد و به همین دلیل رفتار دستیار را ندارد.
به عنوان مثال، اگر از یک LLM از قبل آموزش دیده بپرسید "نام مشت شما چیست؟" ممکن است با "نام خانوادگی شما چیست؟" پاسخ دهد. صرفاً به این دلیل که این نوع دادههایی است که در طول آموزش، مانند بسیاری از اشکال خالی، دیده شده است. فقط سعی می کند دنباله ورودی را کامل کند.
صرفاً به این دلیل که این نوع ساختار زبان، یعنی دستورالعملی که با پاسخ همراه است، با پیروی از دستورالعمل ها خوب عمل نمی کند، معمولاً در داده های آموزشی دیده نمی شود. شاید Quora یا StackOverflow نزدیکترین نمایانگر این نوع ساختار باشند.
در این مرحله می گوییم که LLM با نیات انسان همسو نیست. هم ترازی یک موضوع مهم برای LLM ها است، و ما یاد خواهیم گرفت که چگونه می توانیم این مشکل را تا حد زیادی برطرف کنیم، زیرا همانطور که مشخص است، آن LLM های از پیش آموزش دیده در واقع کاملاً قابل هدایت هستند. بنابراین حتی اگر در ابتدا به دستورالعملها به خوبی پاسخ نمیدهند، میتوان این کار را به آنها آموزش داد.
تنظیم دقیق دستورالعمل و RLHF
اینجاست که تنظیم دستورالعمل وارد میشود. ما LLM از قبل آموزشدیده را با تواناییهای فعلیاش میگیریم و اساساً همان کاری را انجام میدهیم که قبلاً انجام میدادیم، یعنی یاد میگیریم هر بار یک کلمه را پیشبینی کنیم، اما اکنون این کار را فقط با استفاده از آموزش با کیفیت بالا انجام میدهیم و جفت های پاسخ به عنوان داده های آموزشی ما.
به این ترتیب، مدل یاد میگیرد که صرفاً یک تکمیلکننده متن باشد و یاد میگیرد که به یک دستیار مفید تبدیل شود که دستورالعملها را دنبال میکند و به روشی پاسخ میدهد که با هدف کاربر همسو باشد. اندازه این مجموعه داده دستورالعمل معمولاً بسیار کوچکتر از مجموعه قبل از آموزش است. این به این دلیل است که ساخت جفتهای دستورالعمل-پاسخ با کیفیت بالا بسیار گرانتر است، زیرا معمولاً از انسان تهیه میشوند. این بسیار متفاوت از برچسب های ارزان قیمتی است که ما در قبل از آموزش استفاده می کردیم. به همین دلیل است که این مرحله تنظیم دقیق دستورالعمل نظارت شده نیز نامیده می شود.
همچنین مرحله سومی وجود دارد که برخی از LLM ها مانند ChatGPT از آن عبور می کنند، که یادگیری تقویتی از بازخورد انسانی (RLHF) است. ما در اینجا وارد جزئیات نمی شویم، اما هدف مشابه تنظیم دقیق دستورالعمل است. RLHF همچنین به همسویی کمک می کند و تضمین می کند که خروجی LLM ارزش ها و ترجیحات انسانی را منعکس می کند. برخی تحقیقات اولیه وجود دارد که نشان میدهد این مرحله برای رسیدن یا پیشی گرفتن از عملکرد در سطح انسانی حیاتی است. در واقع، ترکیب زمینههای یادگیری تقویتی و مدلسازی زبان بهویژه امیدوارکننده است و احتمالاً منجر به پیشرفتهای گستردهای نسبت به LLMهایی که در حال حاضر داریم، میشود.
نتیجه
قبل از اتمام کار، میخواهم به سؤالی که قبلاً در مقاله پرسیدم پاسخ دهم. آیا واقعاً LLM فقط کلمه بعدی را پیشبینی میکند یا چیزهای بیشتری برای آن وجود دارد؟ برخی از محققان برای دومی استدلال میکنند و میگویند که برای اینکه در هر زمینهای در پیشبینی کلمات بعدی بسیار خوب عمل کند، LLM باید در واقع درک فشردهای از جهان درونی به دست آورده باشد. نه، همانطور که دیگران استدلال می کنند، این مدل به سادگی یاد گرفته است که الگوهای مشاهده شده در طول آموزش را به خاطر بسپارد و کپی کند، بدون اینکه درک واقعی از زبان، جهان یا هر چیز دیگری نداشته باشد.
احتمالاً در این مرحله هیچ درست یا غلط روشنی بین این دو طرف وجود ندارد. فقط ممکن است نگاه متفاوتی به یک چیز باشد. واضح است که این LLM ها بسیار مفید هستند و دانش و توانایی های استدلالی چشمگیر را نشان می دهند و حتی ممکن است جرقه هایی از هوش عمومی را نشان دهند. اما اینکه آیا یا تا چه حد به هوش انسان شباهت دارد یا خیر، هنوز مشخص نیست، و همینطور است که مدل سازی زبان بیشتر تا چه حد می تواند وضعیت هنر را بهبود بخشد.
امیدوارم که این مقاله به شما کمک کند تا LLM ها و جنون جاری پیرامون آنها را درک کنید تا بتوانید نظر خود را در مورد پتانسیل ها و خطرات هوش مصنوعی شکل دهید. تصمیم گیری درباره نحوه استفاده از هوش مصنوعی به نفع جهان، تنها به محققان هوش مصنوعی و دانشمندان داده بستگی ندارد. همه باید بتوانند حرفی برای گفتن داشته باشند. به همین دلیل است که می خواستم مقاله ای بنویسم که به دانش پیش زمینه زیادی نیاز ندارد.