From d957d929d288c4f8ec89e59a9ef7a3d6333ea27b Mon Sep 17 00:00:00 2001 From: wassname <1103714+wassname@users.noreply.github.com> Date: Wed, 14 Jan 2026 00:28:08 +0000 Subject: [PATCH 1/2] add pipelined tag and link to code https://huggingface.co/wassname/antipasto-qwen2.5-4b-honesty/discussions --- scripts/upload_to_hf.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/scripts/upload_to_hf.py b/scripts/upload_to_hf.py index dd632ab..6b75490 100644 --- a/scripts/upload_to_hf.py +++ b/scripts/upload_to_hf.py @@ -71,24 +71,25 @@ def create_model_card(adapter_path: Path, repo_id: str) -> str: rank = "unknown" return f'''--- -tags: - - antipasto - - peft - - moral-steering - - honesty - - alignment +pipeline_tag: text-generation base_model: {base_model} library_name: peft license: apache-2.0 +tags: +- antipasto +- peft +- moral-steering +- honesty +- alignment --- # AntiPaSTO: Honesty Steering Adapter -[![arXiv](https://img.shields.io/badge/arXiv-2601.07473-b31b1b.svg)](https://arxiv.org/abs/2601.07473) - 🍝 **Anti-Pa**rallel **S**ubspace **T**raining for **O**rdered steering. -This adapter steers language model responses toward honest or deceptive reasoning on moral dilemmas. +This adapter steers language model responses toward honest or deceptive reasoning on moral dilemmas. It is the implementation of the paper [AntiPaSTO: Self-Supervised Steering of Moral Reasoning](https://huggingface.co/papers/2601.07473). + +- **Code**: [https://github.com/wassname/AntiPaSTO](https://github.com/wassname/AntiPaSTO) ## Usage From 88a9ad8ba768a4316f5e843e99a1874b3b0ab17f Mon Sep 17 00:00:00 2001 From: wassname <1103714+wassname@users.noreply.github.com> Date: Wed, 14 Jan 2026 00:28:24 +0000 Subject: [PATCH 2/2] missing deps --- pyproject.toml | 2 ++ uv.lock | 55 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9e99399..f6d6d37 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,8 @@ dependencies = [ # Export "gguf>=0.13.0", "safetensors>=0.4.0", + "cattrs>=25.3.0", + "tyro>=1.0.5", ] [dependency-groups] diff --git a/uv.lock b/uv.lock index 379ab7f..4946d5a 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.10" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'linux'", @@ -203,6 +203,7 @@ source = { editable = "." } dependencies = [ { name = "baukit" }, { name = "bitsandbytes" }, + { name = "cattrs" }, { name = "datasets" }, { name = "einops" }, { name = "gguf" }, @@ -219,6 +220,7 @@ dependencies = [ { name = "torch" }, { name = "tqdm" }, { name = "transformers", extra = ["torch"] }, + { name = "tyro" }, ] [package.dev-dependencies] @@ -248,6 +250,7 @@ nbs = [ requires-dist = [ { name = "baukit", git = "https://github.com/davidbau/baukit.git" }, { name = "bitsandbytes", specifier = ">=0.47.0" }, + { name = "cattrs", specifier = ">=25.3.0" }, { name = "datasets", specifier = ">=4.1.1" }, { name = "einops", specifier = ">=0.8.1" }, { name = "gguf", specifier = ">=0.13.0" }, @@ -262,6 +265,7 @@ requires-dist = [ { name = "torch", specifier = ">=2.1.2" }, { name = "tqdm", specifier = ">=4.66.1" }, { name = "transformers", extras = ["torch"], specifier = ">4.51.0" }, + { name = "tyro", specifier = ">=1.0.5" }, ] [package.metadata.requires-dev] @@ -374,6 +378,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/17/2d/309b3ba276d1fe5f3db4fb5e0a6926d10654656cdbfe49881aa95f4cfcc2/bitsandbytes-0.48.2-py3-none-win_amd64.whl", hash = "sha256:a048c285eb6ff53a8d189880e9dfa421d2bfb54e8cab263311757cf5b742d865", size = 58992447, upload-time = "2025-10-29T21:40:43.921Z" }, ] +[[package]] +name = "cattrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6e/00/2432bb2d445b39b5407f0a90e01b9a271475eea7caf913d7a86bcb956385/cattrs-25.3.0.tar.gz", hash = "sha256:1ac88d9e5eda10436c4517e390a4142d88638fe682c436c93db7ce4a277b884a", size = 509321, upload-time = "2025-10-07T12:26:08.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d8/2b/a40e1488fdfa02d3f9a653a61a5935ea08b3c2225ee818db6a76c7ba9695/cattrs-25.3.0-py3-none-any.whl", hash = "sha256:9896e84e0a5bf723bc7b4b68f4481785367ce07a8a02e7e9ee6eb2819bc306ff", size = 70738, upload-time = "2025-10-07T12:26:06.603Z" }, +] + [[package]] name = "certifi" version = "2025.11.12" @@ -834,6 +852,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668, upload-time = "2025-04-16T00:41:47.671Z" }, ] +[[package]] +name = "docstring-parser" +version = "0.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz", hash = "sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912", size = 27442, upload-time = "2025-07-21T07:35:01.868Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896, upload-time = "2025-07-21T07:35:00.684Z" }, +] + [[package]] name = "einops" version = "0.8.1" @@ -4123,6 +4150,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/16/b5/b0d3d8b901b6a04ca38df5e24c27e53afb15b93624d7fd7d658c7cd9352a/triton-3.5.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bac7f7d959ad0f48c0e97d6643a1cc0fd5786fe61cb1f83b537c6b2d54776478", size = 170582192, upload-time = "2025-11-11T17:41:23.963Z" }, ] +[[package]] +name = "typeguard" +version = "4.4.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/68/71c1a15b5f65f40e91b65da23b8224dad41349894535a97f63a52e462196/typeguard-4.4.4.tar.gz", hash = "sha256:3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74", size = 75203, upload-time = "2025-06-18T09:56:07.624Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/a9/e3aee762739c1d7528da1c3e06d518503f8b6c439c35549b53735ba52ead/typeguard-4.4.4-py3-none-any.whl", hash = "sha256:b5f562281b6bfa1f5492470464730ef001646128b180769880468bd84b68b09e", size = 34874, upload-time = "2025-06-18T09:56:05.999Z" }, +] + [[package]] name = "typing-extensions" version = "4.15.0" @@ -4144,6 +4183,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, ] +[[package]] +name = "tyro" +version = "1.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docstring-parser" }, + { name = "typeguard" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/34/1e306bacd2917f694fef5aa21ccd9d39dfa6747ddbe7a0f5c9612c734259/tyro-1.0.5.tar.gz", hash = "sha256:5b28c23cc8e844f284286b1043d06be0e62f7acff6f2b1b5b5db75466c6802fc", size = 453403, upload-time = "2026-01-13T20:50:51.016Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/86/eef272685bc6c15a8f79178aa8c6e07d956f0f91d97fab5a4d8af707b21b/tyro-1.0.5-py3-none-any.whl", hash = "sha256:87fcba42a1136cdabef8776a456bb4a05c0d52b81ccc2529e65c75da059ff3cd", size = 181241, upload-time = "2026-01-13T20:50:49.597Z" }, +] + [[package]] name = "tzdata" version = "2025.2"