کتاب AI Engineering: Building Applications with Foundation Models (مهندسی هوش مصنوعی: ساخت برنامههای کاربردی با مدلهای بنیادی) راهنمای جامعی برای توسعهدهندگان و علاقهمندان به هوش مصنوعی است که میخواهند با استفاده از مدلهای پیشرفته هوش مصنوعی، برنامههای کاربردی نوآورانهای ایجاد کنند. این کتاب فرآیند ساخت برنامههای هوش مصنوعی را از صفر تا صد پوشش میدهد، از جمله انتخاب مدل مناسب، آمادهسازی دادهها، آموزش مدل، ارزیابی عملکرد، و استقرار در دنیای واقعی. همچنین به چالشهای رایج در توسعه این نوع برنامهها و راهکارهای مقابله با آنها میپردازد.
در ادامه مقدمهای از کتاب AI Engineering را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب AI Engineering:
وقتی ChatGPT منتشر شد، مثل بسیاری از همکارانم، گیج شده بودم. چیزی که مرا شگفتزده کرد، نه اندازه مدل بود و نه قابلیتهای آن. بیش از یک دهه است که جامعهی AI میداند که مقیاسبندی یک مدل، آن را بهبود میبخشد. در سال 2012، نویسندگان AlexNet در مقاله برجسته خود اشاره کردند: “همه آزمایشهای ما نشان میدهد که نتایج ما را میتوان صرفاً با انتظار برای GPUهای سریعتر و مجموعههای داده بزرگتر بهبود بخشید.”
چیزی که مرا شگفتزده کرد، تعداد زیاد کاربردهایی بود که این افزایش قابلیت باز کرد. فکر میکردم افزایش کوچک در معیارهای کیفیت مدل ممکن است منجر به افزایش متوسطی در کاربردها شود. در عوض، این منجر به انفجاری از امکانات جدید شد.
این قابلیتهای جدید AI نه تنها تقاضا برای کاربردهای AI را افزایش دادهاند، بلکه مانع ورود برای توسعهدهندگان را نیز کاهش دادهاند. شروع کار با ساختن کاربردهای AI بسیار آسان شده است. حتی امکان ساختن یک کاربرد بدون نوشتن حتی یک خط کد وجود دارد. این تغییر، AI را از یک رشته تخصصی به یک ابزار توسعه قدرتمند تبدیل کرده است که همه میتوانند از آن استفاده کنند.
اگرچه پذیرش AI امروزه جدید به نظر میرسد، اما بر پایه تکنیکهایی ساخته شده است که مدتی است وجود دارند. مقالاتی در مورد مدلسازی زبان در اوایل دهه 1950 منتشر شده است. کاربردهای نسل تقویتشده با بازیابی (RAG) بر پایه فناوری بازیابی ساخته شدهاند که سیستمهای جستجو و توصیه را از مدتها قبل از ابداع اصطلاح RAG تقویت کردهاند. بهترین شیوههای استقرار کاربردهای سنتی یادگیری ماشین – آزمایش سیستماتیک، ارزیابی دقیق، بهینهسازی مداوم برای مدلهای سریعتر و ارزانتر – همچنان بهترین شیوهها برای کار با کاربردهای مبتنی بر مدلهای بنیادی هستند.
آشنایی و سهولت استفاده از بسیاری از تکنیکهای مهندسی AI میتواند افراد را به این باور برساند که چیز جدیدی در مهندسی AI وجود ندارد. اما در حالی که بسیاری از اصول ساخت کاربردهای AI یکسان باقی میمانند، مقیاس و قابلیتهای بهبودیافته مدلهای AI فرصتها و چالشهایی را معرفی میکنند که نیازمند راهحلهای جدید هستند.
کتاب AI Engineering فرآیند جامع تطبیق مدلهای بنیادی برای حل مشکلات دنیای واقعی را پوشش میدهد و شامل تکنیکهای امتحانشده و صحیح از سایر زمینههای مهندسی و همچنین تکنیکهای نوظهور با مدلهای بنیادی میشود.
انگیزه نوشتن کتاب AI Engineering:
من نوشتن این کتاب را شروع کردم چون میخواستم یاد بگیرم، و خیلی هم یاد گرفتم. از پروژههایی که روی آنها کار کردم، مقالاتی که خواندم و افرادی که با آنها مصاحبه کردم، یاد گرفتم. در طول فرآیند نوشتن این کتاب، از یادداشتهای بیش از ۱۰۰ گفتگو و مصاحبه استفاده کردم، از جمله پژوهشگران آزمایشگاههای بزرگ هوش مصنوعی (OpenAI، Google، Anthropic، و غیره)، توسعهدهندگان چارچوب (NVIDIA، Meta، Hugging Face، Anyscale، LangChain، LlamaIndex، و غیره)، مدیران و سرپرستان هوش مصنوعی/داده در شرکتهای با اندازههای مختلف، مدیران محصول، پژوهشگران جامعه و توسعهدهندگان مستقل برنامه (نگاه کنید به بخش «تشکر»).
بهویژه از خوانندگان اولیه که مفروضات مرا آزمایش کردند، دیدگاههای مختلفی را به من معرفی کردند و مشکلات و رویکردهای جدیدی را برایم آشکار کردند، یاد گرفتم. برخی از بخشهای کتاب نیز پس از به اشتراک گذاشتن در وبلاگ من، هزاران نظر از جامعه دریافت کردهاند که بسیاری از آنها به من دیدگاههای جدیدی ارائه میدهند یا فرضیهای را تأیید میکنند.
موضوع کتاب AI Engineering:
این کتاب چارچوبی برای تطبیق مدلهای بنیادی، که شامل هر دو مدل زبان بزرگ (LLMs) و مدلهای چندرسانهای بزرگ (LMMs) با کاربردهای خاص، ارائه میدهد.
راههای مختلفی برای ساخت یک برنامه وجود دارد. کتاب AI Engineering راهحلهای متنوعی را ارائه میکند و همچنین سوالاتی را مطرح میکند که میتوانید برای ارزیابی بهترین راهحل برای نیازهای خود بپرسید. برخی از سوالات متعددی که این کتاب میتواند به شما در پاسخ دادن به آنها کمک کند عبارتند از:
- آیا باید این برنامه هوش مصنوعی را بسازم؟
- چگونه برنامه خود را ارزیابی کنم؟ آیا میتوانم از هوش مصنوعی برای ارزیابی خروجیهای هوش مصنوعی استفاده کنم؟
- چه چیزی باعث توهم میشود؟ چگونه توهم را تشخیص و کاهش دهیم؟
- بهترین شیوهها برای مهندسی پرامپت (prompt) چیست؟
- چرا RAG کار میکند؟ استراتژیهای انجام RAG چیست؟
- یک عامل چیست؟ چگونه یک عامل بسازیم و ارزیابی کنیم؟
- چه زمانی باید یک مدل را ریزتنظیم کنیم؟
- چه زمانی نباید؟ به چه مقدار داده نیاز دارم؟
- چگونه کیفیت دادههایم را تأیید کنم؟
- چگونه مدل خود را سریعتر، ارزانتر و ایمنتر کنم؟
- چگونه یک حلقه بازخورد ایجاد کنم تا برنامه خود را به طور مداوم بهبود بخشم؟
کتاب AI Engineering همچنین به شما کمک میکند تا در چشمانداز غرقکننده هوش مصنوعی، از جمله انواع مدلها، معیارهای ارزیابی و تعداد بینهایت موارد استفاده و الگوهای کاربردی، حرکت کنید.
محتوای کتاب AI Engineering با استفاده از مطالعات موردی، بسیاری از آنها که روی آنها کار کردهام، با استناد به منابع فراوان و بررسی گسترده توسط متخصصان از طیف گستردهای از زمینهها، نشان داده شده است. اگرچه نوشتن کتاب AI Engineering دو سال طول کشید، اما از تجربیات من در کار با مدلهای زبانی و سیستمهای ML در دهه گذشته بهره میبرد.
مانند کتاب قبلی من در O’Reilly، Designing Machine Learning Systems (DMLS)، این کتاب بر اصول مهندسی هوش مصنوعی به جای هر ابزار یا API خاصی تمرکز دارد. ابزارها به سرعت منسوخ میشوند، اما اصول باید ماندگارتر باشند.
پیمایش در کتاب AI Engineering
این کتاب به گونهای ساختار یافته است که فرآیند معمول توسعه یک برنامه هوش مصنوعی را دنبال کند. در اینجا چگونگی این فرآیند معمول و نحوه قرارگیری هر فصل در این فرآیند آمده است. از آنجایی که این کتاب مدولار است، میتوانید هر بخشی را که قبلاً با آن آشنا هستید یا برای شما کمتر مرتبط است، پرش کنید.
قبل از تصمیمگیری برای ساخت یک برنامه هوش مصنوعی، لازم است درک کنید که این فرآیند شامل چه مواردی است و به سوالاتی مانند این پاسخ دهید: آیا این برنامه ضروری است؟ آیا به هوش مصنوعی نیاز است؟ آیا باید این برنامه را خودم بسازم؟ فصل اول کتاب AI Engineering به شما کمک میکند تا به این سوالات پاسخ دهید. همچنین طیف وسیعی از موارد استفاده موفق را پوشش میدهد تا تصوری از آنچه مدلهای بنیادی میتوانند انجام دهند، ارائه دهد.
در حالی که داشتن پیشزمینه ML برای ساخت برنامههای هوش مصنوعی ضروری نیست، درک نحوه عملکرد یک مدل بنیادی زیر کاپوت برای استفاده حداکثری از آن مفید است. فصل 2 ساخت یک مدل بنیادی و تصمیمات طراحی با تأثیر قابل توجه بر کاربردهای پاییندست، از جمله دستور پخت دادههای آموزشی، معماریها و مقیاسهای مدل، و نحوه آموزش مدل برای همسو شدن با ترجیح انسان را تجزیه و تحلیل میکند. سپس نحوه تولید پاسخ توسط یک مدل را مورد بحث قرار میدهد که به توضیح رفتارهای ظاهراً گیجکننده مدل، مانند عدم ثبات و توهم، کمک میکند. تغییر تنظیمات تولید یک مدل نیز اغلب راهی ارزان و آسان برای افزایش قابل توجه عملکرد مدل است.
هنگامی که متعهد به ساخت یک برنامه با مدلهای بنیادی شدید، ارزیابی بخشی جداییناپذیر از هر مرحله در این مسیر خواهد بود. ارزیابی یکی از سختترین، اگر نگوییم سختترین، چالشهای مهندسی هوش مصنوعی است. کتاب AI Engineering دو فصل، فصلهای 3 و 4، را به بررسی روشهای ارزیابی مختلف و نحوه استفاده از آنها برای ایجاد یک خط لوله ارزیابی قابل اعتماد و سیستماتیک برای برنامه شما اختصاص داده است.
با توجه به یک پرسوجو، کیفیت پاسخ یک مدل به جنبههای زیر بستگی دارد (خارج از تنظیمات تولید مدل):
- دستورالعملهایی در مورد نحوه رفتار مدل
- زمینههایی که مدل میتواند برای پاسخ به پرسوجو از آنها استفاده کند
- خود مدل
سه فصل بعدی کتاب AI Engineering بر نحوه بهینهسازی هر یک از این جنبهها برای بهبود عملکرد یک مدل برای یک برنامه تمرکز دارد. فصل 5 مهندسی پرامپت را پوشش میدهد، از جمله اینکه پرامپت چیست، چرا مهندسی پرامپت کار میکند و بهترین شیوههای مهندسی پرامپت. سپس در مورد نحوه سوء استفاده از برنامه شما توسط بازیگران بد با حملات پرامپت و نحوه دفاع از برنامه خود در برابر آنها بحث میکند.
فصل 6 بررسی میکند که چرا زمینه برای یک مدل برای تولید پاسخهای دقیق مهم است. این فصل بر روی دو الگوی کاربرد اصلی برای ساخت زمینه تمرکز میکند: RAG و عاملگرایی. الگوی RAG بهتر درک شده است و ثابت شده است که در تولید خوب عمل میکند. از سوی دیگر، در حالی که الگوی عاملگرایی وعده بسیار قدرتمندتر بودن را میدهد، پیچیدهتر نیز هست و هنوز در حال بررسی است.
فصل 7 کتاب AI Engineering در مورد نحوه تطبیق یک مدل با یک برنامه با تغییر خود مدل با ریزتنظیم است. با توجه به مقیاس مدلهای بنیادی، ریزتنظیم مدلهای بومی حافظه زیادی را مصرف میکند و تکنیکهای زیادی برای امکان ریزتنظیم بهتر مدلها با حافظه کمتر توسعه یافتهاند. این فصل رویکردهای مختلف ریزتنظیم را پوشش میدهد، همراه با یک رویکرد آزمایشیتر: ادغام مدل. این فصل شامل یک بخش فنیتر است که نحوه محاسبه فضای حافظه یک مدل را نشان میدهد.
با توجه به در دسترس بودن بسیاری از چارچوبهای ریزتنظیم، خود فرآیند ریزتنظیم اغلب ساده است. با این حال، به دست آوردن داده برای ریزتنظیم سخت است. فصل بعدی همه چیز در مورد داده است، از جمله کسب داده، حاشیهنویسی داده، سنتز داده و پردازش داده. بسیاری از موضوعات مورد بحث در فصل 8 فراتر از ریزتنظیم مرتبط هستند، از جمله این سوال که کیفیت داده به چه معناست و چگونه کیفیت دادههای خود را ارزیابی کنیم.
اگر فصلهای 5 تا 8 در مورد بهبود کیفیت یک مدل هستند، فصل 9 در مورد ارزانتر و سریعتر کردن استنتاج آن است. این فصل بهینه سازی را هم در سطح مدل و هم در سطح سرویس استنتاج مورد بحث قرار میدهد. اگر از یک API مدل استفاده میکنید – یعنی شخص دیگری مدل شما را برای شما میزبانی میکند – این API احتمالاً بهینهسازی استنتاج را برای شما انجام میدهد. با این حال، اگر مدل را خودتان میزبانی میکنید – چه یک مدل منبع باز یا یک مدل توسعهیافته در داخل – باید بسیاری از تکنیکهای مورد بحث در این فصل را پیادهسازی کنید.
آخرین فصل کتاب AI Engineering مفاهیم مختلف این کتاب را برای ساخت یک برنامه از ابتدا تا انتها گرد هم میآورد. بخش دوم این فصل بیشتر بر روی محصول متمرکز است، با بحث در مورد نحوه طراحی یک سیستم بازخورد کاربر که به شما کمک میکند بازخورد مفید را جمعآوری کنید در حالی که تجربه کاربری خوبی را حفظ میکنید.
نکته:
من اغلب از “ما” در کتاب AI Engineering به معنای شما (خواننده) و من استفاده میکنم. این عادتی است که از دوران تدریسم به دست آوردم، زیرا نوشتن را بهعنوان یک تجربه یادگیری مشترک برای نویسنده و خوانندگان میدیدم.
سرفصلهای کتاب AI Engineering:
- Preface
- 1. Introduction to Building AI Applications with Foundation Models
- 2. Understanding Foundation Models
- 3. Evaluation Methodology
- 4. Evaluate Al Systems
- 5. Prompt Engineering
- 6. RAG and Agents
- 7. Finetuning
- 8. Dataset Engineering
- 9. Inference Optimization
- 10. AI Engineering Architecture and User Feedback
- Epilogue
- Index
- About the Author
جهت دانلود کتاب AI Engineering میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.