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

پادکست خلاصه کتاب «مهندسی استنتاج؛ چگونه هوش مصنوعی را سریع‌تر، ارزان‌تر و قابل‌اعتمادتر اجرا کنیم»

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

  • کتاب: مهندسی استنتاج؛ چگونه هوش مصنوعی را سریع‌تر، ارزان‌تر و قابل‌اعتمادتر اجرا کنیم
  • نویسنده: فیلیپ کیلی (Philip Kiely)
  • ناشر: Baseten Books
  • سال انتشار: ۲۰۲۶
  • مدت: ۱۹ دقیقه
  • انتشار: ۱۴۰۵/۰۸/۰۶
  • ۴ بار شنیده شده

خلاصه صوتی کتاب «مهندسی استنتاج؛ چگونه هوش مصنوعی را سریع‌تر، ارزان‌تر و قابل‌اعتمادتر اجرا کنیم»

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

مشخصات کتاب

  • نام کتاب: مهندسی استنتاج؛ چگونه هوش مصنوعی را سریع‌تر، ارزان‌تر و قابل‌اعتمادتر اجرا کنیم
  • عنوان اصلی: Inference Engineering
  • نویسنده: فیلیپ کیلی (Philip Kiely)
  • ناشر: Baseten Books
  • سال انتشار: ۲۰۲۶
  • موضوع: فناوری و هوش مصنوعی

مباحث اصلی کتاب

مقدمه: راز واقعی هوش مصنوعی فقط ساختن مدل‌های بزرگ‌تر نیست

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

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

آیا این شرکت محصول موفقی ساخته است؟

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

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

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

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

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

پیام اول: تفاوت میان آموزش هوش مصنوعی و اجرای آن چیست؟

برای درک کتاب، ابتدا باید میان دو مفهوم مهم تفاوت قائل شویم: آموزش مدل و استنتاج یا اجرای مدل.

آموزش مدل؛ یادگیری از داده‌ها

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

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

این فرایند معمولاً به محاسبات سنگین، منابع پردازشی قابل‌توجه و زمان زیادی نیاز دارد.

استنتاج؛ استفاده از مدل برای پاسخ‌گویی

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

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

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

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

بنابراین، حتی اگر یک مدل یک‌بار آموزش دیده باشد، استفاده گسترده از آن در دنیای واقعی به مهندسی دقیق نیاز دارد.

مهندسی استنتاج چیست؟

مهندسی استنتاج مجموعه روش‌ها و تصمیم‌هایی است که برای بهبود اجرای مدل‌های هوش مصنوعی استفاده می‌شوند.

هدف اصلی این حوزه، ایجاد تعادل میان چهار عامل است:

سرعت: مدل با چه سرعتی به درخواست پاسخ می‌دهد؟

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

کیفیت: آیا خروجی مدل همچنان به اندازه کافی دقیق و مفید است؟

قابلیت اطمینان: آیا سامانه می‌تواند در شرایط مختلف و هنگام افزایش ترافیک، پایدار بماند؟

هنر مهندسی استنتاج در این است که این چهار عامل را هم‌زمان در نظر بگیرد و راهکاری متناسب با نیاز واقعی محصول طراحی کند.

پیام دوم: سریع‌ترین مدل همیشه بهترین انتخاب نیست

یکی از درس‌های مهم کتاب، ضرورت تعریف دقیق هدف پیش از شروع بهینه‌سازی است.

ممکن است تصور کنیم بهترین مدل هوش مصنوعی، مدلی است که بالاترین کیفیت خروجی را ارائه می‌دهد. اما در یک محصول واقعی، کیفیت به‌تنهایی کافی نیست.

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

استفاده از بزرگ‌ترین و گران‌ترین مدل موجود ممکن است ضروری نباشد. شاید مدلی کوچک‌تر بتواند با کیفیت قابل‌قبول، سرعت بیشتر و هزینه کمتر همین وظایف را انجام دهد.

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

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

نویسنده بر اهمیت شناخت نیازهای محصول پیش از بهینه‌سازی تأکید می‌کند. این شناخت شامل چند پرسش است:

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

پاسخ این پرسش‌ها مشخص می‌کند که چه مدل و چه معماری‌ای مناسب‌تر است.

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

پیام سوم: سرعت پاسخ‌گویی چگونه اندازه‌گیری می‌شود؟

وقتی می‌گوییم یک سامانه هوش مصنوعی سریع است، دقیقاً منظورمان چیست؟

آیا باید زمان دریافت کل پاسخ را اندازه بگیریم؟ زمان نمایش اولین بخش از پاسخ چطور؟ یا تعداد درخواست‌هایی که سامانه در هر ثانیه پردازش می‌کند؟

کتاب توضیح می‌دهد که ارزیابی عملکرد به استفاده از معیارهای دقیق نیاز دارد.

زمان رسیدن نخستین توکن

یکی از معیارهای مهم، Time to First Token یا TTFT است.

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

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

سرعت تولید توکن‌ها

معیار دیگری که اهمیت دارد، تعداد توکن‌های تولیدشده در هر ثانیه است.

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

سرعت تولید توکن‌ها نشان می‌دهد سامانه پس از شروع پاسخ‌گویی، با چه آهنگی متن را تولید می‌کند.

تأخیر کلی

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

توان عملیاتی

Throughput یا توان عملیاتی نشان می‌دهد سامانه در یک بازه زمانی مشخص، چه مقدار کار انجام می‌دهد؛ برای مثال، چند درخواست یا چند توکن را در ثانیه پردازش می‌کند.

این معیار برای محصولاتی که کاربران زیادی دارند، اهمیت ویژه‌ای دارد.

چرا میانگین کافی نیست؟

ممکن است میانگین زمان پاسخ‌گویی یک سامانه مناسب باشد، اما بخشی از درخواست‌ها با تأخیر بسیار زیاد پردازش شوند.

به همین دلیل، مهندسان از صدک‌های تأخیر نیز استفاده می‌کنند. برای مثال، صدک ۹۵ نشان می‌دهد ۹۵ درصد درخواست‌ها در زمانی برابر یا کمتر از مقدار ثبت‌شده پاسخ گرفته‌اند.

این معیار کمک می‌کند تجربه کاربران در شرایط معمول و پرترافیک بهتر ارزیابی شود.

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

پیام چهارم: معماری مدل تعیین می‌کند منابع چگونه مصرف شوند

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

یکی از معماری‌های مهم در مدل‌های امروزی، Transformer است؛ معماری‌ای که در بسیاری از مدل‌های زبانی بزرگ و تعدادی از سامانه‌های تولید تصویر، صدا و ویدئو نقش اساسی دارد.

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

این فرایند دو مرحله مهم دارد.

مرحله اول: آماده‌سازی ورودی یا Prefill

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

طول ورودی می‌تواند بر زمان پردازش و میزان حافظه موردنیاز اثر بگذارد.

مرحله دوم: تولید پاسخ یا Decode

پس از آماده‌سازی ورودی، مدل توکن‌های پاسخ را به‌تدریج تولید می‌کند. هر مرحله به محاسبات جدید نیاز دارد و به همین دلیل سرعت این قسمت بر تجربه کاربر تأثیر می‌گذارد.

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

حافظه کش کلید ـ مقدار

یکی از مفاهیم مهم در اجرای مدل‌های مبتنی بر Transformer، KV Cache است.

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

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

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

کتاب با توضیح این سازوکارها تلاش می‌کند نشان دهد چرا شناخت معماری مدل برای تشخیص گلوگاه‌های عملکرد ضروری است.

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

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

اما انتخاب سخت‌افزار مناسب فقط بر اساس قدرت پردازشی اسمی انجام نمی‌شود.

دو عامل مهم عبارت‌اند از توان محاسباتی و پهنای باند حافظه.

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

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

در شرایط دیگر، انجام عملیات ریاضی سنگین می‌تواند گلوگاه اصلی باشد.

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

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

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

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

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

پیام ششم: نرم‌افزار، حلقه اتصال میان مدل و سخت‌افزار است

حتی سخت‌افزار قدرتمند نیز بدون نرم‌افزار مناسب نمی‌تواند ظرفیت خود را به‌طور مؤثر به کار بگیرد.

کتاب زنجیره‌ای از ابزارها را بررسی می‌کند که از سطح نزدیک به سخت‌افزار تا اجرای مدل در محیط عملیاتی امتداد دارند.

CUDA و چارچوب‌های یادگیری ماشین

CUDA مجموعه‌ای از فناوری‌ها و ابزارهای نرم‌افزاری برای برنامه‌نویسی محاسبات روی پردازنده‌های گرافیکی انویدیاست.

در لایه‌های بالاتر، چارچوب‌هایی مانند PyTorch امکان ساخت و اجرای مدل‌های یادگیری ماشین را فراهم می‌کنند. ابزارهای خانواده Transformers نیز برای کار با مدل‌های مبتنی بر معماری Transformer کاربرد دارند و Diffusers برای بسیاری از مدل‌های تولید تصویر و دیگر کاربردهای مبتنی بر فرایند انتشار استفاده می‌شود.

موتورهای استنتاج

ابزارهایی مانند vLLM، SGLang و TensorRT-LLM برای اجرای کارآمد مدل‌ها و مدیریت درخواست‌های استنتاج به کار می‌روند.

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

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

در مقیاس‌های بزرگ‌تر، ابزارهایی مانند NVIDIA Dynamo نیز به مدیریت و توزیع اجرای مدل‌ها در زیرساخت‌های گسترده مربوط می‌شوند.

چرا این لایه‌ها اهمیت دارند؟

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

در نتیجه، مهندسی استنتاج یک مسئله تک‌بعدی نیست؛ حوزه‌ای میان معماری مدل، برنامه‌نویسی، سخت‌افزار و زیرساخت است.

پیام هفتم: چگونه با حفظ کیفیت مدل، هزینه را کاهش دهیم؟

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

  • کوانتیزه‌سازی یا Quantization

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

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

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

  • رمزگشایی حدسی یا Speculative Decoding

در این روش، یک مدل کوچک‌تر یا فرایندی سریع‌تر، تعدادی توکن احتمالی را پیش‌بینی می‌کند و مدل اصلی آن‌ها را بررسی می‌کند.

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

مزیت این روش به شرایط اجرا، انتخاب مدل‌ها و میزان پذیرش پیش‌بینی‌ها وابسته است؛ بنابراین، در همه کاربردها به یک اندازه سودمند نیست.

  • استفاده مجدد از KV Cache

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

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

  • پردازش موازی مدل

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

این روش امکان اجرای مدل‌های بزرگ‌تر را فراهم می‌کند، اما هم‌زمان ارتباط میان دستگاه‌ها و هزینه هماهنگی نیز اهمیت پیدا می‌کند.

بنابراین، تقسیم مدل میان چند پردازنده همیشه به معنای افزایش متناسب سرعت نیست.

  • جداسازی وظایف یا Disaggregation

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

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

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

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

پیام هشتم: هوش مصنوعی فقط متن تولید نمی‌کند

اگرچه بسیاری از مردم هوش مصنوعی مولد را با چت‌بات‌ها و مدل‌های زبانی می‌شناسند، دامنه اجرای مدل‌ها بسیار گسترده‌تر است.

کتاب به روش‌های استنتاج در حوزه‌های مختلف نیز می‌پردازد؛ از جمله:

مدل‌های زبانی بزرگ: برای تولید متن، پاسخ‌گویی، خلاصه‌سازی، برنامه‌نویسی و پردازش زبان.

مدل‌های بینایی ـ زبانی: برای تحلیل تصاویر همراه با متن، پاسخ به پرسش‌های تصویری و ترکیب اطلاعات دیداری و زبانی.

مدل‌های تعبیه یا Embedding: برای تبدیل داده‌ها به نمایش‌های عددی که در جست‌وجوی معنایی، بازیابی اطلاعات و مقایسه شباهت کاربرد دارند.

تشخیص خودکار گفتار یا ASR: برای تبدیل گفتار به متن.

تبدیل متن به گفتار یا TTS: برای تولید صدای مصنوعی از روی متن.

تولید تصویر و ویدئو: برای ساخت محتوای بصری از روی ورودی‌های متنی یا دیگر داده‌ها.

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

این تفاوت‌ها بر میزان حافظه موردنیاز، زمان پاسخ‌گویی، نحوه استفاده از پردازنده و روش‌های بهینه‌سازی تأثیر می‌گذارند.

بنابراین، نمی‌توان تمام مدل‌های هوش مصنوعی را با یک راهکار یکسان اجرا کرد. شناخت نوع مدل و نیازهای آن، بخش ضروری مهندسی استنتاج است.

پیام نهم: اجرای موفق هوش مصنوعی در محیط واقعی چه شرایطی دارد؟

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

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

فصل پایانی کتاب به همین جنبه عملیاتی می‌پردازد.

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

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

فناوری‌هایی مانند Kubernetes نیز برای مدیریت و هماهنگی برنامه‌ها و سرویس‌ها در زیرساخت‌های توزیع‌شده استفاده می‌شوند.

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

مقیاس‌پذیری

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

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

قابلیت مشاهده و پایش

برای مدیریت یک سامانه هوش مصنوعی، باید بتوانیم عملکرد آن را مشاهده و اندازه‌گیری کنیم.

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

بدون پایش، ممکن است کندی سامانه، افزایش هزینه یا ناپایداری آن تا زمان نارضایتی کاربران پنهان بماند.

قابلیت اطمینان

سامانه باید بتواند در برابر خطاهای احتمالی، تغییر بار کاری و اختلالات زیرساختی واکنش مناسبی نشان دهد.

این موضوع به طراحی معماری، انتخاب روش استقرار، مدیریت منابع و فرایندهای عملیاتی وابسته است.

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

پیام دهم: مدل‌های متن‌باز چه تغییری در اقتصاد هوش مصنوعی ایجاد می‌کنند؟

یکی از تحولات مهم هوش مصنوعی، گسترش مدل‌هایی است که وزن‌های آن‌ها در دسترس عموم قرار می‌گیرد.

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

این تفاوت از نظر مهندسی و اقتصادی اهمیت دارد.

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

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

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

بنابراین، متن‌باز یا در دسترس بودن وزن‌های یک مدل به معنای رایگان بودن تمام هزینه‌های استفاده از آن نیست.

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

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

پیام یازدهم: هوش مصنوعی از یک آزمایش جذاب به زیرساخت اصلی کسب‌وکار تبدیل می‌شود

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

یک نمونه اولیه می‌تواند امکان خلاصه‌سازی اسناد، تحلیل داده، تولید محتوا یا پاسخ‌گویی به پرسش‌ها را به نمایش بگذارد.

اما برای تبدیل این نمونه به محصولی پایدار، باید پرسش‌های دیگری مطرح شوند:

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

بهینه‌سازی استنتاج به این پرسش‌ها پاسخ می‌دهد.

برای مثال، شرکتی که یک دستیار هوش مصنوعی برای مدیریت ارتباط با مشتریان توسعه می‌دهد، ممکن است در ابتدا بتواند با یک API آماده کار خود را آغاز کند. اما اگر تعداد درخواست‌ها افزایش یابد، هزینه و تأخیر می‌توانند به عوامل محدودکننده رشد تبدیل شوند.

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

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

ساختار کتاب: از مبانی استنتاج تا اجرای حرفه‌ای مدل‌ها

کتاب «Inference Engineering» در هشت فصل اصلی تنظیم شده است؛ از فصل صفر درباره مبانی استنتاج تا فصل هفتم درباره اجرای مدل‌ها در محیط تولید. دو پیوست نیز به واژه‌نامه تخصصی و منابع پیشنهادی اختصاص دارند.

فصل صفر: استنتاج (Inference)

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

فصل اول: پیش‌نیازها (Prerequisites)

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

فصل دوم: مدل‌ها (Models)

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

فصل سوم: سخت‌افزار (Hardware)

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

فصل چهارم: نرم‌افزار (Software)

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

فصل پنجم: تکنیک‌ها (Techniques)

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

فصل ششم: گونه‌های داده (Modalities)

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

فصل هفتم: محیط تولید (Production)

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

پیوست‌ها: واژه‌نامه اصطلاحات مهندسی استنتاج و مجموعه‌ای از منابع تکمیلی برای یادگیری بیشتر.

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

این کتاب برای چه کسانی مناسب است؟

کتاب «Inference Engineering» بیش از همه برای افرادی مناسب است که می‌خواهند از مرحله آشنایی با مدل‌های هوش مصنوعی عبور کنند و به درک فنی نحوه اجرای آن‌ها در محیط واقعی برسند.

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

مهندسان یادگیری ماشین: برای افرادی که می‌خواهند علاوه بر آموزش مدل‌ها، نحوه اجرا و بهینه‌سازی آن‌ها را نیز بیاموزند.

متخصصان زیرساخت و DevOps: برای کسانی که مسئول استقرار، مدیریت منابع، پایش و مقیاس‌پذیری سامانه‌های مبتنی بر هوش مصنوعی هستند.

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

پژوهشگران هوش مصنوعی: برای درک بهتر فاصله میان طراحی مدل در محیط تحقیقاتی و اجرای آن در مقیاس واقعی.

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

جمع‌بندی: آینده هوش مصنوعی به اجرای هوشمندانه آن نیز وابسته است

کتاب «Inference Engineering» یادآوری می‌کند که پیشرفت هوش مصنوعی فقط در ساخت مدل‌هایی با توانایی‌های بیشتر خلاصه نمی‌شود.

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

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

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

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

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

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

شاید مهم‌ترین پیام کتاب را بتوان این‌گونه خلاصه کرد:

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

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

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

یک پرسش برای تأمل

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

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

این پادکست را چگونه بشنوید؟

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

پرسش‌های پرتکرار

این پادکست چند دقیقه است؟

خلاصهٔ صوتی «مهندسی استنتاج؛ چگونه هوش مصنوعی را سریع‌تر، ارزان‌تر و قابل‌اعتمادتر اجرا کنیم» حدود ۱۹ دقیقه است و برای شنیدن هنگام راه رفتن، رانندگی یا استراحت مناسب است.

آیا شنیدن این خلاصه جای خواندن کتاب را می‌گیرد؟

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

پادکست‌ها و مطالب مرتبط

نظرهای مخاطبان

هنوز نظری ثبت نشده است. اگر دربارهٔ این صفحه چیزی می‌دانید — یک اصلاح، یک تجربه یا نکته‌ای محلی — اولین نفر باشید.

نوشتن نظر

نظر خود را بنویسید

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

وارد شوید تا برای نظرهای تأییدشده امتیاز بگیرید.

امتیاز شما (اختیاری)