--- license: apache-2.0 tags: - text-generation - causal-lm - transformer - research - interpretability - multilingual - unicode - frozen-embeddings - ablation language: - multilingual library_name: transformers pipeline_tag: text-generation --- # Emergent Semantics β€” Model_64_FLOAT (272M) This repository provides **Model_64_FLOAT (272M)** β€” an **ablation model** from the paper: [πŸ“š Paper (Emergent Semantics Beyond Token Embeddings: Transformer LMs with Frozen Visual Unicode Representations)](https://huggingface.co/papers/2507.04886) - [πŸ“š Paper (Growing Transformers: Modular Composition and Layer-wise Expansion on a Frozen Substrate)](https://huggingface.co/papers/2507.07129) - [πŸ“š Blog Article](https://huggingface.co/blog/Bochkov/emergent-semantics-beyond-token-embeddings) This checkpoint tests whether language modeling and semantic structure can emerge when the **entire input embedding layer is frozen** and contains **no semantic or glyph/visual information**. Compared to **Model_64_BIT**, this model uses the same embedding dimensionality (`n_embed=64`) and the same β€œunique per token” construction, but the embedding vectors are **floating-point** (after a deterministic projection/normalization step), rather than raw binary components. --- ## Key idea (what this ablation tests) - Each token is assigned a **frozen 64-dimensional float vector** (`n_embed=64`). - The vectors originate from **random per-token patterns** and are constructed to guarantee a **unique ID per token** (**no collisions by design**). - A deterministic post-processing step (e.g., PCA/projection + normalization) converts the raw patterns into **float embeddings** and standardizes their scale. - The embedding layer is **frozen** throughout training (`requires_grad = False`). To match the Transformer hidden size, the 64-dim embedding is expanded to 1024 via a **non-trainable repetition**: `repeat_interleave(16)` β†’ `64 * 16 = 1024`. This keeps the Transformer backbone identical while isolating the role of embedding *trainability* and embedding *content*. --- ## Important: parameter count difference (vs 335M models) This checkpoint has **~272M parameters**, while models with a standard `n_embed=1024` embedding table (e.g. **UNI_GLYPH / unfrozen baselines**) are **~335M**. The reduction is primarily due to the smaller embedding matrix: - Standard embedding params: `vocab_size * 1024 = 65536 * 1024 β‰ˆ 67.1M` - This model’s embedding params: `vocab_size * 64 = 65536 * 64 β‰ˆ 4.19M` So the Transformer backbone is the same, but the **embedding table is much smaller**, lowering total parameter count. --- ## Model summary - **Architecture:** decoder-only Transformer (GPT-like) - **Hidden size (`d_model`):** 1024 - **Layers:** 16 - **Heads:** 32 - **Positional encoding:** rotary embeddings - **Activation:** GELU - **Tokenizer / vocab size:** 65,536 (bvv241-2-3 compatible) - **Input embeddings:** **frozen**, **float**, `n_embed=64`, expanded to 1024 by repetition (non-trainable) - **Embedding initialization:** random per-token patterns β†’ deterministic projection/normalization β†’ float vectors (**unique per token**, no collisions) - **Output head:** **not tied** to the input embeddings (trained separately) --- ## Tokenizer The intended tokenizer is **bvv241-2-3** (same vocab size and indexing): - https://huggingface.co/Bochkov/bvv241-2-3 You may load the tokenizer either from this model repo (if included) or from the standalone tokenizer repo. The key requirement is **exact vocab alignment**. --- ## How to use (Transformers) ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Bochkov/emergent-semantics-model-64-float-272m") model = AutoModelForCausalLM.from_pretrained("Bochkov/emergent-semantics-model-64-float-272m", trust_remote_code=True).to('cuda') inputs = torch.tensor([tokenizer.encode("Question: What is the capital of Japan?\nAnswer:")], dtype=torch.long, device='cuda') outputs = model.generate( inputs, max_new_tokens=10, do_sample=False ) print(tokenizer.decode(outputs[0].tolist())) #Question: What is the capital of Japan? #Answer:Japan # <| ``` --- ## Intended use This model is intended for **research only**, especially for: - Comparisons vs **Model_UNI_GLYPH (glyph/PCA frozen embeddings)** and vs **trainable-embedding baselines** - Ablations comparing **binary vs float** frozen identifier embeddings at the same `n_embed` - Studying whether semantic structure emerges in Transformer blocks when the input embedding space is a **random-but-unique float code** Not intended for production deployment (no instruction tuning, safety tuning, or factuality guarantees). --- ## Related links - **Model collection (paper artifacts):** https://huggingface.co/collections/Bochkov/emergent-semantics-beyond-token-embeddings - **UNI_GLYPH main model (frozen visual glyph embeddings):** https://huggingface.co/Bochkov/emergent-semantics-model-uni-glyph-335m - **Tokenizer collection:** https://huggingface.co/collections/Bochkov/tokenizers - **Code (GitHub):** https://github.com/AVBochkov/Embeddings --- ## πŸ§‘β€πŸ”¬ Citation & Concept If you use this model or the underlying concepts in your research, please cite our work: ``` @article{ bochkov2025emergent, title={Emergent Semantics Beyond Token Embeddings: Transformer {LM}s with Frozen Visual Unicode Representations}, author={Andrey Bochkov}, journal={Transactions on Machine Learning Research}, issn={2835-8856}, year={2025}, url={https://openreview.net/forum?id=Odh8IynO1o}, note={} } @misc{bochkov2025growingtransformersmodularcomposition, title={Growing Transformers: Modular Composition and Layer-wise Expansion on a Frozen Substrate}, author={A. Bochkov}, year={2025}, eprint={2507.07129}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2507.07129}, } ```