🥣 Good Soup 👌
Stirring up SOTA models with ease! A tool for making model souping ultra-simple, fast and easy!
Model souping is like being a chef in the world of AI 🧑🍳. You take a few well-trained models (your ingredients 🥦🥩🥕), mix their weights together (stir the pot!🥣), and voilà! You often end up with a new model that performs better than any of the individual ingredients. It's a fantastic technique for pushing the boundaries and achieving State-of-the-Art (SOTA) results.
But let's be honest, sometimes the recipe can be complicated. Setting up the kitchen, getting the measurements right... it can be a hassle. That's where Good Soup comes in! We handle the messy parts so you can focus on the delicious results. 👌
🚀 Getting Started
We want Good Soup to be as easy as opening a can. The ultimate goal is a simple pip install:
# Soon! 🙏
pip install good-soup
For now, you'll need to grab it fresh from the source:
git clone https://github.com/chonkie-inc/good-soup.git
cd good-soup
pip install -e .
🧑🍳 Usage Example
Whipping up a soup is super simple:
from good_soup import Soup
# Create your soup object
soup = Soup(
# List of paths to the models you want to blend 🥣
models=[
"path/to/model_1.bin",
"path/to/model_2.bin",
# Add as many models as you like!
],
# The merging strategy (more recipes coming soon!) 📜
# 'uniform' averages the weights of all models.
method="uniform",
# Where to save your delicious new model 🍲
output_dir="path/to/output_dir",
# Optional: Specify data type (e.g., 'float16', 'bfloat16')
# dtype="float16",
# Optional: Specify device ('cpu', 'cuda')
# device="cuda",
)
# That's it! Your souped model is ready in output_dir.
print("Soup's ready! 👌")
📜 Available Recipes (Methods)
Currently, Good Soup offers one classic recipe:
uniform: This method simply averages the weights of all provided models. It's a great starting point and often yields surprisingly good results!
Keep an eye out! We're constantly experimenting in the kitchen and plan to add more sophisticated recipes like greedy merging, ties, and dare soon! 🧑🔬
🗺️ Roadmap
- Add
greedysouping method. - Add
tiesmerging method. - Add
daremerging method. - Publish to PyPI for easy
pip install. - More comprehensive documentation and examples.
- Support for different model formats (e.g., SafeTensors).
🙌 Contributing
Want to add your own spice to the soup? Contributions are welcome! Feel free to open an issue or submit a pull request. Let's cook up something great together! 🤝
🙏 Acknowledgements
CHONKIE loves soup! 🥣👌
A huge thank you to Adam Driver – a true inspiration and a connoisseur of fine soup (probably).
And thanks to the amazing open-source community for providing the quality ingredients that make this project possible!
✍️ Citation
If Good Soup helps you in your research or project, please cite it:
@misc{goodsoup2025,
author = {Chonkie Inc.},
title = {Good Soup: A tool for making model souping ultra-simple, easy and fast!},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
url = {https://github.com/chonkie-inc/good-soup}
}
Metadata
Release files for good-soup 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| good_soup-0.0.1.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| good_soup-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.7 kB
Release files / good_soup-0.0.1.tar.gz
| Download URL | good_soup-0.0.1.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07eee7747a788ba312a178d777b2dff08b2317d187ad5af866c07fdd75ff5b6b
|
|
BLAKE2b-256 checksum How to use checksums |
da24e8c93f17161cd71d37e58bd64f27a5f775c53809fcff20a7eb00f81ffdd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|
Release files / good_soup-0.0.1-py3-none-any.whl
| Download URL | good_soup-0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e124f353abbc7e7a62823bdb2bf0ad13f22ed247ad585f58a3932f11285b8d80
|
|
BLAKE2b-256 checksum How to use checksums |
41662e6766dcb08643544622802f5efb888ff00eb779297fb3dd8de95e535b51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.22
|