/activeft

PyTorch library for Active Fine-Tuning

Primary LanguagePythonMIT LicenseMIT

Active Fine-Tuning

A library for automatic data selection in active fine-tuning of large neural networks.

Website | Documentation

Please cite our work if you use this library in your research (bibtex below):

Installation

pip install activeft

Usage Example

from activeft.sift import Retriever

# Load embeddings
embeddings = np.random.rand(1000, 512)
query_embeddings = np.random.rand(1, 512)

index = faiss.IndexFlatIP(d)
index.add(embeddings)
retriever = Retriever(index)
indices = retriever.search(query_embeddings, N=10)

Development

CI checks

  • The code is auto-formatted using black ..
  • Static type checks can be run using pyright.
  • Tests can be run using pytest test.

Documentation

To start a local server hosting the documentation run pdoc ./activeft --math.

Publishing

  1. update version number in pyproject.toml and activeft/__init__.py
  2. build: poetry build
  3. publish: poetry publish
  4. push version update to GitHub
  5. create new release on GitHub

Citation

@article{hubotter2024efficiently,
	title        = {Efficiently Learning at Test-Time: Active Fine-Tuning of LLMs},
	author       = {H{\"u}botter, Jonas and Bongni, Sascha and Hakimi, Ido and Krause, Andreas},
	year         = 2024,
	journal      = {arXiv preprint arXiv:2410.08020}
}

@inproceedings{hubotter2024transductive,
	title        = {Transductive Active Learning: Theory and Applications},
	author       = {H{\"u}botter, Jonas and Sukhija, Bhavya and Treven, Lenart and As, Yarden and Krause, Andreas},
	year         = 2024,
	booktitle    = {Advances in Neural Information Processing Systems}
}