La version b11372 de llama.cpp introduit des optimisations pour l'indexeur éclair du modèle qwen4exp, réduisant principalement de moitié la mémoire requise pour les scores de l'indexeur lors du traitement de contextes longs. Cela est obtenu en calculant les scores des têtes sur place plutôt qu'en matérialisant des tenseurs séparés pour chaque tête.
- L'indexeur qwen4exp réutilise désormais les tampons de l'allocationur et calcule les scores via ggml_lightning_indexer pour réduire l'utilisation maximale de la mémoire.
- Support du backend CUDA ajouté pour l'indexeur éclair avec 4 têtes, les dispatchant vers le noyau vectoriel.
- Backend Metal mis à jour pour lire le nombre de têtes depuis une constante de fonction, permettant d'exécuter n'importe quel nombre de têtes sans modifications de code.
- Le backend Vulkan tuile l'indexeur éclair sur les clés et les tokens en utilisant la mémoire partagée et des produits scalaires fp16.
Ces modifications améliorent l'efficacité mémoire pour les modèles qwen4exp avec de longs contextes tout en maintenant la taille du tampon de calcul et la vitesse.