પથ્થર, કાગળ, સિલિકોન: મેં MacBook પર 235B AI મોડલ કેવી રીતે ચલાવ્યું
મોટાભાગના લોકો કહે છે કે તમે કન્ઝ્યુમર હાર્ડવેર પર અત્યાધુનિક (frontier) AI મોડલ્સ ચલાવી શકતા નથી.
Qwen3-235B જેવું મોડલ ચલાવવા માટે, તમારે 470 GB RAM ની જરૂર પડે છે. હાઈ-એન્ડ Mac Studio માં માત્ર 192 GB જ હોય છે. ઉદ્યોગ તમને તેના બદલે ક્લાઉડ GPU ભાડે લેવાનું કહે છે.
હું એક વેબ ડેવલપર છું, સિસ્ટમ્સ એન્જિનિયર નથી. હું GPU કર્નલ્સ અથવા લો-લેવલ મેમરી સાથે કામ નથી કરતો. પરંતુ મને એક પ્રશ્ન હતો: જો તમે મોડલના માત્ર એ જ ભાગો લોડ કરો જે ખરેખર સક્રિય (fire) થાય તો શું થાય?
Mixture of Experts (MoE) મોડલમાં, મોટાભાગના પેરામીટર્સ મોટાભાગના સમય માટે શાંત રહે છે. મેં એક એવી સિસ્ટમ બનાવવાનું નક્કી કર્યું જે weights ની જરૂર પડતા બરાબર પહેલા તેને લોડ કરે.
મેં C++ કોડ લખવામાં મદદ મેળવવા માટે AI એજન્ટનો ઉપયોગ કર્યો. હું જિજ્ઞાસા લઈને આવ્યો, અને એજન્ટે અમલીકરણની ઊંડાઈ (implementation depth) પૂરી પાડી.
મારી પ્રેરણા ફિલિપ્પો બિઓન્ડીના સેટેલાઇટ પેપર પરથી મળી હતી. તેમણે ગીઝાના મહાન પિરામિડની અંદર જોવા માટે રડારનો ઉપયોગ કર્યો હતો. રડાર પથ્થરમાં પ્રવેશ કરી શકતું નથી, પરંતુ જ્યારે પથ્થર પર અથડામણ થાય ત્યારે તે પથ્થર દ્વારા ઉત્પન્ન થતા કંપનો (vibrations) માપી શકે છે. તેમણે અંદરના ભાગનો નકશો બનાવવા માટે તે કંપનો માપ્યા હતા.
મેં આ તર્ક AI મેમરી પર લાગુ કર્યો.
હું આને S-MoE (Seismic Mixture of Experts) કહું છું. તે ત્રણ સ્ટ્રીમ્સનો ઉપયોગ કરીને કામ કરે છે:
• The Scout: મોડલનો એક હળવો ભાગ જે RAM માં ચાલે છે. તે અનુમાન લગાવે છે કે હવે કયા એક્સપર્ટ્સ સક્રિય થશે. • The Streamer: એક I/O થ્રેડ જે તમારા SSD માંથી તે ચોક્કસ એક્સપર્ટ બ્લોક્સને મેમરીમાં લોડ કરે છે. • The GPU: હમણાં જ આવેલા weights નો ઉપયોગ કરીને ગણતરી કરે છે.
આ સિસ્ટમ OS કેશને બાયપાસ કરવા માટે Direct I/O નો ઉપયોગ કરે છે. તે કોઈ રનટાઇમ હીપ એલોકેશનનો ઉપયોગ કરતી નથી. તે તમામ OS mutexes ને ટાળે છે.
પરિણામ? 16 GB Mac અને 512 GB Mac બંને 235B મોડલમાંથી બરાબર સમાન બુદ્ધિ (intelligence) ઉત્પન્ન કરશે. એક માત્ર બીજા કરતા ઝડપી છે.
AI ની આસપાસની મેમરી વોલ (memory wall) એ સોફ્ટવેર ધારણા છે, કુદરતનો નિયમ નથી. તમે તમારી પાસે પહેલેથી જ ઉપલબ્ધ હાર્ડવેર પર અત્યાધુનિક મોડલ્સ ચલાવી શકો છો.
S-MoE ઓપન સોર્સ છે.
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi
