مهندسی نرم‌افزار - Software Inside
163 subscribers
7 photos
11 links
جایی برای گفت‌و‌گو در مورد نرم‌افزار، مهندسی، برنامه نویسی
Download Telegram
Forwarded from LLM Engineers
یه بحثی که همیشه داغه، این همه عنوان شغلی تو حوزه AI از کجا میاد و فرقشون چیه. خیلی از این عناوین یا توسط HRها ساخته شدن یا صرفاً برای هایپ و جذب نیرو هستن. واقعیت اینه که مرز بین این نقش‌ها خیلی باریکه و تو شرکت‌های مختلف، شرح وظایف یه AI Engineer میتونه زمین تا آسمون فرق کنه. اینجا سعی می‌کنم یه دسته‌بندی منطقی و به دور از هایپ از این نقش‌ها بدم.

هسته‌ی فنی و مهندسی (The Core Engineers)

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

ML Engineer:
میشه گفت این اصلی‌ترین و جاافتاده‌ترین عنوانه. کارش ساخت، آموزش و دیپلوی مدل‌های machine learning هست. از ساخت data pipeline گرفته تا training و مانیتورینگ مدل تو پروداکشن، همه با این شخصه. ابزارهاش هم Python، فریمورک‌هایی مثل PyTorch و TensorFlow و ابزارهای MLOps هست.

AI Engineer:
این عنوان یه کم کلی‌تر از ML Engineer هست. یه AI Engineer ممکنه روی سیستم‌های AI که لزوماً learning-based نیستن هم کار کنه (مثلاً سیستم‌های rule-based یا optimization). اما در عمل، ۹۰ درصد مواقع شرکت‌ها از این عنوان به جای ML Engineer استفاده می‌کنن و فرق خاصی بینشون نیست.

Deep Learning Engineer:
این یه تخصص از ML Engineer به حساب میاد. تمرکزش فقط روی شبکه‌های عصبی عمیق و معماری‌های پیچیده‌ست. این افراد معمولاً روی مسائل Computer Vision یا NLP کار می‌کنن که مدل‌های ساده جواب نمیدن. باید درک عمیقی از GPU، بهینه‌سازی و ریاضیات پشت این مدل‌ها داشته باشه.

بچه‌های پروداکت و نرم‌افزار (The Application Layer)
این گروه کارشون اینه که AI رو از فاز تئوری و مدل، بیارن تو دل یه محصول واقعی.

Applied AI Engineer:
این عنوان یعنی «بیا این مدل رو بردار و یه مشکل واقعی تو بیزینس رو باهاش حل کن». تفاوتش با ML Engineer اینه که تمرکزش روی کاربرد و بیزینسه، نه لزوماً ساخت بهترین مدل. باید دانش دامنه (مثلاً مالی یا پزشکی) داشته باشه و بتونه سریع prototype بسازه.

AI Software Engineer:
این یه مهندس نرم‌افزاره که AI هم بلده. کار اصلیش software engineering هست ولی میتونه مدل‌های آماده رو تو یه اپلیکیشن بزرگ‌تر ادغام کنه. کدنویسی تمیز، معماری نرم‌افزار و کار با APIها براش مهم‌تر از خودِ الگوریتم‌هاست.

موج جدید: متخصص‌های GenAI و LLM
اینا نقش‌هایی هستن که با ظهور Generative AI و LLMها به وجود اومدن و هنوز خیلی‌هاشون به بلوغ نرسیدن.

LLM Engineer:
کار این شخص تماماً حول Large Language Models می‌گرده. از fine-tuning کردن مدل‌ها با تکنیک‌های PEFT مثل LoRA گرفته تا بهینه‌سازی inference و کار با ابزارهای مرتبط. این نقش الان خیلی رو بورسه.

AI Agent Developer:
این نقش روی ساخت ایجنت‌های هوشمند و خودمختار تمرکز داره که میتونن با استفاده از LLM و ابزارهای دیگه، وظایف چندمرحله‌ای رو انجام بدن. کار با فریمورک‌هایی مثل LangChain یا ساخت سیستم‌های planning و reasoning جزو کارشونه.

زیرساخت و عملیات (The Infrastructure & Ops)
اینا کسایی هستن که چرخ‌دنده‌های سیستم‌های AI رو روغن‌کاری می‌کنن تا همه چیز روان کار کنه.

MLOps Engineer:
این شخص مسئول اتوماسیون و مدیریت چرخه حیات مدل‌های ML هست. کارش ساخت CI/CD pipeline برای مدل‌ها، مانیتورینگ، ورژن‌بندی و تضمین scalability اونهاست. با ابزارهایی مثل Kubernetes، Kubeflow و Prometheus سر و کار داره. مدل نمیسازه، ولی کمک می‌کنه مدل‌ها به درستی دیپلوی بشن و زنده بمونن.

LLMOps Engineer:
این همون MLOps هست ولی برای دنیای LLMها. چالش‌های LLMها مثل هزینه‌های سرسام‌آور inference، مدیریت پرامپت‌ها و مانیتورینگ hallucination باعث شده این تخصص جدید به وجود بیاد.

استراتژیست‌ها و محقق‌ها (The Big Picture & Research)
این گروه یا در لبه‌ی دانش حرکت می‌کنن یا تصویر بزرگ سیستم رو طراحی می‌کنن.

AI Researcher / Research Scientist:
کارش تحقیق و توسعه‌ی الگوریتم‌ها و روش‌های جدیده. این افراد معمولاً درگیر انتشار مقاله و کارهای آکادمیک هستن و کمتر با پروداکشن درگیرن. معمولاً مدرک دکترا دارن و ریاضیشون خیلی قویه.

Data Scientist:
این نقش بیشتر به تحلیل داده و کشف insight مرتبطه تا مهندسی. از ML استفاده می‌کنه تا الگوها رو پیدا کنه و به سوالات بیزینس جواب بده. خروجیش معمولاً گزارش، داشبورد و مدل‌های پیش‌بینی‌کننده‌ست، نه یه سیستم نرم‌افزاری production-grade.

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

🛠 Join @LLMEngineers Community
👌1
#talk #postgres

Hands On PostgreSQL 18

هفته‌ی پیش نسخه‌ی جدید پستگرس منتشر شده و تغییرات زیادی داشته. ارائه‌ی پایین خیلی خوب این تغییرات رو توضیح میده و با نسخه‌های قبلی مقایسه می‌کنه و بنچ‌مارک میگیره.
دوتا از چیزایی که به نظرم جالب اومد این دوتاست:
مورد اول Async I/O: از این نسخه به بعد شما می‌تونید IO های دیتابیس رو به صورت Async انجام بدید. به صورت پیشفرض پستگرس سه تا پراسس دیگه برای هندل کردن IO میاره بالا که اینا IO رو انجام میدن؛ این روش کوئری‌ها رو بهتر می‌کنه اما بهترین نیست. اگر روی لینوکس باشید و نسخه‌ی کرنل +6.5 باشه می‌تونید از سیستم‌کال‌های io_uring استفاده کنید که اسکن‌ها رو خیلی خیلی سریع‌تر میکنه. توی ارائه تنظیم کردنش و بنچ‌مارک‌هاش رو نشون میده.

مورد دوم Btree skip scan هست. تا الان اگر شما روی سه تا فیلد ایندکس میذاشتید(مثلا به ترتیب روی a و b و c)، اگر کوئری میزدید که b توش بود ولی a نبود از این ایندکس استفاده نمیشد. در واقع همیشه یه prefix ایی از فیلدهایی که ایندکس کردید باید توی کوئریتون می‌بود تا این ایندکس استفاده بشه. اما توی نسخه‌ی 18 این قابلیت اضافه شده که این ایندکس‌ها توی کوئری‌هایی که prefix ندارن هم استفاده بشه. مثلا توی مثال ما اگر فقط روی b کوئری بزنید بازم از این ایندکس استفاده میشه. این قابلیت مخصوصا وقتی cardinality ستون‌های اول کمتره باعث میشه به ایندکس‌های کمتری نیاز داشته باشید.

YouTube: Hands On PostgreSQL 18

✴️ @software_inside - مهندسی‌نرم‌افزار
5👍3🔥3