مهندسی هوش مصنوعی (AI Engineering) به فرایند طراحی، توسعه، ارزیابی، استقرار و نگهداری سیستمهایی گفته میشود که از هوش مصنوعی برای حل مسائل مشخص استفاده میکنند. این حوزه علاوه بر انتخاب و آموزش مدل، موضوعاتی مانند آمادهسازی داده، یکپارچهسازی مدل با نرمافزار، ارزیابی عملکرد و پایش سیستم در محیط واقعی را نیز در بر میگیرد.
در این مقاله با مفهوم مهندسی هوش مصنوعی، مراحل توسعه یک سیستم مبتنی بر هوش مصنوعی، ابزارهای رایج و چالشهای فنی این فرایند آشنا میشویم.
مهندسی هوش مصنوعی چیست؟

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

توسعه یک سیستم هوش مصنوعی به انتخاب الگوریتم و آموزش مدل محدود نمیشود. برای تبدیل یک مدل به راهکاری قابل استفاده، باید مسئله بهدرستی تعریف شود، دادهها آماده شوند، مدل توسعه و ارزیابی شود و در نهایت در محیط عملیاتی قرار بگیرد.
چرخه عمر مهندسی هوش مصنوعی فرایندی تکرارشونده است. پس از استقرار، عملکرد سیستم و تغییرات دادهها بررسی میشوند و در صورت نیاز، مدل یا بخشهای دیگر سیستم بهبود پیدا میکنند. جزئیات این مراحل به نوع مسئله، مدل و الزامات پروژه بستگی دارد.
چرخه عمر مهندسی هوش مصنوعی شامل چند مرحله متمایز است:
مرحله ۱: تعریف مسئله
در مرحله اولیه، مسئلهای دقیق و مشخص تعریف میشود که راهکار هوش مصنوعی قرار است آن را حل کند. این کار نیازمند درک عمیق از موضوع، شناخت منابع داده موجود و محدودیتهای احتمالی است. مهندسان هوش مصنوعی ممکن است با ذینفعان و کارشناسان حوزه همکاری کنند تا اهداف فنی با اهداف تجاری همسو شود.
در این مرحله باید معیارهای موفقیت نیز مشخص شوند؛ برای مثال، دقت پیشبینی، نرخ تشخیص خطا، زمان پاسخگویی یا هزینه پردازش. همچنین لازم است محدودیتهای سیستم، مانند حجم داده، زمان پاسخ موردنیاز و منابع محاسباتی، از ابتدا در نظر گرفته شوند. این معیارها در مراحل ارزیابی و استقرار برای سنجش عملکرد راهکار استفاده خواهند شد.
مرحله ۲: جمعآوری و آمادهسازی دادهها
کیفیت دادهها تاثیر مستقیمی بر عملکرد سیستم هوش مصنوعی دارد. در این مرحله، دادههای موردنیاز از منابع مناسب جمعآوری و از نظر کاملبودن، دقت، سازگاری و مرتبطبودن با مسئله بررسی میشوند. سپس اقداماتی مانند پاکسازی دادهها، مدیریت مقادیر گمشده، شناسایی دادههای پرت و تبدیل دادهها به قالب مناسب انجام میشود.
مهمترین فعالیتهای این مرحله عبارتاند از:
- پاکسازی و تبدیل دادهها (Data Wrangling): اصلاح دادههای ناسازگار، مدیریت مقادیر گمشده و آمادهسازی داده برای تحلیل یا آموزش.
- تحلیل اکتشافی دادهها (Exploratory Data Analysis): بررسی توزیع دادهها، روابط میان متغیرها و الگوهای احتمالی.
- مهندسی ویژگیها (Feature Engineering): ساخت یا انتخاب ویژگیهایی که به مدل کمک میکنند الگوهای مرتبط با مسئله را بهتر یاد بگیرد.
- برچسبگذاری دادهها (Data Labeling): اختصاص برچسب یا پاسخ صحیح به دادهها، در مواردی که روش یادگیری به دادههای برچسبخورده نیاز دارد.
برای مثال، در یک سیستم تشخیص تصویر، ممکن است تصاویر بر اساس نوع شی برچسبگذاری شوند. در مقابل، برخی روشهای یادگیری بدون نظارت میتوانند بدون برچسبهای از پیش تعیینشده، ساختارها و الگوهای موجود در دادهها را شناسایی کنند.
در پایان این مرحله، دادهها باید برای آموزش و ارزیابی مدل آماده باشند. نحوه تقسیم دادهها نیز اهمیت دارد؛ زیرا دادههای مورد استفاده برای ارزیابی نهایی نباید در آموزش مدل دخالت داشته باشند.
مرحله ۳: توسعه مدل
پس از آمادهسازی دادهها، باید رویکرد و مدل مناسب برای حل مسئله انتخاب شود. این انتخاب به نوع مسئله، حجم و ساختار دادهها، معیارهای موفقیت و محدودیتهای محاسباتی بستگی دارد. برای مثال، پیشبینی یک مقدار عددی، دستهبندی تصاویر و تولید متن به روشها و معماریهای متفاوتی نیاز دارند.
برخی از رویکردهای رایج یادگیری عبارتاند از:
- یادگیری نظارتشده (Supervised Learning): مدل با استفاده از دادههای برچسبخورده، رابطه میان ورودیها و خروجیهای مورد انتظار را یاد میگیرد؛ برای مثال، تشخیص تراکنشهای مشکوک.
- یادگیری بدون نظارت (Unsupervised Learning): مدل ساختارها یا الگوهای موجود در دادههای بدون برچسب را شناسایی میکند؛ مانند گروهبندی مشتریان بر اساس رفتارهای مشابه.
- یادگیری تقویتی (Reinforcement Learning): عامل با تعامل با محیط و دریافت پاداش یا جریمه، سیاستی برای انتخاب اقدامات مناسب یاد میگیرد.
در هر یک از این رویکردها میتوان از الگوریتمها و معماریهای مختلف استفاده کرد. برای نمونه، درخت تصمیم و جنگل تصادفی از الگوریتمهای رایج برای دادههای جدولی هستند و شبکههای عصبی در بسیاری از مسائل پیچیده، از پردازش تصویر تا زبان طبیعی، کاربرد دارند.
در طول توسعه، مهندسان مدلهای مختلف را آزمایش میکنند و با تنظیم ابرپارامترها و مقایسه نتایج، گزینه مناسبتر را بر اساس معیارهای تعیینشده انتخاب میکنند.
مرحله ۴: آموزش و ارزیابی مدل
در این مرحله، مدل با استفاده از دادههای آمادهشده آموزش میبیند و پارامترهای آن بر اساس دادهها تنظیم میشوند. هدف این است که مدل نهتنها روی دادههای آموزشی عملکرد مناسبی داشته باشد، بلکه بتواند الگوهای آموختهشده را به دادههای جدید نیز تعمیم دهد.
برای بررسی این موضوع، دادهها معمولا به مجموعههای آموزش، اعتبارسنجی و آزمون تقسیم میشوند:
- مجموعه آموزش (Training Set): برای یادگیری پارامترهای مدل استفاده میشود.
- مجموعه اعتبارسنجی (Validation Set): برای مقایسه گزینههای مختلف مدل و تنظیم ابرپارامترها به کار میرود.
- مجموعه آزمون (Test Set): برای ارزیابی نهایی عملکرد مدل روی دادههایی که در فرایند آموزش و تنظیم مدل استفاده نشدهاند، به کار میرود.
تقسیم دادهها باید متناسب با مسئله انجام شود. برای مثال، در مسائل سری زمانی، حفظ ترتیب زمانی دادهها اهمیت دارد و نمیتوان همیشه از تقسیم تصادفی استفاده کرد.
یکی از مشکلات احتمالی در این مرحله، بیشبرازش (Overfitting) است. در این حالت، مدل بهجای یادگیری الگوهای قابل تعمیم، بیش از حد با دادههای آموزشی سازگار میشود و ممکن است روی دادههای جدید عملکرد ضعیفی داشته باشد. مقایسه عملکرد مدل روی مجموعههای آموزش و اعتبارسنجی به شناسایی این مشکل کمک میکند.
در پروژههایی که داده کافی دارند، میتوان از اعتبارسنجی متقابل (Cross-Validation) نیز برای ارزیابی پایداری مدل استفاده کرد. در این روش، دادهها به چند بخش تقسیم میشوند و آموزش و ارزیابی در چند نوبت انجام میشود. برای دادههای نامتوازن یا سریهای زمانی، روش تقسیم و اعتبارسنجی باید با ویژگیهای مسئله سازگار باشد.
مرحله ۵: استقرار مدل (Deployment)
پس از آموزش و ارزیابی، در صورتی که مدل معیارهای موردنیاز پروژه را برآورده کند، میتوان آن را برای استفاده در محیط عملیاتی آماده کرد. در این مرحله، مدل باید در بستر مناسب قرار بگیرد و با اجزای نرمافزاری و دادهای موردنیاز یکپارچه شود.
بسته به کاربرد، مدل ممکن است از طریق یک API در اختیار سایر سامانهها قرار بگیرد، بهصورت دستهای روی مجموعهای از دادهها اجرا شود یا روی دستگاهی مانند تلفن همراه مستقر شود. برای آمادهسازی و اجرای قابلتکرار نرمافزار نیز میتوان از ابزارهایی مانند Docker استفاده کرد.
پیش از انتشار نهایی، باید عملکرد سیستم در شرایط نزدیک به محیط واقعی بررسی شود. عواملی مانند زمان پاسخگویی، مصرف منابع، حجم درخواستها، امنیت و امکان بازگشت به نسخه قبلی مدل نیز در طراحی فرایند استقرار اهمیت دارند.
مرحله ۶: پایش و بهبود مستمر
چرخه عمر مهندسی هوش مصنوعی با استقرار مدل پایان نمییابد. عملکرد سیستم باید در محیط عملیاتی بررسی شود تا مشخص شود آیا همچنان معیارهای مورد انتظار را برآورده میکند یا خیر.
در این مرحله، علاوه بر شاخصهای فنی مانند زمان پاسخگویی، نرخ خطا و مصرف منابع، میتوان کیفیت پیشبینیها و تغییرات توزیع دادههای ورودی را نیز پایش کرد. تغییر رفتار کاربران یا شرایط محیطی ممکن است باعث شود دادههای جدید با دادههای زمان آموزش تفاوت پیدا کنند و عملکرد مدل کاهش یابد.
بر اساس نتایج پایش، ممکن است به اصلاح خط لوله داده، تنظیم مجدد مدل، آموزش با دادههای جدید یا بازگشت به نسخه قبلی نیاز باشد. این فرایند کمک میکند سیستم در طول زمان قابل اتکا باقی بماند و در صورت تغییر شرایط، بهموقع بهبود پیدا کند.
ابزارها و فناوریها در مهندسی هوش مصنوعی

مهندسان هوش مصنوعی از ابزارهای مختلفی برای آمادهسازی داده، توسعه و ارزیابی مدل، استقرار سیستم و پایش عملکرد آن استفاده میکنند. انتخاب ابزارها به نوع پروژه، معماری سیستم و زیرساخت موجود بستگی دارد.
برخی از ابزارهای رایج در این حوزه عبارتاند از:
- کتابخانهها و چارچوبهای یادگیری ماشین: ابزارهایی مانند scikit-learn، PyTorch و TensorFlow برای پیادهسازی، آموزش و ارزیابی مدلها استفاده میشوند.
- ابزارهای مدلهای ازپیشآموزشدیده: پلتفرم Hugging Face امکان دسترسی به مدلها، مجموعهدادهها و ابزارهای مرتبط با توسعه و استفاده از مدلهای یادگیری ماشین را فراهم میکند.
- ابزارهای مدیریت آزمایش و مدل: ابزارهایی مانند MLflow برای ثبت آزمایشها، مقایسه نتایج، مدیریت مدلها و پشتیبانی از فرایند توسعه و استقرار به کار میروند.
- ابزارهای استقرار و اجرای نرمافزار: Docker برای بستهبندی نرمافزار و وابستگیهای آن استفاده میشود. بسته به نیاز پروژه، ابزارهای دیگری برای مدیریت و مقیاسدهی سرویسها نیز ممکن است به کار گرفته شوند.
- پلتفرمهای ابری: سرویسهایی مانند AWS SageMaker، Azure Machine Learning و Google Cloud امکان استفاده از زیرساختها و ابزارهای مدیریتشده برای توسعه، آموزش و استقرار مدلها را فراهم میکنند.
- ابزارهای پردازش دادههای حجیم: Apache Spark برای پردازش توزیعشده دادهها در پروژههایی که به این قابلیت نیاز دارند استفاده میشود.
- ابزارهای کنترل نسخه و همکاری تیمی: Git به مدیریت نسخه کد کمک میکند و سرویسهایی مانند GitHub و GitLab امکاناتی برای میزبانی مخزن، بازبینی کد و همکاری تیمی ارائه میدهند.
همه پروژهها به تمام این ابزارها نیاز ندارند. برای مثال، یک مدل ساده که روی دادههای جدولی اجرا میشود ممکن است به زیرساخت توزیعشده یا ابزارهای پیچیده مدیریت استقرار نیاز نداشته باشد؛ اما در سامانههای بزرگ و پرترافیک، خودکارسازی فرایند توسعه، استقرار و پایش اهمیت بیشتری پیدا میکند.
چالشها در مهندسی هوش مصنوعی
مهندسی هوش مصنوعی حوزهای هیجانانگیز است اما در عین حال پیچیده و پرچالش نیز محسوب میشود. برخی از چالشهای رایج و راهکارهای مواجهه با آنها عبارتند از:
۱. کیفیت دادهها: دادههای با کیفیت پایین میتوانند به مدلهای غیرقابل اعتماد منجر شوند. استفاده از خط لولههای اعتبارسنجی و پیشپردازش دادهها ضروری است.
۲. سوگیری و ملاحظات اخلاقی: مدلهای هوش مصنوعی ممکن است بدون قصد و آگاهانه، سوگیریهای موجود در دادههای آموزش را بیاموزند. برای جلوگیری از این مشکل، بازرسی دقیق دادهها و استفاده از روشهای شفاف و قابل بررسی لازم است.
۳. مقیاسپذیری: نمونههای اولیه ممکن است در محیطهای کنترلشده خوب عمل کنند اما در مقیاس واقعی ناکارآمد باشند. پلتفرمهای ابری مانند AWS یا Google Cloud میتوانند در مدیریت این پیچیدگی کمک کنند.
۴. بهروز ماندن با نوآوریها: از آنجا که فناوری هوش مصنوعی بهسرعت در حال تحول است، مهندسان هوش مصنوعی باید در یادگیری مداوم و توسعه مهارتها سرمایهگذاری کنند.
جمعبندی
مهندسی هوش مصنوعی حوزهای در حال رشد است که تاثیر گستردهای بر زندگی ما دارد. این حوزه با سرعت پیشرفت میکند و فرصتهای زیادی برای مهندسان هوش مصنوعی فراهم میآورد. با داشتن مهارتها و دانش مناسب، میتوان در یکی از پویاترین و تاثیرگذارترین حرفههای عصر حاضر نقشآفرینی کرد.
منابع
splunk.com | sei.cmu.edu | cambridgespark.com
سوالات متداول
مهندسی یادگیری ماشین (ML Engineering) بیشتر بر توسعه، آموزش، ارزیابی و عملیاتیکردن مدلهای یادگیری ماشین تمرکز دارد. مهندسی هوش مصنوعی میتواند دامنه گستردهتری داشته باشد و علاوه بر مدلهای یادگیری ماشین، یکپارچهسازی سایر قابلیتهای هوش مصنوعی با نرمافزار و زیرساخت را نیز در بر بگیرد. البته این دو حوزه همپوشانی زیادی دارند و مرز آنها در همه سازمانها یکسان نیست.
عملکرد مدل ممکن است با تغییر دادههای ورودی، رفتار کاربران یا شرایط محیطی کاهش پیدا کند. پایش به شناسایی این تغییرات و مشکلات عملیاتی کمک میکند تا در صورت نیاز، دادهها یا مدل بهروزرسانی شوند.
مهندسی هوش مصنوعی آیندهای روشن دارد و با رشد سریع در حوزههایی مثل یادگیری عمیق و پردازش زبان طبیعی، تقاضا برای متخصصانش در صنایع مختلفی مثل فناوری، سلامت، مالی و خودروسازی رو به افزایش است.





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