چگونه در عصر هوش مصنوعی مولد از پردازش زبان طبیعی ماژولار دفاع کنیم

با وجود تمام هیاهوی پیرامون هوش مصنوعی مولد (Generative AI)، بسیاری به این باور رسیده‌اند که این فناوری راه‌حل همه‌چیز است. بنابراین، شما به عنوان یک توسعه‌دهنده یا رهبر، چگونه می‌توانید ظرافت‌ها را منتقل کرده و از راه‌حل‌های جدید و ماژولار که بهتر، آسان‌تر و ارزان‌تر هستند، دفاع کنید؟

چند روز پیش سؤال جالبی در بخش نظرات لینکدین من مطرح شد:

در کارم متوجه شده‌ام که انتقال صرفه‌جویی در هزینه و سادگی استفاده از پردازش زبان طبیعی (NLP) در مقابل «هوش مصنوعی» (مدل‌های زبانی بزرگ - LLMs) دشوار است. هرچه بیشتر با spaCy کار می‌کنم، بیشتر متوجه می‌شوم که چه تعداد از وظایفی که برچسب «هوش مصنوعی» خورده‌اند، می‌توانند ارزان‌تر و با زمان توسعه بسیار کمتر انجام شوند. آیا توصیه‌ای برای انتقال مؤثر تفاوت‌ها دارید؟

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

این پدیده جدیدی هم نیست. در حدود سال ۲۰۱۶، در طول اولین موج هیجان هوش مصنوعی و چت‌بات‌ها، ما با توسعه‌دهندگان زیادی ملاقات کردیم که پس از بازگشت هیجان‌زده مدیرانشان از رویداد "World of Watson" در لاس وگاس (آگهی تبلیغاتی سوپر بول با حضور دان دریپر از سریال Mad Men را به خاطر دارید؟)، به طور فزاینده‌ای ناامید شده بودند. برخی از اولین پروژه‌های مشاوره‌ای ما در Explosion حول کمک به تیم‌ها برای جایگزینی پلتفرم‌های هوش مصنوعی خریداری‌شده با پایپ‌لاین‌های پردازش زبان طبیعی خودشان متمرکز بود، پس از آنکه متوجه شدند می‌توانند سیستم‌های بسیار بهتر، سریع‌تر و ارزان‌تری را خودشان بسازند.

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

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

با این حال، اغلب اوقات، ما خود را در حال مشاوره دادن علیه استفاده از مدل‌های زبانی بزرگ (LLM) برای تعدادی از موارد استفاده می‌یابیم، زیرا جایگزین‌های ارزان‌تر، سریع‌تر و با عملکرد بهتری وجود دارد. وقتی تنها چیزی که دارید مدلی مانند ChatGPT است، همه مشکلات شبیه مشکلات LLM به نظر می‌رسند، حتی اگر این کار معادل محاسباتی کوبیدن یک میخ با میکروسکوپی بسیار گران‌قیمت باشد.

نحوه تفکر ما درباره هوش مصنوعی مولد (MantisNLP)

اگر مدتی است که در این زمینه کار می‌کنید، احتمالاً این موضوع برای شما منطقی است. اما چگونه می‌توانید آن را در محیطی منتقل کنید که «یک مدل مولد برای حکم‌رانی بر همه» به طور گسترده به عنوان راه‌حل همه مشکلات تحسین می‌شود؟

بر گردش کارهای جدید تمرکز کنید

هوش مصنوعی مشکل اصطلاحات دارد و به طور فزاینده‌ای نامشخص است که مردم واقعاً منظورشان از آن چیست. همه چیز، از مدل‌های CNN وظیفه‌محور و эмбедینگ‌های BERT گرفته تا مدل‌های مولد و محصولاتی مانند ChatGPT، در مقطعی «هوش مصنوعی» یا «مدل زبانی بزرگ» (LLM) نامیده شده‌اند. این همچنین به این معنی است که ممکن است برخی از بخش‌های این فناوری به نفع بخش‌های دیگری که قابل دسترس‌تر به نظر می‌رسند، اما اغلب برای یک کار خاص کمتر مناسب هستند، نادیده گرفته شوند.

اگر با ذی‌نفعانی صحبت می‌کنید که در مورد هوش مصنوعی مولد هیجان‌زده هستند، ممکن است به راحتی این‌گونه به نظر برسد که «ما باید به هر قیمتی از آن استفاده کنیم!». گاهی اوقات شرکت‌ها واقعاً فقط یک پروژه پرستیژی می‌خواهند، اما اغلب، نکته اساسی ارائه ارزش تجاری است. آن‌ها به طور خاص در مورد هوش مصنوعی مولد سؤال می‌کنند زیرا می‌خواهند بدانند چه پروژه‌هایی به تازگی امیدوارکننده شده‌اند. اکنون چه کاری می‌توانیم انجام دهیم که قبلاً نمی‌توانستیم؟

پاسخ این است که مدل‌های زبانی بزرگ (LLM) تأثیر زیادی بر پردازش زبان طبیعی (NLP) دارند، به‌ویژه اگر فراتر از تولید متن در زمان اجرا بروید. این «NLP قدیمی» نیست - بلکه یک گام فراتر بردن آخرین فناوری است. به جای استفاده از مدل‌های مولد بزرگ به عنوان سیستم برای حل یک کار خاص، می‌توانید از آن‌ها برای ایجاد سیستم‌ها استفاده کنید. این می‌تواند شامل نوشتن کد یا توسعه منطق مبتنی بر قاعده، یا خودکارسازی ایجاد داده و تقطیر (distilling) مدل‌های بزرگ به مؤلفه‌های کوچک‌تری باشد که زیرمجموعه‌ای از وظایف مورد علاقه شما را انجام می‌دهند و آن را بهتر انجام می‌دهند.

فناوری را در بستر مناسب قرار دهید

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

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

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

گردش کار توسعه در طول زمان
گردش کار و فناوری‌های توسعه در طول زمان

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

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

راهنمای عملی برای تقطیر با دخالت انسان در حلقه

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

نشان دهید، نگویید

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

به عنوان مثال، کریس در S&P Global قبلاً به عنوان گزارشگر بازار معاملات کالا کار می‌کرد و سپس از مدل‌های زبانی بزرگ (LLM) برای ایجاد داده برای مدل‌های بسیار دقیق ۶ مگابایتی جهت ارائه بینش‌های ساختاریافته معاملات در زمان واقعی استفاده کرد. او توانست به سرعت به تنهایی یک نمونه اولیه بسازد و تیم او اکنون پایپ‌لاین‌های تخصصی مختلفی را در محیط عملیاتی اجرا می‌کند. جردن در Love Without Sound، یک تهیه‌کننده و آهنگساز موسیقی، از نزدیک تجربه کرد که چگونه هنرمندان به دلیل فراداده‌های نادرست موسیقی میلیون‌ها دلار حق امتیاز از دست می‌دهند و برنامه‌نویسی را به خود آموخت تا مجموعه‌ای ماژولار از مؤلفه‌ها را بسازد که با استفاده از پردازش زبان طبیعی ساختاریافته با این مشکل مقابله می‌کند.

بزرگ‌ترین گلوگاه برای راه‌حل‌های سفارشی قبلاً ایجاد و حاشیه‌نویسی داده بود. اما با یادگیری انتقالی و ابزارهایی مانند Prodigy، این دیگر واقعاً مسئله‌ای نیست. اکنون تنها چند ساعت کار متمرکز، ابزارهای تکرارشونده و اتوماسیون مناسب لازم است. من اغلب شوخی می‌کنم که احتمالاً زمان بیشتری را صرف راه‌اندازی GPU یا نصب CUDA کرده‌اید تا زمانی که این روزها برای ایجاد داده برای یک مدل تخصصی لازم است. اگر در تلاش برای اثبات لزوم توسعه هوش مصنوعی به صورت داخلی هستید، بهترین استدلال یک نمونه اولیه کارآمد است.