model-pruning
Reduce LLM size and accelerate inference using pruning techniques like Wanda and SparseGPT. Use when compressing models without retraining, achieving 50% sparsity with minimal accuracy loss, or enabling faster inference on hardware accelerators. Covers unstructured pruning,
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Reduce LLM size and accelerate inference using pruning techniques like Wanda and SparseGPT. Use when compressing models without retraining, achieving 50% sparsity with minimal accuracy loss, or enabling faster inference on hardware accelerators. Covers unstructured pruning, structured pruning, N:M sparsity, magnitude pruning, and one-shot methods.
How to use
Zainstaluj wymagane zależności: sklonuj repozytorium Wanda (https://github.com/locuslab/wanda), przejdź do katalogu i uruchom pip install -r requirements.txt. Opcjonalnie zainstaluj SparseGPT dla metod drugiego rzędu. Zainstaluj torch, transformers i accelerate poleceniem pip install torch transformers accelerate.
Załaduj model do kompresji, na przykład Llama-2-7b, używając AutoModelForCausalLM.from_pretrained() z torch_dtype=torch.float16 i device_map="cuda" dla GPU. Załaduj odpowiadający tokenizer AutoTokenizer.from_pretrained().
Przygotuj dane kalibracyjne — małą próbkę tekstu reprezentatywną dla Twojego przypadku użycia. Dane te będą użyte do obliczenia wag i aktywacji bez pełnego retrainingu modelu.
Zastosuj pruning Wanda, która jest metodą one-shot nie wymagającą retrainingu. Wanda oblicza iloczyn wag i aktywacji, aby zidentyfikować mniej ważne neurony do usunięcia, osiągając docelowy poziom sparsity (np. 50%).
Zweryfikuj dokładność skompresowanego modelu na zbiorze testowym. Metoda Wanda gwarantuje stratę dokładności poniżej 1% przy redukcji rozmiaru o 40–60%.
Wdróż skompresowany model na docelowym sprzęcie — urządzeniach mobilnych, edge'owych lub serwerach z ograniczoną pamięcią. Sparsity umożliwia przyspieszenie inferecji dzięki wsparciu akceleratorów sprzętowych.