|
Download README.md from Deepnar/ice-v2-classifier: direct link, hf CLI and curl.
- Browser
- Download file 5.76 kB
-
https://huggingface.co/Deepnar/ice-v2-classifier/resolve/main/README.md
- Command line
-
hf download hf://Deepnar/ice-v2-classifier/README.md
-
curl -L -o README.md https://huggingface.co/Deepnar/ice-v2-classifier/resolve/main/README.md
5.76 kB
| license: apache-2.0 | |
| language: | |
| - en | |
| base_model: Qwen/Qwen3-Embedding-0.6B | |
| library_name: pytorch | |
| tags: | |
| - conversational-memory | |
| - lsrep | |
| - ice-v2 | |
| - reproducibility | |
| - arxiv:2609.16730 | |
| # ICE v2 / LSREP experiment classifier | |
| This releases the retained original classifier checkpoint selected by frozen | |
| **ICE v2**, the system evaluated in the [LSREP paper](https://arxiv.org/abs/2609.16730). | |
| It is **not the current ICE v3 classifier**. The `v3` in the historical | |
| checkpoint filename denotes a classifier training generation, not ICE's system version. | |
| - Repository: [Deepnar/ice](https://github.com/Deepnar/ice). | |
| - Evaluated source tag: [`v2-paper-eval`](https://github.com/Deepnar/ice/tree/v2-paper-eval). | |
| - Evaluated commit: `0521df9171b4a7d69f82d12d70497138c77b2678`. | |
| - Original path: `models/classifier/ice_classifier_v3_qwen_ft3.pt`. | |
| - Original file size: 212,827 bytes; bare PyTorch state dict. | |
| - SHA-256: `25c758b6a7e5cf449f3e4c8bb250db759d37cb4f0ab7dd8e0c1acd8afbf05831`. | |
| The checkpoint is copied byte for byte, without retraining or re-export. | |
| The frozen Git tag records code and the selected path, but does not contain | |
| checkpoint blobs or a historical checkpoint checksum. This release records the | |
| checksum of the retained original, rather than claiming a checksum existed at evaluation time. | |
| ## Architecture and label order | |
| `Linear(384,128) -> ReLU -> Dropout(0.3) -> Linear(128,25)`; | |
| 52,505 trainable parameters. Call `eval()` to disable dropout. | |
| The frozen `model.py` is included verbatim. Output coordinates, in order: | |
| ```text | |
| 0:11 topics: | |
| Software_&_Tech, STEM_&_Academics, Business_&_Finance, | |
| Creative_&_Media, Admin_&_Productivity, Lifestyle_&_Health, | |
| Social_&_Relationships, World_&_Current_Events, Meta_AI, | |
| Null_Noise, General_Reference_&_Trivia | |
| 11:22 intents: | |
| Factual_Retrieval, Troubleshooting, Generation, Ideation, | |
| Analysis_&_Summarization, Strategic_Planning, Decision_Making, | |
| Emotional_Processing, Utility_Formatting, Casual_Banter, Open_Exploration | |
| 22:25 context: | |
| Zero_Shot, Long_Term_Memory, Real_Time_Search | |
| ``` | |
| Topic and intent use sigmoid, a strict `> 0.3` threshold, and an argmax | |
| fallback when a block has no selected label. Context uses softmax and argmax, | |
| not independent sigmoids. `max_confidence` is the largest of the 25 decoded | |
| probabilities. Exact order and settings are also in `config.json`. | |
| ## Embeddings and preprocessing | |
| Use frozen `Qwen/Qwen3-Embedding-0.6B`, revision | |
| `97b0c614be4d77ee51c0cef4e5f07c00f9eb65b3`, with | |
| `SentenceTransformer(..., device="cpu", truncate_dim=384)`. | |
| The upstream native width is 1024; ICE v2 takes its first 384 coordinates. | |
| Use the snapshot's built-in pooling and normalization. Do **not** add | |
| `normalize_embeddings=True` to `encode()`, renormalize the truncated prefix, | |
| add a query instruction, or use the current ICE v3 native-width embedding path. | |
| Embed the exact instructional prefix produced by `build_input()` in the included | |
| `classifier_inference.py`, not the bare user prompt. With context, ICE v2 | |
| selects the last three episodic rows in timestamp order, prefers each summary, | |
| otherwise uses raw text capped at 150 whitespace words, and caps the combined | |
| context at 500 words. The frozen `frozen_classifier.py` preserves the exact | |
| context selection and truncation behavior, including ellipses and the | |
| context-specific prefix. An empty context uses the no-context prefix. | |
| ## Minimal learned-head inference | |
| The frozen tag's dependency versions are `torch==2.11.0`, | |
| `sentence-transformers==5.5.1`, and `transformers==5.9.0`. | |
| Use Python 3.11 and `huggingface_hub` to fetch the release: | |
| ```python | |
| import hashlib | |
| import sys | |
| from pathlib import Path | |
| import torch | |
| from huggingface_hub import snapshot_download | |
| from sentence_transformers import SentenceTransformer | |
| folder = Path(snapshot_download("Deepnar/ice-v2-classifier")) | |
| sys.path.insert(0, str(folder)) | |
| from model import ICEClassifier | |
| from classifier_inference import predict_head | |
| checkpoint = folder / "ice_classifier_v3_qwen_ft3.pt" | |
| assert hashlib.sha256(checkpoint.read_bytes()).hexdigest() == ( | |
| "25c758b6a7e5cf449f3e4c8bb250db759d37cb4f0ab7dd8e0c1acd8afbf05831" | |
| ) | |
| head = ICEClassifier() | |
| head.load_state_dict(torch.load(checkpoint, map_location="cpu", weights_only=True)) | |
| head.eval() | |
| embedder = SentenceTransformer( | |
| "Qwen/Qwen3-Embedding-0.6B", | |
| revision="97b0c614be4d77ee51c0cef4e5f07c00f9eb65b3", | |
| device="cpu", truncate_dim=384, | |
| ) | |
| print(predict_head(head, embedder, "Explain how a database index works.")) | |
| ``` | |
| For archival reuse, pin `snapshot_download(..., revision=<release commit>)` | |
| to the upload commit recorded in the GitHub release verification report. | |
| This is a custom PyTorch head, not a Transformers `AutoModel` or hosted pipeline. | |
| The example returns **learned-head predictions**. The complete ICE v2 classifier | |
| also runs the DI3 pre-classifier, hard overrides, and API-level memory policy; | |
| reproduce those through the frozen Git repository. Neither this helper nor the | |
| weights alone reproduce full-system routing or the paper's end-to-end scores. | |
| ## Limitations and license | |
| No new classifier accuracy claim is made by this release. The paper's fidelity | |
| audit and negative results remain applicable. Context, preprocessing, rule | |
| overrides and workload affect behavior. Training data and private conversational | |
| corpora are not released, so this is checkpoint/inference reproducibility, | |
| not a claim that private-data training can be independently regenerated. | |
| The ICE head and accompanying ICE code are released under the repository's | |
| Apache-2.0 license; `LICENSE` and `NOTICE` are included. The separately fetched | |
| Qwen base model is also Apache-2.0 according to its pinned upstream model card. | |
| No Qwen base weights, private corpora, caches, secrets, or ICE v3 artifacts are included. | |