یک پیپر جالب دیشب در توییتر دیدم که در ICLR 2025 هم پذیرفته شده بود. یک تسک جدید معرفی کرده به نام KoLMogorov Test. ایده پیپر در واقع از سمت مفهوم Kolmogorov Complexity اومده که اینه که میگه طول کوتاهترین برنامهای که میشه باهاش یک نمونه رو تولید کرد چه قدره. به این صورت که یک دنباله به LLM داده میشه و مدل باید یک برنامهای تولید کنه که این دنباله رو بازتولید کنه. بعدش دقت مدل در تولید این دنبالهها و البته طول برنامه تولید شده رو میسنجند. بیسلاینی هم که قرار دادند روش فشردهسازی GZip هست.. نتیجه پیپر هم این شکلی شده که دیدن LLMها روی دنبالههای دادههای طبیعی عملکرد جالبی نداره.
چندی است که پیپرهای مختلف از این مفهوم Kolmogorov Complexity زیاد استفاده میکنند.
لینک پیپر:
https://arxiv.org/abs/2503.13992
چندی است که پیپرهای مختلف از این مفهوم Kolmogorov Complexity زیاد استفاده میکنند.
لینک پیپر:
https://arxiv.org/abs/2503.13992
جوانی برد با خود آنچه می آمد به کار از من
خس و خاری به جا مانده است از چندین بهار از من
صائب تبریزی
خس و خاری به جا مانده است از چندین بهار از من
صائب تبریزی
خطر خلط بازیهای زبانی علم، فلسفه و دین
ویتگنشتاین متاخر زبان رو به شکل یک ابزاری میدید که میشه باهاش کار انجام داد (در مقابل نسخه متقدم خودش که زبان رو در حکم یک تابلوی بازنمایی میدید). از همین رو، معنای یک عبارت میشه کارهای مختلفی که به وسیله اون عبارت میشه انجام داد. بنابراین برای درک یک عبارت باید بفهمیم که منظور و نیت از اون عبارت چیه و شخص گوینده میخواسته با اون عبارت چه کاری رو انجام بده. این نگاه کاربردگرایانه به زبان باعث شد مفهوم بازی زبانی خلق بشه.
فلسفه، علم و دین، هر کدوم بازی زبانی جداگونه خودشون رو دارند که گزارههای اونها با قواعد اون بازی خاص خودشون معنا پیدا میکنند. تعمیم قواعد یک بازی زبانی به حوزه دیگه باعث میشه دچار سوتفاهیم بشیم. هر از این حوزهها باید در چارچوب قواعد بازی زبانی خودشون فهمیده و پردازش بشن.
برای مثال بازی زبانی فلسفه بر پایه تحلیل و مفاهیم انتزاعی دنبال میشه. در مقابل بازی زبانی علم مبتنی بر مشاهده، فرضیهسازی و آزمایش و ابطالپذیری روی دادههای آزمایشه. در طرف دیگه زبان مبتنی بر ایمان و معنادارکردن زندگی و پذیرش یک عقیده است. حالا وقتی ما بازی زبانی رو اشتباه میگیریم و یک گزاره رو با قاعده اشتباهی جلو میبریم اشکال به وجود میاد. مثلا اگر هدف و کار من اینه که یک کار علمی انجام بدم نباید سعی کنم با فلسفی کاری اون رو در بازی زبانی علمی به کرسی بنشونم (هر چند ایده پردازی اولی فلسفی میشه داشت اما اگر یک گزاره بخواد در بازی زبانی علمی معنادار بشه باید متکی به فرضیه و مشاهده عددی باشه). یا مثلا نباید سعی کرد گزارههای دینی و علمی رو تو بازیها همدیگه به کار برد. مثلا اینهایی که میگردن تو قرآن یا احادیث، عبارتی پیدا کنند که باهاش نشون بدن دین میگه زمین گرده و زمین دور خورشید میچرخه، یا برعکس، سعی میکنن علوم تجربی رو بیارن در بازی زبانی دینی قرار بدن، اینها به دین دارن خیانت میکنند.
ویتگنشتاین متاخر زبان رو به شکل یک ابزاری میدید که میشه باهاش کار انجام داد (در مقابل نسخه متقدم خودش که زبان رو در حکم یک تابلوی بازنمایی میدید). از همین رو، معنای یک عبارت میشه کارهای مختلفی که به وسیله اون عبارت میشه انجام داد. بنابراین برای درک یک عبارت باید بفهمیم که منظور و نیت از اون عبارت چیه و شخص گوینده میخواسته با اون عبارت چه کاری رو انجام بده. این نگاه کاربردگرایانه به زبان باعث شد مفهوم بازی زبانی خلق بشه.
فلسفه، علم و دین، هر کدوم بازی زبانی جداگونه خودشون رو دارند که گزارههای اونها با قواعد اون بازی خاص خودشون معنا پیدا میکنند. تعمیم قواعد یک بازی زبانی به حوزه دیگه باعث میشه دچار سوتفاهیم بشیم. هر از این حوزهها باید در چارچوب قواعد بازی زبانی خودشون فهمیده و پردازش بشن.
برای مثال بازی زبانی فلسفه بر پایه تحلیل و مفاهیم انتزاعی دنبال میشه. در مقابل بازی زبانی علم مبتنی بر مشاهده، فرضیهسازی و آزمایش و ابطالپذیری روی دادههای آزمایشه. در طرف دیگه زبان مبتنی بر ایمان و معنادارکردن زندگی و پذیرش یک عقیده است. حالا وقتی ما بازی زبانی رو اشتباه میگیریم و یک گزاره رو با قاعده اشتباهی جلو میبریم اشکال به وجود میاد. مثلا اگر هدف و کار من اینه که یک کار علمی انجام بدم نباید سعی کنم با فلسفی کاری اون رو در بازی زبانی علمی به کرسی بنشونم (هر چند ایده پردازی اولی فلسفی میشه داشت اما اگر یک گزاره بخواد در بازی زبانی علمی معنادار بشه باید متکی به فرضیه و مشاهده عددی باشه). یا مثلا نباید سعی کرد گزارههای دینی و علمی رو تو بازیها همدیگه به کار برد. مثلا اینهایی که میگردن تو قرآن یا احادیث، عبارتی پیدا کنند که باهاش نشون بدن دین میگه زمین گرده و زمین دور خورشید میچرخه، یا برعکس، سعی میکنن علوم تجربی رو بیارن در بازی زبانی دینی قرار بدن، اینها به دین دارن خیانت میکنند.
ماشین حساب شما سالم است؟
دیشب مشغول کدزدن با دوست جدیدمان جناب cursor بودم که جایی دیدم روی تست کیس خاصی کد درست کار نمیکند (یک جورهایی مساله parse کردن یک جور درخت بود). هر چه خودم تقلا کردم بفهمم چرا این طور شده نتوانستم. cursor را ندا دادم روی چنین تست کیسی درست کار نمیکنه ببین مشکل از کجاست. cursor هم شروع کرد به تقلا. به سرعت نوشت مشکل چیست و کد را عوض کرد و بعد هم شروع کرد خودش به نوشتن تست کیس. من دیگر از ماجرا پرت شده بودم و فقط شاهد تلاشهای این زبان بسته بودم که خودش تست کیس مینوشت و اجرا میکرد و گاها هم میدید روی تست کیس جواب نمیگیرد کد را تغییر میداد. چند دقیقهای تقلایش طول کشید و نهایتا گفت که great و تمام. کد با آن چیزی که من اول نوشته بودم بسیار تفاوت داشت طوری که برای فهمیدن منطقش باید از خود cursor دوباره میپرسیدم. شروع کردم چند testcase جدید را تست گرفتن و دیدم که روی همه آنها درست جواب میدهد. مساله تبدیل به یک مساله تصمیم ناپذیر شده بود. نمیتوانستم بگویم چرا درست کار میکند ولی هر چه تست کیس امتحان میکردم درست بود. فکر کردم دیدم آیا باید رها کنم؟ اگر جایی اشتباه کرده بود چه؟
ناخودآگاه یاد مثال همیشگی مقایسه LLM و ماشین حساب افتادم. فرض کنید الان یک جمع و ضرب چند رقمی را به ماشین حساب میدهیم و آن به ما جواب را میدهد. از کجا معلوم که اشتباه نکند؟ مثلا چه میدانم پالسی، سیمی، موجی روی هم بیافتند و یک رقم اشتباه شود. در این صورت آیا ما اصلا اغلب متوجه میشویم ؟!؟ کدام یک از ما نتیجه ماشین حساب را وریفای میکنیم؟ احتمالا روزهای اولی هم که ماشین حسابها اختراع شده بودند و مکانیکی تر از امروز بودند، افراد به آنها اعتماد کامل نداشتند و جواب نهاییشان را به نحوی وریفای میکردند. از جایی به بعد ولی احتمالا هم به خاطر اعتمادپذیری بیشتر و هم به خاطر این که محاسبات سنگین شده بودند دیگر هیچ کس به وریفای کردن جواب نهایی ماشین حساب فکر هم نمیکند. الغرض از نظر اعتمادپذیری بین LLMها و ماشینحسابها در لحظه فاصله زیاد است اما احتمالا روزی هم خواهد آمد که دیگر ما خروجیهای LLMها را وریفای نمیکنیم و از خود نمیپرسیم از کجا معلوم این درست بگوید؟ آن روز وضعمان شبیه به امروز است که برایمان سوال نمیشود از کجا معلوم این ماشین حساب درست محاسبه میکند؟
دیشب مشغول کدزدن با دوست جدیدمان جناب cursor بودم که جایی دیدم روی تست کیس خاصی کد درست کار نمیکند (یک جورهایی مساله parse کردن یک جور درخت بود). هر چه خودم تقلا کردم بفهمم چرا این طور شده نتوانستم. cursor را ندا دادم روی چنین تست کیسی درست کار نمیکنه ببین مشکل از کجاست. cursor هم شروع کرد به تقلا. به سرعت نوشت مشکل چیست و کد را عوض کرد و بعد هم شروع کرد خودش به نوشتن تست کیس. من دیگر از ماجرا پرت شده بودم و فقط شاهد تلاشهای این زبان بسته بودم که خودش تست کیس مینوشت و اجرا میکرد و گاها هم میدید روی تست کیس جواب نمیگیرد کد را تغییر میداد. چند دقیقهای تقلایش طول کشید و نهایتا گفت که great و تمام. کد با آن چیزی که من اول نوشته بودم بسیار تفاوت داشت طوری که برای فهمیدن منطقش باید از خود cursor دوباره میپرسیدم. شروع کردم چند testcase جدید را تست گرفتن و دیدم که روی همه آنها درست جواب میدهد. مساله تبدیل به یک مساله تصمیم ناپذیر شده بود. نمیتوانستم بگویم چرا درست کار میکند ولی هر چه تست کیس امتحان میکردم درست بود. فکر کردم دیدم آیا باید رها کنم؟ اگر جایی اشتباه کرده بود چه؟
ناخودآگاه یاد مثال همیشگی مقایسه LLM و ماشین حساب افتادم. فرض کنید الان یک جمع و ضرب چند رقمی را به ماشین حساب میدهیم و آن به ما جواب را میدهد. از کجا معلوم که اشتباه نکند؟ مثلا چه میدانم پالسی، سیمی، موجی روی هم بیافتند و یک رقم اشتباه شود. در این صورت آیا ما اصلا اغلب متوجه میشویم ؟!؟ کدام یک از ما نتیجه ماشین حساب را وریفای میکنیم؟ احتمالا روزهای اولی هم که ماشین حسابها اختراع شده بودند و مکانیکی تر از امروز بودند، افراد به آنها اعتماد کامل نداشتند و جواب نهاییشان را به نحوی وریفای میکردند. از جایی به بعد ولی احتمالا هم به خاطر اعتمادپذیری بیشتر و هم به خاطر این که محاسبات سنگین شده بودند دیگر هیچ کس به وریفای کردن جواب نهایی ماشین حساب فکر هم نمیکند. الغرض از نظر اعتمادپذیری بین LLMها و ماشینحسابها در لحظه فاصله زیاد است اما احتمالا روزی هم خواهد آمد که دیگر ما خروجیهای LLMها را وریفای نمیکنیم و از خود نمیپرسیم از کجا معلوم این درست بگوید؟ آن روز وضعمان شبیه به امروز است که برایمان سوال نمیشود از کجا معلوم این ماشین حساب درست محاسبه میکند؟
قصه Self-Supervised Learning برای یادگیری رپرزنتیشن از تصویر قصه درازیه. میشه روشهای SSL رو در سه شاخه دید. بدیهیترین دسته روش، روشهای reconstruction ای هست. autoencoder مثال این دسته است که البته مشکلش اینه که مدل چون اطلاعات کافی دستش نمیرسه تو خروجی به یک حالت میانگینی از پیکسلها میل میکنه. بعدها یک سری کارهایی مثل Masked AutoEncoder هم اومد که تو اونها، مدل باید یاد میگرفت بخشهایی ماسکشده از تصویر رو بازسازی کنه. در این دسته سوپرویژن انگار خود داده است و این فرض که اجزای مختلف یک نمونه میتونن در مورد همدیگه اطلاعاتی داشته باشند. با این وجود چون سوپرویژن ضعیفی هست و ممکنه در سطح پیکسلها دچار تله بشه، رپرزنتیشنهایی که به دست میاره زیاد جالب نیستند.
دسته دوم، روشهای Invariance ای و Contrastive مثل SimCLR هستند. به این صورت که رپرزنتیشن ویوهای مختلف از یک نمونه باید به هم دیگه نزدیکتر باشند تا رپرزنتیشن نمونههای مختلف. مشکل این دسته روشها اینه که بسیار روی آگمنتیشن حساس هستند و مهندسی مساله خیلی وابسته به انتخاب آگمنتیشنه. و اصلا ممکنه وابسته به دیتاست و تسک، آگمنتیشنها تاثیر متفاوتی بذارند.
دسته سوم هم میشه روشهای Image-Text ای دید. معروفترینشون CLIP. پارسال پیپری به نام SigLIP اومد که گفته بود نیازی نیست لاس مدل Image-Text حتما کانترستیوی سافتمکسی روی بچ باشه بلکه میشه مساله رو به شکل یک باینری کلسفیکیشن مدل کرد، یک جفت تصویر-متن بدیم و مدل تصمیم بگیره که آیا این جفت تصویر و متن، مرتبط هستند یا نه. این دسته سوپرویژن سنگینتری نسبت به دو دسته قبلی میخوان ولی انگار با پیوند زدن متن، مدل رو مجبور میکنند که ویژگیهای abstract تری برای مفاهیم مختلف یاد بگیره (هم این که مثلا توکن cat رو با تصاویر مختلف گربه میبینه و هم این که در متنها زبانیاش فیچرها رو یک جوری disentangled شده میبینه از اونور هم کانسپتها رو بهتر یاد میگیره).
در همون راستای ادامه تلاشهای روی CLIP، حالا پیپری به نام TULIP اومده. دو تا کار جالبی که به نظرم کرده اینه که اومده در یادگیری رپرزنتیشن اومده سه تا دسته روش بالا رو با هم ترکیب کرده. یعنی هم داره لاس Masked AutoEncoder ای میزنه (هم در مودال متن و هم در مودال تصویر)، هم لاس کانترستیو Image-Image و هم لاس کانترستیو Image-Text. یک کار جالب دیگه ای هم که کرده اینه که اومده اون فرآیند ساختن pairهای مختلف و آگمنتیشن برای یک نمونه رو سادهتر از چیزهای rule based ساده در نظر گرفته و سعی کرده یک مدل generative رو طوری آموزش بده که براش زوجهای مثبت و منفی رو تولید کنه.
در کل چیزی که الان خیلی بهش معتقدم نقش زیاد سوپرویژنه. همه چیز وابسته به سوپرویژنه. جنس دادههای مختلف و تسکهای مختلف، سوپرویژن و اینداکتیوبایاسهای مختلف میطلبند و این کار هم یک جورایی داره اینها رو با هم ترکیب میکنه.
لینک:
https://arxiv.org/abs/2503.15485
دسته دوم، روشهای Invariance ای و Contrastive مثل SimCLR هستند. به این صورت که رپرزنتیشن ویوهای مختلف از یک نمونه باید به هم دیگه نزدیکتر باشند تا رپرزنتیشن نمونههای مختلف. مشکل این دسته روشها اینه که بسیار روی آگمنتیشن حساس هستند و مهندسی مساله خیلی وابسته به انتخاب آگمنتیشنه. و اصلا ممکنه وابسته به دیتاست و تسک، آگمنتیشنها تاثیر متفاوتی بذارند.
دسته سوم هم میشه روشهای Image-Text ای دید. معروفترینشون CLIP. پارسال پیپری به نام SigLIP اومد که گفته بود نیازی نیست لاس مدل Image-Text حتما کانترستیوی سافتمکسی روی بچ باشه بلکه میشه مساله رو به شکل یک باینری کلسفیکیشن مدل کرد، یک جفت تصویر-متن بدیم و مدل تصمیم بگیره که آیا این جفت تصویر و متن، مرتبط هستند یا نه. این دسته سوپرویژن سنگینتری نسبت به دو دسته قبلی میخوان ولی انگار با پیوند زدن متن، مدل رو مجبور میکنند که ویژگیهای abstract تری برای مفاهیم مختلف یاد بگیره (هم این که مثلا توکن cat رو با تصاویر مختلف گربه میبینه و هم این که در متنها زبانیاش فیچرها رو یک جوری disentangled شده میبینه از اونور هم کانسپتها رو بهتر یاد میگیره).
در همون راستای ادامه تلاشهای روی CLIP، حالا پیپری به نام TULIP اومده. دو تا کار جالبی که به نظرم کرده اینه که اومده در یادگیری رپرزنتیشن اومده سه تا دسته روش بالا رو با هم ترکیب کرده. یعنی هم داره لاس Masked AutoEncoder ای میزنه (هم در مودال متن و هم در مودال تصویر)، هم لاس کانترستیو Image-Image و هم لاس کانترستیو Image-Text. یک کار جالب دیگه ای هم که کرده اینه که اومده اون فرآیند ساختن pairهای مختلف و آگمنتیشن برای یک نمونه رو سادهتر از چیزهای rule based ساده در نظر گرفته و سعی کرده یک مدل generative رو طوری آموزش بده که براش زوجهای مثبت و منفی رو تولید کنه.
در کل چیزی که الان خیلی بهش معتقدم نقش زیاد سوپرویژنه. همه چیز وابسته به سوپرویژنه. جنس دادههای مختلف و تسکهای مختلف، سوپرویژن و اینداکتیوبایاسهای مختلف میطلبند و این کار هم یک جورایی داره اینها رو با هم ترکیب میکنه.
لینک:
https://arxiv.org/abs/2503.15485
Telegram
stuff
آفریدن مردمی را بهر گور اندر عذاب
این شعر تند از میرزاده عشقی، گاهی اوقات بسیار به منظوری که آدم میخواد بیان کنه نزدیکه:
خلقت من در جهان یک وصله ناجور بود
من که خود راضی به این خلقت نبودم زور بود؟
خلق از من در عذاب و من خود از اخلاق خویش
از عذاب خلق و من، یارب چه ات منظور بود؟
حاصلی ای دهر، از من، غیر شر و شور نیست
مقصدت از خلقت من، سیر شر و شور بود؟
ذات من معلوم بودت نیست مرغوب از چه ام:
آفریدستی؟ زبانم لال، چشمت کور بود؟
ای چه خوش بود، چشم می پوشیدی از تکوین من
فرض می کردی که ناقص: خلقت یک مور بود؟
ای طبیعت گر نبودم من، جهانت نقص داشت
ای فلک گر من نمی زادی، اجاقت کور بود؟
قصد تو از خلق عشقی، من یقین دارم فقط:
دیدن هر روز یک گون، رنج جوراجور بود
گر نبودی تابش استاره من در سپهر
تیر و بهرام و خور و کیوان و مه بی نور بود؟
گر بدم من در عدم، استاره عورت نبود
آسمانت خالی از استارگان عور بود؟
راست گویم نیست جز این علت تکوین من
قالبی لازم، برای ساخت یک گور بود
آفریدن مردمی را بهر گور اندر عذاب
گر خدائی هست، ز انصاف خدائی دور بود
مقصد زارع، ز کشت و زرع، مشتی غله است
مقصد تو زآفرینش، مبلغی قاذور بود
گر من اندر جای تو، بودم امیر کائنات
هر کسی از بهر کار بهتری مأمور بود؟!
آن که نتواند به نیکی، پاس هر مخلوق داد:
از چه کرد این آفرینش را؟ مگر مجبور بود!
این شعر تند از میرزاده عشقی، گاهی اوقات بسیار به منظوری که آدم میخواد بیان کنه نزدیکه:
خلقت من در جهان یک وصله ناجور بود
من که خود راضی به این خلقت نبودم زور بود؟
خلق از من در عذاب و من خود از اخلاق خویش
از عذاب خلق و من، یارب چه ات منظور بود؟
حاصلی ای دهر، از من، غیر شر و شور نیست
مقصدت از خلقت من، سیر شر و شور بود؟
ذات من معلوم بودت نیست مرغوب از چه ام:
آفریدستی؟ زبانم لال، چشمت کور بود؟
ای چه خوش بود، چشم می پوشیدی از تکوین من
فرض می کردی که ناقص: خلقت یک مور بود؟
ای طبیعت گر نبودم من، جهانت نقص داشت
ای فلک گر من نمی زادی، اجاقت کور بود؟
قصد تو از خلق عشقی، من یقین دارم فقط:
دیدن هر روز یک گون، رنج جوراجور بود
گر نبودی تابش استاره من در سپهر
تیر و بهرام و خور و کیوان و مه بی نور بود؟
گر بدم من در عدم، استاره عورت نبود
آسمانت خالی از استارگان عور بود؟
راست گویم نیست جز این علت تکوین من
قالبی لازم، برای ساخت یک گور بود
آفریدن مردمی را بهر گور اندر عذاب
گر خدائی هست، ز انصاف خدائی دور بود
مقصد زارع، ز کشت و زرع، مشتی غله است
مقصد تو زآفرینش، مبلغی قاذور بود
گر من اندر جای تو، بودم امیر کائنات
هر کسی از بهر کار بهتری مأمور بود؟!
آن که نتواند به نیکی، پاس هر مخلوق داد:
از چه کرد این آفرینش را؟ مگر مجبور بود!
اندر افتضاحات تقویم گریگوری
مقدار زمانی که طول میکشه تا زمین یک دور حول خورشید بچرخه، ۳۶۵ روز و ۵ ساعت و ۴۸ دقیقه و ۴۵ ثانیه است. اون چند ساعت اضافه بر ۳۶۵ روز باعث میشه تا تقویمهای خورشیدی مجبور باشند که هر ۴ سال یک روز اضافه کبیسه در نظر بگیرند تا تقویم خراب نشه. اون روزی که قراره اضافه بشه که در تقویم میلادی ۲۹ فوریه و در تقویم هجری ۳۰ اسفند هستند با هم فاصله دارند. مثلا کبیسه میلادیها ۲۸ فوریه ۲۰۲۴ اضافه شده و کبیسه ما ۳۰ اسفند ۱۴۰۳، برای همین تاریخهایی که بین این دو قرار دارند (بین اسفند ۱۴۰۲ مثلا تا فروردین ۱۴۰۴) اینها از همخوانی میافتند. برای مثال تولد بنده ۱۱ اردیبهشت یا ۱ می هست، منتها در این حدفاصلهای کبیسه ۱۱ اردیبشهت میافته به ۳۰ آوریل. برای همین آنچه من و احتمالا شما در زندگیتون تجربه کردین این بوده که سه سال تاریخ تولدتون به میلادی یک چیز بوده و یک سال چیز دیگه. اما این پایان ماجرا نیست ....
سال دقیقا ۳۶۵ روز و ۶ ساعت نیست و بلکه ۳۶۵ روز و ۵ ساعت و ۴۸ دقیقه و ... هستش. وقتش شما اتومات هر ۴ سال رو کبیسه میگیرید انگار دارید از اون ۱۲ دقیقه چشمپوشی میکنید. اجداد ما و اروپاییها این موضوع رو چند صد سال قبل فهمیدند. در واقع اونها میدونستند که یک سال ۳۶۵ روز و حدود ۶ ساعته ولی اون مقدار اضافیترش نمیدونستند چه قدره (در واقع برای فهمیدن لحظه اعتدال بهاری گویا روشی وجود داره). اروپاییها در حدود سال ۱۵۸۲ دیدند که اعتدال بهاریشون ده روز جا به جا شده و افتاده به ۱۱ مارس و انگار که یک خردهای در اون ۶ ساعت هست و برای همین کبیسهشون درست کار نمیکنه. این جا یک آقایی اومد پیشنهاد جدیدی برای محاسبه کبیسه داد، به این صورت که هر سالی که مضرب ۴ هست کبیسه باشه ولی اون سالهایی که مضرب صد هستند کبیسه نباشه مگر این که مضرب ۴۰۰ باشند. اینجوری انگار به نحوی کبیسهها رو کاهش دادند. فرض کنید مثلا از سال ۲۰۹۶ کبیسه دیگه نخواهیم داشت تا ۲۱۰۴. این ابتکار رو که به خرج دادن اسم نسخه جدید تقویمشون رو گذاشتند گریگوری. یک کار دیگهای هم که کردن این بود که برای این که مشکل اون شیفت زمانی رو حل کنند، ده روز رو از تقویم حذف کردند و روز بعد از ۴ اکتبر ۱۵۸۲ رو ۱۵ اکتبر در نظر گرفتند !!!!!!!!!!!!!!!!!!!!!!!!! ابتکار اینها در کبیسهگیری باعث کمتر شدن خطا شد ولی همچنان دقیق نیست، به طوری که تقویم گریگوری هر ۳۳۲۰ سال، یک روز خطا داره.
اما برگردیم سمت هجری شمسی ببینیم اونها چه کردند. ایرانیها هم به همون طریق همون ۴ سال یکبار کبیسه میگرفتند و در زمان ملکشاه سلجوقی به این مشکل خوردند که دیدند اول فروردین در زمستون واقع شده. در این جا خیام ماموریت پیدا کرد مشکل رو حل کنه. خیام هم رفت و میزان زمان دقیق گردش زمین به دور خورشید رو تا چند رقم اعشار به درستی حساب کرد (چند رقم بیشتر هم محاسبه کرد که بعد مشخص شد غلط بوده و تقصیر خیام هم نبوده چون گویا میزان زمان گردش زمین به دور خورشید ثابت نیست) (ریسرچ واقعی به این میگن یک مشکل بزرگ رو حل کرده). حالا که میزان دقیق سال رو داشتند باید مکانیزم کبیسه رو درست میکردند. سوال کبیسه اینه که آیا روز بعد از ۲۹ اسفند، ۳۰ اسفند هست یا خیر؟ برای این پرسش، یک راه حل ساده وجود داره. اول حساب میکنند میبینند که لحظه تحویل سال کی میافته. اگر لحظه تحویل سال در روز ۲۹ اسفند واقع شده بود که روز بعدی ۱ فروردین میشه. اما اگر لحظه تحویل سال، روز بعد از ۲۹ اسفند واقع شده بود اون وقت دو حالت پیش میاد. اگر لحظه تحویل سال قبل از ساعت ۱۲ ظهر اون روز باشه، اون روز ۱ فروردینه و اگر لحظه تحویل سال بعد از ساعت ۱۲ ظهر باشه اون روز ۳۰ اسفنده. به همین راحتی. در ضمن میزان خطای تقویم جلالی ۱ روز در هر ۱۱۶۵۲۹ ساله!
حالا اگر دقت کنید به خاطر همون ۱۲ دقیقه کمتری که نسبت به ۶ ساعت داریم، لحظه تحویل سال هر چهار سال معمولا قدر ۴۵ دقیقه عقب میاد. مثلا چهار سال پیش حدود ۱۳:۱۵ ۳۰ اسفند بود و امسال ۱۲:۳۰ ۳۰ اسفند هست و گس وات؟ ۴ سال بعد لحظه تحویل سال حدود ۱۱:۴۵ اینا است و اون روز دیگه ۳۰ اسفند نیست و ۱ فروردینه :) در واقع ما با یک کبیسه ۵ ساله مواجه میشیم و عوض این که ۱۴۰۷ کبیسه باشه، ۱۴۰۸ کبیسه میشه. و گس وات؟ رابطه بین تقویم جلالی و گریگوری هم به هم میریزه. مثلا برای ۱۱ اردیبهشت، ۲ سال میشه ۱ می و ۲ سال میشه ۳۰ آوریل! اوضاع حالا جالبتر هم میشه، رابطه تقویم گریگوری و جلالی پیچیده میشه به خاطر عدم تطابقشون و در آینده نه چندان دور ۱۱ اردیبهشت یا ۱ می میشه یا ۲ می! خلاصه که علت این تفاوت اینه که در تقویم جلالی برای ما لحظه تحویل سال مهمه و بقیه چیزها رو روی اون سوار میکنیم ولی در تقویم گریگوری چون لحظه تحویل سال وجود نداره از خودشون دست به ابداع کبیسه زدند و خطاشون بیشتر از ماست.
مقدار زمانی که طول میکشه تا زمین یک دور حول خورشید بچرخه، ۳۶۵ روز و ۵ ساعت و ۴۸ دقیقه و ۴۵ ثانیه است. اون چند ساعت اضافه بر ۳۶۵ روز باعث میشه تا تقویمهای خورشیدی مجبور باشند که هر ۴ سال یک روز اضافه کبیسه در نظر بگیرند تا تقویم خراب نشه. اون روزی که قراره اضافه بشه که در تقویم میلادی ۲۹ فوریه و در تقویم هجری ۳۰ اسفند هستند با هم فاصله دارند. مثلا کبیسه میلادیها ۲۸ فوریه ۲۰۲۴ اضافه شده و کبیسه ما ۳۰ اسفند ۱۴۰۳، برای همین تاریخهایی که بین این دو قرار دارند (بین اسفند ۱۴۰۲ مثلا تا فروردین ۱۴۰۴) اینها از همخوانی میافتند. برای مثال تولد بنده ۱۱ اردیبهشت یا ۱ می هست، منتها در این حدفاصلهای کبیسه ۱۱ اردیبشهت میافته به ۳۰ آوریل. برای همین آنچه من و احتمالا شما در زندگیتون تجربه کردین این بوده که سه سال تاریخ تولدتون به میلادی یک چیز بوده و یک سال چیز دیگه. اما این پایان ماجرا نیست ....
سال دقیقا ۳۶۵ روز و ۶ ساعت نیست و بلکه ۳۶۵ روز و ۵ ساعت و ۴۸ دقیقه و ... هستش. وقتش شما اتومات هر ۴ سال رو کبیسه میگیرید انگار دارید از اون ۱۲ دقیقه چشمپوشی میکنید. اجداد ما و اروپاییها این موضوع رو چند صد سال قبل فهمیدند. در واقع اونها میدونستند که یک سال ۳۶۵ روز و حدود ۶ ساعته ولی اون مقدار اضافیترش نمیدونستند چه قدره (در واقع برای فهمیدن لحظه اعتدال بهاری گویا روشی وجود داره). اروپاییها در حدود سال ۱۵۸۲ دیدند که اعتدال بهاریشون ده روز جا به جا شده و افتاده به ۱۱ مارس و انگار که یک خردهای در اون ۶ ساعت هست و برای همین کبیسهشون درست کار نمیکنه. این جا یک آقایی اومد پیشنهاد جدیدی برای محاسبه کبیسه داد، به این صورت که هر سالی که مضرب ۴ هست کبیسه باشه ولی اون سالهایی که مضرب صد هستند کبیسه نباشه مگر این که مضرب ۴۰۰ باشند. اینجوری انگار به نحوی کبیسهها رو کاهش دادند. فرض کنید مثلا از سال ۲۰۹۶ کبیسه دیگه نخواهیم داشت تا ۲۱۰۴. این ابتکار رو که به خرج دادن اسم نسخه جدید تقویمشون رو گذاشتند گریگوری. یک کار دیگهای هم که کردن این بود که برای این که مشکل اون شیفت زمانی رو حل کنند، ده روز رو از تقویم حذف کردند و روز بعد از ۴ اکتبر ۱۵۸۲ رو ۱۵ اکتبر در نظر گرفتند !!!!!!!!!!!!!!!!!!!!!!!!! ابتکار اینها در کبیسهگیری باعث کمتر شدن خطا شد ولی همچنان دقیق نیست، به طوری که تقویم گریگوری هر ۳۳۲۰ سال، یک روز خطا داره.
اما برگردیم سمت هجری شمسی ببینیم اونها چه کردند. ایرانیها هم به همون طریق همون ۴ سال یکبار کبیسه میگرفتند و در زمان ملکشاه سلجوقی به این مشکل خوردند که دیدند اول فروردین در زمستون واقع شده. در این جا خیام ماموریت پیدا کرد مشکل رو حل کنه. خیام هم رفت و میزان زمان دقیق گردش زمین به دور خورشید رو تا چند رقم اعشار به درستی حساب کرد (چند رقم بیشتر هم محاسبه کرد که بعد مشخص شد غلط بوده و تقصیر خیام هم نبوده چون گویا میزان زمان گردش زمین به دور خورشید ثابت نیست) (ریسرچ واقعی به این میگن یک مشکل بزرگ رو حل کرده). حالا که میزان دقیق سال رو داشتند باید مکانیزم کبیسه رو درست میکردند. سوال کبیسه اینه که آیا روز بعد از ۲۹ اسفند، ۳۰ اسفند هست یا خیر؟ برای این پرسش، یک راه حل ساده وجود داره. اول حساب میکنند میبینند که لحظه تحویل سال کی میافته. اگر لحظه تحویل سال در روز ۲۹ اسفند واقع شده بود که روز بعدی ۱ فروردین میشه. اما اگر لحظه تحویل سال، روز بعد از ۲۹ اسفند واقع شده بود اون وقت دو حالت پیش میاد. اگر لحظه تحویل سال قبل از ساعت ۱۲ ظهر اون روز باشه، اون روز ۱ فروردینه و اگر لحظه تحویل سال بعد از ساعت ۱۲ ظهر باشه اون روز ۳۰ اسفنده. به همین راحتی. در ضمن میزان خطای تقویم جلالی ۱ روز در هر ۱۱۶۵۲۹ ساله!
حالا اگر دقت کنید به خاطر همون ۱۲ دقیقه کمتری که نسبت به ۶ ساعت داریم، لحظه تحویل سال هر چهار سال معمولا قدر ۴۵ دقیقه عقب میاد. مثلا چهار سال پیش حدود ۱۳:۱۵ ۳۰ اسفند بود و امسال ۱۲:۳۰ ۳۰ اسفند هست و گس وات؟ ۴ سال بعد لحظه تحویل سال حدود ۱۱:۴۵ اینا است و اون روز دیگه ۳۰ اسفند نیست و ۱ فروردینه :) در واقع ما با یک کبیسه ۵ ساله مواجه میشیم و عوض این که ۱۴۰۷ کبیسه باشه، ۱۴۰۸ کبیسه میشه. و گس وات؟ رابطه بین تقویم جلالی و گریگوری هم به هم میریزه. مثلا برای ۱۱ اردیبهشت، ۲ سال میشه ۱ می و ۲ سال میشه ۳۰ آوریل! اوضاع حالا جالبتر هم میشه، رابطه تقویم گریگوری و جلالی پیچیده میشه به خاطر عدم تطابقشون و در آینده نه چندان دور ۱۱ اردیبهشت یا ۱ می میشه یا ۲ می! خلاصه که علت این تفاوت اینه که در تقویم جلالی برای ما لحظه تحویل سال مهمه و بقیه چیزها رو روی اون سوار میکنیم ولی در تقویم گریگوری چون لحظه تحویل سال وجود نداره از خودشون دست به ابداع کبیسه زدند و خطاشون بیشتر از ماست.
تفاوت ایمان ساحران با بنیاسرائیل
آقای جوادی آملی یک تعبیر جالبی در موضوع رابطه ایمان و عقل و علم داره. میگه که موسی وقتی معجزاتش مثل تبدیل عصا به اژدها رو انجام میداد بنیاسرائیل صرفا از روی حس و سطحی مساله رو تماشا کردند و بدون تعقل و آگاهی از حقیقت معجزه، ایمان آوردند. در واقع ایمانشان بر پایه تجربه حسی بود و سامری هم روی همین قضیه سوار شد و جلوتر وقتی که یک گوساله طلایی براشون رو کرد که صدا تولید میکرد، از دین موسی برگشتند و شروع به پرستیدن گوساله کردند. در حالی که در طرف مقابل، در جریان رقابت موسی و ساحران فرعون، ساحران هنگامی که معجزه موسی رو مشاهده کردند، چون تفاوت میان سحر و معجزه را به درستی درک میکردند، نه تنها ایمان آوردند، بلکه به گونهای راستخ ایمان آوردند که حتی حاضر شدند به فجیعترین شکل کشته شوند. در واقع چه بسا اگر اون ساجرها زنده میموندند و با موسی همراه میشدند، مثل باقی بنیاسرائیل فریب گوساله سامری رو نمیخوردند. حالا تصویر کلی هم همینه، چه بسا خیلیها مثل خود بنده از روی ظاهر اعتقادی داشته باشیم و چون درک عمیقی از کنه قضیه نداریم، با یک چیز از جنس همون سطحیات جهتمون عوض بشه.
آقای جوادی آملی یک تعبیر جالبی در موضوع رابطه ایمان و عقل و علم داره. میگه که موسی وقتی معجزاتش مثل تبدیل عصا به اژدها رو انجام میداد بنیاسرائیل صرفا از روی حس و سطحی مساله رو تماشا کردند و بدون تعقل و آگاهی از حقیقت معجزه، ایمان آوردند. در واقع ایمانشان بر پایه تجربه حسی بود و سامری هم روی همین قضیه سوار شد و جلوتر وقتی که یک گوساله طلایی براشون رو کرد که صدا تولید میکرد، از دین موسی برگشتند و شروع به پرستیدن گوساله کردند. در حالی که در طرف مقابل، در جریان رقابت موسی و ساحران فرعون، ساحران هنگامی که معجزه موسی رو مشاهده کردند، چون تفاوت میان سحر و معجزه را به درستی درک میکردند، نه تنها ایمان آوردند، بلکه به گونهای راستخ ایمان آوردند که حتی حاضر شدند به فجیعترین شکل کشته شوند. در واقع چه بسا اگر اون ساجرها زنده میموندند و با موسی همراه میشدند، مثل باقی بنیاسرائیل فریب گوساله سامری رو نمیخوردند. حالا تصویر کلی هم همینه، چه بسا خیلیها مثل خود بنده از روی ظاهر اعتقادی داشته باشیم و چون درک عمیقی از کنه قضیه نداریم، با یک چیز از جنس همون سطحیات جهتمون عوض بشه.
Out of Distribution
نهضت ادامه دارد بعد از این که DeepSeek R1 نشون داد که میشه با RL با ریواردهای ساده و البته تکیه بر GRPO، مدل زبانی رو آموزش داد و تواناییهای ریزنینگیشون رو بهبود بخشید توجهات به این سمت، یعنی آموزش مدلها با RL جلب شده. حالا یک کار اومده که مدل کوچولوی…
دیپ لرنینگ در واقعیت آن چنان عمق تئوری نداره و بیشتر شبیه به لگوبازی میمونه. برای همین هر کسی میتونه با گذاشتن یک وقت معقول و بدون درگیرشدن با مفاهیم و فرمولهای پیچیده تئوری، به دیپ لرنینگ تا حد خوبی مسلط بشه و اکثر مقالات رو (که چیزی بیشتر از همین لگوبازیها نیستند) بفهمه. برای فهم بهتر این اتفاق، میشه دیپ لرنینگ رو بذاریم کنار یک علم نظری مثل فیزیک و مقایسه کنیم که چه قدر فیزیک نسبت به دیپ لرنینگ جنبههای تئوری بیشتری داره و دیپ لرنینگ چه قدر از این نظر کم عمقه. بعضیها هستند حالا مشکلی با این جنبه کمعمقی نظری ندارند و از همون جنبه لگوبازیه یا مهندسی قضیه لذت میبرند که چطور میشه حالا با این ابزاری که داریم چیزهای مختلفی بسازیم، در مقابل اینها اما یک عدهای هستند که براشون جالبه که اون مساله عمقش محدود نباشه و هر روز یک چیز جدید نظری عمیقتر باشه تا براشون مایه سوال و شگفتی باشه.
اما در عین حال، یک جنبهای از پارادایم هوش مصنوعی فعلی که توش مقداری تئوری وجود داره، RL هست. RL جاییه که دیگه همه چیز لگوبازی ساده نیست و یک اندک فرمولهایی برای اذیت کردن وجود دارند و ریزش آدمها همین جا شروع میشه :) بارها شده دیدم یک سری آدمها چه قدر خفن به نظر میرسن در حوزه دیپ لرنینگ و به راحتی تا آخرین مفاهیم و اخبار روز دیپ لرنینگ رو باهاش آشنا هستند و میتونن راجع بهشون صحبت کنند اما RL براشون شبیه یک جزیره مهآلود میمونه و وقتی سوالی حتی کلی در موردش پیش میآد پاسخی براش ندارن. در همین راستا چند وقت اخیر در اینستا و یوتیوب و توییتر زیاد محتوای از سمت فارسیزبان ها دیدم که دیپسیک رو بررسی کرده بودند و بهش تاخته بودند که این که چیز جدیدی نیست و از این قسم حرفا. امروز بعد از دیدن یکی دیگه از این محتواها به این فکر افتادم که اینها اغلب احتمالا با RL آشنایی دقیقی ندارند و برای همین چیزی که تو DeepSeek R1 اتفاق افتاده رو نمیبینند. این که چطوری شبکه با RL داره آموزش میبینه، چطوری صرفا یک ریوارد نهایی و یک ریوارد ساده میانی رول بیسد داره و این که چطور GRPO این وسط جواب میده از جمله همین نکاته. برای مثال اگر توییتر کامیونیتی هوش مصنوعی رو نگاه کنید (بر خلاف محتواهای داخلی که میگن دیپ سیک نوآوری نداره) یک ترندی در این چند وقت راه افتاده که ملت سعی میکنند ببینید چطور میشه این رویکرد آموزش با RL رو به مسائل دیگه و با تکنیکهای غیر از GRPO تعمیم داد.
پینوشت: البته واقعیتش RL هم آن چنان پیچیدگی نداره، در مقابل فیزیک و ریاضی همه مسائل ما متاسفانه در حکم خالهبازی اند.
اما در عین حال، یک جنبهای از پارادایم هوش مصنوعی فعلی که توش مقداری تئوری وجود داره، RL هست. RL جاییه که دیگه همه چیز لگوبازی ساده نیست و یک اندک فرمولهایی برای اذیت کردن وجود دارند و ریزش آدمها همین جا شروع میشه :) بارها شده دیدم یک سری آدمها چه قدر خفن به نظر میرسن در حوزه دیپ لرنینگ و به راحتی تا آخرین مفاهیم و اخبار روز دیپ لرنینگ رو باهاش آشنا هستند و میتونن راجع بهشون صحبت کنند اما RL براشون شبیه یک جزیره مهآلود میمونه و وقتی سوالی حتی کلی در موردش پیش میآد پاسخی براش ندارن. در همین راستا چند وقت اخیر در اینستا و یوتیوب و توییتر زیاد محتوای از سمت فارسیزبان ها دیدم که دیپسیک رو بررسی کرده بودند و بهش تاخته بودند که این که چیز جدیدی نیست و از این قسم حرفا. امروز بعد از دیدن یکی دیگه از این محتواها به این فکر افتادم که اینها اغلب احتمالا با RL آشنایی دقیقی ندارند و برای همین چیزی که تو DeepSeek R1 اتفاق افتاده رو نمیبینند. این که چطوری شبکه با RL داره آموزش میبینه، چطوری صرفا یک ریوارد نهایی و یک ریوارد ساده میانی رول بیسد داره و این که چطور GRPO این وسط جواب میده از جمله همین نکاته. برای مثال اگر توییتر کامیونیتی هوش مصنوعی رو نگاه کنید (بر خلاف محتواهای داخلی که میگن دیپ سیک نوآوری نداره) یک ترندی در این چند وقت راه افتاده که ملت سعی میکنند ببینید چطور میشه این رویکرد آموزش با RL رو به مسائل دیگه و با تکنیکهای غیر از GRPO تعمیم داد.
پینوشت: البته واقعیتش RL هم آن چنان پیچیدگی نداره، در مقابل فیزیک و ریاضی همه مسائل ما متاسفانه در حکم خالهبازی اند.
تعطیلات عید فقط اونجاییش که نه میدونی چند شنبه است و نه حتی مهمه برات که امروز چند شنبه است. اوج رهایی از زمان و تحقق زندگی در لحظه
Out of Distribution
فرانسوا شله، طی توییتی گفته که قصد دارند نسخه دوم ARC رو در فوریه منتشر کنند. همچنین گفته که در حال کار روی بنچمارک AGIای هستند که فورمتش کاملا با ARC فعلی فرق داره. برام جالبه ببینم مساله جدیدی که میخواد مطرح کنه باز هم در قالب program synthesis میگنجه…
ریزنینگ زنده است، چون ARC زنده است
سرانجام ساعاتی پیش ARC-2 رو رونمایی کردند. تسکها به نظر کامپوزیشنالتر شدند یعنی با ruleهایی مواجهیم که هم خودشون ترکیب چند تا rule پایه هستند و هم خیلی به context وابستهاند.
جایزه رو هم بردن روی ۷۰۰ هزار دلار. به شرطی که دقت بالای ۸۵ درصد گرفته بشه، این در حالیه که عملکرد o3 رو این بنچمارک ۵ درصده
لینک:
https://arcprize.org/
سرانجام ساعاتی پیش ARC-2 رو رونمایی کردند. تسکها به نظر کامپوزیشنالتر شدند یعنی با ruleهایی مواجهیم که هم خودشون ترکیب چند تا rule پایه هستند و هم خیلی به context وابستهاند.
جایزه رو هم بردن روی ۷۰۰ هزار دلار. به شرطی که دقت بالای ۸۵ درصد گرفته بشه، این در حالیه که عملکرد o3 رو این بنچمارک ۵ درصده
لینک:
https://arcprize.org/
Out of Distribution
دیشب بیحوصله بودم و دوباره مقداری ور رفتم. تصاویر به نظر خودم قشنگ اند ولی وقتی مقایسه میکنم میبینم که حسی که از کشیدن یک دایره و رنگ کردنش میگیرم خیلی متفاوتتره تا این که یک پرامپت میدم به هوش مصنوعی و برام تصویر تولید میکنه. شاید هنر صرفا اون outcome…
امروز دیدم یک مدل متن به تصویر جدیدی به نام reve اومده و خیلی ازش تعریف شده. من هم دیگه به عادت مالوف و از روی فان و تفریح مقداری باهاش ور رفتم نتایج این شد که میبینید. نکتهای که در توییتر هم خیلی مورد بحث بود توانایی عالی reve در خروجیدادن درست و صحیح متن هستش که جالبه.
لینک:
reve.art
لینک:
reve.art