Web apps to inspect & engineer NN activations.
Project description
psAI ops 
A collection of experimental web apps to inspect & engineer the activations of LLMs.
It is a WIP, some apps are not functional yet.
The human / LLM detector is improving though.
Installation
The package is available on pypi:
pip install -U psaiops
All the apps run on a single GPU and can be launched from a Google Colab notebook.
They are showcased in the demo notebook.
Overview
To run a given application all you need is to call the associated app.py:
python psaiops/compose/contrast/app.py
All the apps run with the model gpt-oss-20b by default so it is highly recommanded to use a GPU.
Some of the apps are specific to gpt-oss-20b but most can be used with another model.
You can look at the section __main__ at the bottom of the file app.py for more details on the setup.
Apps
Contrastive Steering
A straightforward implementation of the technique contrastive activation addition is available in psaiops.compose.contrast.app.
Latent Maths
Pushing the idea of CAA further, psaiops.compose.maths.app allows to compose several prompts in the latent space with maths operators.
Like CAA you can do the difference between prompts, but also multiply, project, average, etc.
Dataset Combination
The app psaiops.combine.app allows to draw from several datasets to form new samples and datasets.
It is useful to create pairs of prompts and form specific latent directions with the contrastive steering technique.
Debugging And Scoring
To support the creation of apps that operate in the latent space, I've used several tools that allow to view the internals of the models.
In particular, you can take apart LLM generated text from human text:
- in the Hugging Face hub
- or by running the app
psaiops.score.human.app
It is using techniques scattered over several other apps that:
- use a LLM as critic to estimate how surprising each token is
- score the input tokens according to the attention they get during the generation
- view the expert logits and associate the routing with the input tokens
- view the flow of residuals and assess the contribution of the layers to the final output
License
Licensed under the AGPLv3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psaiops-0.10.2.tar.gz.
File metadata
- Download URL: psaiops-0.10.2.tar.gz
- Upload date:
- Size: 71.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
102c9739fde99c53b16f1ffc821f6592e6045c0253dbdc488e9e3fbc6eb797ab
|
|
| MD5 |
92bc116ccf375a40f2844c59c0bc5499
|
|
| BLAKE2b-256 |
89b4898048e1ac6e0ebcfc5b5def91a00be038a153d5af88d05f7361e296d855
|
File details
Details for the file psaiops-0.10.2-py3-none-any.whl.
File metadata
- Download URL: psaiops-0.10.2-py3-none-any.whl
- Upload date:
- Size: 97.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c51befbd7b16b894446fb1a260cd2df6e4094b33519c548fec50d9134c35ad08
|
|
| MD5 |
dc1fb110e7bc592d10b8182f37a42fc4
|
|
| BLAKE2b-256 |
6d48f41898a0eed15e637e5bd4f063a415d7056fc77ae9d7563e6a1d8445a829
|