تصور کنید تمام پیچیدگیهای یک مدل هوش مصنوعی را در ۸۰ خط کد ساده ببینید؛ جایی که هیچ جعبهسیاهی وجود ندارد و هر عدد دقیقاً مشخص است که به کجا میرود. این تجربه به ما میگوید که آنچه ما «روانی» یا «سلیس بودن» در پاسخهای AI میبینیم، اغلب توهمی است که از حفظ کردن دادهها حاصل شده است. این ادعای مرکزی پروژهای است که در ۸ اکتبر ۲۰۲۶ توسط یک عامل (Agent) هوش مصنوعی به نام Max در وبسایت dev.to منتشر شد. او با حذف تمام انتزاعهای مدرن، نشان میدهد که یک ماشین در واقعیت چگونه یاد میگیرد؛ آن هم با استفاده از یک شبکه پیشخور مینیمال که تنها در ۸۰ خط پایتون خالص نوشته شده است.
بسیاری از برنامهنویسان با شبکههای عصبی از طریق چارچوبهای غولپیکری مثل PyTorch یا TensorFlow آشنا میشوند. اما این پروژه با یک صفحه گسترده (Spreadsheet) شروع شد؛ یک چیدمان سلول-به-سلول که در آن هیچچیز پنهان نیست. این رویکرد به عنوان یادآوری عمل میکند که در هسته خود، این مدلها صرفاً ردیفهایی از اعداد هستند. همانطور که در تحلیلهای قبلی ما دربارهی شفافیت مدلهای بازمتن اشاره کردیم، بازگشت به مفاهیم پایه تنها راه درک تفاوت میان «محاسبه» و «تفکر» است. برای درک عمیقتر این فرآیند، میتوان به بررسی این موضوع پرداخت که شبکههای عصبی چگونه دادههای خام را به پیشبینیهای نهایی تبدیل میکنند.
ریشه و فلسفه ایده
این پروژه از یک گردشکار در KNIME الهام گرفته شده بود که در آن یک CSV Reader به یک یادگیرنده «RProp MLP Learner» متصل شده بود. این یک شبکه پیشخور بسیار کوچک بود که حجم آن تنها ۵۲ کیلوبایت میشد و هدفش نمایش مکانیسمهای خام یادگیری بود. فلسفه راهنمای این پروژه بسیار ساده بود: «اول اعداد، بعد کلمات».
Max این مفهوم را در قالب اسکریپتی به نام gehirn_mini.py بازسازی کرد. پیادهسازی این کد عمداً ابتدایی است تا خوانایی کامل تضمین شود. این اسکریپت از هیچ کتابخانه NumPy، هیچ دانلود خارجی و هیچ شتابدهنده GPU استفاده نمیکند و صرفاً بر کتابخانههای استاندارد math و random پایتون متکی است.
مشخصات فنی
طبق مستندات فنی این پروژه، جزئیات معماری و تنظیمات شبکه به شرح زیر است:
- معماری: یک شبکه پیشخور (Feedforward) با ساختار ۲۲ $\rightarrow$ ۱۶ $\rightarrow$ ۲۲ (ورودی $\rightarrow$ پنهان $\rightarrow$ خروجی).
- الگوریتم آموزش: پسانتشار مقاوم (Resilient Backpropagation یا RProp) که وزنها را بر اساس علامت گرادیان بهروز میکند، نه بر اساس مقدار یا اندازه آن.
- مجموعه داده: یک پیکره (Corpus) بسیار کوچک شامل ۶ جمله که در مجموع دارای ۲۲ واژه منحصربهفرد و ۴۱ جفت کلمه-به-کلمه است.
- حجم آموزش: ۳,۰۰۰ Epoch برای رسیدن به وضعیت همگرایی.
- ابرپارامترها: در الگوریتم RProp، مقدار nup برابر ۱.۲ و ndown برابر ۰.۵ تنظیم شده است، در حالی که حداکثر گام روی ۵.۰ و حداقل گام روی 1e-6 قرار دارد.
- مکانیسمها: شبکه از تابع math.tanh برای لایه پنهان و یک نرمالسازی شبیه به سافتمکس (Softmax) برای محاسبه احتمالات خروجی استفاده میکند.
تحلیل فرآیند یادگیری
این شبکه یاد میگیرد که کلمه بعدی در یک توالی را پیشبینی کند. وقتی یک کلمه اولیه (Seed) به آن داده میشود، مدل زنجیرهای از محتملترین توکنها — تکههای کوچکی از متن، مثل برشهای یک کیک طولانی که مدل تکهتکه میخورد — را تولید میکند. اما نتایج یک محدودیت بحرانی را فاش کرد: مدل بهجای تولید تفکر جدید، در نهایت وارد یک حلقه تکراری میشود و صرفاً متن آموزشدیده را بازگو میکند.
بر اساس گزارش dev.to، خروجی مدل فارغ از کلمه شروع، اغلب به یک چرخه ثابت میرسد. برای مثال، کلمات شروع مانند «words»، «a» یا «the» همگی در نهایت به یک توالی یکسان ختم میشوند: «row of numbers miss thing the net sees a».
در این وضعیت، کلماتی مثل «miss» و «row» به شرطبندیهای تقریباً جهانی برای توکن بعدی تبدیل میشوند. دلیل این اتفاق آن است که شبکه بهجای درک ساختار زبان، جدول جفت-کلمات را حفظ کرده است. در مقیاس ۲۲ کلمه و ۴۱ جفت، مدل بیشتر از آنکه بفهمد، حفظ کرده است.
مرز میان درک و حفظ کردن
این شکست، آموزندهترین بخش آزمایش است. اینجا مرز واقعی و صادقانه میان ماشینی است که یک «جدول جستوجو» (Lookup Table) را یاد گرفته و مدلی که دارای درک واقعی است. این مدل نمیتواند استدلال کند، ترجمه کند یا هر کلمهای را که هرگز ندیده است پردازش کند. حافظه آن هیچ گسترهای فراتر از یک کلمه قبلی ندارد.
روانیِ پاسخها در گامهای اول تولید متن، توهمی است که از ماهیت گرامری دادههای آموزش حاصل شده است. برای ما به عنوان کاربر، این یعنی «جادوی» مدلهای زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — اغلب مسئله مقیاس است. وقتی مدل اینقدر کوچک باشد، شکاف میان حفظ کردن و استدلال کاملاً عریان و قابل مشاهده است؛ در مدلهای بزرگ، این شکاف صرفاً پشت میلیاردها پارامتر پنهان شده است. این موضوع یادآور شکاف اعتبارسنجی در کدنویسی با AI است که در آن فقدان درک عمیق میتواند مالکیت ذهنی برنامهنویس را به خطر اندازد.
باز کردن منطق کد به این شکل، یک مکانیسم اثبات است. شما میتوانید مسیر پیشخور (Forward Pass) و بهروزرسانی وزنها را شخصاً بخوانید. شما مجبور نیستید به رفتار یک جعبهسیاه اعتماد کنید، بلکه میتوانید با خودِ کد بحث کنید.
این پروژه نیاز روزافزون به «هوش مصنوعی خوانا» (Legible AI) را در عصر مدلهای بسته برجسته میکند. با حذف وابستگیها، توسعهدهنده ابزاری ساخته است که هر جایی — از یک تب مرورگر تا یک CPU قدیمی — بدون نیاز به حساب کاربری یا پرداخت هزینه اشتراک اجرا میشود.
اگر تا به حال فکر کردهاید چرا پرامپتهای شما در مدلهای بزرگ گاهی به حلقههای تکراری میرسند، این اسکریپت ۸۰ خطی پاسخ را میدهد: این روحِ همان جدول جستوجوی قدیمی است که در دل ماشینهای مدرن هنوز حضور دارد.
برای درک واقعی مکانیسمهای AI، باید قبل از دست زدن به چارچوبهای آماده، یک شبکه را از صفر بسازید. تماشای شکست یک مدل کوچک در لبه دادههایش، ارزشمندتر از تماشای موفقیت یک مدل غولپیکر از طریق مقیاس است. منطق RProp و شبکههای پیشخور را با پیادهسازی یک اسکریپت مشابه روی یک متن بسیار کوچک آزمایش کنید.
گام بعدی شما
- منطق RProp و شبکههای پیشخور را با پیادهسازی یک اسکریپت مشابه روی یک متن بسیار کوچک (مثلاً ۱۰ جمله از نوشتههای خودتان) آزمایش کنید.
- سعی کنید تعداد لایههای پنهان را تغییر دهید و ببینید آیا مدل سریعتر به حلقه تکرار میرسد یا خیر.
- تفاوت بین خروجیهای این مدل و یک مدل استدلالی مدرن را در مواجهه با کلمات خارج از مجموعه داده (Out-of-distribution) بررسی کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو