برنامه نویسی

صعب العبور در زیرساخت های هوش مصنوعی ، Bearish در چارچوب های توسعه دهنده AI

وقتی گفتم “اعتیاد به کتابخانه AI را بخرید” ، یکی از پاسخهای متداول این بود که “آیا به جای آن $ new_ai_framework را امتحان کردید؟”

بعد از فکر کردن در مورد این نظرات ، فهمیدم که قاب بندی من از فضای چارچوب توسعه دهنده AI به عنوان یک مسئله بلوغ کاملاً صحیح نیست. من می بینم ساختاری کمبود در این بازار ، و من معتقدم که بسیاری از چارچوبهای توسعه دهنده AI (بیشترین؟) از این شکاف رنج می برند.

بگذارید توضیح دهم

یک برنامه AI (باید باشد) یک برنامه ناهمزمان رویداد محور

به عنوان زمینه ، من معتقدم که اکثر برنامه های هوش مصنوعی باید یک معماری مبتنی بر رویداد محور و ناهمزمان را اتخاذ کنند. این امر به این دلیل است که بیشتر عملیات هوش مصنوعی (به عنوان مثال ، محاسبه تعبیه یا تماس با LLM) دارای تأخیر بالایی است. در یک معماری همزمان ، تماس با LLM می تواند یک نخ را برای ده ها ثانیه (یا طولانی تر!) اشغال کند در حالی که منتظر پاسخ است.

در یک معماری ناهمزمان ، برنامه یک تماس روش از راه دور (RPC) را به LLM ارسال می کند و در حالی که منتظر پاسخ است ، به کارهای دیگر منتقل می شود. این رویکرد غیر مسدود کننده تضمین می کند که موضوعات به هم گره خورده اند و به برنامه اجازه می دهد تا به طور همزمان درخواست های دیگر یا گردش کار را انجام دهد. هنگامی که LLM پاسخ داد ، یک شنونده رویداد یا مکانیسم پاسخ به پاسخ پاسخ را پردازش می کند و دوباره آن را در گردش کار مجدداً ادغام می کند.

مقدار اصلی چارچوب های توسعه دهنده AI: قند نحوی و استاندارد سازی

چارچوب های توسعه دهنده هوش مصنوعی مانند Langchain ، Llamaindex ، Mirascope به طور کلی ایجاد این RPC ها را آسان تر می کند ، که می تواند پیچیده باشد. به عنوان مثال ، یک RPC معمولی می تواند شامل موارد زیر باشد:

  • سریع “سیستم” ، که زمینه کلی برای تعامل AI را تعیین می کند
  • سریع “کاربر” ، که حاوی سوال واقعی در دست است
  • زمینه تاریخی ، که شامل هر تاریخچه مکالمه مربوطه است
  • زمینه سؤال ، که شامل هر داده ای است که ممکن است مربوط به خود سریع باشد (به عنوان مثال ، یک سند PDF)

اما در حالی که مونتاژ همه این جزئیات می تواند پیچیده و وقت گیر برای یک توسعه دهنده باشد ، گردش کار نسبتاً ساده است (در بیشتر موارد ، شما یک شیء JSON را برای ارسال با RPC خود جمع می کنید). واقعیت این است که این چارچوب های توسعه دهنده با تهیه بسته های نازک در اطراف دسته ای از سایر کتابخانه های سطح پایین ، الگوهای طراحی مشترک را رمزگذاری می کنند.

بنابراین ، ارزش اصلی این کتابخانه ها “بهره وری توسعه دهنده” نیست. ارزش اصلی این کتابخانه ها است استاندارد سازی (H/T Erick Friis) از طریق قند نحوی. برای سازمانهایی که دارای بسیاری از توسعه دهندگان هستند ، سازگاری برای حفظ قابلیت حفظ مهم است و این کتابخانه ها ثبات را ارائه می دهند. خارج از قوام ، من اعتقاد ندارم که این چارچوب ها ارزش زیادی را ارائه می دهند.

بنابراین چه چارچوب ها و ابزارها انجام دادن مقدار اضافه کنید؟

در حالی که کتابخانه های توسعه دهنده AI برای اکثر توسعه دهندگان ارزشمند نیستند (استاندارد سازی یک مزیت سازمانی است) ، من معتقدم سه دسته از کتابخانه ها و زیرساخت هایی که توسعه دهندگان AI از آن استفاده می کنند وجود دارد که دارای ارزش ماندگار هستند: زیرساخت های رویداد محور ، آموزش مدل و استنتاج مدل بشر نرم افزار در این سه دسته برای اجرای همه چیز غیر مهم است و بخش های مهمی از یک برنامه هوش مصنوعی را تشکیل می دهد.

زیرساخت های محور رویداد

با توجه به تأخیر زیاد در پاسخ LLM ، تقریباً تمام برنامه های هوش مصنوعی یک معماری محور رویداد را اتخاذ می کنند. کتابخانه های I/O ناهمزمان ، صف پیام و سایر نرم افزارهای زیرساختی که برای معماری های رویداد محور ایجاد شده اند ، امروزه در عصر هوش مصنوعی حتی بیشتر اهمیت دارند.

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

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

آموزش مدل

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

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

استنباط مدل

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

  • موتورهای استنتاج: ابزارهایی مانند VLLM با بهینه سازی جریان توکن و استفاده از GPU ، مشکل اصلی استنباط با تأخیر بالا را برطرف می کنند. این موارد فقط “خوب و خوب” نیستند-با وجود آنها ، زمان پاسخ می تواند برنامه شما را غیرقابل استفاده کند.
  • حافظه پنهان KV: انبارهای تخصصی برای LLM ها مانند LMCache می توانند به طور چشمگیری تأخیر LLM را کاهش داده و مقیاس پذیری را بهبود بخشند.
  • تولید خروجی ساختاری: تولید داده های ساخت یافته قابل اعتماد بی اهمیت نیست. كتابخانه ها مانند طرح ها با بسته بندی تولید با اعتبار سنجی طرحواره ، صرفه جویی در زمان توسعه قابل توجه و كاهش خطاهای پایین دست ، این مسئله را برطرف می كنند.

(یک تغییر وجود دارد که در آن اتفاق می افتد که تخصیص 💰 به استنتاج در مقابل آموزش ، یک بنگ بهتر برای صحت را که باید مورد بررسی قرار گیرد ، فراهم می کند ، اما این یک پست دیگر است.)

اکوسیستم AI در حال تحول

در حالی که من به طور کلی نسبت به اکوسیستم هوش مصنوعی خوش بین هستم ، من نسبت به آینده کتابخانه های توسعه دهنده هوش مصنوعی در این اکوسیستم بدبین هستم. تیم Langchain همچنین با معرفی Langsmith (AI Observability) و Langgraph (گردش کار بادوام) فراتر از کتابخانه اصلی خود است. ابزارهایی که شکوفا می شوند ، مواردی هستند که مشکلات سخت را حل می کنند و از طریق یک تجربه عالی توسعه دهنده قابل دسترسی هستند. ما هنوز در ابتدای کار هستیم و چیزهای بیشتری برای آمدن داریم!

(با تشکر از ویلیام باکست و اریک فریس برای بازخورد.)

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا