Skip to main content

Use Activation Intervention to Interpret Causal Mechanism of Model

Project description



A Library for Understanding and Improving PyTorch Models via Interventions

pyvene is an open-source Python library for intervening on the internal states of PyTorch models. Interventions are an important operation in many areas of AI, including model editing, steering, robustness, and interpretability.

pyvene has many features that make interventions easy:

  • Interventions are the basic primitive, specified as dicts and thus able to be saved locally and shared as serialisable objects through HuggingFace.
  • Interventions can be composed and customised: you can run them on multiple locations, on arbitrary sets of neurons (or other levels of granularity), in parallel or in sequence, on decoding steps of generative language models, etc.
  • Interventions work out-of-the-box on any PyTorch model! No need to define new model classes from scratch and easy interventions are possible all kinds of architectures (RNNs, ResNets, CNNs, Mamba).

pyvene is under active development and constantly being improved 🫡

[!IMPORTANT] Read the pyvene docs at https://stanfordnlp.github.io/pyvene/!

Installation

To install the latest stable version of pyvene:

pip install pyvene

Alternatively, to install a bleeding-edge version, you can clone the repo and install:

git clone git@github.com:stanfordnlp/pyvene.git
cd pyvene
pip install -e .

When you want to update, you can just run git pull in the cloned directory.

We suggest importing the library as:

import pyvene as pv

Citation

If you use this repository, please consider to cite our library paper:

@inproceedings{wu-etal-2024-pyvene,
    title = "pyvene: A Library for Understanding and Improving {P}y{T}orch Models via Interventions",
    author = "Wu, Zhengxuan and Geiger, Atticus and Arora, Aryaman and Huang, Jing and Wang, Zheng and Goodman, Noah and Manning, Christopher and Potts, Christopher",
    editor = "Chang, Kai-Wei and Lee, Annie and Rajani, Nazneen",
    booktitle = "Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 3: System Demonstrations)",
    month = jun,
    year = "2024",
    address = "Mexico City, Mexico",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2024.naacl-demo.16",
    pages = "158--165",
}

Star History

Star History Chart

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

pyvene-0.1.5.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyvene-0.1.5-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file pyvene-0.1.5.tar.gz.

File metadata

  • Download URL: pyvene-0.1.5.tar.gz
  • Upload date:
  • Size: 56.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for pyvene-0.1.5.tar.gz
Algorithm Hash digest
SHA256 08568c3715d2ca9c82559c21184695202da2d72b9837323874d0f40aaf39b07c
MD5 e0750706b9af45d3e3a8c1ddb262ca2b
BLAKE2b-256 30c8d8caec0d55201a4238f3ffb3a1ed8b7dbf35806eec7f3e5d9223649e1e5d

See more details on using hashes here.

File details

Details for the file pyvene-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: pyvene-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 68.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for pyvene-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8e268d398030567c5c1b337673f7abb951d27f239a8d88e251bd63df97ee1ce2
MD5 2c4625a0a158435e29ef7c87459ca17a
BLAKE2b-256 6f59077ddb7b9695098cb71e5a14c9c231264eb5cb85df367f974f5271abbc34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page