ஆப்பிள் சிலிக்கானுக்கான ஆன்-டிவைஸ் இன்ஃபரன்ஸை உகந்ததாக்குதல்
ப்ரீஃபில் மற்றும் டிகோட் செயல்திறனை மேம்படுத்தும் ஒரு தனிப்பயன் உள்ளூர் இன்ஜின்.
மேகத்தில் உள்ள எல்லை நுண்ணறிவு மற்றும் மேக்கில் உள்ள உள்ளூர் மாதிரிக்கு இடையே ஆப்பிள் சிலிக்கானில் கலப்பின கணக்கீடு (Hybrid Compute) ஒரு பணியை ஒருங்கிணைக்கிறது. மேக மாதிரிகள் ஆராய்ச்சி மற்றும் பகுத்தறிவைக் கையாளுகின்றன, அதே நேரத்தில் உள்ளூர் மாதிரி மேக்கில் உள்ள தனிப்பட்ட கோப்புகள் மற்றும் பயன்பாடுகளுடன் வேலை செய்கிறது.
இந்த உழைப்புப் பிரிவு தடையற்றதாக உணர, உள்ளூர் இன்ஃபரன்ஸ் மீதமுள்ள பணியுடன் வேகத்தைத் தக்க வைத்துக் கொள்ள வேண்டும். அதற்கு ப்ராம்ட்களை விரைவாகச் செயலாக்கக்கூடிய மற்றும் உயர் டோக்கன்-உருவாக்க விகிதத்தைத் தக்க வைத்துக் கொள்ளக்கூடிய இன்ஜின் தேவைப்படுகிறது.
எங்களின் இலகுரக உள்ளூர் இன்ஃபரன்ஸ் இன்ஜினான லில்லி (Lily), ஆப்பிள் சிலிக்கான் மற்றும் Qwen3.6-35B-A3B க்காக சிறப்பாக உருவாக்கப்பட்டுள்ளது, ப்ரீஃபில் மற்றும் டிகோட்டிற்கான தனித்தனி உகந்ததாக்கல்களுடன். இன்ஜின் விரைவில் ஓப்பன் சோர்ஸ் செய்யப்படும்.
அறிமுகம்
மேக்கில் LLM களை இயக்குவதற்கான ஒரு பொதுவான வழி ஆப்பிள் சிலிக்கானுக்கான ஆப்பிள் ஓப்பன் சோர்ஸ் மெஷின் லேர்னிங் கட்டமைப்பான MLX உடன் ஆகும். அதன் துணை நூலகமான MLX-LM, பரந்த அளவிலான மொழி மாதிரிகளுடன் உரையை ஏற்றவும் உருவாக்கவும் தேவையான கூறுகளைச் சேர்க்கிறது. ஒன்றாக, MLX மற்றும் MLX-LM ஆகியவை உள்ளூர் LLM இன்ஃபரன்ஸுக்கு ஆஃப்-The-shelf, பொதுவான-நோக்க ஸ்டாக்கைக் வழங்குகின்றன.
Qwen3.6-35B-A3B என்பது ஒரு தெளிவற்ற, கலப்பின மாதிரியாகும்: இது நிபுணர்களின் கலவை (MoE) ரூட்டிங்கைப் பயன்படுத்துகிறது மற்றும் நிலையான-அளவு மறுநிகழ்வு நிலைகளை முழு கவனத்துடன் ஒருங்கிணைக்கிறது. இந்த கட்டமைப்புத் தேர்வுகள் தேவையான கணக்கீட்டின் அளவைக் குறைக்கின்றன, ஆனால் அவை ஒழுங்கற்ற பணிச்சுமைகளையும் உருவாக்குகின்றன. டோக்கன்கள் வெவ்வேறு நிபுணர் எடைகளுக்கு ரூட் செய்கின்றன, மேலும் மறுநிகழ்வு நிலைகள் இயற்கையிலேயே தொடர்ச்சியானவை.
MLX-LM ஏற்கனவே இன்ஃபரன்ஸ் கட்டங்கள் மற்றும் பொதுவான பணிச்சுமை வடிவங்களுக்காக உகந்ததாக்கப்பட்ட கர்னல்களைத் தேர்ந்தெடுக்கிறது, ஆனால் அதன் மீண்டும் பயன்படுத்தக்கூடிய செயல்பாடுகள் பல மாதிரி கட்டமைப்புகளை ஆதரிக்க வேண்டும். கியூவெனுக்கான அர்ப்பணிக்கப்பட்ட இன்ஜின் மாதிரி மற்றும் ரன்டைம் மட்டத்தில் நிபுணத்துவம் பெறலாம், மாதிரியின் நிலையான கட்டமைப்பைச் சுற்றி கர்னல்கள், தரவு இயக்கம் மற்றும் திட்டமிடலை ஒருங்கிணைக்கலாம்.
லில்லி இந்த சிறப்பம்சத்தை ஒரு ஒற்றை செயல்முறையில் எண்ட்-டு-எண்ட் முறையில் செயல்படுத்துகிறது. ஒரு ரஸ்ட் ரன்டைம் மாதிரி செக்பாயிண்டை ஏற்றி அமர்வு நிலை மற்றும் உருவாக்கும் லூ்ப்பை நிர்வகிக்கிறது, OpenAI-இணக்கமான அரட்டை-நிறைவு API கோரிக்கைகளை ஏற்றுக்கொண்டு டோக்கன்களை ஸ்ட்ரீம் செய்கிறது, மற்றும் தனிப்பயன் மெட்டல் கர்னல்கள் கியூவென்-குறிப்பிட்ட செயல்பாடுகளை இயக்குகின்றன. பைடார்ச் (PyTorch) அல்லது MLX இரண்டும் செயலாக்க பாதையில் இல்லை.

ப்ரீஃபில் மற்றும் டிகோட் செயல்திறனை தனித்தனியாக அளவிடுகிறோம். ப்ரீஃபில் செயல்திறன் இன்ஜின் ப்ராம்ட்டை எவ்வளவு விரைவாக செயலாக்குகிறது என்பதைக் கைப்பற்றுகிறது; டிகோட் செயல்திறன் அது எவ்வளவு விரைவாக வெளியீட்டு டோக்கன்களை உருவாக்குகிறது என்பதைக் கைப்பற்றுகிறது.
40-கோர் ஜிபியு (GPU) மற்றும் 128 ஜிபி ஒருங்கிணைந்த நினைவகம் கொண்ட M5 Max மூலம் இயக்கப்படும் ஒற்றை மேக்புக் ப்ரோவில் (MacBook Pro) Qwen3.6-35B-A3B ஐ பெஞ்ச்மார்க் செய்கிறோம். ப்ரீஃபில் (prefill) மற்றும் பத்து சூழல் நீளங்கள் டிகோட்டிற்கான (decode) பத்து ப்ராம்ட் நீளங்கள் முழுவதும், 256 முதல் 128K டோக்கன்கள் வரை (K = 1,024), இன்ஜின் சராசரியாக 1.23× MLX-LM இன் ப்ரீஃபில் செயல்திறனையும், 1.35× அதன் டிகோட் செயல்திறனையும் தருகிறது. 4K-டோக்கன் ப்ராம்ட் மற்றும் 4K-டோக்கன் டிகோட் சூழலில், தனிப்பயன் இன்ஜின் விநாடிக்கு 5,749.9 ப்ரீஃபில் டோக்கன்களையும், விநாடிக்கு 186.6 டிகோட் டோக்கன்களையும் அடைகிறது, இது MLX-LM இன் 4,737.5 மற்றும் 140.9 உடன் ஒப்பிடும்போது அதிகமாகும். பல திருப்ப அமர்வு (multi-turn session) முழுவதும், இந்த நேர சேமிப்பு ஒவ்வொரு கூடுதல் மாதிரி அழைப்பின்போதும் கூடிக்கொண்டே போகிறது.

அடுத்து, கியூவெனின் (Qwen) கட்டமைப்பு ஆப்பிள் சிலிக்கானில் மாதிரி-குறிப்பிட்ட உகந்ததாக்கல் வாய்ப்புகளை எவ்வாறு உருவாக்குகிறது என்பதை விளக்குகிறோம். பின்னர் விளைந்த ப்ரீஃபில் மற்றும் டிகோட் மாற்றங்கள் மூலம் செல்வோம். MLX-LM க்கு எதிரான எண்ட்-டு-எண்ட் ஒப்பீட்டுடன் முடிப்பதற்கு முன்பு, கூடுதல் உகந்ததாக்கல் எங்கு பலனளிப்பதை நிறுத்துகிறது என்பதையும் நாங்கள் உள்ளடக்குகிறோம்.
ஆப்பிள் சிலிக்கானில் கியூவென் (Qwen)-குறிப்பிட்ட உகந்ததாக்குதல் வாய்ப்புகள்
கியூவென் மூன்று தனித்தனி பணிச்சுமை வடிவங்களை உருவாக்குகிறது
Qwen3.6-35B-A3B 35 பில்லியன் அளவுருக்களைக் கொண்டுள்ளது ஆனால் ஒவ்வொரு டோக்கனுக்கும் சுமார் 3 பில்லியனை மட்டுமே செயல்படுத்துகிறது. ஒரு ரூட்டர் 256 நிபுணர் துணை நெட்வொர்க்குகளை மதிப்பிட்டு எட்டு நபர்களைத் தேர்ந்தெடுக்கிறது, ஒவ்வொரு டோக்கனையும் செயலாக்கும் ஒரு பகிரப்பட்ட நிபுணருடன். இந்த தெளிவற்ற MoE வடிவமைப்பு கணக்கீட்டைக் குறைக்கிறது ஆனால் சீரற்ற வேலையை உருவாக்குகிறது: நிபுணர்கள் வெவ்வேறு எண்ணிக்கையிலான டோக்கன்களைப் பெறுகின்றன, மற்றும் ஒவ்வொரு டோக்கனுக்கும் நிபுணர்களின் வெவ்வேறு கலவையிலிருந்து எடைகள் தேவைப்படுகின்றன.
Qwen 10 முழு-கவன அடுக்குகளை 30 Gated DeltaNet அடுக்குகளுடன் இணைக்கிறது. இந்த இரண்டு அடுக்கு வகைகளும் முந்தைய தகவல்களை வெவ்வேறு வழிகளில் தக்கவைத்துக்கொள்கின்றன.
கவன அடுக்குகள் குழுவாக்கப்பட்ட-வினவல் கவனத்தை (GQA) பயன்படுத்துகின்றன. கியூவென் 16 வினவல் தலைகளையும் இரண்டு முக்கிய-மதிப்பு (KV) தலைகளையும் கொண்டுள்ளது, எட்டு வினவல் தலைகள் ஒவ்வொரு KV தலையையும் பகிர்ந்து கொள்கின்றன. பகிர்வு KV கேச்சை சிறியதாக்குகிறது மற்றும் கேச் செய்யப்பட்ட தரவை வினவல் தலைகள் முழுவதும் மீண்டும் பயன்படுத்த அனுமதிக்கிறது. கேச் இன்னும் ஒவ்வொரு டோக்கனுக்கும் புதிய விசைகளையும் மதிப்புகளையும் சேமிக்கிறது, எனவே சூழல் வளரும்போது ஒவ்வொரு டிகோட் படியும் அதிக தரவைப் படிக்கிறது.
Gated DeltaNet அதற்கு பதிலாக முந்தைய தகவலை நிலையான-அளவு மறுநிகழ்வு நிலையில் சுருக்குகிறது. அறியப்பட்ட கேட் ஏற்கனவே உள்ள நிலையில் எவ்வளவு தக்க வைத்துக் கொள்ள வேண்டும் என்பதைக் கட்டுப்படுத்துகிறது, அதே நேரத்தில் ஒரு டெல்டா புதுப்பிப்பு தற்போதைய டோக்கனில் உள்ள தகவலை இணைத்துக்கொள்கிறது. மாதிரி இந்த புதுப்பிப்புகளை மறுநிகழ்வாக வரையறுக்கிறது, எனவே ஒவ்வொரு டோக்கனும் முந்தைய டோக்கனால் உருவாக்கப்பட்ட நிலையைப் பொறுத்தது. இருப்பினும், ப்ரீஃபில் இன் போது, ஒரு இன்ஜின் அதே கணக்கீட்டை இரண்டு வழிகளில் மதிப்பிடலாம். நிலையை முன்னோக்கி நகர்த்தும்போது இது நேரடியாக டோக்கன்கள் மூலம் ஸ்கேன் செய்யலாம், அல்லது அதிக மேட்ரிக்ஸ் செயல்பாடுகள் மற்றும் டோக்கன்-மட்ட இணைத்திறனை வெளிப்படுத்தும் தொகுதிகளாக புதுப்பிப்புகளை மறுசீரமைக்கலாம். எந்த அணுகுமுறை வேகமானது என்பது மாதிரி பரிமாணங்கள், பணிச்சுமை மற்றும் வன்பொருளைப் பொறுத்தது.
இவை அனைத்தும் இணைந்து மூன்று கணக்கீட்டு முறைகளை உருவாக்குகின்றன: சீரற்ற நிபுணர் குழுக்கள், வளர்ந்து வரும் கேச் மீதான கவனம் (attention), மற்றும் நேரடியாகவோ அல்லது தொகுதிகளாகவோ மதிப்பிடப்படக்கூடிய நிலையான-அளவு மறுநிகழ்வு (recurrence).
ஆப்பிள் சிலிக்கான் வெவ்வேறு பணிச்சுமைகளுக்கு வெவ்வேறு பாதைகளை வழங்குகிறது
ப்ரீஃபில் ஒரே நேரத்தில் பல ப்ராம்ட் டோக்கன் செயல்படுத்தும் வரிசைகளை செயலாக்குகிறது. இங்கு கருதப்படும் உள்ளூர் பணிச்சுமை பொதுவாக ஒரு நேரத்தில் ஒரு கோரிக்கையை (பேட்ச் 1) டிகோட் செய்கிறது மற்றும் ஒரு படிக்கு ஒரு புதிய வரிசையை செயலாக்குகிறது. இந்த வேறுபாடு அதே மாதிரி எடைகள் எவ்வாறு பயன்படுத்தப்படுகின்றன என்பதை மாற்றுகிறது. ப்ரீஃபில் எடைகளின் ஒவ்வொரு தொகுதியையும் நூற்றுக்கணக்கான அல்லது ஆயிரக்கணக்கான வரிசைகளில் மீண்டும் பயன்படுத்தலாம். டிகோட் பெரும்பாலும் முடியாது, ஏனெனில் ஒவ்வொரு புதிய டோக்கனுக்கும் எடைகள் மூலம் மற்றொரு பாஸ் தேவைப்படுகிறது.
ஆப்பிள் சிலிக்கான் சிபியு மற்றும் ஜிபியு ஐ ஒருங்கிணைந்த நினைவகத்திற்கு பின்னால் வைக்கிறது, இது இரண்டிற்கும் அணுகக்கூடிய ஒற்றை உடல் நினைவக குளமாகும். இது தனித்தனி ஜிபியு நகலைப் பராமரிக்காமல் மாதிரி குடியிருப்பில் இருக்க அனுமதிக்கிறது, ஆனால் இது தரவு இயக்கத்தை இலவசமாக்காது. எடைகள் மற்றும் இடைநிலை மதிப்புகளைப் படிப்பது இன்னும் நினைவக அலைவரிசையை நுகர்கிறது, அதே நேரத்தில் பதிவேடுகள் மற்றும் பிற ஆன்-சிப் சேமிப்பகம் வேகமானவை ஆனால் மிகக் சிறியவை.
M5 ஜிபியு பல்வேறு கணக்கீட்டு பாதைகளையும் வழங்குகிறது. ப்ரீஃபில் இன் நேரியல் அடுக்குகள் பொதுவான மேட்ரிக்ஸ்-மேட்ரிக்ஸ் பெருக்கலைப் (GEMM) பயன்படுத்துகின்றன, இது பல வரிசைகளுக்கு ஒரே நேரத்தில் எடை மேட்ரிக்ஸைப் பயன்படுத்துகிறது. இணக்கமான GEMM கள் மெட்டல் 4 டென்சார் செயல்பாடுகள் மூலம் ஒவ்வொரு ஜிபியு கோரிலும் உள்ள நியூரல் ஆக்சலரேட்டரைப் பயன்படுத்தலாம். பேட்ச்-1 டிகோட் அதற்கு பதிலாக பொதுவான மேட்ரிக்ஸ்-வெக்டார் பெருக்கலைப் (GEMV) பயன்படுத்துகிறது, இது அதே எடைகளை ஒரு வரிசைக்குப் பயன்படுத்துகிறது. குறைந்த எடை மறுபயன்பாட்டுடன், GEMV முக்கியமாக நினைவக அலைவரிசையால் வரம்பிடப்படுகிறது மற்றும் அதிக தரவு மறுபயன்பாட்டுடன் மேட்ரிக்ஸ் செயல்பாடுகளுக்காக வடிவமைக்கப்பட்ட நியூரல் ஆக்சலரேட்டர்களை விட ஜிபியு இன் வெக்டார் எண்கணித லாஜிக் யூனிட்டுகளுக்கு (ALUs) மிகவும் பொருத்தமானது.
இந்த செயலாக்கப் பாதைகள் லில்லிக்கு தனித்துவமானவை அல்ல. MLX அதே ஒருங்கிணைந்த நினைவகத்தின் மீது செயல்படுகிறது மற்றும் பணிச்சுமை வடிவத்திற்கு ஏற்ப உகந்ததாக்கப்பட்ட மேட்ரிக்ஸ் மற்றும் வெக்டார் கர்னல்களைத் தேர்ந்தெடுக்கிறது. MLX-LM இன் Qwen செயலாக்கம் ஏற்கனவே நிபுணர் வேலையைக் குழுவாக்குகிறது, இணைக்கப்பட்ட மறுநிகழ்வு மெட்டல் கர்னலுடன் Gated DeltaNet ஐ மதிப்பிடுகிறது, மற்றும் GQA-விழிப்புணர்வு கவனத்தைப் பயன்படுத்துகிறது. இந்த திறன்கள் ஆப்பிள் சிலிக்கானில் திறமையான கியூவென் இன்ஃபரன்ஸுக்கான பகிரப்பட்ட தொடக்கப் புள்ளியாகும்.
உகந்ததாக்கல் உத்தி
லில்லியின் (Lily's) குறுகிய நோக்கம், கியூவெனின் (Qwen) சரியான கட்டமைப்பு மற்றும் பரிமாணங்களைச் சுற்றியுள்ள இந்த பகிரப்பட்ட செயலாக்கப் பாதைகளை ஒருங்கிணைக்க அனுமதிக்கிறது. இது கட்டம்-குறிப்பிட்ட ஜிபியு (GPU) பாதைகளைப் பயன்படுத்துகிறது, கியூவெனின் நிபுணர், மறுநிகழ்வு மற்றும் கவனப் பணிச்சுமைகளை தரவு இயக்கத்தைக் குறைக்க வரைபடம் செய்கிறது, மேலும் அளவிடப்பட்ட பணிச்சுமை வடிவத்திலிருந்து கர்னல்கள் மற்றும் தளப்பமைப்புகளைத் தேர்ந்தெடுக்கிறது. மூலோபாயம் மூன்று பகுதிகளைக் கொண்டுள்ளது:
- இன்ஃபரன்ஸ் கட்டத்திற்கு ஜிபியு பாதையைப் பொருத்தவும். ப்ரீஃபில் பல வரிசைகளில் எடைகளை மீண்டும் பயன்படுத்தும்போது மேட்ரிக்ஸ்-சார்ந்த செயலாக்கத்தைப் பயன்படுத்தவும், மற்றும் பேட்ச்-1 டிகோட் ஒரு நேரத்தில் ஒரு வரிசையைச் செயலாக்கும்போது வெக்டார்-சார்ந்த செயலாக்கத்தைப் பயன்படுத்தவும்.
- தரவு இயக்கத்தைக் குறைக்கும் அதே வேளையில் கியூவெனின் கட்டமைப்பை ஜிபியு-வில் வரைபடம் செய்யுங்கள். எடைகள் பயன்படுத்தப்படும் வரை சுருக்கப்பட்டே வைத்திருங்கள், சிபியு-க்குத் திரும்பாமல் ரூட் செய்யப்பட்ட நிபுணர் வேலையை ஒழுங்கமைக்கவும், Gated DeltaNet நிலையை அதன் மறுநிகழ்வு ஸ்கேன் மூலம் சிப்பில் தக்க வைத்துக் கொள்ளவும், மற்றும் குழுவாக்கப்பட்ட-வினவல் கவனத்தால் பகிரப்பட்ட KV தரவை மீண்டும் பயன்படுத்தவும்.
- பணிச்சுமை வடிவத்திற்கு கர்னல்களை மாற்றியமைக்கவும். ஒவ்வொரு கட்டத்திற்குள்ளும், கிடைக்கக்கூடிய வரிசை எண்ணிக்கையிலிருந்து ஓட்டு அளவுகள், செயலாக்க தளப்பமைப்புகள் மற்றும் கவனப் பாதைகளைத் தேர்ந்தெடுக்கவும், நிபுணர்கள் முழுவதும் வரிசைகளின் விநியோகம், செயல்பாட்டின் பரிமாணங்கள் மற்றும் தற்போதைய சூழல் நீளம்.
பின்வரும் பிரிவுகள் இந்த தேர்வுகளை விளக்குகின்றன. M5 Max இல் பொருந்தக்கூடிய அப்லேஷன்களில் மதிப்பீடு செய்யப்பட்ட உகந்ததாக்கல்களுக்கு, ஆய்வில் உள்ள உகந்ததாக்கலில் மட்டுமே வேறுபடும் ஒற்றைப்படையான ஒத்த இன்ஜின் உள்ளமைவுகளை ஒப்பிடுவதன் மூலம் அவற்றின் விளைவுகளை நாங்கள் மதிப்பிடுகிறோம். இந்த சோதனைகள் எங்கள் இன்ஜினின் பதி We ப்புகளை தனக்கு எதிராகவே ஒப்பிடுவதால், அவை MLX-LM க்கு எதிராக இறுதி முடிவுகளை சிதைப்பதை விட வழிமுறைகளை விளக்குகின்றன.
ப்ரீஃபில்: எடைகளை மீண்டும் பயன்படுத்துங்கள் மற்றும் ரூட்டிங்கை ஜிபியு-வில் வைத்திருங்கள்
ப்ரீஃபில் ஒரே நேரத்தில் பல டோக்கன் வரிசைகளை வெளிப்படுத்துகிறது, ஆனால் கியூவென் அந்த வரிசைகளை நிபுணர்கள் முழுவதும் சீரற்ற முறையில் ரூட் செய்கிறது மற்றும் வரிசை மூலம் மறுநிகழ்வு நிலையைப் புதுப்பிக்கிறது. அதன் உகந்ததாக்கல்கள் மூன்று குழுக்களாகப் பிரிக்கப்படுகின்றன: ரூட் செய்யப்பட்ட வரிசைகளைச் சுற்றி தெளிவற்ற நிபுணர் வேலையை ஒழுங்கமைத்தல், Gated DeltaNet ஸ்கேனை சிப்பில் வைத்திருத்தல், மற்றும் நீண்ட ப்ராம்ட்களை வரையறுக்கப்பட்ட துண்டுகளாகப் பிரித்தல்.

தெளிவற்ற நிபுணர் கணக்கீட்டை உகந்ததாக்குங்கள்
மேட்ரிக்ஸ் பெருக்கலின் போது எடைகளை டி குவாண்டமைஸ் செய்யவும் (Dequantize)
Qwen3.6-35B-A3B செக்பாயிண்ட் குழுவாரியான அஃபைன் 4-பிட் குவாண்டமைசேஷனைப் பயன்படுத்துகிறது. ஒவ்வொரு எடையும் 4-பிட் முழு எண் குறியீடாக சேமிக்கப்படுகிறது, அதே நேரத்தில் 64 எடைகளின் ஒவ்வொரு குழுவும் அதன் மதிப்புகளை rekonstrukt செய்யப் பயன்படுத்தப்படும் bfloat16 அளவை மற்றும் சார்பை (bias) பகிர்ந்து கொள்கிறது. இது 35-பில்லியன்-அளவுரு மாதிரியை தோராயமாக 70 GB bfloat16 எடைகளிலிருந்து 19.4 GB செக்பாயிண்டாகக் குறைக்கிறது, மாதிரியை மேக்கில் குடியிருப்பில் வைத்திருப்பதை நடைமுறை சாத்தியமாக்குகிறது.
மேட்ரிக்ஸ் பெருக்கலுக்குப் பயன்படுத்தப்படும் மெட்டல் 4 டென்சார் செயல்பாடு தொகுக்கப்பட்ட 4-பிட் பிரதிநிதித்துவத்திற்கு பதிலாக bfloat16 இயக்க Operands ஐ நுகர்கிறது. பெருக்கலுக்கு முன், ஜிபியு bfloat16 இல் எடைகளை rekonstrukt செய்ய வேண்டும். லில்லியில் உள்ள உகந்ததாக்கப்பட்ட குழுவாக்கப்பட்ட GEMM இந்த மாற்றத்தை ஒரு நேரத்தில் ஒரு சிறிய எடை ஓடாகச் செய்கிறது மற்றும் அதை ரூட் செய்யப்பட்ட செயல்படுத்தும் வரிசைகளால் பெருக்குவதற்குத் தேவையான காலத்திற்கு மட்டுமே ஆன்-சிப் த்ரெட் குழு நினைவகத்தில் வைத்திருக்கிறது. குவிப்பு 32-பிட் மிதக்கும் புள்ளியைப் பயன்படுத்துகிறது, மற்றும் வெளியீடு bfloat16 இல் எழுதப்படுகிறது. முழு விரிவாக்கப்பட்ட எடை வரிவையும் ஒருங்கிணைந்த நினைவகத்தில் ஒருபோதும் உருவாக்கப்படுவதில்லை.
அப்லேஷனில், டி குவாண்டமைசேஷன் ஒரு தனித்த செயல்பாடாக இயங்குகிறது: இது 4-பிட் எடைகளை ஒருங்கிணைந்த நினைவகத்தில் bfloat16 வரிசையாக விரிவுபடுத்துகிறது, அதன் பிறகு மேட்ரிக்ஸ் கர்னல் அந்த வரிசையை மீண்டும் படிக்கிறது. 512-டோக்கன் ப்ராம்ட்டில், டி குவாண்டமைசேஷனை குழுவாக்கப்பட்ட GEMM இல் நகர்த்துவது இந்த இடைநிலை எழுத்து மற்றும் வாசிப்பை அகற்றுவதன் மூலம் எண்ட்-டு-எண்ட் ப்ரீஃபில் செயல்திறனை 77.4% அதிகரித்தது.
நிபுணர் ரூட்டிங்கை ஜிபியு-வில் வைத்திருங்கள்
குழுவாக்கப்பட்ட GEMM ஒவ்வொரு நிபுணருக்கும் ஒதுக்கப்பட்ட செயல்படுத்தும் வரிசைகள் ஒன்றாகச் சேமிக்கப்படுவதைக் கோருகிறது. ஒரு டோக்கனுக்கு எட்டு நிபுணர்களைத் தேர்ந்தெடுத்த பிறகு, ஒரு ஹிஸ்டோகிராம் ஒவ்வொரு நிபுணருக்கும் எத்தனை ஒதுக்கீடுகள் சென்றன என்பதை எண்ணுகிறது. ஒரு முன்னொட்டு ஸ்கேன் அந்த எண்ணிக்கைகளை தொடக்க ஆஃப்செட்களாக மாற்றுகிறது, ஒரு ஸ்கேட்டர் படி வரிசைகளை அவற்றின் நிபுணர் குழுக்களில் வைக்கிறது, மற்றும் ஒரு தொகுதி வரைபடம் குழுவாக்கப்பட்ட GEMM செயலாக்க வேண்டிய நிலையான-அளவு மேட்ரிக்ஸ் தொகுதிகளை பட்டியலிடுகிறது.
உகந்ததாக்கப்பட்ட பாதை இந்த முழு வரிசையையும் ஒவ்வொரு ப்ராம்ட் சங்குக்கும் (chunk) ஒரு கட்டளை பஃபரில் (command buffer), ஜிபியு (GPU) செயல்பாடுகளின் வரிசைப்படுத்தப்பட்ட தொகுதியில் வைத்திருக்கிறது. அதற்கு பதிலாக ஒரு அப்லேஷன் இடைநிறுத்தப்படுகிறது, இதனால் சிபியு ரூட்டிங் இடைநிலைகளை ஆய்வு செய்து அடுத்த செயல்பாட்டை சமர்ப்பிக்க முடியும். ஹிஸ்டோகிராம் மற்றும் முன்னொட்டு ஸ்கேனை ஜிபியு-வில் வைத்திருப்பது இரண்டு கர்னல்களைச் சேர்க்கிறது ஆனால் ஒவ்வொரு MoE அடுக்குக்குள்ளும் சிபியு-ஜிபியு ஒத்திசைவை நீக்குகிறது.
512-டோக்கன் ப்ராம்ட்டில், ஜிபியு-குடியிருப்பு ரூட்டிங்கை இயக்குவது எண்ட்-டு-எண்ட் ப்ரீஃபில்லை 89% அதிகரித்தது. கர்னல் எண்ணிக்கை மட்டும் தவறாக வழிநடத்தக்கூடும் என்பதையும் இது காட்டுகிறது: வேகமான பாதை அதிக கர்னல்களைத் தொடங்குகிறது ஆனால் அடுக்குக்குள்ளே சிபியுக்காக ஒருபோதும் காத்திருக்காது.
நிபுணர் சுமைக்கு ஓடு அளவைப் பொருத்தவும்
2K-டோக்கன் ப்ராம்ட்டில், ஒவ்வொரு டோக்கனையும் 256 நிபுணர்களில் எட்டு பேருக்கு ரூட் செய்வது 16,384 டோக்கன்-நிபுணர் ஒதுக்கீடுகளை உருவாக்குகிறது, அல்லது ஒரு நிபுணருக்கு சராசரியாக 64 செயல்படுத்தும் வரிசைகளை உருவாக்குகிறது. உண்மையான விநியோகம் சீரற்றது: சில நிபுணர்கள் பல வரிசைகளைப் பெறுகிறார்கள், மற்றவர்கள் சிலவற்றைப் பெறுகிறார்கள்.
குழுவாக்கப்பட்ட GEMM ஒவ்வொரு நிபுணரின் வெளியீட்டையும் ஓடுகளாகப் பிரிக்கிறது, அவை மேட்ரிக்ஸ் பெருக்கலின் வெளியீட்டின் சிறிய செவ்வக தொகுதிகளாகும். ஒவ்வொரு ஓடும் ஒரு ஜிபியு த்ரெட் குழுவிற்கு ஒதுக்கப்படுகிறது. ஆப்பிள் சிலிக்கான் ஜிபியு-க்களில், ஒரு த்ரெட் குழு ஒன்று அல்லது அதற்கு மேற்பட்ட சிம்கிரூப்களைக் கொண்டுள்ளது, ஒவ்வொன்றும் இன்ஸ்ட்ரக்ஷன்களை லாக்ஸ்டெப்பில் இயக்கும் 32 த்ரெட்டுகளைக் கொண்டுள்ளது.
பெரிய ஓடுகள் அமைப்புச் செலவை அதிக வரிசைகளில் பரப்பி அதிக இணை வேலையை வெளிப்படுத்துகின்றன, ஆனால் ஒரு நிபுணர் சில வரிசைகளை மட்டுமே பெறும்போது பெரிய ஓட்டின் ஒரு பகுதி செயலற்றதாகவே இருக்கும். எனவே ஓட்டு அளவு மற்றும் சிம்கிரூப் எண்ணிக்கை ஆகியவை இணைக்கப்பட்டுள்ளன.
ஒரு அப்லேஷன் ஓட்டை 16 வரிசைகளில் சரிசெய்கிறது. அந்த கட்டுப்பாட்டிற்கு எதிராக, நான்கு சிம்கிரூப்களுடன் 32-வரிசை ஓட்டை இயக்குவது 2K டோக்கன்களில் எண்ட்-டு-எண்ட் ப்ரீஃபில்லை 13.2% மேம்படுத்தியது.
மறுநிகழ்வு நிலையை சிப்பில் வைத்திருங்கள்
ப்ரீஃபில் இன் போது, ஒவ்வொரு Gated DeltaNet அடுக்கும் அதன் மறுநிகழ்வு நிலையை முன்னோக்கி நகர்த்தும்போது ப்ராம்ட்டை வரிசையாக ஸ்கேன் செய்கிறது. பதிவேட்டு குடியிருப்பு முடக்கப்பட்ட நிலையில், அப்லேஷன் தொகுதிவாரியான ஸ்கேனைப் பயன்படுத்துகிறது. 2K-டோக்கன் ப்ராம்ட்டில், அந்த பாதை அடுக்குக்கு 256 MiB (மெபிபைட்டுகள்) மாநிலத்தை நகர்த்துகிறது மற்றும் தடைகளில் பங்கேற்கும் அனைத்து த்ரெட்டுகளும் ஒருவருக்கொருவர் காத்திருக்க வேண்டிய ஒத்திசைவு புள்ளிகளில் ஒத்துழைக்கும் த்ரெட்டுகளை மீண்டும் மீண்டும் நிறுத்துகிறது.
மறுநிகழ்வு நிலை ஒரு மேட்ரிக்ஸ் ஆகும். உகந்ததாக்கப்பட்ட கர்னல் ஒவ்வொரு நெடுவரிசையையும் ஒரு சிம்கிரூப்பிற்கு (simdgroup) ஒதுக்குகிறது. சிம்கிரூப் நெடுவரிசையை அதன் த்ரெட்டுகளுக்கு இடையில் பிரிக்கிறது, நெடுவரிசையை அவற்றின் பதிவேடுகளில் ஒருமுறை ஏற்றி, முழு ஸ்கேன் முழுவதும் நிலையைக் கொண்டு செல்கிறது. த்ரெட் குழு நினைவகம், த்ரெட் குழு முழுவதும் பகிரப்பட்ட ஆன்-சிப் சேமிப்பகத்திற்கு பதிலாக த்ரெட் குழு செயல்பாடுகள் மூலம் த்ரெட் தற்காலிக முடிவுகளைப் பரிமாறிக் கொள்கின்றன. முடிக்கப்பட்ட நிலை ஸ்கேனுக்குப் பிறகு மட்டுமே மீண்டும் எழுதப்படுகிறது.
சிறு வட்டமிடுதல் பிழைகள் தொடர்ச்சியான புதுப்பிப்புகள் முழுவதும் சேருவதால், நிலையும் அதன் கேட்டும் 32-பிட் மிதக்கும் புள்ளி வடிவத்தைப் (floating-point format) பயன்படுத்துகின்றன. வினவல் மற்றும் முக்கிய செயல்பாடுகள் bfloat16 இல் இருக்கும்.
2K-டோக்கன் ப்ராம்ட்டில், பதிவேட்டு-குடியிருப்பு ஸ்கேனை இயக்குவது எண்ட்-டு-எண்ட் ப்ரீஃபில்லை 5.6% மேம்படுத்தியது. நிபுணர் GEMMs ப்ரீஃபில் நேரத்தில் சுமார் 90% ஆகும். தொடர்ச்சியான ஸ்கேன் நியூரல் ஆக்சலரேட்டர்களிலிருந்து பயனடைய போதுமான மீண்டும் பயன்படுத்தக்கூடிய மேட்ரிக்ஸ் வேலையை வெளிப்படுத்தாது.
ப்ராம்ட் சங்கிங்குடன் தற்காலிக நினைவகத்தைக் கட்டுப்படுத்துங்கள்
ரன்டைம் நீண்ட ப்ராம்ட்டை ஒரே நேரத்தில் நினைவகத்தில் உள்ள ஒவ்வொரு ப்ராம்ட் டோக்கனுக்கும் தற்காலிக தரவை வைத்திருப்பதற்கு பதிலாக வரையறுக்கப்பட்ட துண்டுகளின் (chunks) வரிசையாக செயலாக்குகிறது. மாதிரி எடைகள் ஒருங்கிணைந்த நினைவகத்தில் குடியிருக்கும், அதே நேரத்தில் மறுநிகழ்வு நிலை மற்றும் KV கேச் ஒரு துண்டிலிருந்து அடுத்ததுக்கு சூழலைக் கொண்டு செல்கின்றன. முந்தைய சூழல் எதுவும் நிராகரிக்கப்படாது.
சங்கிங் இல்லாமல், தற்காலிக செயல்படுத்தும் வரிசைகள் முழு ப்ராம்ட்டுடன் வளர்ந்து ஒருங்கிணைந்த நினைவகத்திற்கான மாதிரி எடைகள், மறுநிகழ்வு நிலை மற்றும் KV கேச் ஆகியவற்றுடன் போட்டியிடுகின்றன. சங்கிங் ஒரே நேரத்தில் ஒரு பிரிவின் தற்காலிக மதிப்புகளை மட்டுமே லைவாக வைத்திருக்கிறது, பின்னர் அடுத்த பிரிவை செயலாக்குவதற்கு முன்பு அந்த சேமிப்பகத்தை வெளியிடுகிறது அல்லது மீண்டும் பயன்படுத்துகிறது. இது உச்ச வேலை செய்யும் நினைவகத்தைக் கட்டுப்படுத்துகிறது மற்றும் மாதிரியின் வெளியீட்டை மாற்றாமல் நீண்ட ப்ராம்ட்களை செயலாக்க இன்ஜினை அனுமதிக்கிறது.
சங்கிங் செய்யப்பட்ட ப்ரீஃபில் பல இன்ஜின்களில் பிரபலமானது மற்றும் இந்த நினைவக-கட்டுப்படுத்தப்பட்ட சூழல்களில் நீண்ட பல-துருவ பாதைகளை (multi-turn trajectories) சேர்ப்பதற்கு முக்கியமானது. முந்தைய சங்குகளின் மீண்டும் மீண்டும் KV சுமைகளிலிருந்து சில கூடுதல் ஓவர்ஹெட்டுடன், கவன அடுக்குகளுக்கான மொத்த ப்ரீஃபில் நேரம் ப்ராம்ட் நீளத்தில் இருபடிச் சார்பாகவே (quadratic) இருக்கும்.
டிகோட்: ஒரு டோக்கனுக்கு நகர்த்தப்படும் பைட்டுகளைக் குறைக்கவும்
பேட்ச்-1 டிகோட் ஒரு நேரத்தில் ஒரு புதிய வரிசையை செயலாக்குகிறது. குறைந்த எடை மறுபயன்பாட்டுடன், இதன் செயல்திறன் முக்கியமாக இன்ஜின் ஒவ்வொரு டோக்கனுக்கும் எத்தனை பைட்டுகளை நகர்த்துகிறது என்பதைப் பொறுத்தது. டிகோட் மாற்றங்கள் நான்கு குழுக்களாகப் பிரிக்கப்படுகின்றன: ஒற்றை-வரி எடை பாதையை உகந்ததாக்குதல், ஒவ்வொரு படியையும் ஜிபியு-வில் வைத்திருத்தல், இடைநிலை மற்றும் மாநில போக்குவரத்தைக் குறைத்தல், மற்றும் கவன கேச்சை திறம்படப் படித்தல்.

ஒற்றை-வரி எடை பாதையை உகந்ததாக்குங்கள்
MLX ஏற்கனவே ஒற்றை-வரி வேலையை சிறப்பு மேட்ரிக்ஸ்-வெக்டார் கர்னல்களுக்கு அனுப்புகிறது. லில்லி MLX ஐப் பயன்படுத்தாததால், தனிப்பயன் ரன்டைம் அதே அடிப்படை உத்தியை வழங்க வேண்டும். எங்களின் வரிசை-இணை GEMV ஒரு செயல்படுத்தும் வரிசைக்காக வடிவமைக்கப்பட்டுள்ளது. எடையின் வெவ்வேறு பகுதிகளை இணையாகப் படிக்கும்போது சிம்கிரூப் வெளியீட்டில் ஒத்துழைக்கிறது.
ஒவ்வொரு டிகோட் படியையும் ஜிபியு-வில் வைத்திருங்கள்
டோக்கன் ஹேண்டாாஃப்பை ஜிபியு-வில் வைத்திருங்கள்
ஒவ்வொரு டிகோட் படியும் அடுத்த டோக்கனைத் தேர்ந்தெடுப்பதன் மூலம் முடிகிறது; பின்வரும் படி அந்த டோக்கனை உள்ளீட்டாகக் கொண்டு தொடங்குகிறது. தேர்வை சிபியு-க்கு அனுப்பிவிட்டு மீண்டும் ஜிபியு-க்கு அனுப்புவது ஒவ்வொரு டோக்கனுக்கும் ஒரு ஒத்திசைவு புள்ளியைச் சேர்க்கிறது. அதற்கு பதிலாக எங்கள் ரன்டைம் இரண்டு கட்டளை பஃபர்கள் மற்றும் இரண்டு ஜிபியு-குடியிருப்பு டோக்கன் ஸ்லாட்டுகளுக்கு இடையில் மாறுகிறது. ஜிபியு அதிக மதிப்பெண் பெற்ற டோக்கனைத் தேர்ந்தெடுத்து அதன் டோக்கன் ஐடியை அடுத்த டிகோட் பதிக்கான உள்ளீட்டு ஸ்லாட்டில் நேரடியாக எழுதுகிறது, அதே நேரத்தில் சிபியு அடுத்தடுத்த வேலைகளைத் தயாரிக்கிறது.
சுயாதீனமான ஜிபியு வேலையை ஒன்றுடன் ஒன்று சேர்க்கவும்
பதிவுசெய்யப்பட்ட ஒரு பேட்ச்-1 டிகோட் படியில், ஒரு டோக்கனை உருவாக்குவது 795 ஜிபியு கர்னல்களைத் தொடங்கியது. அவற்றின் சார்ப ுநிலைகள் 555 தொடர்ச்சியான நிலைகளை உருவாக்கின, சில கர்னல்கள் ஒரே நேரத்தில் இயக்க சுதந்திரமாக விட்டன. மெட்டலின் வரிசை செயலாக்க முறை ஆயினும் ஒவ்வொரு கர்னலையும் வரிசையாக இயக்கியது.
உகந்ததாக்கப்பட்ட டிகோட் பாதை ஒரு ஒத்திசைவான மெட்டல் பாஸில் உண்மையான தரவு சார்புகளைப் பதிவு செய்கிறது. ஜிபியு வளங்கள் அனுமதிக்கும் போது சுயாதீன கர்னல் தொடக்கங்கள் ஒரே நேரத்தில் இயங்க முடியும். பிந்தைய வேலைக்கு முந்தைய முடிவு தேவைப்படும்போது மட்டுமே தடை செருகப்படுகிறது.
இடைநிலை மற்றும் மாநில போக்குவரத்தைக் குறைக்கவும்
தனித்தனி கர்னல்கள் பெரும்பாலும் ஒரு இடைநிலையை வெளிப்படுத்துகின்றன: ஒரு கர்னல் தற்காலிக முடிவை நினைவகத்தில் எழுதுகிறது, அடுத்தது முடிவை மீண்டும் படிக்கிறது. உகந்ததாக்கப்பட்ட டிகோட் பாதை நான்கு சங்கிலிகளை இணைக்கிறது: அவற்றின் கேடட் ஆக்டிவேஷனுடன் இரண்டு நிபுணர் உள்ளீட்டு திட்டங்கள்; அதன் ரூட்டிங் ஸ்கோர் மற்றும் பகிரப்பட்ட-நிபுணர் முடிவுடன் நிபுணர் வெளியீட்டு திட்டம்; கவனத்திற்கு முன் வினவல் மற்றும் முக்கிய தயாரிப்பு; மற்றும் அதன் இயல்பாக்கத்துடன் மறுநிகழ்வு புதுப்பிப்பு. ஒவ்வொரு இணைக்கப்பட்ட கர்னலும் தற்காலிக மதிப்புகளை நினைவகத்திற்கு அனுப்புவதற்கு பதிலாக பதிவேடுகளில் வைத்திருக்கிறது.
கலப்பு சார்பு வரைபடத்தையும் குறைக்கிறது: ஒரு இடைநிலை எழுத்து மறைந்துவிடும்போது, அதன் நுகர்வோரைப் பாதுகாத்த தடையும்கூட மறைந்துவிடும்.
கவன கேச்சை திறமையாகப் படிக்கவும்
கவன-கேச் வாசிப்புகளை இணைக்கவும் (Coalesce)
ஒவ்வொரு டிகோட் படியின்போதும் கவனம் KV கேச்சிலிருந்து விசைகளையும் மதிப்புகளையும் படிக்கிறது. அப்லேஷனில், அருகிலுள்ள ஜிபியு த்ரெட்டுகள் எப்போதும் அருகிலுள்ள பைட்டுகளைக் கோருவதில்லை, இதனால் நினைவக அமைப்பு அதிக தனித்தனி பரிவர்த்தனைகளுக்கு சேவை செய்ய கட்டாயப்படுத்துகிறது. இணைக்கப்பட்ட சுмаகளை இயக்குவது அருகிலுள்ள த்ரெட்டுகள் அருகிலுள்ள பைட்டுகளைக் கோருமாறு செய்கிறது இதனால் வன்பொருள் அவற்றின் வாசிப்புகளை இணைக்க முடியும்.
bfloat16 உள்ளமைவில், இணைத்தல் (coalescing) முக்கிய அலைவரிசையை 33.8 இலிருந்து 47.9 GB/s ஆக அதிகரித்தது, மதிப்பு அலைவரிசையை 42.0 இலிருந்து 61.8 GB/s ஆக அதிகரித்தது, மேலும் 3,840-டோக்கன் சூழலில் எண்ட்-டு-எண்ட் டிகோட்டை 2.1% மேம்படுத்தியது.
KV வரிசைகளை மீண்டும் பயன்படுத்த வினவல் தலைகளைப் பொதி செய்யுங்கள் (Pack)
குழுவாக்கப்பட்ட-வினவல் கவனம் (Grouped-query attention) எட்டு வினவல் தலைகள் (query heads) ஒரு KV தலையைப் பகிர அனுமதிக்கிறது. அப்லேஷனில் (ablation), ஒவ்வொரு வினவல் தலையும் தனித்த சிம்கிரூப்பில் (simdgroup) இயங்குகிறது, எனவே அனைத்து எட்டும் ஒரே கேச் செய்யப்பட்ட KV வரிசையைத் independently கோருகின்றன. உகந்ததாக்கப்பட்ட கர்னல் நான்கு வினவல் தலைகளை ஒரு த்ரெட் குழுவில் (threadgroup) பொதி செய்கிறது, இது ஒவ்வொரு KV வரிசையையும் ஒருமுறை ஏற்றி நான்கு கவனக் கணக்கீடுகளில் மீண்டும் பயன்படுத்துகிறது. இரண்டாவது த்ரெட் குழு மீதமுள்ள நான்கு தலைகளைக் கையாளுகிறது.
பொதுவாக GQA பேக்கிங் என்று அழைக்கப்படும் இந்த நுட்பம், எட்டு சுயாதீன KV கோரிக்கைகளைக் இரண்டு பகிரப்பட்ட சுமைகளாகக் குறைக்கும் அதே வேளையில் அதே எண்கணிதத்தைச் செய்து ஒத்த வெளியீட்டு பைட்டுகளை உருவாக்குகிறது. திறக்கப்படாத அப்லேஷனுக்கு எதிராக, இது 32K-டோக்கன் சூழலில் எண்ட்-டு-எண்ட் டிகோட் செயல்திறனை 23.8% மேம்படுத்தியது.
நீண்ட சூழல்களில் கவன தளப்பமைப்புகளை மாற்றவும்
முழு-கவன அடுக்கில் (full-attention layer) உள்ள ஒவ்வொரு டிகோட் படியும் தற்போதுள்ள KV கேச்சை ஸ்கேன் செய்கிறது. ஒரு நிலையான-தொகுதி தளப்பமைப்பு அந்த கேச்சை ஜிபியு (GPU) இணையாகச் செயல்படுத்தக்கூடிய சம துண்டுகளாகப் பிரிக்கிறது. கேச் சிறியதாக இருக்கும்போது இதன் கூடுதல் திட்டமிடல் மதிப்புக்குரியதல்ல, ஆனால் சூழல் வளரும்போது நிலையான-தொகுதி தளப்பமைப்பு வேலையை மிகவும் சமமாக சமநிலைப்படுத்துகிறது.
இந்த மாதிரிக்கு, ரன்டைம் பொதுவான கவனப் பாதையை 32K டோக்கன்களுக்குக் கீழே வைத்திருக்கிறது மற்றும் 32K அல்லது அதற்கு மேற்பட்டவற்றில் நிலையான-தொகுதி பாதையைப் பயன்படுத்துகிறது. ஒவ்வொரு தலைக்கும் 256 மதிப்புகள் இருக்கும்போது மற்றும் எட்டு வினவல் தலைகள் ஒரு KV தலையைப் பகிரும்போது இந்த மாற்றம் பொருந்தும்; மற்ற வடிவங்கள் பொதுவான பாதையிலேயே இருக்கும். ஒரு அப்லேஷன் இந்த மாற்ற முடக்குகிறது மற்றும் எப்போதும் பொதுவான பாதையைப் பயன்படுத்துகிறது. நிலையான-தொகுதி வழியை இயக்குவது 32K இல் 7.7%, 64K இல் 27.4% மற்றும் 128K இல் 40.2% எண்ட்-டு-எண்ட் டிகோட்டை மேம்படுத்தியது.
மேலும் உகந்ததாக்குதலின் எல்லைகள்
சில மாற்றங்கள் தனிமைப்படுத்தப்பட்ட செயல்பாட்டை மேம்படுத்தின ஆனால் எண்ட்-டு-எண்ட் இன்ஃபரன்ஸை மேம்படுத்தவில்லை.
முழு மாதிரி சரிபார்க்க டோக்கன்களை முன்மொழிய சிறிய மாதிரியைப் பயன்படுத்தும் ஸ்பெகுலேட்டிவ் டிகோடிங் (Speculative decoding), பேட்ச்-1 டிகோட்டை 18% மெதுவாக்கியது. சரிபார்ப்பு இரண்டு முதல் ஐந்து வரிசைகளின் குழுக்களை செயலாக்கியது, இந்த வன்பொருளுக்கு திறமையற்ற வடிவம், மற்றும் வரிசைகள் பெரும்பாலும் வெவ்வேறு நிபுணர்களைத் தேர்ந்தெடுத்தன, இது படிக்கப்பட்ட நிபுணர்-எடை தரவின் அளவை அதிகரித்தது. வரைபியின் வெளியீட்டு சொல்லகராதியைக் குறைப்பது வரைபியின் செயல்திறனை 4.7-5.1% மேம்படுத்தியது, ஆனால் முழு ஸ்பெகுலேட்டிவ் லூ்ப்பை வேகமாக மாற்றவில்லை. இந்த முடிவு பணிச்சுமை-குறிப்பிட்டது: பிளாக்வெல் (Blackwell) மீதான எங்கள் தொகுக்கப்பட்ட Qwen வரிசைப்படுத்தல் வெவ்வேறு நிபந்தனைகளின் கீழ் ஸ்பெகுலேட்டிவ் டிகோடிங்கைப் பயன்படுத்துகிறது.
மற்ற சோதனைகளில் ஜிபியு தொடங்குவதைக் குறைத்தல், முழு கட்டங்களையும் ஒன்றுடன் ஒன்று சேர்த்தல், பெரிய ப்ரீஃபில் ஓடுகளைப் பயன்படுத்துதல், பரந்த கலவையைப் பயன்படுத்துதல், ரூட்டரை துரிதப்படுத்துதல் மற்றும் வெளியீட்டு திட்டங்களை டோக்கன் தேர்வுடன் இணைத்தல் ஆகியவை அடங்கும். எதுவும் முழு இன்ஃபரன்ஸ் லூப்பை மேம்படுத்தவில்லை.
வன்பொருள் வரம்புகளின் அளவீடுகளும் முக்கிய ப்ரீஃபில் மற்றும் டிகோட் செயல்பாடுகளில் மீதமுள்ள தலைப்பகுதி குறைவாக இருப்பதைக் காட்டியது. MoE GEMMs மற்றும் GEMVs அவற்றின் அணுகல் வடிவங்களுக்கான வேகமான நிலையான எடை-படிக்கும் விகிதங்களில் 97.9% மற்றும் 90.3% ஐ எட்டியது. தெளிவற்ற GEMV இலிருந்து எண்கணிதத்தை அகற்றுவது செயல்திறனை 0.2% மட்டுமே மாற்றியது, கணினியை விட எடை வாசிப்புகளே வரம்பிற்குட்பட்ட வளங்கள் என்பதை உறுதிப்படுத்தியது. ப்ரீஃபில் இன் மேட்ரிக்ஸ் பெருக்கல் தனித்தனியாக கோட்பாட்டு மேட்ரிக்ஸ் வரம்பில் 93% ஐ எட்டியது மற்றும் சோதிக்கப்பட்ட மாதிரிகளுக்குள் 80-86% ஐ எட்டியது.
எண்ட்-டு-எண்ட் செயல்திறன்
எண்ட்-டு-எண்ட் ஒப்பீடு இரண்டு இன்ஜின்களிலும் ஒத்த 4-பிட் செக்பாயிண்ட் பைட்டுகளை ஏற்றி, ஒரு 40-கோர், 128 GB M5 Max இல் ஒரு நேரத்தில் ஒரு கோரிக்கையை இயக்குகிறது. ஒவ்வொரு சுற்றுக்குள்ளும், பின்னணி சுமை மற்றும் சில்லு வெப்பநிலையில் மாற்றங்கள் ஏற்படும் சார்பைக் குறைக்க இரண்டு இன்ஜின்களும் மாற்று வரிசையில் இயங்குகின்றன. நாங்கள் MLX-LM இன் வேகமான நேரடி-உருவாக்கல் பாதைக்கு எதிராக ஒப்பிடுகிறோம், அதன் சர்வர் அல்ல, எனவே அளவீட்டு சேவை ஓவர்ஹெட்டைக் காட்டிலும் மாதிரி செயலாக்கத்தில் கவனம் செலுத்துகிறது.
ஸ்வீப் ப்ரீஃபிலுக்கான பத்து ப்ராம்ட் நீளங்களையும் டிகோட்டிற்கான பத்து சூழல் நீளங்களையும், 256 முதல் 128K டோக்கன்கள் வரை உள்ளடக்கியது. இன்ஜின் நிலையான அமைப்புச் செலவுகளை அதிக டோக்கன்களில் பரப்புவதால் ப்ரீஃபில் செயல்திறன் முதலில் உயர்கிறது. ப்ரீஃபில் 4K-டோக்கன் ப்ராம்ட்டைச் சுற்றி உச்சத்தை அடைகிறது, பின்னர் குறைகிறது ஏனெனில் ப்ராம்ட் வளரும்போது பத்து முழு-கவன அடுக்குகளும் அதிக வேலையைச் செய்கின்றன. குறுகிய சூழல்களில் டிகோட் கிட்டத்தட்ட தட்டையாக இருக்கும் மற்றும் வளரும் KV கேச்சைப் படிப்பது குறிப்பிடத்தக்கதாக மாறும்போது குறைகிறது. பதிவுசெய்யப்பட்ட ஒவ்வொரு நீளத்திலும் தனிப்பயன் இன்ஜின் வேகமானது.
சிறப்பு செயலாக்கம் மிதக்கும்-புள்ளி செயல்பாடுகளின் வரிசையை மாற்றக்கூடும் என்பதால், MLX-LM க்கு எதிரான எண் நிலைத்தன்மையையும் நாங்கள் சரிபார்த்தோம். ஆசிரியர்-கட்டாயப்படுத்தப்பட்ட ஒப்பீட்டில், இரண்டு இன்ஜின்களும் 192 நிலைகளில் ஒவ்வொன்றிலும் ஒரே குறிப்பு முன்னொட்டிலிருந்து அடுத்த டோக்கனை முன்னறிவித்தன, முந்தைய வேறுபாடுகள் பிந்தைய உள்ளீடுகளைப் பாதிப்பதைத் தடுத்தன. லில்லியின் பெர்ப்ளெக்சிட்டி (perplexity) 0.04% மட்டுமே அதிகமாக இருந்தது, மேலும் இது சோதிக்கப்பட்ட நிலைகளில் 96.35% இல் அதே மேல்-தரவரிசை டோக்கனைத் தேர்ந்தெடுத்தது.

உள்ளூர் தளத்திற்காக கட்டப்பட்டது
ஆப்பிள் சிலிக்கான் என்பது சிறிய டேட்டாசென்டர் ஜிபியு அல்ல. இது அதன் சொந்த வன்பொருள் மற்றும் மென்பொருள் பண்புகளைக் கொண்ட முழுமையான உள்ளூர் இன்ஃபரன்ஸ் தளமாகும். ஒருங்கிணைந்த நினைவகம் ஒரு ஒற்றை முனையம் எவ்வளவு மாதிரி மற்றும் நிலைய வைத்திருக்க முடியும் என்பதில் மிக உயர்ந்த வரம்பைக் அளிக்கிறது. M5 நியூரல் ஆக்சலரேட்டர்கள் ப்ரீஃபில் உள்ள அடர்ந்த மேட்ரிக்ஸ் வேலையை உறிஞ்சுகின்றன. வெக்டார் ALU கள் டிகோட்டில் அலைவரிசைக் கட்டுப்படுத்தப்பட்ட, குறைந்த-மறுபயன்பாட்டு மீதமுள்ளவற்றைக் கையாளுகின்றன.
கியூவென் சிறப்புக்கான மேலும் வாய்ப்புகளைச் சேர்க்கிறது: நிபுணர் ரூட்டிங் மற்றும் மறுநிகழ்வு நிலையை ஜிபியு-வில் வைத்திருத்தல், தேவையற்ற இடைநிலைகளை நீக்குதல், சுயாதீன வேலையை ஒன்றுடன் ஒன்று சேர்த்தல், பகிரப்பட்ட KV தரவை மீண்டும் பயன்படுத்துதல், மற்றும் பணிச்சுமை வடிவத்திற்கு கர்னல்களை மாற்றுதல்.
மாதிரி மற்றும் தளம்-குறிப்பிட்ட உகந்ததாக்கலுடன், ஒரு மேக் பெரிய தெளிவற்ற மாதிரியை திறமையாக இயக்க முடியும். எதிர்கால வேலைகள் மாதிரிகள், சில்லுகள் மற்றும் சேவை பணிச்சுமைகள் முழுவதும் கவரேஜை விரிவுபடுத்தும், மேலும் ஒரு உள்ளமைவில் இங்கு சரிபார்க்கப்பட்ட வழிமுறைகளை மிகவும் பொதுவான ரன்டைம் கொள்கையாக மாற்றும்.
பரந்த கொள்கையானது இன்ஜினை மாதிரியின் கட்டமைப்பு மற்றும் வன்பொருளின் குறிப்பிட்ட கணக்கீடு மற்றும் நினைவக பாதைகள் ஆகியவற்றுடன் பொருத்துவதாகும். எல்லை ஓப்பன்-வெயிட் மாதிரிகள் மற்றும் வன்பொருள் பரிணாம வளர்ச்சியடையும் போது, உயர் செயல்திறன் கொண்ட உள்ளூர் இன்ஃபரன்ஸ் அவற்றின் வேறுபாடுகளை சுருக்கமாகக் கூறுபவர்களை விட இரண்டிற்கும் ஏற்ப வடிவமைக்கப்பட்ட இன்ஜின்களை பெருகிய முறையில் சார்ந்து இருக்கும்.