Cypha · v2.4.0

ایک AI ڈھانچہ جو بنا ہے بنیادی اصولوں سے، کسی فورک سے نہیں

تقریباً ساری جدید مصنوعی ذہانت (AI) انہی چند ڈیزائنوں کی ایک صورت ہے۔ Cypha کہیں اور سے شروع ہوتی ہے: ایک C++ ٹائپ، جس کا قاعدۂ تعلم کہیں سے لیا نہیں بلکہ ریاضی سے نکالا گیا ہے، اور جو ایک بار تربیت پا کر جم جانے کے بجائے ہر دیکھی ہوئی مثال پر خود کو بدلتی ہے۔ یہ ایک تحقیقی منصوبہ ہے، اور ناکامیاں نتائج کے ساتھ ہی شائع کی جاتی ہیں۔

زبانC++
ریلیزv2.4.0
WikiText-2، فی حرف بٹس (BPC)2.664 BPC
آخری پُشحال ہی میں
چار پروگرام، ایک قاعدۂ تعلم
  • AIXI / Solomonoff — کم سے کم بیان کی لمبائی (MDL) کے مفروضے طے کرتے ہیں کہ ماڈل سستے میں کیا مان سکتا ہے۔
  • معلوماتی ہندسہ — تبدیلیاں قدرتی گریڈیئنٹ کے ساتھ چلتی ہیں، اس لیے سیکھنا پیرامیٹر فضا کے خم کا لحاظ رکھتا ہے۔
  • فعال استنباط / آزاد توانائی — ساختی تقسیم دیتا ہے: مفروضہ، تفریق اور سیاق۔
  • معلوماتی تنگنائے — انکوڈر کا مقصد طے کرتا ہے: جو پیش گوئی کرے اسے رکھو، باقی پھینک دو۔
سادہ الفاظ میں

یہ کیا ہے، ایک منٹ میں

مسئلہ

زیرِ استعمال تقریباً ہر AI نظام مٹھی بھر ڈیزائنوں کی ایک صورت ہے۔ انہیں کسی بڑی مشین پر ایک بار تربیت دے کر جمی ہوئی حالت میں بھیج دیا جاتا ہے، اس لیے کسی بدلتی چیز کے ساتھ چلنے کا مطلب — دھوکہ دہی کی نئی قسم، کوئی نئی خرابی — واپس جا کر دوبارہ تربیت دینا ہے۔ وہ بڑے بھی ہیں، اس لیے آلے کے بجائے ڈیٹا سینٹر میں رہتے ہیں، اور کسی ایک فیصلے کی وضاحت مشکل ہو جاتی ہے۔

حل

Cypha ایک ہی C++ ٹائپ ہے جو درجہ بندی کرتی ہے، اعداد کی پیش گوئی کرتی ہے اور تسلسل بناتی ہے۔ اس کا قاعدۂ تعلم کسی موجود ڈھانچے سے نقل کرنے کے بجائے ریاضی کے چار شعبوں سے اخذ کیا گیا ہے، اور وہ ہر دیکھی ہوئی مثال پر خود کو بدلتی ہے — نہ بیچ، نہ ایپوک، نہ دوبارہ تربیت کا اجرا۔ وہ اتنی چھوٹی ہے کہ اُسی ہارڈ ویئر پر چل جائے جو ڈیٹا جمع کرتا ہے۔

یہ کس کے لیے ہے

فی الحال، وہ محققین اور انجینئر جو کوئی مختلف ڈیزائن آزمانے کو تیار ہیں۔ جن مسائل کا یہ نشانہ ہے وہ ایسے ہیں جہاں ڈیٹا بدلتا رہتا ہے — دھوکہ دہی، آلات کی خرابیاں، بدلتا رویہ — جہاں ماڈل کو ڈیٹا سینٹر کے بجائے خود آلے پر بیٹھنا ہے، اور جہاں بعد میں کسی کو فیصلے کی وضاحت کرنی پڑتی ہے۔

اسے تحقیق کے طور پر پرکھیں۔ نیچے دیے گئے اعداد ریپازٹری کے اپنے پیمائشی اجرا سے ہیں، جو درجہ بندی میں کسی مقام کے بجائے محفوظ آزمائشی نتائج کے مقابل جانچے گئے ہیں۔ ایک حصہ بعنوان Cypha کیا نہیں ہے حدود بیان کرتا ہے، بشمول وہ معیاری امتحان جہاں یہ اُس وقت تک اتفاق کے قریب رہتی ہے جب تک ایک خاص جزو چالو نہ کیا جائے۔ اس صفحے کا باقی حصہ ڈھانچہ اور پیمائشیں ہیں۔
خود لائبریری

بے ترتیب فیچر، بیان کرنے کے بجائے ناپے ہوئے

بے ترتیب فوریئر فیچر (RFF) کے حق میں Cypha کی دلیل یہ ہے کہ وہ ایک لکیری head کو وہ چیز الگ کرنے دیتے ہیں جو کوئی لکیری head خود نہیں کر سکتا۔ یہ ایک قابلِ پیمائش دعویٰ ہے، اس لیے یہاں اسے ناپا گیا ہے — یعنی cypha::rff_features کو WebAssembly میں کمپائل کر کے، JavaScript میں دوبارہ بیان کر کے نہیں۔

cypha::rff_features — WebAssembly

لوڈ نہیں ہوئی

بالکل درست RBF کرنل n نمونہ نقاط پر ایک میٹرکس دیتا ہے K۔ بے ترتیب فیچر ایک تقریب دوبارہ بناتے ہیں K̂۔ خاکے میں جو دکھایا گیا ہے وہ ہے ‖K − K̂‖F ، جوں جوں فیچروں کی تعداد بڑھتی ہے: زیادہ فیچر، قریب تر تقریب۔

لائبریری
—
اسے کمپائل کرنے سے ایک خرابی نکلی۔ ORF — گھنی قسم — ہر سطر کو اکائی لمبائی پر معیاری بنا رہے تھے، جبکہ Yu وغیرہ سطر کا نارم اِس سے لیتے ہیں: chi_d تاکہ ایک عمودی سطر اسی گاؤسی سطر سے مطابقت رکھے جس کی وہ جگہ لیتی ہے۔ سطریں √d گنا چھوٹی تھیں، اس لیے فیچر غلط کرنل کی تقریب کر رہے تھے اور خطا تقارب کے بجائے ایک سطح پر جا ٹھہری۔ ایک سطر۔ اب یہ تینوں میں سب سے بہتر ہے۔
جان بوجھ کر اکہرے تھریڈ پر: تھریڈوں والے WebAssembly کو SharedArrayBuffer چاہیے، اور اسے Cross-Origin-Opener-Policy اور Cross-Origin-Embedder-Policy ہیڈر چاہئیں، جو GitHub Pages نہیں بھیج سکتا۔
ڈھانچہ

سات تہیں، ہر ایک کا ایک کام

نیچے کا ہر جزو اس لیے موجود ہے کہ چار میں سے کوئی ایک پروگرام اس کا تقاضا کرتا ہے — اس لیے نہیں کہ وہ اس سہ ماہی کے کسی مقالے میں آ گیا تھا۔

Cypha کی پائپ لائن ترتیب سے: انکوڈر، پروجیکشن، عالمی مفروضہ، طبقاتی تفریقات، یادداشت اور درجہ بند سیاق، جو ایک طبقہ دیتی ہے، ساتھ اعتماد، بے قاعدگی کا نمبر اور تقسیم سے باہر ہونے کا نشان
پورا خاکہ دیکھنے کے لیے اسکرول کریں →
ایک قسم، چار کام۔ اس صفحے پر نیچے دیا گیا مظاہرہ بعینہٖ یہی پائپ لائن ہے، دو جہتوں میں — عالمی مفروضہ ٹوٹی لکیر والا بیضہ ہے، تفریقات وہ ستون ہیں۔
انکوڈر

بدلا جا سکنے والا اگلا سرا

خام داخلہ سے فیچر ویکٹر تک۔ ساتھ آتے ہیں VectorEncoder, RFFEncoder (بے ترتیب Fourier فیچر) اور ConcatEncoder۔ اسے بدل دیں، آگے کی کسی چیز کو چھوئے بغیر۔

پروجیکشن

EncoderProjection

Fisher–Rao تقابلی تبدیلیوں کے ذریعے فیچر کو پوشیدہ فضا میں لے جاتا ہے، اور Frobenius نارم پر حد لگا کر، تاکہ کوئی ایک بھٹکا ہوا نقطہ پوری جیومیٹری اڑا نہ دے۔

θ₀

WorldPrior

ایک مشترکہ قطری گاؤسی، جو Welford اور EMA کی تبدیلیوں سے چلتے چلتے فٹ ہوتی ہے۔ یہی وہ “لامحدود سیاق” ہے جو کبھی نہیں بھولتا — اور جس کی حرکت ہی بہاؤ کا اشارہ ہے۔

Δₖ

ClassDifferential

فی طبقہ قدرتی پیرامیٹر کی منتقلی، جو مشاہدات کی طرف کھنچتی ہے اور MDL کے زوال سے واپس کھینچی جاتی ہے۔ طبقہ دراصل دنیا سے ایک ہٹاؤ ہے، کوئی الگ ماڈل نہیں۔

یادداشت

DIFMemory

عمومی زائدی بعدی تقسیموں کے تحت لاگ لائیکلی ہڈ نسبتیں نکالتا ہے، ساتھ Bessel نسبت کی لُک اپ جدولیں، تاکہ بھاری دُمیں فی نمونہ ایک متعالی تابع کی قیمت نہ لیں۔

سیاق

TieredContextBuffer

چھوٹے، درمیانے اور لمبے درجے، جن کا وزن NIGField کے اعتماد سے طے ہوتا ہے، تاکہ تازہ شہادت غالب آ سکے مگر لمبے درجے کی قائم کی ہوئی بات مٹے نہیں۔

درجہ بندی، سرے سے آخر تک: انکوڈ → پروجیکٹ → عالمی مفروضے کے مقابل ہر طبقے کی لاگ لائیکلی ہڈ نسبت کا نمبر → argmax واپس، ساتھ ایک اعتماد، بے قاعدگی کا نمبر اور تقسیم سے باہر ہونے کا نشان۔ نیچے کا مظاہرہ بعینہٖ یہی پائپ لائن ہے، چھوٹے پیمانے پر۔
تعامل پذیر

کلک کر کے ایک کلاسیفائر تربیت دیں

Cypha کی پائپ لائن کا وفادار 2-D چھوٹا نمونہ: ایک عالمی مفروضہ جو آن لائن فٹ ہوتا ہے، فی طبقہ تفریقات جو آپ کے رکھے ہوئے نقطوں کی طرف کھنچتی ہیں، اور لاگ لائیکلی ہڈ نسبت سے درجہ بندی۔ یہ ہر ایک کلک سے سیکھتا ہے — نہ کوئی بیچ، نہ کوئی epoch، نہ کوئی دوبارہ آغاز۔

cypha::Cypha — آن لائن کلاسیفائر

منتخب طبقے کا نمونہ ڈالنے کے لیے کینوس پر کلک کریں۔ جھرمٹ بنانے کے لیے گھسیٹیں۔

رکھنے کے لیے طبقہ

کوئی ڈیٹا سیٹ لوڈ کریں

نمونے
0
درستی
—
زیادہ سے زیادہ LLR
—
مفروضے کا بہاؤ
0.00

آخری inference

فارغ
کسی نقطے کو تربیت میں شامل کیے بغیر درجہ بند کرنے کے لیے کینوس پر ماؤس لے جائیں۔

طبقاتی تفریقات Δₖ

اسی صفحے کے لیے لکھا گیا ایک 2-D تدریسی نفاذ — ساخت اصل پائپ لائن جیسی، پیمانہ اس کا کوئی نہیں۔ C++ نفاذ یہاں ہے: native/.
RFF انکوڈر بند کر کے XOR آزمائیں۔ درستی گر کر اتفاق کے برابر آ جاتی ہے، اور یہ اس مظاہرے کی خرابی نہیں — یہ لکیری لاگ لائیکلی ہڈ نسبت کی وہ دستاویزی حد ہے جو Cypha کے README میں صاف لکھی ہے۔ پوشیدہ RFF انکوڈر چالو کریں اور اسے سنبھلتے دیکھیں۔ ناکامی کی صورت کو حل کے ساتھ ہی شائع کرنا ہی اصل بات ہے۔
ناپا ہوا

نتائج، اس موازنے کے ساتھ جو اہم ہے

اعداد ریپازٹری کے اپنے پیمائشی اجرا سے، تشخیصی درستی کے بعد۔ صحت کا ثبوت وہ CTest میٹرکس ہے جو محفوظ معیاری نتائج سے مطابقت رکھتی ہے — کسی درجہ بندی کی جگہ نہیں۔

جدول میں مخففات: اتفاقی گریڈیئنٹ نزول (SGD)، طویل قلیل مدتی یادداشت (LSTM)، وقت کے ذریعے بیک پروپیگیشن (BPTT)۔

ڈیٹا سیٹکامCyphaآن لائن SGDنوٹ
لکیری طور پر الگ ہونے والا2 طبقے0.7830.644وہی آن لائن بجٹ
Iris3 طبقے0.900—کلاسیکی بنیادی مجموعہ
Wine3 طبقے0.969— 
Digits10 طبقے0.922— 
Breast cancer2 طبقے0.957— 
WikiText-2سلسلہ، 300k ٹوکن2.664 BPC—Hybrid GRIA+LSTM L2+Wave2 BPTT
XOR2 طبقے، پوشیدہ RFF~0.763—اکیلا لکیری LLR اتفاق کے قریب ہی رک جاتا ہے
تخلیق

درجہ حرارت سے پیمانہ شدہ، میدان پر مشروط، پوشیدہ سرحد کی درمیانی قدر، مخالفانہ (اینٹروپی بڑھانے والا)، OOD نمونہ گیری، MDL کی پابند، آبائی، اور ریپلے بفر سے KDE نمونہ گیری۔

بے قاعدگی اور فعال تعلم

بے قاعدگی کے نمبر گیٹ کی قدروں سے، فعال سوال کے نمبر اینٹروپی × سرحد سے قربت کے طور پر، اور بہاؤ کی شناخت سیدھی عالمی مفروضے کی حرکت سے پڑھی جاتی ہے۔

ریپلے

10,000 گنجائش والا ترجیحی بفر، جس کا وزن تازگی اور حیرت سے طے ہوتا ہے، اور جو 0.30 نسبت پر دوبارہ چلایا جاتا ہے — تاکہ نایاب، معلومات بھرا نمونہ عام نمونے میں ڈوب نہ جائے۔

حوالہ جاتی طے شدہ قدریں

ناپ کر نکالی گئیں، اندازے سے نہیں

یہ ایک درمیانے گرڈ کی پروفائل شدہ بہتری سے نکلی ہیں اور حوالہ جاتی ترتیب کے طور پر ساتھ آتی ہیں۔

فیچر جہت128
RFF بجٹ256
ریپلے نسبت0.30
سیاق کی کھڑکی32
عالمی مفروضے کی LR0.008
طبقاتی تفریق کی LR0.05
انکوڈر کی LR0.002
MDL lambda0.001
ایمان دار بیان

Cypha کیا نہیں ہے

  • کوئی غلاف نہیں۔ بنیادی اصولوں سے خاص طور پر بنایا گیا — جس کا مطلب یہ بھی ہے کہ اسے کسی اور کی تراش خراش وراثت میں نہیں ملتی۔
  • لکیری LLR کی ایک حد ہے۔ پوشیدہ RFF انکوڈر کے بغیر XOR اتفاق کے قریب رہتا ہے، اور انکوڈر اسے تقریباً 76.3% تک اٹھا دیتا ہے۔
  • توثیق مطابقت پر مبنی ہے۔ محفوظ معیاری نتائج کے مقابل CTest۔ درجہ بندی کا کوئی دعویٰ نہیں کیا جاتا۔
  • CUDA صرف inference کے لیے ہے۔ تربیت CPU ہی پر رہتی ہے، کیونکہ اس ڈھانچے میں CPU زیادہ تیز ہے۔
  • نظریہ کہیں اور ہے۔ ہارمونک طیف اور NMP کا کام کمپریشن الگورتھم پر ایک الگ مقالہ ہے؛ Cypha نفاذ کی تہہ ہے۔
مصنوعے کا مظاہرہ

Cypha، ایک اصل شطرنج انجن سے کشید کیا ہوا

26,568 پوزیشنیں، جن پر ایک روایتی الفا بیٹا انجن کے اپنے سرچ اندازوں کے لیبل لگے ہیں، اور جنہیں اسی WorldPrior وائٹننگ اور قدرتی گریڈیئنٹ تبدیلیوں سے فٹ کیا گیا جو اس ڈھانچے میں ہر جگہ استعمال ہوتی ہیں۔ یہ استاد کے اندازے کو R² 0.866 پر الگ رکھی گئی پوزیشنوں میں دہرا دیتا ہے، اور اسی سرچ گہرائی پر اسی استاد کے خلاف 5W–19L–6D کرتا ہے۔

یہ کس کے لیے ہے

ایک چھوٹی AI جو سیکھتی رہتی ہے

زیادہ تر AI ڈیٹا سینٹر میں ایک بار تربیت پاتی ہے اور جمی ہوئی حالت میں بھیج دی جاتی ہے۔ Cypha اتنی چھوٹی ہے کہ عام ہارڈ ویئر پر چل جائے، اور ہر نئی مثال سے سیکھتی رہتی ہے جو اسے ملتی ہے۔

01

وہ آلات جو بڑی AI کے لیے بہت چھوٹے ہیں

سینسر، کیمرے، کنٹرولر اور ایسا ہارڈ ویئر جس کے پیچھے ڈیٹا سینٹر کی گنجائش نہیں۔ Cypha اتنی چھوٹی ہے کہ خود آلے پر چل جائے، اس لیے کچھ بھی عمارت سے باہر نہیں جاتا۔

02

ہر وہ کام جسے تبدیلی کے ساتھ چلنا ہے

دھوکہ دہی کے نمونے، آلات کی خرابیاں، گاہکوں کا بدلتا رویہ۔ پچھلے سال تربیت پایا ہوا ماڈل اب پرانا ہو چکا ہے۔ یہ چلتے چلتے اپ ڈیٹ ہوتا رہتا ہے، بغیر اس کے کہ اسے آف لائن کر کے دوبارہ تربیت دی جائے۔

03

وہ کام جس کی بعد میں وضاحت دینی پڑتی ہے

بینکوں، بیمہ کمپنیوں اور صحت کے اداروں کو اکثر کسی فیصلے کا جواز دینا پڑتا ہے۔ Cypha اتنی چھوٹی ہے کہ اسے دیکھا جا سکے، اور یہ جس کام میں بری ہے اسے چھپانے کے بجائے شائع کر دیتی ہے۔

کیا آپ کو یہاں اپنی صورتِ حال نظر آتی ہے؟ یہ ابھی بیٹا ٹیسٹنگ کے لیے کھلا ہے، اور جن لوگوں کے لیے یہ بنا ہے، انہی کی رائے اسے واقعی بدلتی ہے۔ بیٹا ٹیسٹر بنیں →
اسے بنائیں

تین کمانڈ

$ cmake -S native -B /tmp/cypha_build -DCMAKE_BUILD_TYPE=Release -G Ninja
$ cmake --build /tmp/cypha_build --parallel
$ ctest --test-dir /tmp/cypha_build -R native_ --output-on-failure

# REST service
$ cypha_rest --listen 127.0.0.1:8099 --cypha fixtures/reference.cypha
# Qt shell (build with -DCYPHA_BUILD_QT=ON)
$ cypha_qt_shell
لائسنس کی شرائط