Less is KEN: a Universal and Simple Non-Parametric Pruning Algorithm for Large Language Models

Michele Mastromattei, Fabio Massimo Zanzotto
2/5/2024
cs.LGcs.CL

No official code found. Best implementation: itsmattei/KEN (8 stars, MIT, last commit 2024-06-10).

Abstract

Neural network pruning has become increasingly crucial due to the complexity of these models and their widespread use in various fields. Existing pruning algorithms often suffer from limitations such as architecture specificity, excessive complexity and reliance on demanding calculations, rendering them impractical for real-world applications. This paper introduces KEN: a straightforward, universal and unstructured pruning algorithm based on Kernel Density Estimation (KDE). KEN aims to construct optimized transformers by selectively preserving the most significant parameters while restoring others to their pre-training state. This strategy preserves model performance while enabling storage of only the optimized subnetwork, leading to substantial memory savings. Extensive evaluations across seven different LLMs demonstrate that KEN achieves equal or better performance than their original unpruned versions, with a minimum parameter reduction of 25%. Furthermore, in-depth comparisons with established pruning and PEFT algorithms confirm KEN effectiveness. We further introduce KEN$_{viz}$, an explainable tool that visualizes the optimized model composition achieved by KEN from different points of view.

View on arXivView PDF

Code Implementations(1)

itsmattei/KENCommunity100%
MIT

KEN: Unleash the power of large language models with the easiest and universal non-parametric pruning algorithm

82PythonJan 31, 20242 years agoMIT
kernel-density-estimationllmpruning-algorithmstransformer

Similar Papers

Cite this paper

@article{mastromattei2024less,
  title  = {Less is KEN: a Universal and Simple Non-Parametric Pruning Algorithm for Large Language Models},
  author = {Michele Mastromattei and Fabio Massimo Zanzotto},
  year   = {2024},
  eprint = {2402.03142},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.03142v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2402.03142.svg)](https://codeofpaper.com/paper/2402.03142)

Discussion