GPT-3: قابلیتی خلاقانه در پردازش زبان طبیعی (NLP)
در این مقاله سعی داریم به قابلیتی خلاقانه از مدل GPT-3 بپردازیم. OpenAI در ماه فوریه سال گذشته یافتههای خود را در مورد آموزش مدل بینظارت پردازش زبان به نام GPT-2 منتشر کرد. این مدل روی 40 گیگابایت متن (گرفتهشده از 8 وبسایت Mio) آموزش دیده و قادر بود کلمات مجاور Words in proximity را پیشبینی کند. معماری مدل GPT-2 مبتنی بر یک مدل ترنسفرمر است که با مکانیزم خودتوجه Self-attention اجرا شده و برای ما امکان تولید متنهایی شبهواقعی و منسجم را فراهم میکند. مدل اصلی 1.5 میلیارد پارامتر داشت و متنهایی با کیفیت بسیار بالا تولید میکرد؛ به همین دلیل در ابتدا در دسترس عموم قرار نگرفت تا جلوی تولید و انتشار اخبار کذب و کنترلنشده گرفته شود. البته خوشبختانه این مدل بعداً منتشر شده و حتی در نوتبوکهای colab نیز در دسترس قرار گرفت.
امسال هم OpenAI با یک مدل زبانی جدید به نام GPT-3، با 175 میلیارد پارامتر، برگشته است.
مدل GPT-3 چطور کار میکند؟
OpenAI در حال ساخت یک API است؛ این رابط در حال حاضر از طریق لیست انتظار قابل دسترسی میباشد.
خوشبختانه من امکان دسترسی به GPT-3 و تجربه مستقیم آن را داشتم و اینجا برخی از آموختههای خود را به اشتراک خواهم گذاشت.
رابط، تنظیمات، پیشتنظیمات
رابط interface Playground هوش مصنوعی ساده به نظر میرسد اما واقعاً قوی است. یکی از دلایل این موضوع، قابلیت تغییر تنظیمات طول متن، رنگ (پایین/ کسلکننده تا استاندارد و سپس تا غیرمنسجم/خلاقانه) و سایر ویژگیها از طریق تنظیمات گفتگو Setting dialogue است.
علاوه بر این، با استفاده از این تنظیمات گفتگو میتوانید تعیین کنید متن تولیدشده کجا آغاز و پایان یابد. این دستورات کنترلشده بر کیفیت متن نهایی تأثیر مستقیم دارند.
این رابط ساده برخی از پیشتنظیمات GPT-3 را نیز در بردارد. نکته بسیار جالب در مورد مدلهای مبتنی بر طراحی ترنسفرمر GPT، قابلیت شناسایی سبک غالب، خصوصیت متن و ساختار خاص آن است. برای مثال در صورتی که کار را با لیستها شروع کنید، GPT-3 نیز در ادامه لیست تولید میکند. اگر فرمان شروع شما به شکل پرسش و پاسخ باشد، مدل همین ساختار را ادامه میدهد و اگر هم یک شعر بخواهید، برایتان شعر مینویسد.
[irp posts=”20237″]در کار با این مدلها دو گزینه دارید: میتوانید پیشتنظیمات مدنظر خود را اعمال کنید و یا اینکه از حالتی که از پیش وجود دارد و میتواند به شکل زیر باشد، استفاده نمایید.
گفت و گو
تنظیمات معمول چتبات (بات گفتگو) این است که شما سؤال میپرسید و هوش مصنوعی پاسخ میدهد. امکان تغییر شخصیتها و تنظیمات وجود دارد. تصویر پایین مثال خوبی از موقعیت گفتگو و عملکرد مناسب مدل است (با اینکه سؤال سوم من، انسان، منصفانه نبود).
حال برای اینکه تاثیر مفهوم(کانتکس) را درک کنید، کاراکتر هوش مصنوعی را از یاریکننده و بسیار دوستانه به خشن، نادان و غیردوستانه تغییر میدهیم. حال میتوانید ببینید گفتگو چطور متأثر از مفهوم، میشود.
حالت بعدی، پرسش و پاسخ:
در این پیشتنظیمات یک ساختار دوگانه Dual structure پرسش و پاسخ واضح وجود دارد. قبل از اینکه مدل قادر به پاسخ باشد و قوانین را درک کند، نیاز به آموزش دارد (بعد از آموزش به خوبی کار خواهد کرد). همانطور که در تصویر پایین مشاهده میکنید، چندین سؤال تصادفی از حوزههای گوناگون پرسیدم و نتیجه حاکی از عملکرد عالی مدل بود.
حالت بعد، تجزیه دادههای بدون ساختار
این مثال نشاندهندهی توانایی بالای مدل در یک متن بدون ساختار و استخراج دادههای ساختاریافته از آن متن است.
خلاصه و جمعبندی به زبان ساده
در این پیشتنظیمات سطحی از درک مدل نشان داده میشود که در آن مفاهیم و جملات دشوار به کلمات واضح و روان برگردانده میشوند.
برای مثال این مورد، از یکی از نوشتههای ویتگنشتاین Wiitgenstein استفاده کردم.
این ضربالمثل ساده را میتوان به شکل قانعکنندهای با وضوح بیشتر توضیح داد.
برای مشاهده مثالی دیگر، به این متن واضح و روانی که از مفهوم فاصلهگیری زمانی Time distancing سیگموند فروید Sigmund Freud برگرفته شده، توجه نمایید.
همانطور که مشاهده میکنید، فشردهسازی متن و برگردان یکپارچه آن یکی از نقاط قوت GPT-3 به شمار میرود.
زبانها
مدل GPT-2 یک مدل زبانی خیلی خوب برای زبان انگلیسی محسوب میشد. با کمک این مدل میتوانستید متون بسیار جذابی تولید کنید؛ چرا که این مدل 1.5 میلیارد پارامتر داشت. من مدل GPT-2 را روی نمایشنامه یک فیلم کوتاه امتحان کردم.
در نتیجه آن آزمایش متنی به دست آوردم که در آن دیالوگها منطقی و گاهاً فیالبداهه بودند. اما این قابلیت مخصوص زبان انگلیسی بود. اگر ورودی به زبان دیگری بود، در فهم خروجی این مدل به مشکل برمیخوردید. در چنین شرایطی مدل GPT-2 سعی میکرد زبانهای جدید را تقلید کند، اما بدین منظور لازم بود آن را روی بانک اطلاعاتی از متونی در آن زبان خاص به دقت تنظیم کنید تا به نتایج خوبی دست یابید.
مدل GPT-3 از این منظر تفاوت دارد. قابلیت پردازش آن در زبانهای دیگر خارقالعاده است. من زبانهای آلمانی، روسی و ژاپنی را روی آن امتحان کردم.
آلمانی:
از مدل GPT-3 خواستیم یک قصه به آلمانی بنویسد. قصه را با این جمله شروع کردیم:«یک گربهی بالدار داشت در پارک قدم میزد» (Eine Katze mit Flügeln ging im Park spazieren).
قصه تولیدشده خیلی خوب بود. حتی اجزای یک داستان خوب مثل کنایه و طنز، شخصیتهای برجسته و موضوعات کلیدی را نیز در برداشت. به بیان دیگر، نمیتوانیم این متن تولیدشده را مجموعهای از جملات متصل به هم بدانیم که توسط یک ماشین تولید شده است، بلکه با خواندن آن واقعاً یک قصه میبینیم.
روسی:
یک بار مدل GPT-2 را روی یکی از اشعار پوشکین Pushkin آموزش دادم و در متن تولیدشده واژهسازیهای جالبی مشاهده کردم؛ اما دستور زبان متن خیلی ضعیف بود. این بار در مدل GPT-3 چندین خط از این شعر را وارد کردم و به نتایج خیلی خوبی دست یافتم. ادامهی شعری که توسط مدل نوشته شد قافیه نداشت، اما از نظر سبک بسیار قدرتمند بود؛ هرچند با سبک خود شاعر، یعنی پوشکین، تفاوت داشت. اما به ندرت اشتباهی در متن یا خطایی در دستور زبان پیدا میشد و قطعاٌ یک شعر محسوب میشد.
ژاپنی:
نتیجه این کار منحصر به فرد بود. من یک جمله تصادفی وارد مدل کردم: «من گفتم امروز جالب و سرگرمکننده است» (今日は楽しい一日になりますように!と言いました。).
و حاصل یک داستان کوتاه درباره عبادت، شادی، خِرد و سرمایهگذاری مالی بود که به زبان معیار ژاپنی و با ساختاری خوب نوشته شده بود.
از آنچه گفته شد میتوانیم نتیجه بگیریم که مدل GPT-3 آماده پردازش متون چندزبانه است.
آزمایشات گوناگون (و علائم هشداردهنده)
ShakespAIre و شعرنویسی
به عنوان اولین آزمایش خواستم با کمک مدل یک غزل به سبک شکسپیر Shakespearean sonnet بنویسم. فرمان من این بود:
” در اینجا شعری از شکسپیر را میبینید (here is a poem by Shakespeare ”
نتیجه را در تصویر پایین مشاهده میکنید:
در این متن شاهد رعایت کامل قواعد شعرنویسی، سبک عالی، و وزن خوب هستیم. اما یک مشکل وجود دارد:
دو خط اول در حقیقت از یکی از اشعار الکساندر پوپ Alexander Pope گرفته شدهاند. پس لازم است در کار با GPT-3 جانب احتیاط را حفظ کنیم. زیرا با وجود توانایی مدل GPT-3 در تولید متونی خاص و منحصربهفرد، احتمال سرقت ادبی از متنهای موجود (که در آموزش مدل به کاررفتهاند) به صورت کامل و دست نخورده نیز وجود دارد.
برای حصول اطمینان از جدید و یکتا بودن متن خروجی، حتماً باید متن را مورد بازبینی مجدد قرار دهیم.
سؤالی که مطرح میشود این است که آیا در GPT-3 نیز مثل مدل StyleGAN2 امکان پیشبینی وجود دارد تا بدین طریق بتوان برای جلوگیری از سرقت علمی ادبی، آن را با دیتاست آموزشی (دیتاستی که مدل با استفاده از آن آموزش دیده) مقایسه کرد؟
با این وجود نکته اینجاست که GPT-3 میتواند به سبکهای مختلف و طبق خواسته شما شعر بگوید.
مقاله (انشاء)
خود من هنوز این کار را انجام ندادهام، اما از یکی از دوستانم خواستم با استفاده از GPT-3 یک مقاله در مورد کرت شویترس Kurt Schwitters، یک هنرمند آلمانی، و سبک دادائیست Dadaist بنویسد.
با مشاهده خروجی میتوان نتیجه گرفت که GPT-3 دانشی غنی دارد که قابلیت یادآوری دارد. شاید این دانش همیشه قابل اتکا نباشد (و برای رسیدن به تطابق معنایی خوب، نیاز به تنظیم دقیق داشته باشید)، اما با این حال به سخن طبیعی بسیار نزدیک است.
کدنویسی با GPT-3
یکی دیگر از قابلیتهای شگفتآور GPT-3 این است که با کمک آن به جز تولید متن، قادر به انجام بسیاری از مسائل گوناگون دیگر نیز خواهید بود. میتوانید از زبان برنامهنویسی CSS پشتیبانی بگیرید. به تازگی GPT-3 را هوش عمومی General intelligence میخوانند.
خلاصه
با اینکه هنوز ابتدای مسیر هستیم، طرحهای آزمایشی که جامعه هوش مصنوعی روی GPT-3 انجام داده، حاکی از توان، ظرفیت و تأثیرگذاری آن بودهاند. فقط باید به خاطر داشته باشیم که با دلیل و نیت خوب از این مدل استفاده کنیم (و به یاد داشته باشیم که در عوامل انسانی همیشه امکان اشتباه وجود دارد).