بررسی ساخت ChatGPT اختصاصی ویژه شرکت یا موسسه‌‌


ChatGPT
ChatGPT

با ظهور مدل‌های بزرگ زبانی، Large Language Models یا (LLM) مانند ChatGPT و GPT-4، بسیاری به این فکر افتاده‌اند که آیا می‌توان یک ChatGPT خصوصی با داده‌های سازمانی خود آموزش دهند؟

بر روی کاغذ بله، Warum Nicht (چرا که نه). اما سوای بحث‌های تکنیکی اجرا و هدایت و ساخت مدل، در عمل مشکلات زیادی باقی می‌ماند که باید پیش از اقدام عملی برای آن‌ها فکری کرد.

معایب تنظیم دقیق fine-tuning مدل زبانی بزرگ LLM با داده‌های خصوصی

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

چند اشکال عمومی به این رویکرد وارد است

۱- صحت و قابلیت پیگیری مطالب استخراج شده، پاسخ مدل از کجا و بر چه اساسی است؟

۲- کنترل دسترسی، محدود کردن دسترسی به اسناد خاصی برای کاربران یا گروه‌های ویژه کاربران شدنی و ممکن نیست.

۳- هزینه‌ها، اسناد و داده‌های جدید نیاز به ادغام با داده‌های قبلی دارند و این آموزش دوباره و میزبانی از مدلی که بدست می‌آید، همانند آموزش اولیه مدل‌هایی مانند مانند ChatGPT و GPT-4 بسیار هزینه‌بر است.

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

آیا آموزش خصوصی مدل زبانی بزرگ، شدنی است؟

با نظرداشت اشکالات عمومی ذکر شده، می‌توان راهکارهایی ارائه کرد.

  • تفکیک دانش از مدل زبانی

هرچند توجه و شگفتی عمومی بر پاسخ‌های مدل‌هایی مانند ChatGPT و GPT-4 به پرسش‌ها (درست/نادرست یا حیرت‌انگیز) متمرکز است، اما باید بخاطر بیاوریم که سوای محتوای پاسخ، توانایی درک و پردازش زبان طبیعی، اصلی‌ترین و مهم‌ترین ویژگی این مدل‌هاست. با تکیه بر این توانایی بی‌نظیر در پردازش زبان‌های طبیعی، اگر بتوانیم راهی برای تفکیک این ویژگی از محتوا و زمینه پاسخ پیدا کنیم، می‌توانیم امید داشته باشیم که با حفظ قابلیت پردازش زبان طبیعی، از آن برای پیدا کردن مربوط‌ترین و متناسب‌ترین پاسخ و ارایه دقیق‌ترین اطلاعات به کاربر استفاده کنیم. این راهکار در رفع و کاستن از اشکال شماره ۱ می‌تواند مفید باشد.

برای آموزش و اصطلاحا خوراندن (feed) همه اسناد زبانی باید ملاحظات اقتصادی را هم در نظر گرفت. مدل‌های بزرگ زبانی موجود محدودیت توکن ورودی دارند. مثلا GPT-3 تا ۴ هزار و GPT-4 هم محدودیت ۸ هزار یا ۳۲هزار توکن را دارد. هزینه بر حسب ۱۰۰۰ توکن محاسبه می‌شود و تعداد توکن کمتر یعنی هزینه کمتر.

بطور کلی روش کار اینست که هنگام پرسیدن پرسش از مدل، به او بگوییم که با توجه به سند یا اطلاعات ویژه ارائه شده، پاسخ خود را تولید کند.

  • بازیابی مرتبط‌ترین داده

برای اینکه مطمئن شویم مدل زبانی، اطلاعات ورودی درستی دارد، نیازمند برپایی نظام و سیستمی برای مدیریت دانش هستیم که مدل زبانی بتواند در آن جستجو کند. پیدا کردن راهی برای تعامل این ۲ سیستم، نیازی اساسی است تا مطمئن شویم قدرت پردازش زبانی و مفهومی مدل با داده‌های صحیح و دقیق مورد نظر ترکیب شده و بر روی آن اعمال می‌شود.

  • پیمانه کردن و تفکیک داده‌ها

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

  • افزودن متادیتا یا فراداده

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

  • نگه‌داری و استفاده از سوابق آموزش

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

  • فیلتر کردن خروجی و پاسخ سیستم

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

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