DevTwitter | توییت برنامه نویسی
وقتی یک برنامه مینویسیم، برای داشتن دید جزئیتر از اجرای برنامه و منابع در حین اجرا میریم سراغ پروفایلینگ (Profiling) درپایتون ابزار Memray یک memory profiler خوبه https://github.com/bloomberg/memray امکانات قابل توجهی داره @DevTwitter | <MehrdadLinux/>
به به چه ابزاری❤️!
کار دیتایی تو پایتون کرده باشین بسیار دیدین که نشت حافظه اتفاق میافته یا مثلا یک پایپلاین از فانکشنها پشت سر هم روی یک داده فراخوانی میشه براتون مهمه بدونید که هر کدوم از فانکشنها چقدر حافظه مصرف میکنند که اگه بعدا خواستید موازیسازی کنید بدونید چندتا instance از برنامه رو میتونید موازی اجرا کنید یا مثلا اگر برنامهتون مولتیترد هست و یک دفعه کرش میکنه مانیتور کنید کدوم تابع منجر به کرش حافظه میشه.
شما برای همهی اینها به یک memory profiler نیاز داشتید که یا بصورت یک پکیج پایتون بود یا اینکه خودتون با دیزاین پترن دکوریتور پیادهسازیش میکردید.
مشکل اینجا بود که باید برای تکتک فانکشنهایی میخواستید در تمیزترین حالت دکوریتور ست میکردید.
گاهی لازم میشه یک مانیتورینگ سنگین روی یک محصول پروداکشن یا یک سرویس تست پیچیده راه بندازید که تاریخچه مصرف حافظه رو نگه دارید اونجا مجبورید کد بزنید ولی واسه کارهای دم دستی در این آپ لینوکسی که فقط هم روی لینوکس و مک جواب میده شبیه htop که مصرف حافظه و پردازنده رو به ازای هر پراسس بصورت لحظهای نشون میده این ابزار مصرف حافظه رو به ازای هر فانکشن نشون میده.
کار دیتایی تو پایتون کرده باشین بسیار دیدین که نشت حافظه اتفاق میافته یا مثلا یک پایپلاین از فانکشنها پشت سر هم روی یک داده فراخوانی میشه براتون مهمه بدونید که هر کدوم از فانکشنها چقدر حافظه مصرف میکنند که اگه بعدا خواستید موازیسازی کنید بدونید چندتا instance از برنامه رو میتونید موازی اجرا کنید یا مثلا اگر برنامهتون مولتیترد هست و یک دفعه کرش میکنه مانیتور کنید کدوم تابع منجر به کرش حافظه میشه.
شما برای همهی اینها به یک memory profiler نیاز داشتید که یا بصورت یک پکیج پایتون بود یا اینکه خودتون با دیزاین پترن دکوریتور پیادهسازیش میکردید.
مشکل اینجا بود که باید برای تکتک فانکشنهایی میخواستید در تمیزترین حالت دکوریتور ست میکردید.
گاهی لازم میشه یک مانیتورینگ سنگین روی یک محصول پروداکشن یا یک سرویس تست پیچیده راه بندازید که تاریخچه مصرف حافظه رو نگه دارید اونجا مجبورید کد بزنید ولی واسه کارهای دم دستی در این آپ لینوکسی که فقط هم روی لینوکس و مک جواب میده شبیه htop که مصرف حافظه و پردازنده رو به ازای هر پراسس بصورت لحظهای نشون میده این ابزار مصرف حافظه رو به ازای هر فانکشن نشون میده.
👍5
Dev Tweet
به به چه ابزاری❤️! کار دیتایی تو پایتون کرده باشین بسیار دیدین که نشت حافظه اتفاق میافته یا مثلا یک پایپلاین از فانکشنها پشت سر هم روی یک داده فراخوانی میشه براتون مهمه بدونید که هر کدوم از فانکشنها چقدر حافظه مصرف میکنند که اگه بعدا خواستید موازیسازی…
ولی همچنان یک چالش رو جواب نمیده!
مموری پروفایل واسه دونستن مصرف لحظهای حافظه خیلی ارزشی نداره! معمولا ارزشش به اینه که بدونید یک تابع در طول اجرائش حداکثر حافظهای که استفاده میکنه چقدره. واسه اینکار من هنوز یک راهحل آماده پیدا نکردم. حتی با کد از داخل برنامه هم نمیتونید این پروفایلینگ رو انجام بدید چون مثلا فرض کنید یک داده خاصی مثه nii.gz یک گیگی رو میخواید لود کنید یک خط از کد شما این داده رو لود میکنه ولی خود این لودر حین اجرائش مصرفش از صفر بایت حافظه شروع میشه به مصرف یک گیگ میرسه(اگر فرض کنیم داده nii.gz در دیسک و مموری یک حجم برابر اشغال میکنه یعنی وقتی تو حافظه لود میشه جای بیشتری نمیگیره) اما ممکنه حین لودش مثلا یک گیگ و بیست مگ حافظه استفاده کنه بعد از پایان لود به حافظه یک گیگ برسه یعنی میخوام بگم در خیلی از موارد اصلا اینطوری نیست مصرف حافظه قبل و بعد از اجرای یک تابع رو حساب کنید بعد از هم کم کنید حداکثر مصرف رو به دست میمیارید، نه اصلا اینطور نیست! ممکنه حین اجرائش پردازشی انجام بده که نیاز به حافظه زیاد داره ولی در اخر استیتی رو return میکنه که کم حافظهتره. در این موارد دیگه اون پترن دیکوریتور جواب نمیده! حتی لاگ کردن تاریخچه مصرف حافظه، ترسیم تاریخچهها جوابگو نیست چون ریزدانگی کافی رو نداره چون لحظهای نیست خط به خطه.
این اپ لینوکسی که معرفی کردم چون داره از بیرون برنامه حافظه رو مانیتور و پروفایل میکنه میتونه تغییرات مصرف حافظه نه تنها قبل و بعد از اجرا هر فانکشن بلکه حین اجرای اون رو هم پروفایل کنه ولی هنوز کار ساز نیست! چون ثبت نمیشه که بتونیم حداکثر مصرف اون تابع رو بدونیم حالا باید بگردیم ببینم این اپ کامندلاین بهمون api واسه ثبت لحظهای حافظه در فایل میده که ازش حداکثر حافظه رو بیرون بکشیم اگه بده مشکل حله! چون میتونه مستقیم به خود اپ bind بشه و فقط اپ پایتونی رو پروفایل کنه.
مموری پروفایل واسه دونستن مصرف لحظهای حافظه خیلی ارزشی نداره! معمولا ارزشش به اینه که بدونید یک تابع در طول اجرائش حداکثر حافظهای که استفاده میکنه چقدره. واسه اینکار من هنوز یک راهحل آماده پیدا نکردم. حتی با کد از داخل برنامه هم نمیتونید این پروفایلینگ رو انجام بدید چون مثلا فرض کنید یک داده خاصی مثه nii.gz یک گیگی رو میخواید لود کنید یک خط از کد شما این داده رو لود میکنه ولی خود این لودر حین اجرائش مصرفش از صفر بایت حافظه شروع میشه به مصرف یک گیگ میرسه(اگر فرض کنیم داده nii.gz در دیسک و مموری یک حجم برابر اشغال میکنه یعنی وقتی تو حافظه لود میشه جای بیشتری نمیگیره) اما ممکنه حین لودش مثلا یک گیگ و بیست مگ حافظه استفاده کنه بعد از پایان لود به حافظه یک گیگ برسه یعنی میخوام بگم در خیلی از موارد اصلا اینطوری نیست مصرف حافظه قبل و بعد از اجرای یک تابع رو حساب کنید بعد از هم کم کنید حداکثر مصرف رو به دست میمیارید، نه اصلا اینطور نیست! ممکنه حین اجرائش پردازشی انجام بده که نیاز به حافظه زیاد داره ولی در اخر استیتی رو return میکنه که کم حافظهتره. در این موارد دیگه اون پترن دیکوریتور جواب نمیده! حتی لاگ کردن تاریخچه مصرف حافظه، ترسیم تاریخچهها جوابگو نیست چون ریزدانگی کافی رو نداره چون لحظهای نیست خط به خطه.
این اپ لینوکسی که معرفی کردم چون داره از بیرون برنامه حافظه رو مانیتور و پروفایل میکنه میتونه تغییرات مصرف حافظه نه تنها قبل و بعد از اجرا هر فانکشن بلکه حین اجرای اون رو هم پروفایل کنه ولی هنوز کار ساز نیست! چون ثبت نمیشه که بتونیم حداکثر مصرف اون تابع رو بدونیم حالا باید بگردیم ببینم این اپ کامندلاین بهمون api واسه ثبت لحظهای حافظه در فایل میده که ازش حداکثر حافظه رو بیرون بکشیم اگه بده مشکل حله! چون میتونه مستقیم به خود اپ bind بشه و فقط اپ پایتونی رو پروفایل کنه.
👍4
از اهمیت مدل جدید 405 میلیارد پارامتری جدید شرکت متا یعنی Llama3.1 همین بس که داره کپ فاصلهی بین مدلهای متن-بسته(closed-source) و وزن-باز(مدلهایی که وزنشان را به همراه کد منتشر میکنند) رو از بین میبره.
همین این اتفاقات تقریبا در یک سال افتاده از آپریل 2023 که جولای 2024
باید منتظر باشیم ببنیم آیا به نقطهای میرسید که خط قرمز و سبز به هم بخورن و خط قرمز از خط سبز عبور کنه!؟ صد البته که خیلی بعیده مخصوصا با این زیرساخت افسانهای که شرکت xAI ایلان ماسک برای مدل جدیدش راه انداخته!
همین این اتفاقات تقریبا در یک سال افتاده از آپریل 2023 که جولای 2024
باید منتظر باشیم ببنیم آیا به نقطهای میرسید که خط قرمز و سبز به هم بخورن و خط قرمز از خط سبز عبور کنه!؟ صد البته که خیلی بعیده مخصوصا با این زیرساخت افسانهای که شرکت xAI ایلان ماسک برای مدل جدیدش راه انداخته!
👍2
Dev Tweet
آیندهی هوش مصنوعی در این رشته توئیت مقایسه جالبی بین روند توسعه سرعت هواپیما و نرخ کلاک cpu با روند توسعه ai انجام داده که نکات خیلی جالبیداره. من چند تا نکتهش رو در ادامه میارم: ۱. مقایسه پیشرفتهای سریع در سرعت هواپیماها در دهه ۱۹۶۰ با پیشرفت فعلی در…
این نمودار حاوی چند نکته است:
1. نکتهای در این پست سابق در موردش مفصل صحبت کردم.
در شش ماه اخیر شامل هیچ جهشی در بهترین عملکرد هوش مصنوعی نیستیم(دقت کنید جهش در دقت و کارائي محصول یک شرکت خاص را نمیگم منظورم جهش در کارائي و دقت بهترین مدل موجوده). یعنی احتمالا به نقطهای رسیدیم که آن بهبودهای جهشی بعد از آپریل 2023 که تازه gpt-4 عرضه شده بود را دیگر نخواهیم داشت. پیشرفت کارائي مدلها بصورت خزنده و جزئي خواهد بود.
2. رقابت در بهترین مدل بین شرکتهای بزرگ بالا گرفته و هر یکی دو ماه جایگاه بهترین مدل بین سه تا شرکت اصلی آنتروپیک و گوگل و OpenAI عوض شده است. به این معنی که دیگر دوره پیشتازی طولانی مدت OpenAI سر اومده و بازیگرهای متنوعتری در بازار LLM دارند قدرتنمایی میکنند.
تازه هنوز Grok خیلی وارد بنچمارکها و عرضه رایگان عمومی نشده!
1. نکتهای در این پست سابق در موردش مفصل صحبت کردم.
در شش ماه اخیر شامل هیچ جهشی در بهترین عملکرد هوش مصنوعی نیستیم(دقت کنید جهش در دقت و کارائي محصول یک شرکت خاص را نمیگم منظورم جهش در کارائي و دقت بهترین مدل موجوده). یعنی احتمالا به نقطهای رسیدیم که آن بهبودهای جهشی بعد از آپریل 2023 که تازه gpt-4 عرضه شده بود را دیگر نخواهیم داشت. پیشرفت کارائي مدلها بصورت خزنده و جزئي خواهد بود.
2. رقابت در بهترین مدل بین شرکتهای بزرگ بالا گرفته و هر یکی دو ماه جایگاه بهترین مدل بین سه تا شرکت اصلی آنتروپیک و گوگل و OpenAI عوض شده است. به این معنی که دیگر دوره پیشتازی طولانی مدت OpenAI سر اومده و بازیگرهای متنوعتری در بازار LLM دارند قدرتنمایی میکنند.
تازه هنوز Grok خیلی وارد بنچمارکها و عرضه رایگان عمومی نشده!
👍2❤1
Dev Tweet
از اهمیت مدل جدید 405 میلیارد پارامتری جدید شرکت متا یعنی Llama3.1 همین بس که داره کپ فاصلهی بین مدلهای متن-بسته(closed-source) و وزن-باز(مدلهایی که وزنشان را به همراه کد منتشر میکنند) رو از بین میبره. همین این اتفاقات تقریبا در یک سال افتاده از آپریل…
نکتهای در مورد open-weight
موقعی که در مورد کد صحبت میکنیم یا کد منبع بسته closed-source است یا منبع باز opensource یعنی یا سورس کد روی گیتهاب یا بیتباکت هست.
اما وقتی در مورد یک مدل AI صحبت میکنیم دو ضلع دیگه هم به جز سورس کد به قضیه اضافه میشه: وزن مدل آموزش دیده و داده آموزش مدل.
شرکتها غیرانتفاعی مثه گوگل معمولا از مدلهاشون مقاله چاپ میکنند و حرفی از پیادهسازی نمیزنند.
نهایتا سورس کد مدلهای proprietary شون رو منتشر میکنند ولی دیگه وزن رو کمتر منتشر میکنند.
و خیلی کمتر مثه mistral و meta میان مقاله + سورس کد + وزن مدل را هم منتشر میکنند.
و خیلی خیلی کمتر مدلها دادگان آموزش خودشون رو همراه سه تای قبلی منتشر میکنند اینا معمولا مدلهای دانشگاهی هستند.
پس به خاطر داشته باشید سطح انتشار اطلاعات در مورد مدلها سه سطحه: مقاله، سورسکد، وزنهای مدل، داده آموزش .
موقعی که در مورد کد صحبت میکنیم یا کد منبع بسته closed-source است یا منبع باز opensource یعنی یا سورس کد روی گیتهاب یا بیتباکت هست.
اما وقتی در مورد یک مدل AI صحبت میکنیم دو ضلع دیگه هم به جز سورس کد به قضیه اضافه میشه: وزن مدل آموزش دیده و داده آموزش مدل.
شرکتها غیرانتفاعی مثه گوگل معمولا از مدلهاشون مقاله چاپ میکنند و حرفی از پیادهسازی نمیزنند.
نهایتا سورس کد مدلهای proprietary شون رو منتشر میکنند ولی دیگه وزن رو کمتر منتشر میکنند.
و خیلی کمتر مثه mistral و meta میان مقاله + سورس کد + وزن مدل را هم منتشر میکنند.
و خیلی خیلی کمتر مدلها دادگان آموزش خودشون رو همراه سه تای قبلی منتشر میکنند اینا معمولا مدلهای دانشگاهی هستند.
پس به خاطر داشته باشید سطح انتشار اطلاعات در مورد مدلها سه سطحه: مقاله، سورسکد، وزنهای مدل، داده آموزش .
👍6
شرطبندی در مورد آیندهی توسعه AI
(الایزر یودکوفسکی در مقابل پاول کریستیانو)
الایزر یودکوفسکی(Eliezer Yudkowsky) و پاول کریستیانو(Paul Christiano)، دو تا از چهرههای سرشناس حوزه ایمنی هوش مصنوعی(AI Safety)، سال 2021 سر آینده AI شرط بستن!
میتونید ماجراش رو در این دو لینک بخونید. (لینک ۱ و لینک ۲)
یودکوفسکی که از بنیانگذاران موسسه تحقیقات هوش ماشینی (Machine Intelligence Research Institute) هست، مدتهاست درباره احتمال وقوع یه سناریوی برخاستن سریع هشدار میده.
از طرف دیگه، کریستیانو که تو زمینه ترازمندی(همراستاسازی) هوش مصنوعی (AI alignment) کار میکنه و همچنین مخترع RLHF (تقویت یادگیری از بازخورد انسانی) که بیشتر به یه مسیر توسعه تدریجیتر معتقده.
موضوع اصلی شرطبندیشون اینه که سرعت پیشرفت قابلیتهای هوش مصنوعی چقدر سریع خواهد بود. این بحث معمولاً با عنوان "سرعتهای برخاستن" (takeoff speeds) مطرح میشه - برخاستن آهسته(Slow Takeoff) در مقابل برخاستن سریع(Hard/Fast Takeoff).
تصور کنید پیشرفت هوش مصنوعی مثل یه سفر به قله کوهه. برخاستن آهسته شبیه یه کوهنوردی تدریجیه، با بهبودهای پیوسته که به جامعه اجازه میده در طول مسیر خودش رو تطبیق بده. اما برخاستن سریع مثل یه پرتاب موشکیه - یه افزایش ناگهانی و احتمالاً نمایی در تواناییهای هوش مصنوعی که میتونه همه رو غافلگیر کنه.
برای اینکه پیشبینیهاشون رو محک بزنن، رو یه چالش مشخص تمرکز کردن: المپیاد جهانی ریاضی (IMO). سوال اینه که آیا تا سال ۲۰۲۵، یه سیستم هوش مصنوعی میتونه در بالاترین سطوح این مسابقه معتبر ریاضی رقابت کنه؟
کریستیانو شرط بسته که پیشرفت سریع اتفاق نمیافته. اون پیشبینی کرده که شانس اینکه یه هوش مصنوعی بین سالهای ۲۰۲۲ تا ۲۰۲۵ مدال طلای IMO رو ببره، کمتر از ۸ درصده. حتی درباره حل سختترین مسئله توسط AI هم بدبینتره و این احتمال رو زیر ۴ درصد میدونه.
یودکوفسکی اما طبق معمول به پتانسیل هوش مصنوعی خوشبینتره. اون شرط بسته که حداقل ۱۶ درصد احتمال داره که یه AI تا سال ۲۰۲۵ قابلیت فنی کسب مدال طلا رو داشته باشه.
این پیشبینیها برای سال 2021 است.
چیزی که این شرطبندی رو جذاب میکنه، پیامدهای احتمالیشه. اگه واقعاً یه هوش مصنوعی اون مدال طلا رو بگیره، این فقط یه برد ساده برای یودکوفسکی تو این شرط دوستانه نیست. میتونه نشونهای از سرعت بالاتر توسعه هوش مصنوعی نسبت به انتظارات خیلیها باشه. کریستیانو گفته که همچین نتیجهای میتونه دیدگاهش رو به طور قابل توجهی تغییر بده و احتمالاً تخمینش از احتمال یه سناریوی برداشت سریع رو تا دو برابر افزایش بده.
کریستیانو قبلاً گفته بود اگه تا سال ۲۰۲۵ شاهد کسب مدال طلای IMO توسط یه AI باشه، احتمال برخاستن سریع رو از ۳۰٪ به ۵۰٪ افزایش میده.
سال 2024 گوگل دیپمایند (Google DeepMind) هم فقط یک سؤال با این دستاورد فاصله داشت.
و حالا، به نظر میرسه که این اتفاق خیلی زودتر از انتظار رخ داده! سام (Sam) آلتمن، مدیرعامل اوپنای (OpenAI)، به تازگی به طور تلویحی اشاره کرده که سیستم هوش مصنوعی اونها به سطح مدال طلای المپیاد جهانی ریاضی رسیده.
این پیشرفت سریع میتونه نشوندهنده احتمال بیشتر یه "برخاستن سریع" باشه - یعنی پیشرفت هوش مصنوعی عمومی (AGI) در عرض چند دقیقه تا چند ماه، به جای سالها یا دههها.
برخاستنهای سریع نگرانکننده هستن چون پیشبینیشون خیلی سختتره. نهادهای انسانی تقریباً هیچ زمانی برای تطبیق با نرخهای دیوانهوار تغییر ندارن.
حدود ۳۰٪ از محققان ایمنی هوش مصنوعی فکر میکنن که برخاستن سریع محتملتر از برخاستن آهستهست.
البته باید توجه داشت که ممکنه سام آلتمن در حال شوخی کردن باشه، اما اگه این خبر واقعیت داشته باشه، میتونه نقطه عطف مهمی در توسعه هوش مصنوعی باشه.
تصویر ضمیمه شده نشون میده که سیستم هوش مصنوعی اوپنای با ۳۱ امتیاز، بالاتر از مدال نقره (۲۸ امتیاز) و در سطح مدال طلای IMO ۲۰۲۴ قرار گرفته.
(الایزر یودکوفسکی در مقابل پاول کریستیانو)
الایزر یودکوفسکی(Eliezer Yudkowsky) و پاول کریستیانو(Paul Christiano)، دو تا از چهرههای سرشناس حوزه ایمنی هوش مصنوعی(AI Safety)، سال 2021 سر آینده AI شرط بستن!
میتونید ماجراش رو در این دو لینک بخونید. (لینک ۱ و لینک ۲)
یودکوفسکی که از بنیانگذاران موسسه تحقیقات هوش ماشینی (Machine Intelligence Research Institute) هست، مدتهاست درباره احتمال وقوع یه سناریوی برخاستن سریع هشدار میده.
از طرف دیگه، کریستیانو که تو زمینه ترازمندی(همراستاسازی) هوش مصنوعی (AI alignment) کار میکنه و همچنین مخترع RLHF (تقویت یادگیری از بازخورد انسانی) که بیشتر به یه مسیر توسعه تدریجیتر معتقده.
موضوع اصلی شرطبندیشون اینه که سرعت پیشرفت قابلیتهای هوش مصنوعی چقدر سریع خواهد بود. این بحث معمولاً با عنوان "سرعتهای برخاستن" (takeoff speeds) مطرح میشه - برخاستن آهسته(Slow Takeoff) در مقابل برخاستن سریع(Hard/Fast Takeoff).
تصور کنید پیشرفت هوش مصنوعی مثل یه سفر به قله کوهه. برخاستن آهسته شبیه یه کوهنوردی تدریجیه، با بهبودهای پیوسته که به جامعه اجازه میده در طول مسیر خودش رو تطبیق بده. اما برخاستن سریع مثل یه پرتاب موشکیه - یه افزایش ناگهانی و احتمالاً نمایی در تواناییهای هوش مصنوعی که میتونه همه رو غافلگیر کنه.
برای اینکه پیشبینیهاشون رو محک بزنن، رو یه چالش مشخص تمرکز کردن: المپیاد جهانی ریاضی (IMO). سوال اینه که آیا تا سال ۲۰۲۵، یه سیستم هوش مصنوعی میتونه در بالاترین سطوح این مسابقه معتبر ریاضی رقابت کنه؟
کریستیانو شرط بسته که پیشرفت سریع اتفاق نمیافته. اون پیشبینی کرده که شانس اینکه یه هوش مصنوعی بین سالهای ۲۰۲۲ تا ۲۰۲۵ مدال طلای IMO رو ببره، کمتر از ۸ درصده. حتی درباره حل سختترین مسئله توسط AI هم بدبینتره و این احتمال رو زیر ۴ درصد میدونه.
یودکوفسکی اما طبق معمول به پتانسیل هوش مصنوعی خوشبینتره. اون شرط بسته که حداقل ۱۶ درصد احتمال داره که یه AI تا سال ۲۰۲۵ قابلیت فنی کسب مدال طلا رو داشته باشه.
این پیشبینیها برای سال 2021 است.
چیزی که این شرطبندی رو جذاب میکنه، پیامدهای احتمالیشه. اگه واقعاً یه هوش مصنوعی اون مدال طلا رو بگیره، این فقط یه برد ساده برای یودکوفسکی تو این شرط دوستانه نیست. میتونه نشونهای از سرعت بالاتر توسعه هوش مصنوعی نسبت به انتظارات خیلیها باشه. کریستیانو گفته که همچین نتیجهای میتونه دیدگاهش رو به طور قابل توجهی تغییر بده و احتمالاً تخمینش از احتمال یه سناریوی برداشت سریع رو تا دو برابر افزایش بده.
کریستیانو قبلاً گفته بود اگه تا سال ۲۰۲۵ شاهد کسب مدال طلای IMO توسط یه AI باشه، احتمال برخاستن سریع رو از ۳۰٪ به ۵۰٪ افزایش میده.
سال 2024 گوگل دیپمایند (Google DeepMind) هم فقط یک سؤال با این دستاورد فاصله داشت.
و حالا، به نظر میرسه که این اتفاق خیلی زودتر از انتظار رخ داده! سام (Sam) آلتمن، مدیرعامل اوپنای (OpenAI)، به تازگی به طور تلویحی اشاره کرده که سیستم هوش مصنوعی اونها به سطح مدال طلای المپیاد جهانی ریاضی رسیده.
این پیشرفت سریع میتونه نشوندهنده احتمال بیشتر یه "برخاستن سریع" باشه - یعنی پیشرفت هوش مصنوعی عمومی (AGI) در عرض چند دقیقه تا چند ماه، به جای سالها یا دههها.
برخاستنهای سریع نگرانکننده هستن چون پیشبینیشون خیلی سختتره. نهادهای انسانی تقریباً هیچ زمانی برای تطبیق با نرخهای دیوانهوار تغییر ندارن.
حدود ۳۰٪ از محققان ایمنی هوش مصنوعی فکر میکنن که برخاستن سریع محتملتر از برخاستن آهستهست.
البته باید توجه داشت که ممکنه سام آلتمن در حال شوخی کردن باشه، اما اگه این خبر واقعیت داشته باشه، میتونه نقطه عطف مهمی در توسعه هوش مصنوعی باشه.
تصویر ضمیمه شده نشون میده که سیستم هوش مصنوعی اوپنای با ۳۱ امتیاز، بالاتر از مدال نقره (۲۸ امتیاز) و در سطح مدال طلای IMO ۲۰۲۴ قرار گرفته.
Telegram
Dev Tweet Media
❤1
CREATE OR REPLACE FUNCTION normalize_arabic_persian_text(input_text TEXT)
RETURNS TEXT AS $$
DECLARE
result TEXT := '';
i INT;
current_char TEXT;
prev_char TEXT := '';
next_char TEXT := '';
in_word BOOLEAN := FALSE;
BEGIN
-- First, convert to isolated forms and map to Persian equivalents
FOR i IN 1..length(input_text) LOOP
current_char := substring(input_text FROM i FOR 1);
IF i < length(input_text) THEN
next_char := substring(input_text FROM i+1 FOR 1);
ELSE
next_char := '';
END IF;
-- Alef and hamza
IF current_char = ANY(ARRAY[E'\uFE81'::TEXT, E'\uFE83'::TEXT, E'\uFE85'::TEXT, E'\uFE87'::TEXT, E'\uFE89'::TEXT, E'\uFE8D'::TEXT, E'\u0622'::TEXT, E'\u0623'::TEXT, E'\u0625'::TEXT, E'\u0627'::TEXT, E'\u0671'::TEXT]) THEN
current_char := E'\u0627'; -- All forms of alef to ا
-- Beh
ELSIF current_char = ANY(ARRAY[E'\uFE8F'::TEXT, E'\uFE91'::TEXT, E'\uFE93'::TEXT, E'\u0628'::TEXT]) THEN
current_char := E'\u0628'; -- ب
-- Teh
ELSIF current_char = ANY(ARRAY[E'\uFE95'::TEXT, E'\uFE97'::TEXT, E'\uFE99'::TEXT, E'\u062A'::TEXT]) THEN
current_char := E'\u062A'; -- ت
-- Theh
ELSIF current_char = ANY(ARRAY[E'\uFE99'::TEXT, E'\uFE9B'::TEXT, E'\uFE9D'::TEXT, E'\u062B'::TEXT]) THEN
current_char := E'\u062B'; -- ث
-- Jeem
ELSIF current_char = ANY(ARRAY[E'\uFE9D'::TEXT, E'\uFE9F'::TEXT, E'\uFEA1'::TEXT, E'\u062C'::TEXT]) THEN
current_char := E'\u062C'; -- ج
-- Hah
ELSIF current_char = ANY(ARRAY[E'\uFEA1'::TEXT, E'\uFEA3'::TEXT, E'\uFEA5'::TEXT, E'\u062D'::TEXT]) THEN
current_char := E'\u062D'; -- ح
-- Khah
ELSIF current_char = ANY(ARRAY[E'\uFEA5'::TEXT, E'\uFEA7'::TEXT, E'\uFEA9'::TEXT, E'\u062E'::TEXT]) THEN
current_char := E'\u062E'; -- خ
-- Dal
ELSIF current_char = ANY(ARRAY[E'\uFEA9'::TEXT, E'\uFEAB'::TEXT, E'\u062F'::TEXT]) THEN
current_char := E'\u062F'; -- د
-- Thal
ELSIF current_char = ANY(ARRAY[E'\uFEAB'::TEXT, E'\uFEAD'::TEXT, E'\u0630'::TEXT]) THEN
current_char := E'\u0630'; -- ذ
-- Reh
ELSIF current_char = ANY(ARRAY[E'\uFEAD'::TEXT, E'\uFEAF'::TEXT, E'\u0631'::TEXT]) THEN
current_char := E'\u0631'; -- ر
-- Zain
ELSIF current_char = ANY(ARRAY[E'\uFEAF'::TEXT, E'\uFEB1'::TEXT, E'\u0632'::TEXT]) THEN
current_char := E'\u0632'; -- ز
-- Seen
ELSIF current_char = ANY(ARRAY[E'\uFEB1'::TEXT, E'\uFEB3'::TEXT, E'\uFEB5'::TEXT, E'\u0633'::TEXT]) THEN
current_char := E'\u0633'; -- س
-- Sheen
ELSIF current_char = ANY(ARRAY[E'\uFEB5'::TEXT, E'\uFEB7'::TEXT, E'\uFEB9'::TEXT, E'\u0634'::TEXT]) THEN
current_char := E'\u0634'; -- ش
-- Sad
ELSIF current_char = ANY(ARRAY[E'\uFEB9'::TEXT, E'\uFEBB'::TEXT, E'\uFEBD'::TEXT, E'\u0635'::TEXT]) THEN
current_char := E'\u0635'; -- ص
-- Dad
ELSIF current_char = ANY(ARRAY[E'\uFEBD'::TEXT, E'\uFEBF'::TEXT, E'\uFEC1'::TEXT, E'\u0636'::TEXT]) THEN
current_char := E'\u0636'; -- ض
-- Tah
ELSIF current_char = ANY(ARRAY[E'\uFEC1'::TEXT, E'\uFEC3'::TEXT, E'\uFEC5'::TEXT, E'\u0637'::TEXT]) THEN
current_char := E'\u0637'; -- ط
-- Zah
ELSIF current_char = ANY(ARRAY[E'\uFEC5'::TEXT, E'\uFEC7'::TEXT, E'\uFEC9'::TEXT, E'\u0638'::TEXT]) THEN
current_char := E'\u0638'; -- ظ
-- Ain
ELSIF current_char = ANY(ARRAY[E'\uFEC9'::TEXT, E'\uFECB'::TEXT, E'\uFECD'::TEXT, E'\u0639'::TEXT]) THEN
current_char := E'\u0639'; -- ع
-- Ghain
ELSIF current_char = ANY(ARRAY[E'\uFECD'::TEXT, E'\uFECF'::TEXT, E'\uFED1'::TEXT, E'\u063A'::TEXT]) THEN
current_char := E'\u063A'; -- غ
-- Feh
ELSIF current_char = ANY(ARRAY[E'\uFED1'::TEXT, E'\uFED3'::TEXT, E'\uFED5'::TEXT, E'\u0641'::TEXT]) THEN
current_char := E'\u0641'; -- ف
-- Qaf
ELSIF current_char = ANY(ARRAY[E'\uFED5'::TEXT, E'\uFED7'::TEXT, E'\uFED9'::TEXT, E'\u0642'::TEXT]) THEN
current_char := E'\u0642'; -- ق
-- Kaf
ELSIF current_char = ANY(ARRAY[E'\uFED9'::TEXT, E'\uFEDB'::TEXT, E'\uFEDD'::TEXT, E'\u0643'::TEXT]) THEN
current_char := E'\u06A9'; -- ک (Persian kaf)
-- Lam
ELSIF current_char = ANY(ARRAY[E'\uFEDD'::TEXT, E'\uFEDF'::TEXT, E'\uFEE1'::TEXT, E'\u0644'::TEXT]) THEN
current_char := E'\u0644'; -- ل
-- Meem
ELSIF current_char = ANY(ARRAY[E'\uFEE1'::TEXT, E'\uFEE3'::TEXT, E'\uFEE5'::TEXT, E'\u0645'::TEXT]) THEN
current_char := E'\u0645'; -- م
-- Noon
ELSIF current_char = ANY(ARRAY[E'\uFEE5'::TEXT, E'\uFEE7'::TEXT, E'\uFEE9'::TEXT, E'\u0646'::TEXT]) THEN
current_char := E'\u0646'; -- ن
-- Heh
ELSIF current_char = ANY(ARRAY[E'\uFEE9'::TEXT, E'\uFEEB'::TEXT, E'\uFEED'::TEXT, E'\u0647'::TEXT, E'\u06C0'::TEXT]) THEN
current_char := E'\u0647'; -- ه
-- Waw
ELSIF current_char = ANY(ARRAY[E'\uFEED'::TEXT, E'\uFEEF'::TEXT, E'\u0648'::TEXT]) THEN
current_char := E'\u0648'; -- و
-- Yeh
ELSIF current_char = ANY(ARRAY[E'\uFEF1'::TEXT, E'\uFEF3'::TEXT, E'\uFEF4'::TEXT, E'\u0649'::TEXT, E'\u064A'::TEXT, E'\uFEF5'::TEXT]) THEN
current_char := E'\u06CC'; -- ی (Persian yeh)
-- Persian specific letters
ELSIF current_char = ANY(ARRAY[E'\uFB56'::TEXT, E'\uFB57'::TEXT, E'\uFB58'::TEXT, E'\uFB59'::TEXT, E'\u067E'::TEXT]) THEN
current_char := E'\u067E'; -- پ (peh)
ELSIF current_char = ANY(ARRAY[E'\uFB7A'::TEXT, E'\uFB7B'::TEXT, E'\uFB7C'::TEXT, E'\uFB7D'::TEXT, E'\u0686'::TEXT]) THEN
current_char := E'\u0686'; -- چ (cheh)
ELSIF current_char = ANY(ARRAY[E'\uFB8A'::TEXT, E'\uFB8B'::TEXT, E'\u0698'::TEXT]) THEN
current_char := E'\u0698'; -- ژ (jeh)
ELSIF current_char = ANY(ARRAY[E'\uFB92'::TEXT, E'\uFB93'::TEXT, E'\uFB94'::TEXT, E'\uFB95'::TEXT, E'\u06AF'::TEXT]) THEN
current_char := E'\u06AF'; -- گ (gaf)
-- Additional Arabic letters not commonly used in Persian
ELSIF current_char = ANY(ARRAY[E'\u0629'::TEXT, E'\uFE93'::TEXT, E'\uFE94'::TEXT]) THEN
current_char := E'\u0647'; -- ة (teh marbuta) to ه (heh)
ELSIF current_char = ANY(ARRAY[E'\u0624'::TEXT, E'\uFE85'::TEXT, E'\uFE86'::TEXT]) THEN
current_char := E'\u0648'; -- ؤ (waw with hamza) to و (waw)
ELSIF current_char = ANY(ARRAY[E'\u0626'::TEXT, E'\uFE89'::TEXT, E'\uFE8A'::TEXT, E'\uFE8B'::TEXT, E'\uFE8C'::TEXT]) THEN
current_char := E'\u06CC'; -- ئ (yeh with hamza) to ی (Persian yeh)
-- Additional special cases
ELSIF current_char = E'\u0640'::TEXT THEN
current_char := ''; -- Remove tatweel (kashida)
ELSIF current_char = E'\uFEFB'::TEXT OR current_char = E'\uFEFC'::TEXT THEN
current_char := E'\u0644\u0627'; -- لا (lam-alef ligature) to separate ل and ا
ELSIF current_char = E'\uFEF5'::TEXT OR current_char = E'\uFEF6'::TEXT THEN
current_char := E'\u0644\u0622'; -- لآ (lam-alef madda ligature) to separate ل and آ
ELSIF current_char = E'\uFEF7'::TEXT OR current_char = E'\uFEF8'::TEXT THEN
current_char := E'\u0644\u0623'; -- لأ (lam-alef hamza above ligature) to separate ل and أ
ELSIF current_char = E'\uFEF9'::TEXT OR current_char = E'\uFEFA'::TEXT THEN
current_char := E'\u0644\u0625'; -- لإ (lam-alef hamza below ligature) to separate ل and إ
ELSIF current_char = E'\u0621'::TEXT THEN
current_char := ''; -- Remove standalone hamza
-- Special case for لا
ELSIF current_char = E'\u0644'::TEXT AND next_char = E'\u0627'::TEXT THEN
current_char := E'\u0644\u0627'; -- لا
i := i + 1; -- Skip next character
-- Special case for لآ
👍1
ELSIF current_char = E'\u0644'::TEXT AND next_char = E'\u0622'::TEXT THEN
current_char := E'\u0644\u0622'; -- لآ
i := i + 1; -- Skip next character
END IF;
-- Append the character to the result, preserving word boundaries
IF current_char != '' THEN
IF NOT in_word THEN
-- Add a space only if it's not the first character
IF result != '' THEN
result := result || ' ';
END IF;
in_word := TRUE;
END IF;
result := result || current_char;
END IF;
prev_char := current_char;
END LOOP;
-- Remove diacritical marks
result := translate(result,
E'\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\u0670\u0655\u0656\u0653\u0654\u0610\u0611\u0612\u0613\u0614\u0615\u0616\u0617\u0618\u0619\u061A\u06D6\u06D7\u06D8\u06D9\u06DA\u06DB\u06DC\u06DD\u06DE\u06DF\u06E0\u06E1\u06E2\u06E3\u06E4\u06E5\u06E6\u06E7\u06E8\u06E9\u06EA\u06EB\u06EC\u06ED',
repeat('', 48)
);
-- The above line removes the following diacritical marks:
-- \u064B (Fathatan), \u064C (Dammatan), \u064D (Kasratan), \u064E (Fatha), \u064F (Damma), \u0650 (Kasra),
-- \u0651 (Shadda), \u0652 (Sukun), \u0670 (Supernoscript Alef), \u0655 (Hamza Below), \u0656 (Subnoscript Alef),
-- \u0653 (Maddah Above), \u0654 (Hamza Above), \u0610-\u061A (Arabic signs),
-- \u06D6-\u06ED (Arabic small high ligatures and other marks)
-- Remove multiple spaces
result := regexp_replace(result, '\s+', ' ', 'g');
-- This removes any sequence of one or more whitespace characters (\s+)
-- and replaces it with a single space
-- Trim leading and trailing spaces
result := trim(both from result);
-- 'both' removes spaces from both the beginning and end of the string
-- This includes spaces, tabs, newlines, and other whitespace characters
RETURN result;
END;
$$ LANGUAGE plpgsql;
سه تا پیام بالا رو ببینید!
یک تابع sql است!
این تابع یکی از کاملترین normalizerها یا sanitizerهای متن فارسیه!
اگر با دیتابیس اپلیکیشن فارسی کرده باشید حتما دیدید که کاربرای فارسی زبان با کیبوردهای مختلف اطلاعاتشون رو وارد میکنند.
اشکالی که پیش میاد شما کلماتی دارید(مثلا نام و نام خانوادگی) که ظاهر برابر دارند ولی چون unicode کاراکتراشون با هم برابر نیست اون دو تا کلمه مساوی نیستند.
کارکردهایی نرمالیزیشن این فاکشن خیلی بیشتر از تبدیل کاراکتره.
لذا خوبه این رو یه جایی ذخیره داشته باشید احتمال زیاد به کارتون میاد.
این کوئری خیلی طولانی که نوشتنش واقعا دو سه روزی طول میکشه به لطف Sonnet3.5-200K تولید شده.
یک تابع sql است!
این تابع یکی از کاملترین normalizerها یا sanitizerهای متن فارسیه!
اگر با دیتابیس اپلیکیشن فارسی کرده باشید حتما دیدید که کاربرای فارسی زبان با کیبوردهای مختلف اطلاعاتشون رو وارد میکنند.
اشکالی که پیش میاد شما کلماتی دارید(مثلا نام و نام خانوادگی) که ظاهر برابر دارند ولی چون unicode کاراکتراشون با هم برابر نیست اون دو تا کلمه مساوی نیستند.
کارکردهایی نرمالیزیشن این فاکشن خیلی بیشتر از تبدیل کاراکتره.
لذا خوبه این رو یه جایی ذخیره داشته باشید احتمال زیاد به کارتون میاد.
این کوئری خیلی طولانی که نوشتنش واقعا دو سه روزی طول میکشه به لطف Sonnet3.5-200K تولید شده.
👍3
SELECT normalize_arabic_persian_text(E'نَصّ حَكيمٌ لَهُ سِرٌّ قَاطِعٌ وَذُو شَأنٍ عَظِيمٍ مَكتُوبٌ عَلَى ثَوْبٍ أخْضَرَ وَمُغَلَّفٌ بِجِلْدٍ أزْرَق');
خروجی این تابع sql
نص حکیم له سر قاطع وذو شان عظیم مکتوب علی ثوب اخضر ومغلف بجلد ازرق
Dev Tweet
سه تا پیام بالا رو ببینید! یک تابع sql است! این تابع یکی از کاملترین normalizerها یا sanitizerهای متن فارسیه! اگر با دیتابیس اپلیکیشن فارسی کرده باشید حتما دیدید که کاربرای فارسی زبان با کیبوردهای مختلف اطلاعاتشون رو وارد میکنند. اشکالی که پیش میاد شما کلماتی…
arabic_persian_sanitizer.sql
10.1 KB
فایل کوئری اصلاح و نرمالسازی و sanitizing متن فارسی-عربی
برای postgresql
برای postgresql
برای اینکه بفهمید توی این کوئری چه اتفاقی میافته این صفحه ویکی پدیا رو بببنید.
https://en.wikipedia.org/wiki/Arabic_noscript_in_Unicode
در این کوئری نشون میده که یک کاراکتر متحدالشکل چطور میتونه unicodeهای مختلف داشته باشه.
دقت کنید وقتی که دارید از مثلا حرف ب در وسط یک کلمه مثل «شبرنگ» استفاده میکند از کاراکتر با یونیکد FE92 استفاده نمیشه بلکه کیبوردهای خاصی میتونن اون کاراکتر رو تایپ کنند و معمول کیبوردهای ما همهی کاراکترها رو در general form یا isolated form تولید میکنند.
https://en.wikipedia.org/wiki/Arabic_noscript_in_Unicode
در این کوئری نشون میده که یک کاراکتر متحدالشکل چطور میتونه unicodeهای مختلف داشته باشه.
دقت کنید وقتی که دارید از مثلا حرف ب در وسط یک کلمه مثل «شبرنگ» استفاده میکند از کاراکتر با یونیکد FE92 استفاده نمیشه بلکه کیبوردهای خاصی میتونن اون کاراکتر رو تایپ کنند و معمول کیبوردهای ما همهی کاراکترها رو در general form یا isolated form تولید میکنند.
هاگینگ فیس برای ورژینینگ دادههای عظیمی که هاست میکنه از Git LFS استفاده میکنه
الان میخواد یک جایگزین دیگه به اسم xetdata رو بخره برای نگهداری دادههاش
نکته جالبش اینه که اومده آمار یک روز زیرساختش رو اعلام کرده
در تصویر دورش خط کشیدم واقعا عجیبه.
نگهداری یه سرویس در این اسکیل کاملا کار لبهی دانشه!
الان میخواد یک جایگزین دیگه به اسم xetdata رو بخره برای نگهداری دادههاش
نکته جالبش اینه که اومده آمار یک روز زیرساختش رو اعلام کرده
در تصویر دورش خط کشیدم واقعا عجیبه.
نگهداری یه سرویس در این اسکیل کاملا کار لبهی دانشه!
👍2👎1
مدلهای زبانی فقط توکن بعد رو پیشبینی نمیکنن!
این مقاله اومده یک ایدهی اساسی در مورد LLMها رو رد کرده اون ایده اینه که LLMها فقط بلد هستند next token prediction انجام بدهند. یک بحث غیر فنی ولی استدلالی میکنه که اینطور نیست که مدلهای زبانی بزرگ (LLM) فقط بلد باشند کلمه بعدی رو حدس بزنن. نویسنده به این تفکر سادهانگارانه میگه "جاستائیسم" (Justaism)(من ترجمه میکنم به فقطانگاری). میگه درسته که LLMها یه هدف ساده دارن اونم پیشبینی توکن بعدیه ولی این به این معنی نیست که چیز دیگری یاد نگیرن. بعد یه مثال جالب میزنه. میگه آدما به لحاظ تکامل فقط دو تا objective داشتن دنبال زنده موندن survival و تولید مثل reproduction بودند، ولی یادگرفتن در راه تحصیل این دو تا هدف فکرای پیچیده بکنن و به قابلیتهای بیشتر از تولید مثل و زندهماندن برسند، به طور مشابه LLMها هم همینطورن! در یادگیری اینها یه فرآیند اتفاق میافته به اسم "بهینهسازی تپهتخت" (mesa-optimization).
اصطلاح Mesa-optimization رو اینجوری توضیح میدن: فرض کنید در یک بازی کامپیوتری داری بازیکن برای برنده شدن فقط باید بیشترین امتیاز رو بیاره به این در ادبیات بهینهسازی تپهتخت میگن(base objective هدف ساده پایهای). ولی برای بازیکن برنده برای بردش یه عالمه ترفند و تاکتیک یاد گرفته که کسی بهش یاد نداده. به این میگن (mesa objective هدف تخت تپه)
اصطلاح Justaism هم اصطلاح جالب دیگه این مقاله است یک عبارت انتقادی شبیه whataboutism به رویکردی میگه که میخواهد مدلهای زبانی بزرگ رو ساده انگاری که و بگه ("it's just...") یعنی مثلا بگه "it's just a next-token predictor" اینکه فقط یک پیشبینیگر توکن بعدیه! هوشمندی درش معنی نداره.
خلاصه که این مقاله میگه نباید هوش مصنوعی رو دست کم گرفت!
توضیح شهودیتر Mesa-optimization رو در تصویر بعدی ببنید.
فایل مقاله را در کامنتها قرار دادم یه کم بد پیدا میشه.
این مقاله اومده یک ایدهی اساسی در مورد LLMها رو رد کرده اون ایده اینه که LLMها فقط بلد هستند next token prediction انجام بدهند. یک بحث غیر فنی ولی استدلالی میکنه که اینطور نیست که مدلهای زبانی بزرگ (LLM) فقط بلد باشند کلمه بعدی رو حدس بزنن. نویسنده به این تفکر سادهانگارانه میگه "جاستائیسم" (Justaism)(من ترجمه میکنم به فقطانگاری). میگه درسته که LLMها یه هدف ساده دارن اونم پیشبینی توکن بعدیه ولی این به این معنی نیست که چیز دیگری یاد نگیرن. بعد یه مثال جالب میزنه. میگه آدما به لحاظ تکامل فقط دو تا objective داشتن دنبال زنده موندن survival و تولید مثل reproduction بودند، ولی یادگرفتن در راه تحصیل این دو تا هدف فکرای پیچیده بکنن و به قابلیتهای بیشتر از تولید مثل و زندهماندن برسند، به طور مشابه LLMها هم همینطورن! در یادگیری اینها یه فرآیند اتفاق میافته به اسم "بهینهسازی تپهتخت" (mesa-optimization).
اصطلاح Mesa-optimization رو اینجوری توضیح میدن: فرض کنید در یک بازی کامپیوتری داری بازیکن برای برنده شدن فقط باید بیشترین امتیاز رو بیاره به این در ادبیات بهینهسازی تپهتخت میگن(base objective هدف ساده پایهای). ولی برای بازیکن برنده برای بردش یه عالمه ترفند و تاکتیک یاد گرفته که کسی بهش یاد نداده. به این میگن (mesa objective هدف تخت تپه)
اصطلاح Justaism هم اصطلاح جالب دیگه این مقاله است یک عبارت انتقادی شبیه whataboutism به رویکردی میگه که میخواهد مدلهای زبانی بزرگ رو ساده انگاری که و بگه ("it's just...") یعنی مثلا بگه "it's just a next-token predictor" اینکه فقط یک پیشبینیگر توکن بعدیه! هوشمندی درش معنی نداره.
خلاصه که این مقاله میگه نباید هوش مصنوعی رو دست کم گرفت!
توضیح شهودیتر Mesa-optimization رو در تصویر بعدی ببنید.
فایل مقاله را در کامنتها قرار دادم یه کم بد پیدا میشه.
Telegram
Dev Tweet Media
👍4
Dev Tweet
مدلهای زبانی فقط توکن بعد رو پیشبینی نمیکنن! این مقاله اومده یک ایدهی اساسی در مورد LLMها رو رد کرده اون ایده اینه که LLMها فقط بلد هستند next token prediction انجام بدهند. یک بحث غیر فنی ولی استدلالی میکنه که اینطور نیست که مدلهای زبانی بزرگ (LLM) فقط…
این عکس خیلی خوب بهینهسازی تپهتخت mesa-optimization رو نشون میده!
مسا یا همون تپهتخت یک قله مسطح داره و یک شبیه نزدیک به 90 درجه.
یک همانند سازی قشنگ در اصطلاح این بهینهسازی وجود داره میگه ممکنه base objective یا همون هدف پایه رسیدن به یک سطح صاف باشه که در LLMها میشه همون next-token prediction اما برای رسیدن به اون هدف پایه باید بتون از شیب نزدیک به 90 درجه عبور کنی که میشه همون mesa-objective یعنی هدف ثانویهی غیر صریح.
هر آدمی که راه رفتن بلده میتونه روی سطح تپه قدم بزنه ولی فقط آدمی که صخره نوری بلده میتونه به اون سطح تپه برسه!
مسا یا همون تپهتخت یک قله مسطح داره و یک شبیه نزدیک به 90 درجه.
یک همانند سازی قشنگ در اصطلاح این بهینهسازی وجود داره میگه ممکنه base objective یا همون هدف پایه رسیدن به یک سطح صاف باشه که در LLMها میشه همون next-token prediction اما برای رسیدن به اون هدف پایه باید بتون از شیب نزدیک به 90 درجه عبور کنی که میشه همون mesa-objective یعنی هدف ثانویهی غیر صریح.
هر آدمی که راه رفتن بلده میتونه روی سطح تپه قدم بزنه ولی فقط آدمی که صخره نوری بلده میتونه به اون سطح تپه برسه!
👌4👍1
پرامت تولید عکس:
احراز هویت خیلی از صرافیها با نشان دادن کارت ملی در کنار صورته
واسه یه مدل رایگان مثه flux خروجی خوبیه
اون کارت ملیش رو هم میشه راحت با فوتوشاپ در آورد.
خلاصه که داره خطرناک میشه:)
generate me a face of an Irani hijabi girl showing her Iranian ID card which contains her official hijabi face image while holding it over her chest
احراز هویت خیلی از صرافیها با نشان دادن کارت ملی در کنار صورته
واسه یه مدل رایگان مثه flux خروجی خوبیه
اون کارت ملیش رو هم میشه راحت با فوتوشاپ در آورد.
خلاصه که داره خطرناک میشه:)
👎4👍1😨1
Dev Tweet
پرامت تولید عکس: generate me a face of an Irani hijabi girl showing her Iranian ID card which contains her official hijabi face image while holding it over her chest احراز هویت خیلی از صرافیها با نشان دادن کارت ملی در کنار صورته واسه یه مدل رایگان مثه flux…
اینم خیلی طبیعی بود
یه مشکل ریز داره
یه مشکل ریز داره
generate me a face of an Irani girl wearing scarf showing her Iranian ID card which contains her official hijabi face image while holding it over her chest
😁8👎4
یه نکته اضافه کنم دوستان به هیچ وجه نباید خروجی این مدل رو با سایتی مثه ThisPersonDoesNotExist.com که مدلش خیلی هم قدیمیه و مدله GAN هست مقایسه کنید درسته اون سایت که سایت معروفی هم هست خیلی realistic تر تولید میکنه ولی نکته اینه که فقط و فقط صورت در کادر بسته تولید میکنه!
اینجا من از یه مدل رایگان خواستم تاکید میکنم رایگان! ژست خیلی خاصی تصویر تولید کنه که کلیت اون ژست خیلی درسته.
کارت ملی ایرانی رو هنوز یاد نگرفته که خب طبیعیه داده خیلی خاصیه.
یکی دیگه هم اینکه دختر محجبه رو با پوشش عربی یا پاکستانی یاد گرفته پوشش حجاب زن ایرانی از همهی پوششهای خاورمیانه متفاوته خوب چون داده خیلی کمتری تحت عنوان زن محجبه ایرانی بهش داده شده اون رو یاد نگرفته
و نکته مهمتر استایل انیمیشنی داشتن تصویر که به نظر من ضعف مدل نیست! از قصد افکت کارتونی به عکس میدهند که خیلی دردسرساز نشود.
من سازوکار چندین تا از سرویسهای احراز هویت بیومتریک در اپلیکشنهای بانکی و اعتباری رو میشناسم حدس من این است که تا شش ماه دیگر این سیستمها به راحتی توسط تصاویر و ویدئوهای تولید به چالش جدی کشیده میشوند!
اینجا من از یه مدل رایگان خواستم تاکید میکنم رایگان! ژست خیلی خاصی تصویر تولید کنه که کلیت اون ژست خیلی درسته.
کارت ملی ایرانی رو هنوز یاد نگرفته که خب طبیعیه داده خیلی خاصیه.
یکی دیگه هم اینکه دختر محجبه رو با پوشش عربی یا پاکستانی یاد گرفته پوشش حجاب زن ایرانی از همهی پوششهای خاورمیانه متفاوته خوب چون داده خیلی کمتری تحت عنوان زن محجبه ایرانی بهش داده شده اون رو یاد نگرفته
و نکته مهمتر استایل انیمیشنی داشتن تصویر که به نظر من ضعف مدل نیست! از قصد افکت کارتونی به عکس میدهند که خیلی دردسرساز نشود.
من سازوکار چندین تا از سرویسهای احراز هویت بیومتریک در اپلیکشنهای بانکی و اعتباری رو میشناسم حدس من این است که تا شش ماه دیگر این سیستمها به راحتی توسط تصاویر و ویدئوهای تولید به چالش جدی کشیده میشوند!
👍6