Two-stage neural architecture search for large language models
Project description
whittle
Whittle is a library for Neural Architecture Search (NAS) aimed at compressing large language models (LLMs). The core idea is to treat the network as a super-network and select sub-networks that optimally balance performance and efficiency. Whittle provides the following functionalities:
- Support for a variety of LLMs to define super-networks
- Checkpoint generation for sub-networks, enabling deployment
- Downstream evaluation of sub-networks using LM-Eval-Harness
- A simple interface for various super-network training strategies and multi-objective search methods
Installation
Whittle supports and is tested for python 3.9 to 3.11.
You can install whittle with:
pip install whittle
Install from source
Install whittle from source to get the most recent version:
git clone git@github.com:whittle-org/whittle.git
cd whittle
pip install -e .
Getting started with whittle
To explore and understand different functionalities of whittle
checkout this colab notebook and examples/
Projects that use whittle
How to get involved
We more than happy for any code contribution. If you are interested in contribution to whittle, please read our contribution guide.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file whittle-0.3.0.tar.gz
.
File metadata
- Download URL: whittle-0.3.0.tar.gz
- Upload date:
- Size: 64.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51867ff2996d70ee8f6c539433ced56e7b3609271ba7e8bf45a123be3db877ff |
|
MD5 | 28f24bd0ea315eec901493e22be4fc7c |
|
BLAKE2b-256 | 520f67685661880ede5fde556af13e4bd34300d868cd0e325f7425903d43e7fe |