రాక్, పేపర్, సిలికాన్: నేను ఒక MacBookలో 235B AI మోడల్ను ఎలా నడిపాను
వినియోగదారుల హార్డ్వేర్పై (consumer hardware) ఫ్రంటియర్ AI మోడళ్లను నడపలేరని చాలా మంది చెబుతుంటారు.
Qwen3-235B వంటి మోడల్ను నడపడానికి మీకు 470 GB RAM అవసరం. ఒక హై-ఎండ్ Mac Studioలో కేవలం 192 GB మాత్రమే ఉంటుంది. దానికి బదులుగా క్లౌడ్ GPUని అద్దెకు తీసుకోమని పరిశ్రమ (industry) మీకు చెబుతుంది.
నేను ఒక వెబ్ డెవలపర్ని, సిస్టమ్స్ ఇంజనీర్ని కాదు. నేను GPU కెర్నల్స్ లేదా లో-లెవల్ మెమరీతో పనిచేయను. కానీ నాకు ఒక ప్రశ్న వచ్చింది: మోడల్లో నిజంగా పనిచేసే (fire అయ్యే) భాగాలను మాత్రమే లోడ్ చేస్తే ఏమవుతుంది?
Mixture of Experts (MoE) మోడల్లో, చాలా పారామీటర్లు ఎక్కువ సమయం నిష్క్రియంగా (silent) ఉంటాయి. అవసరమయ్యే ముందు మాత్రమే వెయిట్స్ను (weights) లోడ్ చేసే వ్యవస్థను నిర్మించాలని నేను నిర్ణయించుకున్నాను.
C++ కోడ్ రాయడంలో సహాయం కోసం నేను ఒక AI ఏజెంట్ను ఉపయోగించాను. నేను కుతూహలాన్ని (curiosity) అందించాను, ఏజెంట్ అమలు యొక్క లోతును (implementation depth) అందించింది.
ఫిలిప్పో బయోండి (Filippo Biondi) రాసిన ఒక శాటిలైట్ పేపర్ నుండి నాకు ప్రేరణ లభించింది. గిజాలోని గొప్ప పిరమిడ్ లోపలి భాగాన్ని చూడటానికి ఆయన రాడార్ను ఉపయోగించారు. రాడార్ రాతిని ఛేదించలేదు, కానీ రాతిని తాకినప్పుడు అది చేసే ప్రకంపనలను (vibrations) కొలవగలదు. లోపలి భాగాన్ని మ్యాప్ చేయడానికి ఆయన ఆ ప్రకంపనలను కొలిచారు.
నేను ఈ లాజిక్ను AI మెమరీకి వర్తింపజేశాను.
నేను దీనిని S-MoE (Seismic Mixture of Experts) అని పిలుస్తాను. ఇది మూడు స్ట్రీమ్ల ద్వారా పనిచేస్తుంది:
• ది స్కౌట్ (The Scout): RAMలో నడిచే మోడల్లోని తేలికపాటి భాగం. తదుపరి ఏ ఎక్స్పర్ట్లు యాక్టివేట్ అవుతాయో ఇది అంచనా వేస్తుంది. • ది స్ట్రీమర్ (The Streamer): మీ SSD నుండి ఆ నిర్దిష్ట ఎక్స్పర్ట్ బ్లాక్లను మెమరీలోకి లోడ్ చేసే ఒక I/O త్రెడ్. • ది GPU: ఇప్పుడే వచ్చిన వెయిట్స్ను ఉపయోగించి గణిత ప్రక్రియను (math) నిర్వహిస్తుంది.
ఈ వ్యవస్థ OS క్యాచీని (cache) దాటవేయడానికి Direct I/Oని ఉపయోగిస్తుంది. ఇది రన్టైమ్ హీప్ అలోకేషన్లను (runtime heap allocations) ఉపయోగించదు. ఇది అన్ని OS మ్యూటెక్స్లను (mutexes) నివారిస్తుంది.
ఫలితం? 16 GB Mac మరియు 512 GB Mac రెండూ 235B మోడల్ నుండి సరిగ్గా ఒకే రకమైన తెలివితేటలను (intelligence) అందిస్తాయి. ఒకటి మరొకదాని కంటే వేగంగా మాత్రమే ఉంటుంది.
AI చుట్టూ ఉన్న మెమరీ వాల్ (memory wall) అనేది ఒక సాఫ్ట్వేర్ ఊహ మాత్రమే, ప్రకృతి నియమం కాదు. మీ వద్ద ఇప్పటికే ఉన్న హార్డ్వేర్పైనే మీరు ఫ్రంటియర్ మోడళ్లను నడపవచ్చు.
S-MoE ఓపెన్ సోర్స్.
Optional learning community: https://t.me/GyaanSetuAi
