مهندس یادگیری ماشین
Machine Learning Engineerمهندس یادگیری ماشین مدلهایی میسازد که از داده الگو یاد میگیرند و آنها را به سرویسی پایدار در دل یک محصول نرمافزاری تبدیل میکند. کار او آمادهسازی داده، آموزش و ارزیابی مدل، استقرار آن در محیط عملیاتی و پایش کیفیتش پس از انتشار را در بر میگیرد.
- کد SOC
- NM-639
- کد ISCO
- 3314

معرفی شغل
مهندس یادگیری ماشین مدلهایی میسازد که بهجای دنبال کردن قاعدههای از پیش نوشتهشده، از داده الگو یاد میگیرند. کار او از پاکسازی و برچسبگذاری داده آغاز میشود، با آموزش و ارزیابی مدل ادامه مییابد و با استقرار و پایش آن کامل میشود. این نقش میان مهندسی نرمافزار و علم داده میایستد: هم باید بداند مدل چرا کار میکند و هم کدی بنویسد که زیر بار واقعی دوام بیاورد.
این شغل در آگهیهای استخدام با عنوانهایی مانند کارشناس یادگیری ماشین، توسعهدهندهٔ یادگیری ماشین، مهندس هوش مصنوعی، توسعهدهندهٔ هوش مصنوعی و برنامهنویس هوش مصنوعی هم دیده میشود.
یک روز کاری
بخش بزرگی از وقت مهندس یادگیری ماشین صرف داده میشود، نه مدل. او داده را از پایگاههای داده و لاگ سرویسها جمع میکند، ردیفهای ناقص و تکراری را پاک میکند و ویژگیهایی میسازد که مدل بتواند از آنها الگو بگیرد. برای اینکه همین ویژگیها هنگام آموزش و هنگام استنتاج یکسان محاسبه شوند، خط لوله را کدنویسی و نسخهبندی میکند.
مدلسازی در عمل یک چرخهٔ آزمایش است: انتخاب معماری، آموزش روی دادهٔ آموزشی، سنجش روی دادهٔ اعتبارسنجی و تکرار با تنظیم ابرپارامترها. مهندس یادگیری ماشین هر اجرا را با ابزارهایی مانند MLflow ثبت میکند تا نتیجهها قابل مقایسه و بازتولید باشند، و میان دقت بیشتر، هزینهٔ آموزش و پیچیدگی نگهداری توازن برقرار میکند.
مدلی که فقط در نوتبوک ژوپیتر کار میکند هنوز محصول نیست. مهندس یادگیری ماشین آن را پشت یک رابط برنامهنویسی میگذارد، در کانتینر بستهبندی میکند و روی Kubernetes یا سرویس ابری مستقر میکند. تصمیم میگیرد پیشبینی برخط انجام شود یا دستهای، تأخیر پاسخ را اندازه میگیرد و مسیر بازگشت به نسخهٔ پیشین را از پیش آماده نگه میدارد.
مدلها ساکت خراب میشوند؛ کد از کار نمیافتد، فقط پیشبینیها بیربط میشوند. مهندس یادگیری ماشین توزیع ورودیها و کیفیت خروجی را پیوسته میسنجد تا رانش داده و افت دقت را زود ببیند. برای این کار داشبورد و هشدار میسازد، بازخورد واقعی کاربران را به چرخه برمیگرداند و زمان بازآموزی یا کنار گذاشتن مدل را تعیین میکند.
آموزش مدلهای امروزی به کارت گرافیک و ذخیرهسازی گران نیاز دارد و در ایران دسترسی به این منابع محدودتر هم هست. مهندس یادگیری ماشین ظرفیت لازم را برآورد و کارهای آموزشی را صفبندی میکند؛ با آموزش با دقت ترکیبی، حافظه و زمان آموزش را کم میکند و با کوانتیزهسازی و تقطیر دانش، اندازه و هزینهٔ اجرای مدل را پایین میآورد.
مهندس یادگیری ماشین کمتر تنها کار میکند. با مدیر محصول دربارهٔ اینکه چه چیزی اصلاً قابل یادگیری است گفتوگو میکند، با مهندسان نرمافزار بر سر شکل رابط برنامهنویسی و بار سرویس به توافق میرسد و با تیم داده بر سر کیفیت منابع چانه میزند. بخشی از کارش ترجمهٔ سنجههای فنی مانند دقت و فراخوانی به زبان اثر تجاری است.
وظایف شغلی مهندس یادگیری ماشین
- طراحی و آموزش مدلهای یادگیری ماشین متناسب با مسئلهٔ کسبوکار و دادهٔ موجود.
- ساخت و نگهداری خط لولهٔ داده برای گردآوری، پاکسازی و برچسبگذاری دادهٔ آموزشی.
- مهندسی ویژگی و ساخت انبارهٔ ویژگی برای استفادهٔ مشترک میان مدلها.
- تنظیم ابرپارامترها و اجرای آزمایشهای مقایسهای برای انتخاب بهترین مدل.
- استقرار مدل بهصورت سرویس برخط یا دستهای روی زیرساخت ابری یا سرورهای داخلی.
- نوشتن کد آموزش و استنتاج با پایتون و چارچوبهایی مانند PyTorch یا TensorFlow.
- پایش دقت، تأخیر و رانش دادهٔ مدلها پس از انتشار و هشداردهی هنگام افت کیفیت.
- بازآموزی دورهای مدلها با دادهٔ تازه و مدیریت نسخههای مدل.
- طراحی سنجههای ارزیابی آفلاین و اجرای آزمون A/B برخط برای سنجش اثر واقعی مدل.
- بهینهسازی سرعت و مصرف حافظهٔ مدل با روشهایی مانند کوانتیزهسازی و تقطیر دانش.
- یکپارچهسازی خروجی مدل در محصول با همکاری مهندسان نرمافزار و تیم بکاند.
- مدیریت منابع محاسباتی و کارتهای گرافیک و کنترل هزینهٔ آموزش و اجرای مدل.
- بررسی سوگیری و انصاف مدل و آزمودن رفتار آن روی گروههای مختلف کاربران.
- مستندسازی معماری مدل، فرضها و محدودیتهای آن برای تیمهای دیگر.
فعالیتهای کاری
استفاده از رایانه و سامانههای رایانهای — سختافزار و نرمافزار — برای برنامهنویسی، نوشتن نرمافزار، راهاندازی قابلیتها، ورود داده یا پردازش اطلاعات.
تحلیل اطلاعات و ارزیابی نتایج برای انتخاب بهترین راهحل و حل مسئله.
مشاهده، دریافت و بهدستآوردن اطلاعات از همهٔ منابع مرتبط.
شناسایی اطلاعات از راه دستهبندی، برآورد، تشخیص تفاوتها و شباهتها و رصد تغییر در شرایط یا رویدادها.
یافتن اصول، دلایل یا واقعیتهای زیربنایی اطلاعات، از راه تجزیهٔ اطلاعات یا دادهها به بخشهای جداگانه.
گردآوری، کدگذاری، دستهبندی، محاسبه، جدولبندی، بازبینی یا راستیآزمایی اطلاعات و دادهها.
ایجاد رابطهٔ کاری سازنده و همکارانه با دیگران و حفظ آن در گذر زمان.
رساندن اطلاعات به سرپرستان، همکاران و زیردستان از راه تلفن، نوشتار، ایمیل یا بهصورت حضوری.
استفاده از اطلاعات مرتبط و قضاوت شخصی برای تعیین اینکه آیا رویدادها یا فرایندها با قوانین، مقررات یا استانداردها مطابقت دارند.
پروراندن، طراحی یا خلق کاربردها، ایدهها، روابط، سامانهها یا محصولات تازه، از جمله آثار هنری.
تخصصها
این تخصص روی دادهٔ تصویری و ویدئویی کار میکند: تشخیص و ردیابی شیء، بخشبندی تصویر، خواندن پلاک و متن فارسی از تصویر و کنترل کیفیت خط تولید. شبکههای کانولوشنی، خانوادهٔ YOLO و ترنسفورمرهای بینایی را آموزش میدهد و معمولاً باید خروجی را روی دوربین یا دستگاه صنعتی با تأخیر بسیار کم اجرا کند.
تمرکز این تخصص بر ساخت سامانه بر پایهٔ مدلهای زبانی است، نه پژوهش زبانشناختی: تنظیم دقیق مدلهای متنباز روی دادهٔ فارسی، طراحی بازیابی و تولید تقویتشده روی اسناد سازمان، مدیریت پنجرهٔ متن و هزینهٔ توکن، و ارزیابی خروجی در برابر توهم مدل. کار با پایگاههای دادهٔ برداری بخشی از روزمرهٔ اوست.
فروشگاههای اینترنتی، سکوهای ویدئو و اپلیکیشنهای خبری به این تخصص نیاز دارند. مهندس سامانهٔ توصیهگر رفتار کاربر را به سیگنال تبدیل میکند، مدلهای فیلترینگ مشارکتی و رتبهبندی عصبی میسازد و با مسائلی مانند شروع سرد، تنوع پیشنهاد و حلقهٔ بازخورد دستوپنجه نرم میکند. موفقیتش با نرخ کلیک و ماندگاری سنجیده میشود.
این تخصص بهجای ساخت مدل، سکویی میسازد که بقیه روی آن مدل بسازند: خط لولهٔ آموزش خودکار، مخزن و نسخهبندی مدل، ثبت آزمایشها، استقرار پیوسته و پایش. با ابزارهایی مانند Docker، Kubernetes، Airflow، MLflow و Kubeflow کار میکند و بیش از هر چیز مسئول تکرارپذیری و پایداری چرخهٔ یادگیری ماشین است.
اجرای مدل روی گوشی، برد صنعتی یا دوربین و بدون اتکا به سرور، تخصص جداگانهای است. اینجا محدودیت حافظه، توان پردازشی و مصرف برق تعیینکننده است، پس مهندس مدل را هرس و کوانتیزه میکند و با ابزارهایی مانند TensorFlow Lite و ONNX Runtime روی سختافزار هدف مینشاند. مزیت اصلی، تأخیر کم و ماندن داده روی خود دستگاه است.
درآمد و اشتغال مهندس یادگیری ماشین
میانهٔ حقوق ماهانهٔ مهندس یادگیری ماشین ۷۰ میلیون تومان است (میانگین ۷۴ میلیون، ساعتی ۴۰۵ هزار تومان). نیمهٔ میانی شاغلان بین ۵۰ تا ۹۳ میلیون تومان میگیرند و اشتغال این شغل تا ۱۰ سال آینده ۳۳٫۵٪ رشد پیشبینی میشود.
رضایت شغلی
دانش و مهارتهای مهندس یادگیری ماشین
دانش
- رایانه و الکترونیک
- زبان انگلیسی
- خدمات مشتری و خدمات شخصی
- ریاضیات
- مخابرات
- مهندسی و فناوری
- مدیریت و اداره امور
- آموزش و تربیت
- طراحی
- اقتصاد و حسابداری
مهارتها
- حل مسائل پیچیده
- تفکر انتقادی
- درک مطلب
- قضاوت و تصمیمگیری
- شنیدن فعال
- یادگیری فعال
- سخن گفتن
- برنامهنویسی
- نوشتن
- پایش
تواناییها
- استدلال قیاسی
- درک شنیداری
- درک نوشتاری
- استدلال استقرایی
- بینایی نزدیک
- انعطاف در تشخیص الگوی پنهان
- تشخیص گفتار
- استدلال ریاضی
تناسب شخصیتی و سبک کاری
شاغلان این شغل بیش از همه به این تیپهای شخصیتی نزدیکاند:
- ۱کاوشگرInvestigative
- ۲قاعدهمندConventional
- ۳هنریArtistic
کد هالند این شغل: I-C-A
این شغل بیشتر به آدمهای کاوشگر مینشیند: کسانی که کنجکاو، تحلیلی و روشمندند و از آزمونوخطای طولانی خسته نمیشوند. تحمل ابهام اهمیت دارد، چون بسیاری از آزمایشها به نتیجه نمیرسند. سویهٔ عملگرا هم لازم است، چون در پایان باید چیزی ساخته و مستقر شود.
محیط و شرایط کار
کار پشت میز و در دفتر شرکتهای فناوری، بانکها، فروشگاههای اینترنتی و شرکتهای دانشبنیان انجام میشود. دورکاری و همکاری از راه دور با کارفرمای خارجی هم رایج است.
بیشتر موقعیتها تماموقتاند. هنگام انتشار مدل تازه یا رفع خرابی سرویس، ساعتهای کاری کشدار میشود.
تحصیلات و مسیر ورود به شغل مهندس یادگیری ماشین
پایهٔ این حرفه جبر خطی، احتمال و آمار است، در کنار تسلط واقعی بر پایتون و ساختمان داده. کسی که این پایه را نداشته باشد میتواند کتابخانهها را صدا بزند، اما نمیتواند بفهمد چرا مدلش کار نمیکند.
بیشتر کارفرمایان کارشناسی مهندسی کامپیوتر، نرمافزار، برق، ریاضی یا آمار میخواهند. مدرک شرط لازم آگهیهاست، اما آنچه در مصاحبه سنجیده میشود کد نوشتن و درک الگوریتم و آمار است، نه معدل.
ورود معمولاً از نقشهایی مانند کارشناس داده، برنامهنویس پایتون یا کارآموز یادگیری ماشین اتفاق میافتد. یک نمونهکار واقعی روی گیتهاب یا رتبه در مسابقههای داده، جای رزومهٔ خالی را پر میکند.
تفاوت کارشناس با مهندس در همین مرحله ساخته میشود: نوشتن کد تمیز و آزمونپذیر، کار با Docker و Kubernetes، راهاندازی خط لولهٔ استقرار و پذیرفتن مسئولیت سرویسی که شبانهروز بالاست و کاربر واقعی دارد.
پس از چند سال، مسیر یا به عمق فنی در حوزهای مانند بینایی ماشین و مدلهای زبانی میرود، یا به رهبری تیم و معماری سکوی یادگیری ماشین. تدریس، مشاوره و همکاری دورکار با کارفرمای خارجی هم گزینههای متعارفی هستند.
- تجربه
- مقدار قابل توجهی از مهارت، دانش یا تجربه مرتبط با کار برای این مشاغل مورد نیاز است. به عنوان مثال، یک حسابدار باید چهار سال کالج را بگذراند و چندین سال در حسابداری کار کند تا واجد شرایط در نظر گرفته شود.
- تحصیلات
- اکثر این مشاغل نیاز به مدرک لیسانس چهار ساله دارند، اما برخی از آنها نیازی به مدرک لیسانس ندارند.
- آموزش
- کارمندان در این مشاغل معمولاً به چندین سال تجربه مرتبط با کار، آموزش در حین کار و/یا آموزش حرفه ای نیاز دارند.
- نمونهها
- بسیاری از این مشاغل شامل هماهنگی، نظارت، مدیریت یا آموزش دیگران است. به عنوان مثال می توان به دلالان املاک، مدیران فروش، مدیران پایگاه داده، طراحان گرافیک، شیمیدانان، مدیران هنری و برآوردگران هزینه اشاره کرد.








