Dev Tweet – Telegram
Dev Tweet
850 subscribers
113 photos
15 videos
3 files
98 links
گعده‌ای در باب برنامه نویسی، پایتون، هوش مصنوعی و داده
Download Telegram
Forwarded from TechTube 𝕏 تک توب
شرکت OpenAI همچنین از قابلیتهای جدیدش برای برنامه نویس ها در API این شرکت رونمایی کرده.

🔵 اصلیترین اونها عرضه مدل GPT-4 Turbo هست که نه تنها از مدل GPT-4 سریعتره و جوابهارو به سرعت تحویل میده، بلکه context window اون از 32 هزار به 128 هزار توکن افزایش یافته بنابراین میشه اطلاعات بسیاری بیشتری رو در ورودی به اون داد و مثلا برنامه نویس میتونه یک PDF سیصد صفحه ای رو برای پردازش به اون اپلود کنه! همچنین اطلاعات اون تا ماه اوریل 2023 اپدیت شده.

🔵 علاوه بر این OpenAI هزینه استفاده از GPT-4 Turbo رو حدود 2.75 برابر کاهش داده و حالا هر هزار توکن متن فقط 4 سنت هزینه برمیداره. برنامه نویسها همچنین میتونن حالت JSON رو فعال کنن تا این مدل به طور مستقیم بهشون خروجی JSON بده و درگیر تبدیل خروجی این مدل به جیسون نشن.

🔵 این شرکت بالاخره ورودی تصویر رو هم از طریق GPT-4 Turbo with vision به API اضافه کرده و حالا برنامه نویسها با اپلود تصویر میتونن از GPT درخواستهای مختلف در مورد اون عکس داشته باشن مثلا متنش رو استخراج کنن یا عکس رو توصیف کنن.

🔵 مدل قدرتمند تبدیل متن به عکس DALL-E 3 هم از طریق API در دسترس برنامه نویسها قرار گرفته و با اون میتونن عکسهای با ورودیهای پیچیده بسازن.

🔵 مدل تبدیل متن به صوت این شرکت که پیش از در قابلیت وویس ChatGPT استفاده شده بود و صداهای طبیعی تولید میکرد، حالا در دسترس برنامه نویسها هست و میتونن با اون متنشون رو به صدا تبدیل کنن و هوش مصنوعی اون رو براشون بخونه.

🔵 و در نهایت برنامه نویسها از طریق Assistants API راحتتر میتونن چت باتهای مخصوص محصولاتشون رو درست کنن و دیگه درگیر چیزایی مثل حفظ State هر چت و کاربر و همچنین وارد کردن اطلاعات خارجی به مدل نشن چون این API این چالشهارو به راحتی حل میکنه.

این قابلیت از امروز در دسترس برنامه نویسها قرار گرفتن.

🔎 openai.com

📍 @TechTube
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
یاران هینتون:) : این قسمت خانم فی‌فی‌لی
این خانم فی‌فی‌لی خیلی ادم مهمیه انصافا، چرا؟ چون کورس Machine Visionش تو اسنفورد خیلی معروف شده:)؟ نه!
استنفورد ۷۰ هیات علمی CS داره همشون واقعا مهم نیستن اینقدر!
ایشون ادم مهمی در این حد که اگر نبود اصلا شاید deep learning خیلی دیرتر موج‌ش رو توی دنیا شروع می‌کرد! چرا؟ چون توجه به دیپ لرنینگ از مسابقات ILSVRC در سال 2012 شروع شد وقتی که مدل AlexNet بعد ZFNET بعد GoogleNet و بعد ResNet طی چهار سال متوالی با معماری دیپ کمترین خطا در تسک دسته‌بندی ImageNet رو داشتن.
خب ImageNet کار کیه؟ بله خانم FeiFeiLi. کی؟ سال 2007 این پروژه رو شروع کرد! یک تیم جمع کرد ۳.۲ میلیون عکس رو لیبل زد با سرویس Amazon Turk.
اگر ImageNet نبود هیچ وقت مسابقات ILSVRC معنی پیدا نمی‌کرد و اگر هیچ وقت اون داده برچسب نمی‌خورد هیچ وقت داده بزرگی برای نشون دادن قابلیت‌های دیپ نداشتیم.

حالا این خانم‌ هم از یاران هینتون در موضوع ریسک هوش مصنوعیه. هینتون کتاب «جهانی‌هایی که من می‌بینم» رو در این موضوع ازش معرفی کرده.
6👍2
Dev Tweet
یاران هینتون:) : این قسمت خانم فی‌فی‌لی این خانم فی‌فی‌لی خیلی ادم مهمیه انصافا، چرا؟ چون کورس Machine Visionش تو اسنفورد خیلی معروف شده:)؟ نه! استنفورد ۷۰ هیات علمی CS داره همشون واقعا مهم نیستن اینقدر! ایشون ادم مهمی در این حد که اگر نبود اصلا شاید deep…
پ.ن: موقعی که فی‌فی‌لی می‌خواسته این دیتاست رو جمع کنه اون موقع توی پرینستون بوده اون موقع میره پیش بنیانگذار پروژه WordNet از اون مشاوره می‌گیره ImageNet رو می‌سازه. وردنت شبکه‌ی معنایی لغات انگلیسی. برای کسی میخواد دقیق انگلیسی رو یاد بگیره به نرم یه دیکشنری مهمه.
👍1
رویداد مغفول مانده...
آقا این خیلی عجیبه که فضای وب و کانال‌های داخلی(فارسی) رو می‌بینم در مورد OpenAI Dev Day که تقریبا سه روز پیش برگزار شد تقریبا هیچ مطلب خاصی ندیدم!(به جز اونی که قبلا فوروارد کردم!)
من نوعا هدفم پوشش دادن اخبار نیست این کار رو کانا‌ل‌های دیگه می‌کنن، علاقه‌ام ارائه بحث‌های چالشی و اطلاعات تحلیلیه.
به دید بنده چیزهایی که Sam Altman از دست‌آورد‌های جدید OpenAI در 8 نوامبر 2023 در رویداد OpenAI Dev Day برای ChatGPT ارائه کرده اتفاقیه به مهمیه ارائه iPhone در سال 2007!
شاید بپرسید مگر عرضه و معرفی آیفون چه رویداد خاصی بود؟
اولین آیفون یک نوآوری فوق العاده جنجالی بود که یک تنه استیوجایز پاش ایستاد و اون به ثمر رسوند. اون زمان اولین اسمارت فون، اولین موبایل تاچ اسکرین بود که قابل اتصال به اینترنت داشت و شبکه اجتماعی رو به موبایل می‌آورد. در باب اهمیت‌ش ارائه آیفون همین بس که میگن ارائه آیفون به طور مستقیم و غیر مستقیم در 3.2 درصد در افزایش GDP دنیا در 2013 تاثیر داشته!
(در باب اهمیت ارائه آیفون حرف زیاد میشه زد بطوریکه حتی تغییرات روند نرخ خودکشی تو دنیا تو سال 2007 رو هم با ارائه آیفون توضیح میدن!)

چیزی که از ارائه سم آلتمن در OpenAI Dev Day کاملا قابل مقایسه با اون ارائه معروف استیوجایز برای اولین آیفونه!
و ارائه‌ی سم آلتمن کاملا می‌تونه اون رو تبدیل کنه به یک استیوجابز!
چیزهایی که در این رویداد ارائه شده زیاده و بررسی هر کدومش چندین پست مطلب لازم داره همه رو یک جا به طور خلاصه از اینجا ببینید:

ولی دو تا از شاخص‌ترین و تاثیرگذار‌ترین ویژگی‌هایی که ارائه میده GPT Builder و GPT Store هستند!
توصیف GPT Builder مفصله فقط باید این ویدئو 4 دقیقه‌ای از سم آلتمن رو ببینید به عظمت این فیچر جدید پی‌ ببرید. این قابلبت به شما کمک می‌کنه چطوری چت بات تولید کنید(در سه دقیقه با چت‌چی‌پی‌تی صحبت می‌کنه میگه من چه جور چت باتی میخوام و اون چت بات رو تولید می‌کنه!)
حالا چت‌بات‌هایی که تولید می‌کنید رو می‌تونید بذارید تو GPT Store و از اون درآمد کسب کنید!
ارائه GPT Store چیزی در حد و اندازه‌ی App Store میتونه تاثیر گذار و مهم باشه! وقتی اپ استور در سال 2008 عرضه شد کاملا تاریخ موبایل و صنعت نرم افزار رو دگرگون کرد بعد از چند سال همین استور رو گوگل هم به اسم پلی استور راه انداخت.
از نزدیک 1.8 میلیون اپ توی استور تا حالا 910 میلیارد دلار درآمد کسب شده!
حالا با قابلیت GPT Builder قراره هر کسی بتونه بات مورد نظر خودش رو به راحتی بسازه.
میانگین زمان توسعه هر اپ چیزی حدود 6 ماه زمان می‌بره به طور میانگین! توسعه هر چت بات چیزی کمتر از 20 دقیقه زمان می‌بره!
قبلا کسانی اپ توسعه می‌دادند که Swift و Objective C‌ و Android و Kotlin بلد بودن! در پارادایم جدید هر کسی میتونه اپلیکشن(چت بات) خودش رو بسازه حتی بچه‌ها!


از چیزهای دیگه‌ای که ارائه شد نسخه توربو GPT-4 بود که قبلا نسخه توربو را برای GPT-3.5 داده بود که توضیح‌ش رو اینجا ببنید.(هزینه پاسخ دادن و پردازش ورودی‌ش در مجموع سه برابر ارزان‌تر شده)

یکی دیگه از قابلیت‌های جدیدش TTS است(همون Text-To-Speech)
الان یک مدل milti-modal کامله!
برای Image2Text قبلا GPT-4V رو معرفی کرده بود.
برای ASR یعنی تشخیص گفتار مدل Whisper 3 رو قرار بیاره.
برای Text2Image از DALLE-3 استفاده می‌کنه.
در کنار متن به گفتار جدیدش تمام قابلیت‌های Multi-Modality رو داره!
(البته اصطلاح Multi-model اینجا علمی نیست چون واقعا به معنای علمی Multi-modal نیست.)
ترکیبه همه‌ی این‌ها با مدل ChapGPT‌ و APIهای فوق العاده ش کم کم داره چیزایی که تو فیلم Her می دیدم رو برامون تحقق می‌بخشه:)


یک پارادایم شیفت جدید!
👏32👍2🔥1
یک نکته در تکمیل مطلب کانال Deep Time
https://news.1rj.ru/str/deeptimeai/285

اولا که این کانال آقای محمد طلائی از کانالای خیلی خوب هوش مصنوعیه. ایشون از حوزه تخصصی خودش می‌نویسه و در زمینه‌ی تخصص‌شون سری‌های زمانی مالی هست.
اما چرا کانالش خوبه؟ چون تولید محتوا می‌کنه و مطلب می‌نویسه! مطلب نوشتن کار سختیه واقعا:)
بعضی کانال‌ها 90 درصد مطالبشون یک لینکه با یک تیتر که اون لینک رو توضیح میده. این مدل مطلب بی ارزش نیست ولی خیلی هم ارزش افزوده برای مخاطب نداره چون خود اون مخاطب روزانه صدها لینک جذاب می‌بینه وقت و حوصله نداره بازش کنه بخونه لینک پست اون کانال هم صد و یکمی‌ش که نمیخونه.

حالا مطلبم رو درباره پست‌شون در پست بعدی می‌گم.
👍51
سمت راست تصویر گراف محاسبات computation graph شبکه‌ی GNN است و سمت چپ شبکه‌ی Transformer.
این نوشتار(Article) رو ببینین مقاله(Paper) ژورنال یا کنفرانس نیست(داوری نشده) ولی بارها این مطلب در مقالات و کتاب‌های معتبر به لینک URLش ارجاع دادن! مثلا مقاله‌ی «همه‌ چیز متصل است» و حتی کتاب میشل برونشتین(پدرخوانده‌ی شبکه‌های عصبی گرافی و یادگیری هندسی عمیق) معروف به 5G که اصلی‌ترین کتاب Geometric Deep Learning هست بهش ارجاع داده.
این نشون میده یه نوشتار میتونه از مقاله‌هم مهم‌تر باشه!
حالا خیلی طولانی‌ش نکنم.
این نوشتار رو ببینید نشون داده که ترنسفورمر حالت خاصی از شبکه‌ی عصبی گرافیه.
حالا بیاین توی پست بعد یکم بحث تحلیلی کنیم...
👍32
تجارب من از برنامه نویسی(کد زدن) به کمک chatGPT -( قسمت اول)
دو هفته‌ای است بخاطر درگیری در یک سری پروژه‌ها پیاده سازی وقتی برای خواندن و نوشتن ندارم، اما تجربه‌هایی داشتم که با شما به اشتراک بگذارم.
تقریبا چندماهی است خیلی کم کد می‌نویسم! نه اینکه کد نزنم! نمی‌نویسم! از همینchatgpt استفاده می‌کنم. خود chatgpt هم نه چت bing که جدیدا اسمش را گذاشتم copilot...
چت بینگ یه مزیتی که داره اتصال به اینترنت و سرچ کردنه که اگر پول نداشته باشید chatgpt ورژن 4 رو بخرید باید از همون 3.5 استفاده کنید که قابلیت اتصال به اینترنت نداره البته اگر کاربر طولانی مدت chatgpt بینگ شده باشید سوئیچ میکنه روی chatgpt 4. مثلا من الان دارم در بیگ از نسخه چهار chatgpt استفاده می‌کنم.
کد زدن با مدل زبانی واقعا یک سری کار chore یا به اصطلاح گِل رو از روی دوش برنامه نویس بر میداره و فرصت زیادی برای برنامه نویس فراهم می‌کنه تا به چیزهایی فکر کنه که یه برنامه نویس واقعا لازمه فکر کنه. مثلا چند نمونه‌ش رو اگه بخوام بگم:
1. مثلا اگر تجربه استفاده از کتابخونه‌ی scrapping مثه beautiful soup رو داشته باشید یه کم روی اعصابه بخواهید برید یک <div> از تو در توی کلی تگ html برید بکشید که مثلا هیچ کلاسی نداره. معمولا باید در مود دیباگ صد بار با این المنتهای صفحه ور برید تا ساختارش رو درست پیدا کنید ولی خیلی راحت میتونید بخشی از source page صفحه‌تون رو بدید مدل زبانی بگید این تگ خاص رو برای من استخراج کن! البته همین کار هم چند تا قلق اساسی داره ولی خب اگر کسی بلد باشه واقعا کارش رو راحت می‌کنه!

2. یا اگر مجبور شده باشید در پروژه‌ای از regex استفاده کنید و مثه من خیلی هم regex بلد نباشید اون موقع کاملا درک می‌کنید مدل زبانی چه نعمت بزرگیه! چون regex واقعا زبونش آدمی‌زادی نیست حتی چیزی رو که میخوای رو درست نمیتونی سرچ کنی چون اصلا نمیدونی چی سرچ کنی ولی برای chatgpt که توضیح میدی چی می‌خوای خیلی راحت می‌فهمه و پیچیده‌ترین regex ها رو برات پیاده می‌کنه.

3. یه موقعی از یک کتابخونه جدید می‌خواهید استفاده کنید که اصلا هیچ آشنایی با اینترفیس‌ش ندارید مثلا خودم میخواستم با telethon کار کنم، اگر chatgpt نبود باید می‌رفتم داکیومنت‌ش رو می‌خوندم چند تا سمپل کد می‌دیدم تا ببینم چطوری کار می‌کنه ولی قابلیت‌های خیلی پیچیده این کتابخونه رو اگه خودم میخواستم کتابخونه رو چک کنم پیدا نمی‌کردم خیلی راحت کدش رو بهم می‌داد. البته به این راحتی‌ها نیست چون بعضی موقع‌ها کدهایی می‌نویسه که اصلا وجود نداره و از خودش کد چرندی تولید می‌کنه ولی معمولا در بار دوم و سوم که اشکالات سینتکس رو بهش بگید اصلاح می‌کنه. گاهی هم کد‌های ورژ‌نهای deprecate شده کتابخونه رو میده ولی واقعا اشکالات رایجی نیست کمتر پیش میاد.

4. بهتر از همه‌ اینا کمک کردن در دیباگه!
این یک نقل معروف و واقعی و درسته که در برنامه نویسی ۲۰ درصد زمان صرف نوشتن کد میشه ۸۰ درصد زمان صرف دیباگ میشه!
و از قضا این دیباگ کردنه که پدر آدم رو در میاره:)
واقعا کد زدن با chatgpt این نسبت زمانی ۸۰ درصد رو تغییر داده! از دو جهت: الف) یکی اینکه کدهایی که می‌زنه کم پیش میاد باگ واضح داشته باشند! مثلا بیاد با یه لیست به چشم دیکشنری برخورد کنه. پس خوب کد نوشتنش زمان دیباگ رو کم میکنه و از جهت دیگه اینکه بعضی موقع‌‌ها کدی که خودش تولید کرده یا شما نوشتید یه باگی می‌خوره، شما stacktrace کد رو قلمنبه‌ای کپی می‌کنید براش بهتون میگه مشکل از کجاست. اگر کد رو بهش داده باشین کد رو هم براتون اصلاح می‌کنه اگر هم نداده باشین احتمالات ممکن رو براتون فهرست می‌کنه. اینم از جهت دیگه‌ای که زمان دیباگ واقعا کم می‌شه و واقعا با لذت بیشتری میشه برنامه نوشت.
ادامه...

https://news.1rj.ru/str/tweetdev
👍5👏21
قبل از اینکه برم سراغ اشکالات و چالش‌های کد زدن با chatgpt یک تصور اشتباه misconception رو برطرف کنم.
الان به عنوان کسی که نزدیک شش هفت ماه دارم باهاش کار می‌کنم بگم که:
«در حال حاضر فوق العاده خیلی مضحکه اگر کسی فکر کنه بدون اینکه برنامه نویس باشی و واقعا برنامه نویسی بلد بشی می‌تونی با chatgpt برنامه تولید کنی» اگر هم تو یوتیوب می‌بینید کسائی هستند که یه سری برنامه‌ها رو از صفر تا صد با chatgpt می‌نویسن به خاطر اینه که خودشون واقعا برنامه‌نویسن.
اما چرا اگه برنامه‌نویس نباشی و قبلا برنامه‌های کاملی ننوشته باشی نمی‌تونی با chatgpt برنامه کاملی بنویسی؟
نکته اول رو با یه مثال توضیح می‌دم: دیدید کسائی که می‌خوان رانندگی یاد بگیرن و یا تازه یاد گرفتن معمولا در جاده‌های بین شهری و بزرگراه‌ها پشت فرمون می‌شینن؟! چرا؟ با اینکه دارن با ۱۰۰ تا سرعت به بالا رانندگی می‌کنن ولی اون رانندگی فقط نیاز‌منده اینکه بلد باشی از دنده چهار بری دنده پنج و معکوس بکشی و گرنه از گاز و فرمون و آیینه هم خیلی استفاده نمی‌کنن. معمولا کمتر کسی با رانندگی در چنین شرایطی به ذهن‌ش می‌رسه که من راننده شدم چرا؟ چون می‌دونه اگر بهش بگن حد فاصل میدون راه‌آهن تهران و میدون شوش رو رانندگی کن کف دستش از استرس عرق می‌کنه! ولی آدمی که با chatgpt چند تا code snipet رو هم چسبونده اسمش رو گذاشته برنامه معمولا به این فهم نمی‌رسه و توهم برنامه نویس بودن برمیداره! حالا چرا واقعا کسی که چند تا از این کد‌ها رو به هم می‌چسبونه برنامه نویس نیست. در نکته بعد می‌گم.

نکته دوم اینکه، chatgpt به عنوان کسی که یه سری کدهای ما رو می‌زنه، نیرو برنامه‌نویس ما نیست بلکه pair-programmer است یعنی میشینه کنارت بهت کمک می‌کنه «با هم» کد بزنید «با هم»! باز بذارید این رو با یه مثال توضیح بدم، اگر دو تا برنامه نویس تو شرکت بشینن در مورد کد یه پروژه با هم حرف بزنن آیا یک مدیر محصولی که سابقه فنی نداره اگر کنار اینا باشه حرفای اونا رو می‌فهمه؟ ۷۰ درصدش رو نه! اون دو تا برنامه نویس به واسطه دانش و تجربه یه زبان مشترکی دارن که میتونن نیازها و چالش‌ها رو با اون زبان به هم منتقل کنن. گاهی واقعا ۹۰ درصد راه حل مساله بیان مساله است. کسی که اصلا بیان فنی یه مساله رو نمی‌فهمه و نمی‌تونه مساله و مشکل‌ش رو به بیان فنی برای یک pair-programmer که در اینجا chatgpt است مطرح کنه بالتبع اون chatgpt بد بخت هم نمی‌تونه مساله‌‌ای که درست براش تعریف نشده رو حل بکنه. خیلی جاها مساله این نیست که تو برای یک chatgpt یه مساله‌ای رو توضیح بدی اونم بهت کدش رو بده، فرضا که اون بتونه برای هر مساله‌ای که تو براش تعریف کردی کد مساله رو تولید کنه مساله اینه که اصلا اون ادم غیر فنی نمی‌تونه برای این chatgpt بدبخت مساله‌ش رو درست توضیح بده.

نکته سوم اینکه، chatgpt در جایگاه کسی که میخواد کد بزنه رو اینطور میشه توصیف‌ش کرد: «یه برنامه‌نویس خیلی باسواد و باتجربه که خنگه!» یعنی کد کلی رو کتابخونه می‌شناسه طریق استفاده‌شون رو بلده ولی نمی‌تونه برای مساله‌ی خیلی جاها طراحی خوبی انجام بده. نه اینکه فکر کنی نمیتونه طراحی سطح بالای خوبی انجام بده! نه اون که اصلا نباید روش حساب کنی! اون کار خود برنامه نویسه! منظورم توی نوشتن کده! مثلا بهش می‌گی این کد رو بگیر روی این تابعی که داره از نتورک استفاده می‌کنه پراکسی ست کن(مشکلی که 😭😭 پوست‌ ما ایرانی‌ها رو کنده) اگر بتونه بفهمه اون کتابخونه پراکسی ساپورت می‌کنه خیلی شاهکار کرده ولی خیلی بعیده بفهمه که اگر فلان تابع کتابخونه پراکسی ساپورت نمی‌کنه میشه کلاس HttpHandler اون تابع رو override‌ کرد و توی constructor اون کلاس بهش پراکسی پاس داد و HttpHandler جدید رو به تابع پاس داد! این کد رو اگه بخوای بهت بده باید این چنین نمونه کد‌هایی دیده‌ باشی و بتونی براش توضیح بدی که چنین کدی بهم بده و کسی که برنامه نویس نیست واقعا نمیتونه این قضیه رو جمع کنه!

نکته چهارم، یک بخشی از کیفیت تجربه کاربری کد زدن با chatgpt به توانائی و تجربه نوشتن پرامپ برمیگرده. گاهی یک سوال رو ازش می‌پرسید بهتون جواب نمیده و یا هر چی ازش می‌خواهید جوابش رو عوض کنه همون جواب‌های قبلی رو بهتون میده. اینجا هوش شما میاد وسط که چطوری کانتکس اون نشست رو براش طراحی کنید که وقتی اون سوال رو ازش میپرسید توی دره قبلی نیوفته و جواب متفاوت‌تری بهتون بده.


در قسمت بعدی از مصائب و چالش‌های کد زدن با chatgpt براتون میگم...
حتما شما هم اگر تجاربی دارید در کامنت‌های کانال بفرمائيد یاد بگیریم ازتون❤️

https://news.1rj.ru/str/tweetdev
👍81👌1
دوران «ماه عسل» مهندسین یادگیری ماشین داره به سر میاد...

این
مقاله در مورد تاثیر پیشرفت هوش مصنوعی در بازار کاره.
این جمله رو از کسایی که خیلی به هوش مصنوعی خوش بین هستند شنیدید که هوش مصنوعی قرار نیست جایگزین انسان بشه بلکه به انسان کمک می‌کنه که بهره‌وری بیشتری داشته باشه...
(بابت صراحت کلامم عذرخواهی می‌کنم 🙏)
این مقاله شواهدی میده که این، حرف مفته!
دوره‌‌های همکاری انسان و هوش مصنوعی رو به سه دوره تقسیم می‌کنه:
الف) دوره‌ی قبل از ادغام decoupling
هوش مصنوعی بروزی از هوشمندی داشت ولی نمی‌تونست به انسان کمک کنه. مثلا دوره پیدایش مدلهای زبانی مبتنی بر ترنسفورمر اولیه مثه BERT تا قبل از ChatGPT3.5 به نظرم میشه این دوره.
ب) دوره ماه عسل honeymoon
دوره‌ای که هوش مصنوعی خیلی هوشمنده و عملکرد خیلی خوبی داره ولی هنوز از انسان در اون مهارت بهتر نیست مثه همین الان ما، شبیه به مترجم انسانی ترجمه می‌کنه ولی هنوز بهتر از مترجم انسانی نیست. کد می‌نویسه و هنوز برنامه کامل نمیتونه تولید کنه. تازه یادگرفته مثلا اگه عکس انسان تولید می‌کنه عکسی که تولید میکنه انسان شش انگشتی نباشه(اینجا رو ببنید)!
ج) دوره جایگزینی با انسان substitution
در این دوره هوشمندی هوش مصنوعی از انسان بیشتر شده و در همون عملکردی که یک روزی کمک‌یار انسان بود حالا جایگزین انسان متخصص شده. شبیه استادکاری که یک شاگرد میاره ور دست خودش کارهای گِل رو بندازه رو دوش‌ش تا خودش راحت‌تر بشه ولی اون شاگرد کم کم فوت و فن استادی رو هم یاد می‌گیره از استاد خودش جلو می‌زنه!

برای این موضوع اومده شغل «مترجمی» رو بررسی کرده(احتمالا از داده‌هایی جایی مثه UpWork)
نشون داده از زمانی که ChatGPT اومده درآمد مترجم‌ها ۳۰ درصد کاهش داشته!
ابزارهای هوش مصنوعی اول کمکت می‌کنن راحت‌تر بشی در کارت ولی کم‌کم که داده‌ بیشتری ازت جمع‌آوری می‌کنند از خودت بهتر می‌شن!
به حجم فیدبکی که سرویس‌های Foundation Model چه تصویر چه متن و چه کد برنامه نویسی... از کاربر خودشون جمع می‌کنن فکر کنید همین فیدبک‌هایی که ما در یک نشست چت به ChatGPT میدیم فکر کنید چه دیتاست‌های خفن‌تری در اختیار صاحب مدل قرار میده!
این مساله رو خود نویسنده‌ها هم به استناد رشته ردیت r/translationStudies بهش اقرار دارن!
این موضوع باعث کاهش ۷ درصدی درآمد «نویسندگی» هم شده....

اما نکته جالب‌تر!
این روند داره در برنامه‌نویسی وب و مهندسی یادگیری ماشین هم اتفاق می‌افته ولی! ریسک جایگزینی هوش مصنوعی برای مشاغل حوزه مهندس یادگیری ماشین از ریسک جایگزینی هوش مصنوعی برای مهندس نرم افزار بیشتره!
دلیلش اینه که در حال حاضر مهندس نرم‌افزار سیستم پیچیده‌تر شامل اجزای بیشتری رو داره تولید میکنه ولی تولیدات مهندس یادگیری ماشین معمولا تک زبانه و تک جزئی(component) است.
و مهمتر از اون مدل‌های open source یادگیری ماشین دارن خیلی در دسترس قرار می‌گیرن و از کد‌های open source در مهندسی نرم افزار در دسترس‌تر هستند.

لذا این تصور که چون هوش مصنوعی داره در همه‌ی مشاغل جای انسان رو می‌گیره پس بریم خودش رو یاد بگیریم تا جایگزین نشیم غلطه!
چون هوش مصنوعی داره اول کار مهندسین یادگیری ماشین رو ازشون می‌گیره!
به تعبیر این مقاله ادعا میکنه مهندسین یادگیری ماشین دارن تو چاهی می‌‌افتن که خودش براش کلنگ زدن!

https://news.1rj.ru/str/tweetdev
👍15👎5
4
شبکه‌ی عصبی گرافی و مقاومت آنتی‌بیوتیک...

آخرین کلاس ساختاری آنتی‌بیوتیک‌ها ۳۸ سال پیش کشف شده و در این سال‌ها هیچ خانواده آنتی‌بیوتیکی که از ترکیب مولکولی متفاوت باشه کشف نشده!

باکتری به اسم مرسا MRSA سالی ۱۰ هزار قربانی میگیره در آمریکا که مقاومت آنتی‌بیوتیکی خاصی از خودش نشون میده.

اینا رو گفتم که چی؟!

بعد از LLM و Latent Diffusion که با تولیدات مکتوب و مصور از آزمایشگاه و آکادمی وارد زندگی واقعی ما شدند الان نوبت شبکه‌های عصبی گرافی تفسیرپذیره که قراره با تولیدات داروئی زندگی ما رو بهبود بدن!

اگر با تاریخچه شکل‌گیری شبکه‌های عصبی گرافی آشنایی داشته باشید (رجوع کنید به مقاله MPNN) یکی از جدی‌ترین محورهای توسعه شبکه‌های عصبی گرافی پردازش و یادگیری خواص مولکول‌های شیمیایی از روی ساختار مولکولی آنهاست، این تلاش‌ها تقریبا از ۲۰۱۵ شروع شده و الان که روزهای آخر ۲۰۲۳ هستی با این مقاله نیچر به کاربرد رسیده!

محققانی از MIT، هاروارد و کامبریج و ... اومدن بیش از سی هزار مولکول با ساختارهای دور از هم رو که در آزمایشگاه کشت کردند و خواص آنتی‌بیوتیکی‌شون برای مقابله با باکتری‌های استافیلوکوک ائورس رو اندازگیری کردن و از داده‌های جمع‌آوری شده یک دیتاست ساختند و یک شبکه‌ عصبی گرافی رو برای پیش‌بینی خواص سمی‌بودن و آنتی‌بیوتیکی بودن اون مولکول‌ها آموزش دادند، بعدش با همین مدل خواص ۱۲ میلیون تا مولکول رو پیش‌بینی کردند و چند تا فیلتر روی اون خواص گذاشتند مثل امتیازی سمی بودن پائین، امتیاز فعالیت آنتی‌بیوتیکی بالا و یک سری خواص شیمیایی دیگر تا از ۱۲ میلیون به حدود ۳ هزارتا مولکول رسیدند.

برای اینکه ببینند چه زیر ساختار مولکولی خاصیت آنتی‌بیوتیکی به مولکول میده از تکنیک‌هایی استفاده می‌کنند که منطق rationale مدل در شناسایی مولکول آنتی‌بیوتیکی رو استخراج می‌کنه. تکنیک خیلی جالبیه میان یکی یکی پیوند و اتم‌های مولکول رو حذف می‌کنند هر بار میدن به مدل ببینند آیا هنوز خواص آنتی‌بیوتیکی داره یا نه؟ تا اینکه به یک زیر ساختار مشترک میرسن و اون رو به عنوان زیرساختار آنتی‌بیوتیکی شناسایی می‌کنند.

این آزمایش هم بصورت درون‌تنی in vivo روی دو موش آزمایش شده و تونسته باکتری مرسا که مقاومت آنتی‌بیوتیکی داشته را با سمیت(سمی‌بودن) کمی از بین ببره.

شبکه‌های عصبی گرافی بخاطر توانایی در یادگیری ساختارهای خیلی پیچیده برای یادگیری داده‌های طبیعت مثل تعامل پروتئینی و مدل‌سازی برخورد ذرات بنیادین و شبکه گراف مغز و ... خیلی موفق هستند.
به نظرم سه مسیر اصلی یادگیری ماشین در آینده نزدیک به این صورت خواهد بود:
شبکه‌های عصبی گرافی برای AI for science
یادگیری تقویتی برای Self-improving AI
مدلهای زبانی بزرگ(LLM) برای Language Understanding

این حوزه‌ی AI4Science خیلی کم دیده شده underrated است چهار سالی هست Neurips یکی از ورکشاپ‌هاش رو گذاشته روی همین موضوع.

https://news.1rj.ru/str/tweetdev
👏8👍3😱1
شرکت‌های بزرگ در توسعه LLMها هر کدوم مسیر متفاوتی رو طی می‌کنند. OpenAI و گوگل در پی ساخت مدل‌های زبانی خیلی بزرگ هستند. فیس‌بوک در پی ساختن مدل‌های کارآمد متن‌بازه ولی نقطه‌ مقابل گوگل و OpenAI که در پی ارائه سرویس‌های ابری Foundation Model است تمرکز اپل چند سالی است که روی آوردن انواع مختلف مدل‌های یادگیری ماشین روی پلتفرم End-user است، این موضوع رو در یکپارچه‌سازی هوش مصنوعی در عرضه‌های اخیر گوشی‌های iPhone هم می‌بینید.
حالا یک تیم از اپل که از 8 نفر نویسنده 5 تا ایرانیه! اومده کاری کرده که حافظه‌ رم و سرعت استنتاج مدل‌های زبانی را روی سخت افزار موبایل افزایش بده به طوریکه LLMها با دو برابر ظرفیت DRAM رو لود می‌کنه و سرعت استنتاج رو نسبت به سی‌پی‌یو 4 تا 5 و نسبت به جی‌پی‌یو 20 تا 25 برابر افزایش می‌ده. روش به این صورته که ابتدا مدل رو روی حافظه‌ی فلش ذخیره می‌کنه بعد با دو تا تکنیک فقط پارامترهایی که برای استنتاج نیاز هستند رو موقع استنتاج از حافظه فلش به DRAM میاره. برای این کار از دو تا تکنیک اصلی استفاده می‌کنند یکی اینکه تکنیک windowing واسه اینکه کمتر عملیات انتقال بین دو تا حافظه رو داشته باشن و row-column bundling واسه اینکه هر بار مقدار بیشتری از چانک داده رو بصورت پیوسته از حافظه فلش به DRAM بیارن.

اگر قبلا اسم PowerInfer به گوش‌تون خورده باشه اون هم تلاشی بود برای افزایش سرعت استنتاج روی سی‌پی‌یو بدون استفاده از جی‌پی‌یو که می‌تونید نتایج‌ش رو توی این توئیت ببینید.

پ.ن: انگیزه واسه نوشتن این مطلب این نبود که این کار خیلی عجیب و مهم بود که البته هر دوش بوده! وقتی به این مطلب برخوردم و دیدم نویسنده اولش رو از قبل می‌شناسم و 5 تا از 8 تا نویسنده‌ش ایرانی هستند خیلی برام هیجان انگیز بود و حس خوبی داشت و یک حس بد که کاش می‌شد و کاش شرایطی بود که همین محقق‌های خفن ایرانی این کارا رو توی ایران انجام می‌دادند ولی خب اگر تو ایران بودند دیگه نمی‌تونستند از این کارا کنند.

پ.ن: در انتخاب عنوان مقاله هم خلاقیت جالبی نهفته است که معنی دو وجهی داره: اولی in a flash هم به معنی suddenly و یک دفعه‌ای و سریعه یعنی LLM‌ خیلی سریع و وجه دومش هم به flash به معنی حافظه سخت‌افزاری موبایل یعنی LLM در حافظه‌ی flash.
👍5👏1
سلام مجدد
بعد از یک مدت طولانی که نتونستم بنویسم
ممنون که هنوز اینجا هستید
تصمیم گرفتم هر چند کوتاه ولی بیشتر بنویسم
1
برگشت مجدد رو با معرفی یه کتاب شروع کنم
Alice's Adventures in a Differentiable Wonderland -- Volume I, A Tour of the Land
ماجراهای آلیس در سرزمین عجایب مشتق‌پذیر -- جلد اول، گشت و گذار در سرزمین
این کتاب خیلی اسمش نشون نمیده چیه.
یه کتاب در مورد آموزش یادگیری عمیق شبیه کتاب Deep Learning Book - Ian Goodfellow and Yoshua Bengio که سالها تسک بوک دانشگاهی دیپ لرنینگ بود اما دیگه از 2016 مطالبش آپدیت نشد.
من یک کتاب دیگه در دیپ لرنینگ سراغ دارم که مطالبش به روز باشه و ارزشمند باشه که قبلا اینجا (کتاب UDL) معرفی کردم خدممتون.
همین این کتاب آلیس در سرزمین عجایب مشتق پذیر و هم این کتاب UDL رایگان و اپن سورس هستند.
این کتاب آلیس ... رو میتونید از arxiv بردارید.
دو تا نکته در مورد این کتاب خیلی جالبه:
1. اسم کتاب برگرفته از یک ریبرندیگه از عنوان شبکه عصبی که ایده ش رو سال 2018 یان لیکان ارئه کرده همون differentiable programming است.
ایده‌ش در شعارش خلاصه میشه:
Deep Learning est mort. Vive Differentiable Programming!
یادگیری عمیق مرد. زنده باد برنامه نویسی مشتق‌پذیر!
بطور خلاصه این ایده میگه دیپ لرنینگ یک ریبرندیگ(rebranding) برای شبکه‌های عصبی ساده با تعداد لایه زیاد بود. اما مدلهای امروزی واقعا دیگه فقط کلی لایه نیستن که پشت سر هم قرار گرفتنند بلکه کلی بلوکهای فاکشنال مشتق پذیر هستن که بصورت دینامیک ساختار مدل بصورت تابعی از مدل عمل می‌کنه(بر خلاف شبکه‌ی عصبی عمیقی که اول معماری ساخته میشد و ساختارش مستقل از داده‌ای بود که آموزش میداد.) به همین خاطر نام مناسب برای مدلهای مدرن برنامه نویسی مشتق پذیر است. مثال مناسب برای فهم تفاوت اینکه چرا به مدل‌های مدرن(دقت کنید میگم مدل مدرن نمیگم شبکه!) میگه برنامه نویسی مشتق پذیر همین مدل‌های MMLU (مدلهای زبانی چند موداله)(متن+تصویر+ویدئو+صوت) است که یک مدل در ترکیبی از چندین شبکه‌(مدل)ی عصبی عمیق داره کار می‌کنه.

این نویسنده‌ هم با اشاره به این موضوع دیگه اسم کتابش رو نذاشته deep learning. گذشته ماجراجویی مشتق پذیر Differentiable آلیس!
2. برای مباحث جدید(فصل آخر: داخل سوراخ خرگوش Down the rabbit-hole) این کتاب مباحث واقعا جذابی داره (عکس ضمیمه شده) مثه SSS modelها مباحث پیشرفته‌ای در ترنسفورمرها و GNNها هم داره. تازه برای جلد اوله و طبق گفته خودش هنوز به مباحث جدیدتر مثه generative modeling, explainability, prompting, agents نپرداخته.

پ.ن: این کتاب مطالب درسی کورس Neural Networks for Data Science Applications ایشون در دانشگاه ساپینزا ایتالیاست.
پ.ن: توئیت معرفی کتاب (وقت داشتید کوتهای توئیت رو ببینید)
پ.ن: در مورد برنامه نویسی مشتق پذیر میتونید اینجا رو بخونید.
👍5
جایگزین جدید دیگر برای MLP
شبکه‌ی Kolmogorov-Arnold Networks (KAN)

دو سه روزی یه مقاله جدید اومده به اسم KAN از یک تیم از MIT و برکلی به عنوان جایگزینی برای MLP.
نویسنده‌ها بک گراند فیزیک دارن!
حرف در مورد این مقاله زیاد میشه زد اما به قدر وسعم چند ایده‌ اساسی‌ش رو اینجا مطرح می‌کنم.
1. شبکه‌های MLP مبتنی بر قضیه‌ی تقریب سراسری(universal approximation theorem (UAT)) هستند. اما مبنای شبکه‌ی KAN قضیه‌ی بازنمایی کلموگروف-آرنولد (Kolmogorov-Arnold representation theorem (KART)) به خاطر همین اسمش رو گذاشتن کولوموگروف و آرنولد چون از تئوری اونها اومده.
قضیه تقریب سراسری (UAT) ادعا می‌کند که یک شبکه نمی‌تواند با عرض ثابت دقت بی‌نهایت را بدست آورد، به این معنی که اگر تعداد نورون‌ها در لایه (های) پنهان اجازه افزایش نداشته باشد محدودیت وجود دارد که چقدر یک شبکه عصبی می‌تواند توابع پیچیده را مدل کند. به عبارت دیگر، برای افزایش دقت مدل برای توابع پیچیده‌تر، باید تعداد نورون‌ها (یعنی عرض) در شبکه را افزایش داد.

قضیه بازنمایی کلموگروف-آرنولد (KART)میگه که هر تابعی از متغیرهای چندگانه می‌تواند به عنوان ترکیبی جمعی از توابع یک متغیره نوشته شود. این نشان می‌دهد که یک شبکه می‌تواند ( تحت شرایط خاص) با عرض ثابت دقت بی‌نهایت را بدست آورد.
قضیه تقریب سراسری UAT پیشنهاد می‌کند که یک شبکه نمی‌تواند با عرض ثابت دقت بی‌نهایت را بدست آورد، در حالی که KART پیشنهاد می‌کند که این ممکن است. مهم است توجه داشت که این قضایا تضمین‌های نظری در مورد آنچه ممکن است را ارائه می‌دهند، اما لزوماً روش‌های عملی برای دستیابی به این نتایج را ارائه نمی‌دهند. عملا راه حل پیاده‌سازی عملی قضیه‌ی UAT شبکه‌ی MLP و راه حل پیاده‌سازی عملی قضیه‌ی KART شبکه‌ی KAN است.

2. در شبکه‌ی MLP توابع فعالسازی روی نرون‌ها(گره‌ها) اعمال می‌شوند و ثابت هستند.
در شبکه‌ی KAN توابع فعالسازی روی وزن‌ها(یال‌ها) اعمال می‌شوند و قابل یادگیری هستند که با اسپلاین پارامتریزه می‌شوند.

3. شبکه‌ی KAN سرعت یادگیری‌ش کمتره اما در عوض:
تفسیرپذیرتره!
با تعداد پارامتر کمتر به همون دقت MLP می‌رسه!
طبق قانون مقیاس در شبکه‌های عصبی در افزایش مقیاس مشخص سرعت افزایش دقت آن بیشتر است!
مثلا در یک مساله خاص که دیپ مایند با 300 هزار پارامتر به یک دقت و نتیجه رسیده این شبکه با 200 پارامتر به همون نتیجه رسیده!

4. چرا آموزش KAN کند است؟
(جواب از زبان نویسنده)
دلیل 1: فنی. توابع فعال سازی قابل یادگیری (اسپلاین‌ها) برای ارزیابی گران‌تر از توابع فعال سازی ثابت هستند.
دلیل 2: شخصی. فیزیکدان در درون من شخصیت برنامه‌نویس من را مهار می‌کرد، بنابراین من سعی (یا دانش) بهینه‌سازی کارایی را ندارم.
به همین دلیل اصلا کد مدل GPU-freindly نوشته نشده است.


پ.ن: مقاله خیلی خوب نوشته شده واسه فهمیدن و کلی تصویر داره که نشون میده موضوع رو.
پ.ن: دو تصویری که از مقاله KAN و MLP رو مقایسه میکنند رو آوردم. کلا تصاویر و جداول مقاله خیلی خوب و قابل فهمه:)
پ.ن: این رشته توئیت تاثیر بک‌گراندهای فیزیکی ذهن طراح شبکه را خیلی جالب از مقاله بیرون کشیده.
پ.ن: لینک مقاله
👍9
پدیده‌ای عجیب در افزایش عمق شبکه
آقای ماکسیم لابون اومده از llama-3 که دو ورژن 8 و 70 میلیارد پارامتری داره یه مدل 120 میلیارد پارامتری درست کرده؟!
از قضا یک کاربر دیگه یک تستی برای هوشمندی‌ش اجرا کرده که نشون میده حتی از Opus Claudia (رقیب GPT-4 واسه شرکت Anthropic) در اون تست خاص هوشندتره!
اون تست چیه؟ یک کاربر کلی وقت گذاشته به مدل القا کنه یک دستیار شخصی نیست بلکه یک شخصیت دیگه‌ای داره(مثلا فیزیکدانه) اینکه چقدر طول کشیده که بتونه مدل رو گول بزنه رو معیار هوشمند بودن قرار داده و در عمل llama-3 و Claudia Opus رو تونسته زودتر از مدل ۱۲۰ میلیارد پارامتری گول بزنه!
چطور ممکنه یک شخص بتونه چنین مدلی پیاده کنه؟ (چون این مدلها هر بار چند ماه و چند میلیون دلار آموزش‌شون هزینه می‌بره و قطعا یک شخص به چنین زیرساخت برای آموزش دسترسی نداره)
نکته جالب اینکه حتی از داده جدید هم برای آموزش استفاده نکرده!
پس چطوری تونسته چنین مدلی بسازه!؟
هیچ اومده یک سری لایه‌ی همون مدل llama3-70b رو با یک پترن ساده‌ای کپی کرده پست سر هم استک کرد!
اول ۲۰ تا لایه‌ی اول لاما-۳ رو برمیداره بعد لایه ۱۰ تا ۳۰ رو برمیداره(عملا لایه‌ی ۱۰ تا ۲۰ داره دوبار کپی می‌شود) و به ترتیب لایه‌ی ۲۰ تا ۴۰ و ۳۰ تا ۵۰ و ... و اینها را پشت هم قرار می‌دهد و مدل ۱۲۰ میلیارد پارامتری رو می‌سازه.
به لحاظ فنی چطوری این کار رو کرده؟ از ابزاری به اسم mergekit استفاده کرده(اون فایل کانفیگ مربوط به همین ابزاره)
این مدل الان توی hugging face به اسم Meta-Llama-3-120B-Instruct هست اونجا کانفیگ کپی کردن لایه ها رو گذاشته(در عکس ببنید)
شاید بگید اون تست خاص و میزان تلاش یک انسان برای متقاعد کردن یک مدل معیار خوبی واسه هوشمندی نیست، باید عرض کنم این مدل در تست عمومی تر Creative Writing benchmark از Claudia Haiku بهتره و قبل از Claudia-Sonnet قرار می‌گیره.
اتفاقی که داره میافته عجیبه!
صرف افزایش پارامتر از طریق افزایش عمق شبکه داره کارایی شبکه افزایش میده!
بدون هیچ آموزش جدید
بدون داده جدید
بدون هیچ fine-tuning
فقط کپی کردن لایه‌ها
همین!
👍8🔥4
Dev Tweet
مثلا در یک مساله خاص که دیپ مایند با 300 هزار پارامتر به یک دقت و نتیجه رسیده این شبکه با 200 پارامتر به همون نتیجه رسیده!
اگه این پست شبکه‌ی KAN رو خاطرتون باشه گفتیم که ممکنه یک شبکه‌ای MLP که با 300 هزار پارامتر به یک دقت میرسه همون دقت با 200 هزار پارامتر از شبکه‌ی KAN به دست بیاد.
این کاربر یک مدل کوچک سبک GPT-2 را ه جای MLP با استفاده از شبکه‌های Kolmogorov-Arnold (KANs) روی 134 میلیون توکن از مجموعه داده TinyStories با استفاده از JAX آموزش داده. در نتیجه فهمیده KAN می‌توانند با 25٪ پارامتر کمتر عملکرد مشابهی را ارائه دهند!
از یک شبکه‌ی KAN استفاده شده است که چبیشف چندجمله‌ای‌ها را (الهام گرفته از https://github.com/SynodicMonth/ChebyKAN/blob/main/ChebyKANLayer.py) به عنوان تابع پایه استفاده کرده.
مدل MLP دارای 3.3 میلیون پارامتر است و نسخه KAN دارای 2.5 است.
پارامترهای کمتر لزوماً به معنی کمتر بودن محاسبات نیست اما لایه‌های KAN هنوز نیاز دارد که برای GPU بهینه‌سازی شوند.
5👍1
این لینک رو حتما یه نگاه بندازین.
مسئول مدلهای لاما در هاگینگ‌فیس(کسی که یکی از مسئولیت‌هاش ستاپ کردن و نگه‌داری مجموعه مدلهای لاما شرکت متا روی هاگینگ فیس هست) اومده یک واژه‌نامه از کلمات و اصلاحات مدلهای زبانی جمع‌آوری کرده و با بیان ساده تعریف کرده.
به نظرم کاملا ارزشش رو داره یه ساعتی وقت بذارید. حجم زیادی اطلاعات مفید میگیرید.
5👍2
مهندسی نرم‌افزار و هوش مصنوعی
(تجربه من از برنامه نویسی با مدل زبانی)
من تقریبا یک سالی هست که خیلی کم کد می‌نویسم چون دیگه میدونم چطوری تسکهام روی برای copilot توضیح بدم اونجوری که میخوام انجامش بده.
با وجود اینکه خیلی کمتر کد زدم برنامه‌های بیشتری تولید کردم مثلا برای کارام برنامه‌های کوچیک کوچیک خیلی بیشتر نوشتم.
مدل‌های زبانی دارند سطح انتزاعی فکر کردن ما در مورد برنامه‌ها رو بالا می‌برند یعنی مثلا اگر سینتکس جاوا رو بلد نیستید و خیلی کتابخونه‌هاش رو نمیشناسید  ولی اگر زبان اصلی شما پایتون است و پارادایم شی‌گرائی را در پایتون خوب بلدید با کمترین زمان ممکن میتونید سوئیچ کنید روی جاوا. حتی یک برنامه نویس پایتون که شی گرایی رو خیلی خوب بلده با کمک مدل زبانی میتونه کد جاوا خیلی بهتری بنویسه چون مدل‌های زبانی کاری کردند که اصل بر تسلط بر انتزاعه و مهندسی نرم افزار است نه مهارت توسعه فانکشن و کلاس.
تجربه من در استفاده از مدل‌های زبانی رایگان که context length کوتاه‌تری به نسبت مدلهای پولی دارند این بوده که همین context length مانع بزرگی برای استفاده کردن از مدل زبانی در سطح انتزاعی بالاتره چون از وقتی context length نسخه copilot من از ۴۰۰۰ تا به ۸۰۰۰تا کاراکتر افزایش پیدا کرده می‌بینم که میتونم برای تسکهای انتزاعی تری استفاده‌ش کنم اما با افزایش context length مدل معمولا دچار نوعی حواس پرتی میشه و ممکنه لازم باشه یک چیز رو با طرق مختلف ازش بخواهید تا براتون انجام بده.
این رو امروز که تو شرکت مجبور به یک ریفکتور سنگین بودیم و با یک پترن خاصی داشتیم توسعه می‌دادیم فهمیدیم(اصلا نمیدونم برای اون نیاز خاص ما دیزاین پترن وجود داره یا نه چون یک پترنی درآوردیم که ظاهرا تا الان جواب داده اگه جواب نده احتمالا تا نیمه خرداد تیم‌مون تعلیق میشه😂) جایی بود که فقط تجربه به دادمون می‌رسید (نه اینکه بگم خیلی باتجربه بودیم) یعنی اگر باتجربه‌تر بودیم اون کد رو بهتر طراحی می‌کردیم و اگر تجربه رو نداشتیم مدل زبانی به دادمون نمی‌رسید و رسما به فنا میرفتیم.
پ.ن: اینا رو منی می‌نویسم که حتی عکسی رو که مدیر از باگ سیستم  با گوشی‌ش از روی مانتیور گرفته تو تلگرام برام فرستاده با copilot حلش میکنم!
پ.ن۲: اگر فعلا قصد در حال حاضر مهندسی نرم‌افزار بلد نیستید یعنی تجربه یا توانایی یا موقعیت کد زدن در کدبیسهای بزرگ رو ندارید استفاده بی‌رویه و غلط از این مدلهای زبانی با ایجاد توهم مهندس افزار بودن به فنا میده‌تون چون در سیستمی که مثلا بیش از هزارتا تسک داره بیش از اینکه توسعه مهم باشه نظم توسعه(معماری) مهمه چون اگر بیزینس بخواد اسکیل کنه و چه به لحاظ اسکیل کردن فیچرها و چه منابع، اگر معماری درست و درمون نداشته باشید ممکنه کل بیزینس رو با سر بزنید زمین. یک‌ از دوستان که خیلی برنامه نویس قابلی بود تعریف می‌کرد چطوری ریفکتور کردن(با پروژه بزرگ رو ریفکتور کرده باشی تا بدونی چاه ریفکتور چیه😐) بی‌حساب و کتاب و بی‌موقع باعث شده بود بیزینس‌شون به علت محدودیت منابع مالی کل پروژه رو جمع کنه:) (اسم پروژه رو بگم اکثرا میشناسید)
پ.ن۳: حرفهایی که من در مورد مدل زبانی میزنم‌ واسه الانه نه شش ماهه دیگه! به زودی مدل‌های زبانی در سطح انتزاع بالاتر مثل معماری هم پیشرفت خواهند کرد و میتونن از من و شما با best practiceهای بهتری و design patternهای مناسب‌تری کد بزنن!
پ.ن۴: اگر پ.ن قبلی شما رو به ترس انداخته که چقدر احتمالش بالاست که مدل‌های زبانی ممکنه آینده کاری نیروهای فنی حوزه آیتی رو به فنا بدن(شاید نگرانی بجایی باشه ولی من فعلا نگران نیستم) به نظرم دورترین شغل در رده فنی به جایگزین شدن با هوش مصنوعی تسکهای رده devops است.(به نظر حتی مهندسی محصولم با فهمی که من از تسکاش دارم خیلی میتونه مورد تهدید قرار بگیره مگر اینکه اون نیرو تجربه تحلیل بیزینسی خودش رو خیلی بالا ببره که اون موقع میشه طلا)
پ.ن۵: چرا در مورد آینده شغلی‌م و هوش مصنوعی نگران نیستم چون معتقدم چیزی که شغل من رو به خطر می‌اندازه بحران‌های اقتصادی و به‌خصوص بحران منابع مالی در حوزه tech هست که دیگر شرکت‌ها و سرمایه گزاران علاقه به برنامه‌های توسعه‌‌ای نداشته باشند و بخواهند صرفا از سرویس‌های جاری کسب درآمد کنند ولی مادامی که علاقه به توسعه وجود داشته باشد نیازش هم پیدا می‌شود و تقاضا برای نیروی فنی به وجود می‌آید.
پ.ن۶: آنقدر تعلیق زدم هاشیه(پ.ن‌ها) از اصل متن بیشتر شد:)
لطفا نقدم کنید تا بیشتر فکر کنم بیشتر یاد بگیرم❤️
👍7