Feature Extraction
Transformers
TensorBoard
Safetensors
English
captionbert_v2
sentence-similarity
consensus-distillation
geometric-deep-learning
amoe
custom_code
Instructions to use AbstractPhil/captionbert-8192-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AbstractPhil/captionbert-8192-v2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="AbstractPhil/captionbert-8192-v2", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("AbstractPhil/captionbert-8192-v2", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
| license: mit | |
| tags: [amoe, adapter, sentence-similarity, captionbert, aleph] | |
| base_model: AbstractPhil/captionbert-8192-v2 | |
| library_name: amoe-lora | |
| # captionbert-8192-v2 :: AMOE sentence-similarity anchor | |
| An [amoe-lora](https://github.com/AbstractEyes/amoe-lora) aleph anchor trained on | |
| the **frozen** `captionbert-8192-v2` trunk. The trunk never moves; only the | |
| adapters train. | |
| **This anchor is inert without its trunk.** It rewrites the residual stream of | |
| specific blocks of this model and means nothing anywhere else, which is why it | |
| ships here rather than as a standalone adapter repo. | |
| ## Why it exists | |
| The trunk is an unsupervised consensus distillation of five BERT-family teachers. | |
| Measured at release: the consensus target uses **28.7 of 768** directions, the | |
| trunk uses **102.9 in domain** but only **~33 on STS-B**, so the extra structure | |
| it built on CC12M captions does not transfer. This anchor asks whether | |
| supervision can add transferable directions the unsupervised consensus never had. | |
| The gauge is the **effective-rank delta with anchors ON vs OFF**, not the | |
| similarity score alone. | |
| ## Toggle law | |
| All anchors disabled == the base trunk, bit-exact in fp32 (asserted at train | |
| time, not assumed). One artifact, both models: | |
| ```python | |
| import amoe, torch | |
| # trunk: see the parent repo for CaptionEncoder | |
| h = amoe.attach(trunk, "amoe/sts/captionbert-v2-sts-anchor.anchor.pt", binding=CaptionEncoderBinding(d=512)) | |
| emb_supervised = trunk(input_ids, attention_mask) | |
| with h.only(): # or set enabled=False on the wrapped blocks | |
| emb_unsupervised = trunk(input_ids, attention_mask) | |
| base = h.detach() # bit-exact or raises | |
| ``` | |
| The `.pt` anchor layout is `{block}.{param}` (the `blocks.{site}.{param}` | |
| form in the amoe README is the *safetensors* layout — a different serializer). | |
| ## Results | |
| See `metrics.json` in this folder. Report STS-B / SICK-R spearman with anchors | |
| ON and OFF, plus effective rank for each. SICK-R is never trained on and is the | |
| honest transfer read. | |
| ## Training | |
| Frozen trunk, adapters only. MultipleNegativesRankingLoss on | |
| `sentence-transformers/all-nli` triplets with in-batch + hard negatives. | |
| Pure Adam wd=0 (`amoe.laws.make_optimizer`), fp32 / TF32 off | |
| (`amoe.laws.pin_precision`). Config in `config.json`. | |