mirror of
https://github.com/Dynamis-Labs/spectralquant.git
synced 2026-10-19 00:39:46 -05:00
Upgrades SpectralQuant from uniform bit allocation to greedy water-filling inside the semantic subspace, with per-dimension Lloyd-Max codebooks fit to the empirical scalar marginal. Adds full three-way evaluation harness (perplexity, generation, latency, LongBench) on Modal H200 GPUs, comprehensive documentation, and the consolidated arxiv-ready manuscript. v1 is preserved on the 'v1' branch. Co-Authored-By: Anirudh B. Vangara <anirudh@sentra.app>
94 lines
2.0 KiB
TOML
94 lines
2.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.backends.legacy:build"
|
|
|
|
[project]
|
|
name = "spectralquant"
|
|
version = "0.1.0"
|
|
description = "Exploiting eigenspectral structure for better-than-optimal vector quantization"
|
|
readme = "README.md"
|
|
license = { text = "MIT" }
|
|
authors = [
|
|
{ name = "Ashwin Gopinath", email = "ashwin@sentra.ai" },
|
|
{ name = "Sambartha Ray Barman" },
|
|
]
|
|
keywords = [
|
|
"KV cache compression",
|
|
"quantization",
|
|
"large language models",
|
|
"eigenspectral analysis",
|
|
"vector quantization",
|
|
"attention",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
]
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"torch>=2.2.0",
|
|
"transformers>=4.40.0",
|
|
"datasets",
|
|
"huggingface_hub>=0.20",
|
|
"scipy",
|
|
"scikit-learn",
|
|
"matplotlib",
|
|
"seaborn",
|
|
"pandas",
|
|
"numpy",
|
|
"tqdm",
|
|
"rich",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest",
|
|
"pytest-cov",
|
|
"black",
|
|
"ruff",
|
|
"mypy",
|
|
"jsonschema>=4.18",
|
|
]
|
|
benchmarks = [
|
|
"rouge-score",
|
|
"nltk",
|
|
"sacrebleu",
|
|
"sentence-transformers",
|
|
]
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/dynamis-labs/spectralquant"
|
|
Paper = "https://arxiv.org/abs/XXXX.XXXXX"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
addopts = "-v --tb=short"
|
|
pythonpath = ["src"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py310"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "I", "N", "UP"]
|
|
ignore = ["E501"]
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ["py310", "py311", "py312"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
ignore_missing_imports = true
|