llama.cpp परियोजना ने बिल्ड b10751 जारी किया, जिसने CUDA पर MoE (Mixture of Experts) वजनित विशेषज्ञ न्यूनीकरण के लिए एक फ्यूस्ड_kernel_ पेश किया। यह अनुकूलन मध्यवर्ती ग्लोबल-मेमोरी ट्रैफ़िक को कम करने के लिए दो भौतिक kernels चलाते हुए पूर्व की बेसलाइन को एकल वजन-न्यूनीकरण kernel से बदल देता है।
- फ्यूस्ड_kernel_ k=2..15 विशेषज्ञों को एक रनटाइम-k kernel द्वारा संभालता है, जो अविस्केल्ड और स्केल्ड विशेषज्ञ वजन ग्राफ़ दोनों का समर्थन करता है।
- यह वही न्यूनीकरण क्रम बनाए रखते हुए संरचनात्मक ऑप अनुक्रमों, आकारों, स्ट्राइड्स और बाएं-से-दाएं ADD चेन से मेल खाता है।
- अलाकेटर इंटीग्रेशन सुनिश्चित करता है कि विशेषज्ञ, राउटर वजन और वैकल्पिक स्केल तब तक सक्रिय रहें जब तक फ्यूस्ड लक्ष्य लिखा नहीं जाता।
- अमान्य या असुरक्षित ग्राफ़ मौजूदा प्रति-ऑप पथ पर वापस आ जाते हैं, जिसे GGML_CUDA_MOE_WEIGHTED_REDUCTION=0 के माध्यम से अक्षम किया जा सकता है।
यह परिवर्तन विशेषज्ञ संयोजन चरण के दौरान मेमोरी बैंडविड्थ उपयोग को न्यूनतम करके CUDA पर MoE मॉडल के लिए प्रदर्शन में सुधार करता है।