یکی از سؤالاتی که دیدم زیاد پرسیده میشه، اینه که رودمپ برای یادگیری هوش مصنوعی چیه؟
به نظرم سؤال اشتباهی هست و نمیشه جواب دقیقی بهش داد.
سؤال درست اینه که رودمپ برای دیتاسایسنتیست چیه؟ یا رودمپ مهندس یادگیری ماشین چیه؟ یا رودمپ پروداکت منیجر هوش مصنوعی چیه؟
ولی اینجا به این سؤالها هم نمیخوام پاسخ بدم؛ بلکه میخوام بگم که در فرآیند توسعه یک محصول مبتنی بر هوش مصنوعی چه افرادی نقش دارند و هر کس چیکار میکنه؟
شاید اگر اینطوری بهش فکر کنیم بهتر بتونیم جایگاه خودمون رو در تیم متصور بشیم و مسیر شغلیمون رو راحتتر پیدا کنیم.
پس تو این قسمت میخوام راجع به مسیر شغلیهای مختلف در حوزه هوش مصنوعی صحبت کنم و این که چطور بفهمیم کدوم مسیر رو برای شروع انتخاب کنیم؟
شنیدن اپیزود
همه اپیزودهای این پادکست تو کانال کست باکس منتشر میشه و البته میتونید از جاهای دیگه هم بشنوید.اینجا هم میتونید فایل صوتی این قسمت رو گوش بدید:
مقدمه
خیلی طبیعی هست که وقتی آدمهای زیادی تو یک حوزه میان و کار میکنند، شغلها تخصصیتر بشه. سؤال اینه که چطوری جایگاه خودمون رو پیدا کنیم؟
قطعاً این کار یک شبه قابل انجام نیست و باید مدتی سعی و خطا کنیم تا بتونیم بفهمیم چی راضیمون میکنه. اصلاً برای همین بهش میگن «مسیر شغلی» وگرنه میگفتند «مقصد شغلی».
اگر نگاهی به آدمهای موفق بندازید هم اکثراً بعد از مدتها شغل عوض کردن، تونستند جایی که بیشتر باهاش حال میکنند رو انتخاب کنند.
از یه طرف هم نمیشه کاملاً بصورت تصادفی یک شغل رو انتخاب کرد و بریم مدتها کار کنیم به امید این که بعداً بفهمیم چیکار میخوایم بکنیم.
پیشنهاد من اینه که شغلهای مرتبط با هوش مصنوعی رو بصورت کلی بشناسیم. بدونیم هر کدوم حدوداً با چه کسانی درگیره. بدونیم هر کس روزش چطور میگذره. بعد انتخاب کنیم که کدوم رو میخوایم و برای یادگیریش وقت بگذاریم.
مثلاً با خودمون فکر میکنیم میبینیم که Data Analyst برامون جذابه. بعد به راحتی میشه براش رودمپ پیدا کرد و بریم مدتی کار کنیم تا ببینیم با سلیقهمون جور هست یا نه.
این کار چند تا حسن داره. اول این که وقتی من پوزیشن شغلی خاصی رو انتخاب میکنم، خیلی سریعتر میتونم مهارتهایی که لازم هست رو یاد بگیرم و وارد بازار کار بشم.
مثلاً به محض این که Data Analyst رو انتخاب کردیم، دیگه مشخصه که نیاز هست چه چیزهایی رو یاد بگیریم و مهمتر از اون چه چیزهایی رو یاد نگیریم. مثلاً نیازی به یادگیری داکر نداریم. نیاز به فهم مدلهای یادگیری عمیق نداریم. با LLMها کار نداریم.
اینه که تو دریای وسیع کورسهای مختلف میتونیم شروع به یادگیری کنیم. اینطوری یک چهارچوب مشخص برای یادگیری داریم و بعد از صرف زمان محدود اون حرفه رو یاد میگیریم. و بعد مثلاً ۶ ماه میتونیم بریم سرکار.
سرکار هم که رفتیم، کمکم میبینیم که کارهای این حوزه انقدرها هم تفکیک شده نیستند و کمکم درگیر کارهای پوزیشنهای مرتبط هم میشیم. اگر دقیق بشید، تو ایران جز شرکتهای خیلی بزرگ، مثل دیجی کالا و اسنپ که انقدر بزرگ شدند که هر کسی کارش دقیقاً تخصصی هست، بقیه انقدر تفکیک شده و شسته رفته نیستند. نمیشه گفت که من فقط کار داده میکنم و کد نرمافزار نمیزنم.
حالا ممکنه بعد از مدتی به این نتیجه برسیم که Data Analyst دوست نداریم و مثلاً ML Engineer جالبتره. حالا دوباره برنامهریزی میکنیم و مهارتهای مورد نیازش رو یاد میگیریم.
دوم این که مزایا معایب این شغلها مشخصه. من براتون لینکاش رو هم میگذارم ولی اگر سرچ هم بکنید به سادگی میتونید به مقایسههای زیادی بین این شغلها برسید که بهتون کمک کنه انتخاب کنید.
واقعیت اینه که وقتی وارد صنعت بشید، کمکم رنگ میبازند و کمکم خودتون مسیر خودتون رو تشخیص میدید ولی برای شروع خیلی مفیده.
دستهبندی شغلهای هوش مصنوعی
حالا که علت شروع بحث به این شیوه رو گفتم میشه سراغ دستهبندی شغلهای این حوزه رفت.
از یک منظر میشه آدمهایی که دارند تو این حوزه کار میکنند رو تو چهار دسته گذاشت: مدیریتی، داده، مدلسازی و استقرار (Deployment).
مدیریتی (Scope): شغلهایی که درگیر جزئیات فنی نمیشن و روی هدفگذاری و زمانبندی و کارهای مدیریتی تمرکز دارند. این که روی چه مسئلهای تمرکز کنیم و کجا فعلاً اولویت نیست. شغلی مثل AI Product Manager رو در این دسته میشه گذاشت.
قاعدتاً مسیر شغلی اینجا هم فرق داره. یه پروداکت منیجر اصلاً نیاز نداره بدونه که توابع لاس مختلف چه فرقی با هم دارند و اصلاً یک مدل چطوری آموزش میبینه؟ یا اصلاً ریاضیات پشت یه مدل یادگیری عمیق چیه؟ چطوری مشتقها رو تو مدل برمیگردونیم؟
ولی نیاز داره بدونه که مسائل مختلفی که با هوش مصنوعی میشه حل کرد چیه؟ ورودی خروجی هر کدوم چطوریه. چطوری خروجی رو ارزیابی میکنند؟ همین که یک زبان مشترکی با تیم فنی بتونه شکل بده کافیه.
داده (Data): منظورم از داده بچههای Data Engineer و Data Analyst هست. مهندسان داده، کسانی هستند که دادهها رو از جاهای مختلف تو سازمان یکپارچه میکنند و تر تمیز میکنند. بهش میگن پایپلاین ETL. اصطلاحاً میگن بچهها کار گِل انجام میدن.
بچههای Data Analyst هم کسانی هستند که با ابزارهایی مثل PowerBI میان یک سری داشبورد مدیریتی درست میکنند. اینها بعضاً کارشون برای تصمیمسازی برای مدیران رده بالا استفاده میشه. کارشون اینه که از دادهها معنا دربیارند.
مدلسازی (Modelling): مدلسازی کاری هست که اکثراً بچههای دیتاساینس انجام میدن. یا مثلاً کسانی که تو دانشگاه تحت عنوان AI Researcher کار میکنند، کارشون اکثراً همینه.
بخش مهمی از کارشون اینه که مدلی رو آموزش بدن که بتونه روی دادهها خوب کار کنه. انتخاب مدل و آموزش مدل و ارزیابی مدل و تمیز کردن داده کاری هست که اکثر وقت بچههای دیتاساینس روی سپری میشه.
از نظر ابزار هم بیشتر با Jupyter Notebook کار میکنند. حالا اگر آکادمیک باشند که دیگه چندان چالش تمیز کردن داده هم نخواهند داشت و اکثراً دادههاشون استاندارده. اما مدلشون خیلی باید روش کار بشه. تو صنعت برعکسه. مدله چندان مهم نیست. روی داده باید خیلی کار کرد.
استقرار مدل (Deployment): استقرار مدل رو خیلی وقتها وظیفه ML Engineer یا MLOps میدونند.
ترجمه فارسیش میشه مهندس یادگیری ماشین. مهندس یادگیری ماشین کسی هست که هم نرمافزار رو خوب میفهمه و هم بحثهای استقرار مدل و هم هوش مصنوعی بلده.
به طور کلی اگر بخوام بگم هر چی به ML نزدیکتر بشیم، کار مبهمتر میشه. سختتر میشه براش زمانبندی داد و کار بیشتر از جنس کشف (Exploration) میشه. از اون طرف هر چقدر به نرمافزار نزدیکتر بشیم، قطعیت بیشتری پیدا میکنه، زمانبندی مشخصتری هم میشه براش داد و کلاً ابهام کمتره.
حالا از کل این قضیه میشه پایپلاین یه پروژه هوش مصنوعی رو بهش نگاه کرد. تقسیم وظایف هم کاملاً مشخصه. نقش AI Product Manager درگیر تعریف پروژه میشه. بچههای داده، میان داده رو از جاهای مختلف فراهم میکنند و به Data Scientistها میدن. اونها هم مدل رو آموزش میدن و تحویل ML Engineer میدن برای این که روی پروداکشن بیاد.
البته این یه پایپلاین سنتی هست. اخیراً با بوجود اومدن LLMها عملاً اون فاز آموزش مدل کمرنگ شده و نقش Data Scientist هم به تبع تو شرکتهای کوچیک کمرنگتر شده.
سؤالاتی برای انتخاب بهتر مسیر شغلی
اگر هنوز هم مرز بین اینها براتون مبهمه، سؤالاتی هستند که میشه بهشون فکر کرد که ببینیم کدوم بیشتر به کار ما میاد:
- آیا به دنبال کار پژوهشی در این حوزه هستید؟ یا این که کار صنعتی رو ترجیح میدید؟ و یا چیزی میان این دو براتون بهترین گزینه است؟
- آیا دوست دارید روی فرآیند استخراج و ذخیرهسازی داده کار کنید؟ یا این که میخواید «استخراج معنا» از داده کار کنید؟
- آیا به روشهای مبتنی بر «یادگیری ماشین» علاقه دارید؟ یا این که روش براتون مهم نیست و این که بتونید از دادهها (حتی با اکسل و PowerBI) معنا استخراج کنید همچنان براتون جذابه؟
- آیا میخواید لزوماً مدل Train کنید و تا خودتون یه مدل آموزش ندید، خوشحال نمیشید یا این که درگیر شدن با چالشهای استقرار مدل در سازمان هم براتون راضی کننده است؟
- آیا همین که از API شرکت OpenAI استفاده کنید و حولش محصول بالا بیارید، به نظرتون جالبه؟ یا این که حتماً باید مدل خودتون رو آموزش بدید که خوشحال بشید؟
- چقدر دوست دارید در تعریف پروداکت درگیر بشید؟ آیا دوست دارید نیروی فنی متخصص بمونید یا این که میخواید کمکم تو بحثهای بیزنسی حول هوش مصنوعی هم درگیر بشید؟
- آیا دوست دارید کل روزتون به جلسه با این ذینفع و اون ذینفع بگذره یا این که درگیر حل فلان باگ در فرآیند آموزش فلان مدل دیپ لرنینگ باشید؟
- چقدر ساختار دوست دارید تو کارتون داشته باشید؟ دوست دارید کارتون ساختار تعریف شده و مشخص داشته باشه؟ یا این که تحمل ابهام رو هم دارید؟
ویژگی این سؤالات اینه که همگی شخصی هست. هیچ جواب درست و غلطی نداره.
ولی اگر بتونید بهشون جواب بدید این دفعه خیلی راحتتر تو این جنگل محتوا، میتونید مسیر شغلی مناسب خودتون رو پیدا کنید. کافیه راجع به مسیر شغلی هر کدوم از این شغلهایی که گفتم سرچ کنید و برید یاد بگیرید.
من خودم هم چند تا لینک مرتبط براتون میگذارم که برای شروع بتونه کمک بکنه.
نکات نهایی
چند تا نکته هم بگم و بحث رو ببندم.
نکته اول اینه که ترجیح اینه که آدم خودش رو محدود به منابع فارسی نکنه. هزاران کورس رایگان هست که بهترین اساتید تو یوتیوب برگزار کردند. این که آدم بخواد چرخ رو از نو اختراع کنه و دنبال دورههایی بره که در عرض یک ماه میخوان شما رو متخصص هوش مصنوعی بکنند، چندان جالب نیست.
به شخصه ترجیح میدم به جای این که تو یک دوره آموزشی ۱۰۰ ساعته، یک نفر بیاد به من تمام مباحث هوش مصنوعی و چیزهایی که مرتبط با بازار کار هست رو آموزش بده (که مطمئن نیستم ممکن باشه)، برم خودم از بهترین اساتید تکتک مهارتهایی که لازمه رو یاد بگیرم.
اگر داکر لازمه، میرم سراغ بهترین دوره. اگر گیت لازمه، از بهترین اساتید یادش میگیرم.
در واقع به نظرم راه میانبری وجود نداره و نمیشه از خیلی از مباحث گذشت. آدم باید وقت بگذاره و مهارتهایی که لازمه رو دونه به دونه یاد بگیره. جوری هم یاد بگیره که بعداً بتونه این تیکههای مختلف پازل رو به هم وصل کنه. مهمه که آدم متوجه بشه هر تیکه پازل کجا به درد میخوره.
دومین نکته این که هوش مصنوعی انقدر داره متحول میشه که شغلها از بین میرن. خصوصاً داخل خود فیلد این خیلی مشهوده. یعنی به نظر میاد شغلهای این حوزه، خیلی زودتر از حوزههای دیگه دارند تغییر میکنند.
مثلاً الان با اومدن LLMها بعضی جاها عملاً دیتاساینس کمرنگ شده و دیگه پیشفرضمون این نیست که مدل آموزش بدیم. از اون طرف شغلهای جدیدی مثل Prompt Engineer بوجود اومدند که چند سال پیش اصلاً وجود نداشتند.
ولی من بهش اشاره نکردم. چون به نظرم مهارت نوشتن پرامپت رو همه دارند کمکم یاد میگیرند و به مرور مثل سرچ گوگل میشه. بعدشم چندان حرف درست حسابی راجع بهش نمیشه زد. کلاً یکی دو ساعت شاید بشه در موردش حرف درست زد.
بعدشم شاید طولی نکشه که مدلهایی بیان که زبان ما رو بهتر بفهمند و جوابهای بهتری بدن، بدون این که از تکنیکهای پرامپت نویسی استفاده کنیم.
سومین نکته هم درباره مسیر شغلی خودم بگم. من اوایل مسیر شغلی دیتاساینس رو جلو رفتم. بعدش دیدم که حال نمیکنم صرفاً مدل آموزش بدم. میخوام درگیر کارهای دیپلویکردن مدل هم بشم. اینه که بعد مدتی ML Engineer شدم. الان هم مدتی هست به این نتیجه رسیدم که جنبه محصول خیلی برام پررنگه و شاید مسیر شغلیم رو عوض کنم.
ولی مهم نیست دیگه. همین که آدم بتونه شروع کنه، کمکم مسیر خودش رو پیدا میکنه. اگر بخوایم چند سال صبر کنیم که تصمیم بگیریم کدوم شغل برامون مناسبتره، شاید تا اون زمان شغلها از بین رفته باشند و ما هنوز کار پیدا نکرده باشیم. اینه که مثل همه جاهای دیگه چابک رفتار کنیم احتمالاً بهتره.
خیلی خلاصه بخوام بکنم تو این قسمت راجع به مسیرهای شغلی مختلف در هوش مصنوعی صحبت کردم و سؤالاتی برای این که بفهمیم کدوم بیشتر به درد ما میخوره.
امیدوارم که براتون مفید بوده باشه.
- How to Pick Between Data Science, Data Analytics, Data Engineering, ML Engineering, and SW Engineering | by Marina Wyss - Gratitude Driven | Jan, 2025 | Towards Data Science
- GitHub - enkaranfiles/Machine-Learning-Engineer-Roadmap: this is for myself, development roadmap
- GitHub - farukalamai/advanced-machine-learning-engineer-roadmap-2024: A Full Stack ML (Machine Learning) Roadmap involves learning the necessary skills and technologies to become proficient in all aspects of machine learning, including data collection and preprocessing, model development, deployment, and maintenance.
- Developer Roadmaps - roadmap.sh