-
Notifications
You must be signed in to change notification settings - Fork 123
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into fix-early-data-truncation
- Loading branch information
Showing
80 changed files
with
162,260 additions
and
2,654 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
name: Bug Report | ||
about: Submit a bug report | ||
title: "[Bug Report] Bug title" | ||
|
||
--- | ||
|
||
If you are submitting a bug report, please fill in the following details and use the tag [bug]. | ||
|
||
**Describe the bug** | ||
A clear and concise description of what the bug is. | ||
|
||
**Code example** | ||
Please try to provide a minimal example to reproduce the bug. Error messages and stack traces are also helpful. | ||
|
||
**System Info** | ||
Describe the characteristic of your environment: | ||
* Describe how `transformer_lens` was installed (pip, docker, source, ...) | ||
* What OS are you using? (Linux, MacOS, Windows) | ||
* Python version (We suppourt 3.10 -3.12 currently) | ||
|
||
**Additional context** | ||
Add any other context about the problem here. | ||
|
||
### Checklist | ||
|
||
- [ ] I have checked that there is no similar [issue](https://github.com/jbloomAus/SAELens/issues) in the repo (**required**) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
--- | ||
name: Proposal | ||
about: Propose changes that are not bug fixes | ||
title: "[Proposal] Proposal title" | ||
--- | ||
|
||
### Proposal | ||
|
||
A clear and concise description of the proposal. | ||
|
||
### Motivation | ||
|
||
Please outline the motivation for the proposal. | ||
Is your feature request related to a problem? e.g.,"I'm always frustrated when [...]". | ||
If this is related to another GitHub issue, please link here too. | ||
|
||
### Pitch | ||
|
||
A clear and concise description of what you want to happen. It is useful if you relate proposals to existing features or lackthereof as well as relevant mechanistic interpretability techniques or model architectures. | ||
|
||
### Alternatives | ||
|
||
A clear and concise description of any alternative solutions or features you've considered, if any. | ||
|
||
### Additional context | ||
|
||
Add any other context or screenshots about the feature request here. | ||
|
||
### Checklist | ||
|
||
- [ ] I have checked that there is no similar [issue](https://github.com/jbloomAus/SAELens/issues) in the repo (**required**) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
name: Question | ||
about: Ask a question | ||
title: "[Question] Question title" | ||
--- | ||
|
||
|
||
# Questions | ||
|
||
If in doubt, we highly recommend users and contributors to ask questions can be asked on the [Open Source Mechanistic Interpretability Slack](https://join.slack.com/t/opensourcemechanistic/shared_invite/zt-1qosyh8g3-9bF3gamhLNJiqCL_QqLFrA). However, you should feel comfortable asking questions here as well! | ||
|
||
The codebase is a work in progress and so if you come accross something confusing or unclear it's very plausible that this isn't well documented and should be! | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Description | ||
|
||
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. | ||
|
||
Fixes # (issue) | ||
|
||
## Type of change | ||
|
||
Please delete options that are not relevant. | ||
|
||
- [ ] Bug fix (non-breaking change which fixes an issue) | ||
- [ ] New feature (non-breaking change which adds functionality) | ||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) | ||
- [ ] This change requires a documentation update | ||
|
||
|
||
|
||
# Checklist: | ||
|
||
- [ ] I have commented my code, particularly in hard-to-understand areas | ||
- [ ] I have made corresponding changes to the documentation | ||
- [ ] My changes generate no new warnings | ||
- [ ] I have added tests that prove my fix is effective or that my feature works | ||
- [ ] New and existing unit tests pass locally with my changes | ||
- [ ] I have not rewritten tests relating to key interfaces which would affect backward compatibility | ||
|
||
<!-- | ||
As you go through the checklist above, you can mark something as done by putting an x character in it | ||
For example, | ||
- [x] I have done this task | ||
- [ ] I have not done this task | ||
--> | ||
|
||
### You have tested formatting, typing and unit tests (acceptance tests not currently in use) | ||
|
||
- [ ] I have run `make check-ci` to check format and linting. (you can run `make format` to format code if needed.) | ||
|
||
### Performance Check. | ||
|
||
If you have implemented a training change, please indicate precisely how performance changes with respect to the following metrics: | ||
- [ ] L0 | ||
- [ ] CE Loss | ||
- [ ] MSE Loss | ||
- [ ] Feature Dashboard Interpretability | ||
|
||
Please links to wandb dashboards with a control and test group. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
name: build | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
# Allow this workflow to be called from other workflows | ||
workflow_call: | ||
inputs: | ||
# Requires at least one input to be valid, but in practice we don't need any | ||
dummy: | ||
type: string | ||
required: false | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.10", "3.11", "3.12"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Cache Huggingface assets | ||
uses: actions/cache@v4 | ||
with: | ||
key: huggingface-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }} | ||
path: ~/.cache/huggingface | ||
restore-keys: | | ||
huggingface-${{ runner.os }}-${{ matrix.python-version }}- | ||
- name: Load cached Poetry installation | ||
id: cached-poetry | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.local # the path depends on the OS | ||
key: poetry-${{ runner.os }}-${{ matrix.python-version }}-0 # increment to reset cache | ||
- name: Install Poetry | ||
if: steps.cached-poetry.outputs.cache-hit != 'true' | ||
uses: snok/install-poetry@v1 | ||
with: | ||
virtualenvs-create: true | ||
virtualenvs-in-project: true | ||
installer-parallel: true | ||
- name: Load cached venv | ||
id: cached-poetry-dependencies | ||
uses: actions/cache@v4 | ||
with: | ||
path: .venv | ||
key: venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }} | ||
restore-keys: | | ||
venv-${{ runner.os }}-${{ matrix.python-version }}- | ||
- name: Install dependencies | ||
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | ||
run: poetry install --no-interaction | ||
- name: Lint with flake8 | ||
run: poetry run flake8 . | ||
- name: black code formatting | ||
run: poetry run black . --check | ||
- name: isort linting | ||
run: poetry run isort . --check-only --diff | ||
- name: type checking | ||
run: poetry run pyright | ||
- name: Run Unit Tests | ||
# Would use make, but want cov report in xml format | ||
run: poetry run pytest -v --cov=sae_lens/training/ --cov-report=term-missing --cov-branch tests/unit --cov-report=xml | ||
- name: Upload coverage reports to Codecov | ||
uses: codecov/[email protected] | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
slug: jbloomAus/SAELens | ||
|
||
release: | ||
|
||
needs: build | ||
permissions: | ||
contents: write | ||
id-token: write | ||
# https://github.community/t/how-do-i-specify-job-dependency-running-in-another-workflow/16482 | ||
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && !contains(github.event.head_commit.message, 'chore(release):') | ||
runs-on: ubuntu-latest | ||
concurrency: release | ||
environment: | ||
name: pypi | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
- name: Semantic Release | ||
id: release | ||
uses: python-semantic-release/[email protected] | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Publish package distributions to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
if: steps.release.outputs.released == 'true' | ||
- name: Publish package distributions to GitHub Releases | ||
uses: python-semantic-release/upload-to-gh-release@main | ||
if: steps.release.outputs.released == 'true' | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -171,3 +171,7 @@ activations/ | |
|
||
feature_dashboards/ | ||
research/ | ||
|
||
|
||
# neuronpedia outputs | ||
neuronpedia_outputs/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,21 @@ | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v3.2.0 | ||
hooks: | ||
- id: end-of-file-fixer | ||
- id: check-yaml | ||
- id: check-added-large-files | ||
- id: end-of-file-fixer | ||
- id: check-yaml | ||
- id: check-added-large-files | ||
args: [--maxkb=250000] | ||
- repo: https://github.com/psf/black | ||
- repo: https://github.com/psf/black | ||
rev: 24.3.0 | ||
hooks: | ||
- id: black | ||
- repo: https://github.com/PyCQA/flake8 | ||
rev: 6.0.0 | ||
- id: black | ||
- repo: https://github.com/pycqa/isort | ||
rev: 5.13.2 | ||
hooks: | ||
- id: flake8 | ||
args: ['--config=.flake8'] | ||
additional_dependencies: [ | ||
'flake8-blind-except', | ||
# 'flake8-docstrings', | ||
'flake8-bugbear', | ||
'flake8-comprehensions', | ||
'flake8-implicit-str-concat', | ||
'pydocstyle>=5.0.0', | ||
] | ||
- id: isort | ||
name: isort (python) | ||
- repo: https://github.com/PyCQA/flake8 | ||
rev: 7.0.0 | ||
hooks: | ||
- id: flake8 |
Oops, something went wrong.