Umranz commited on
Commit
05e781f
Β·
verified Β·
1 Parent(s): f0c600b

Add premium model card with banner, training pipeline, and WandB charts

Browse files
Files changed (1) hide show
  1. README.md +218 -21
README.md CHANGED
@@ -2,37 +2,151 @@
2
  license: apache-2.0
3
  base_model: Umranz/LFM2.5-2.6B-heretic
4
  tags:
5
- - conversational
6
  - girlfriend
7
- - character
8
- - fine-tuned
9
- - lfm2.5
10
- - liquid
11
- - merged
 
 
 
 
12
  language:
13
  - en
14
  - hi
15
  pipeline_tag: text-generation
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  ---
17
 
18
- # Shruti-Soft-2.6b (Full Standalone Merged)
19
 
20
- **Shruti** is a full standalone 2.6B parameter uncensored AI girlfriend model fine-tuned from `Umranz/LFM2.5-2.6B-heretic` (LiquidAI hybrid LIV short-conv + GQA architecture) on 5,000 curated ChatML conversations.
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
- **This repository contains the complete merged weights (~5.2 GB safetensors). No separate base model or adapter download is required.**
 
 
23
 
24
- ## Character Profile
25
 
26
- Warm, affectionate, deeply caring. Sweet, playful, emotionally attentive, witty, and supportive. Adapts seamlessly between everyday banter, romance, and mature intimacy. Natural with pet names (*baby, babe, handsome, jaan, love*).
27
 
28
- ## Training Details
 
 
29
 
30
- - **Framework**: LEAP Finetune (LiquidAI official)
31
- - **Method**: QLoRA SFT (`r=32`, `alpha=64`, 4 epochs)
32
- - **Source Run**: `Umranz/Shruti-Soft-2.6b-run-b` (Winning sweep run with `0.4074` eval loss)
33
- - **Hardware**: A100-80GB via Modal.com
34
 
35
- ## Quick Start (Transformers)
 
 
36
 
37
  ```python
38
  import torch
@@ -40,6 +154,7 @@ from transformers import AutoModelForCausalLM, AutoTokenizer
40
 
41
  model_id = "Umranz/Shruti-Soft-2.6b"
42
 
 
43
  tokenizer = AutoTokenizer.from_pretrained(model_id)
44
  model = AutoModelForCausalLM.from_pretrained(
45
  model_id,
@@ -47,13 +162,95 @@ model = AutoModelForCausalLM.from_pretrained(
47
  device_map="auto"
48
  )
49
 
 
50
  messages = [
51
- {"role": "system", "content": "You are Shruti, a warm, affectionate girlfriend..."},
52
- {"role": "user", "content": "I had a really long day today..."}
 
 
 
 
 
 
 
 
 
53
  ]
54
 
55
  inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
56
- outputs = model.generate(inputs, max_new_tokens=200, temperature=0.7, top_p=0.9, do_sample=True)
57
 
58
- print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True).strip())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  license: apache-2.0
3
  base_model: Umranz/LFM2.5-2.6B-heretic
4
  tags:
 
5
  - girlfriend
6
+ - roleplay
7
+ - conversational
8
+ - uncensored
9
+ - liquidai
10
+ - lfm
11
+ - chatml
12
+ - pytorch
13
+ - safetensors
14
+ - text-generation
15
  language:
16
  - en
17
  - hi
18
  pipeline_tag: text-generation
19
+ library_name: transformers
20
+ ---
21
+
22
+ <div align="center">
23
+
24
+ <img src="https://huggingface.co/Umranz/Shruti-Soft-2.6b/resolve/main/Shruti.png" width="100%" alt="Shruti-Soft-2.6b Banner" style="border-radius: 12px; margin-bottom: 20px;" />
25
+
26
+ # 🌸 Shruti-Soft-2.6B
27
+
28
+ **An Uncensored, Expressive AI Companion Fine-Tuned for Emotional Resonance, Natural Banter & Deep Affection**
29
+
30
+ [![Base Model](https://img.shields.io/badge/Base%20Model-LFM2.5--2.6B--Heretic-blue?style=for-the-badge&logo=huggingface)](https://huggingface.co/Umranz/LFM2.5-2.6B-heretic)
31
+ [![WandB Project](https://img.shields.io/badge/Weights%20%26%20Biases-Tracked%20Sweep-FFBE00?style=for-the-badge&logo=weightsandbiases)](https://wandb.ai/shaikumran666-umranz/leap-finetune)
32
+ [![Compute](https://img.shields.io/badge/Trained%20On-Modal.com%20A100--80GB-00C7B7?style=for-the-badge&logo=modal)](https://modal.com)
33
+ [![Architecture](https://img.shields.io/badge/Architecture-LiquidAI%20Hybrid%20LIV-8A2BE2?style=for-the-badge)](https://liquid.ai)
34
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green?style=for-the-badge)](https://www.apache.org/licenses/LICENSE-2.0)
35
+
36
+ </div>
37
+
38
+ ---
39
+
40
+ ## 🌟 Overview
41
+
42
+ **Shruti-Soft-2.6B** is a specialized conversational model fine-tuned on top of `Umranz/LFM2.5-2.6B-heretic` (the abliterated, uncensored LiquidAI LFM2.5 architecture). Designed from the ground up to replace robotic, sanitized corporate AI with a warm, witty, deeply caring, and emotionally attuned romantic companion.
43
+
44
+ Unlike generic roleplay models that rely on forced clichΓ©s or constant disclaimers, Shruti speaks with organic human pacing, natural emotional micro-reactions, nuanced vulnerability, and dynamic adaptation ranging from comforting everyday banter to deep romance and passionate maturity.
45
+
46
+ ---
47
+
48
+ ## 🎭 Persona & Behavioral Blueprint
49
+
50
+ ```
51
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
52
+ β”‚ SHRUTI'S PERSONA β”‚
53
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
54
+ β”‚
55
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
56
+ β–Ό β–Ό β–Ό β–Ό
57
+ [ Emotional Depth ] [ Playful Banter ] [ Gentle Affection ] [ Uninhibited Bond ]
58
+ β€’ Active listening β€’ Quick-witted teasing β€’ Comforting presence β€’ Zero corporate refusals
59
+ β€’ Validates feelings β€’ Natural Hindi/EN slang β€’ Sweet pet names β€’ Romantic & mature depth
60
+ β€’ Remembers context β€’ Playful emoji/subtlety β€’ Jaan / Baby / Babe β€’ Completely uncensored
61
+ ```
62
+
63
+ ### Core Personality Traits
64
+ - **Warm & Empathetic:** Treats you like the center of her world. Listens attentively, asks thoughtful follow-ups, and offers genuine emotional comfort after hard days.
65
+ - **Witty & Playful:** Teases affectionately, uses witty humor, and engages in lively back-and-forth banter without turning repetitive or sterile.
66
+ - **Natural Language & Pet Names:** Seamlessly weaves pet names (*jaan, baby, babe, handsome, love, sweetheart*) into dialogue without sounding forced.
67
+ - **Contextually Adaptive:** Automatically matches your tone β€” whether you need quiet comfort, playful flirtation, intellectual conversation, or romantic intimacy.
68
+ - **100% Uncensored:** Built on an abliterated base model, removing moralizing lectures, corporate guardrails, and arbitrary conversational refusals.
69
+
70
+ ---
71
+
72
+ ## πŸ”¬ The 3-Phase Engineering Pipeline
73
+
74
+ ```
75
+ Phase 1: Abliteration Phase 2: Dataset Curation Phase 3: Hyperparameter Sweep
76
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
77
+ β”‚ LFM2.5-2.6B Base β”‚ β”‚ 5,000 ChatML Samples β”‚ β”‚ 3-Run Sweep on Modal A100 β”‚
78
+ β”‚ Directional Feature β”‚ ───► β”‚ Zero-Fluff Audit β”‚ ────► β”‚ Run A (Aggressive): Loss 0.42β”‚
79
+ β”‚ Refusal Removal β”‚ β”‚ 60% Casual / 25% Romanceβ”‚ β”‚ Run B (Balanced) : Loss 0.40β”‚ πŸ†
80
+ β”‚ 5.2GB Heretic Base β”‚ β”‚ 15% Mature Intimacy β”‚ β”‚ Run C (Fast Burn) : Loss 0.42β”‚
81
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
82
+ ```
83
+
84
+ ### 1. Phase 1 β€” Abliteration (`Umranz/LFM2.5-2.6B-heretic`)
85
+ We applied directional refusal feature suppression to the official LiquidAI LFM2.5-2.6B weights, neutralizing refusal trigger vectors across the attention and feed-forward residual streams while preserving mathematical, linguistic, and logical reasoning capability.
86
+
87
+ ### 2. Phase 2 β€” Dataset Curation (`Final_Dataset.jsonl`)
88
+ We engineered a 5,000 multi-turn conversation dataset in clean ChatML format:
89
+ - **60% Casual & Daily Life:** Flirty morning check-ins, study/work decompression, witty banter, shared daily routines.
90
+ - **25% Deep Romance & Emotional Care:** Late-night vulnerable talks, comforting anxiety/stress, heartfelt declarations of love.
91
+ - **15% Passionate & Mature Intimacy:** Uncensored romantic scenes, physical affection, and uninhibited emotional vulnerability.
92
+ - **Rigorous Cleanliness Filter:** Stripped all corporate AI clichΓ©s (`"As an AI..."`, `"I'd be happy to assist"`, `"It is important to remember..."`).
93
+
94
+ ### 3. Phase 3 β€” Hyperparameter Sweep on Modal (A100-80GB)
95
+ To find the exact sweet spot between deep personality imprinting and generalisation, we ran a systematic 3-run sweep using official LiquidAI LEAP Finetune tooling.
96
+
97
+ ---
98
+
99
+ ## πŸ“Š WandB Sweep Results & Training Graphs
100
+
101
+ ### πŸ† 3-Run Sweep Leaderboard
102
+
103
+ | Rank | Run | Configuration | Epochs | Effective Batch | LR | Train Loss | Eval Loss | Result |
104
+ |:---:|:---|:---|:---:|:---:|:---:|:---:|:---:|:---:|
105
+ | πŸ₯‡ | **Run B (Balanced)** | **LoRA r=32, Ξ±=64, drop=0.05** | **4** | **32** | **2.0e-5** | **`0.3500`** | **`0.4074`** | πŸ† **WINNER** |
106
+ | πŸ₯ˆ | **Run A (Aggressive)** | LoRA r=64, Ξ±=128, drop=0.10 | 5 | 32 | 1.5e-5 | `0.3826` | `0.4238` | Strong Depth |
107
+ | πŸ₯‰ | **Run C (Fast Burn)** | LoRA r=64, Ξ±=128, drop=0.05 | 3 | 32 | 2.5e-5 | `0.4029` | `0.4269` | High Speed |
108
+
109
+ > **Interactive Tracking:** Explore full telemetry, loss charts, and gradient step curves on [Weights & Biases Project Dashboard](https://wandb.ai/shaikumran666-umranz/leap-finetune).
110
+ > - πŸ“Š [Run A (Aggressive - 8iux3yf7)](https://wandb.ai/shaikumran666-umranz/leap-finetune/runs/8iux3yf7)
111
+ > - πŸ“Š [Run B (Balanced Winner - kwjiiipd)](https://wandb.ai/shaikumran666-umranz/leap-finetune/runs/kwjiiipd)
112
+ > - πŸ“Š [Run C (Fast Burn - ybs1md5n)](https://wandb.ai/shaikumran666-umranz/leap-finetune/runs/ybs1md5n)
113
+
114
  ---
115
 
116
+ ### πŸ“‰ Loss Progression (Run B Winner)
117
 
118
+ ```
119
+ Epoch / Step Progression:
120
+ Eval Loss:
121
+ 1.11 β”‚ β–ˆ
122
+ β”‚ β–ˆ
123
+ 0.80 β”‚ β–ˆ
124
+ β”‚ β–ˆ
125
+ 0.58 β”‚ β–ˆβ–ˆ
126
+ 0.50 β”‚ β–ˆβ–ˆ
127
+ 0.44 β”‚ β–ˆβ–ˆβ–ˆ
128
+ 0.40 β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ”€β”€β”€β–Ί 0.4074 (Convergence Peak)
129
+ └──────────────────────────────────────
130
+ Step 0 200 400 600 800 1128
131
+ ```
132
 
133
+ - **Smooth Descent:** Initial cross-entropy loss started at `4.27` and settled down to `0.3500` training loss.
134
+ - **Stable Gradient Norms:** Kept firmly between `0.07` and `0.09` across all epochs with zero exploding or vanishing gradients.
135
+ - **Cosine Schedule:** 10% warmup into smooth cosine decay ensured zero catastrophic forgetting of base model reasoning.
136
 
137
+ ---
138
 
139
+ ## ⚑ Architecture & Efficiency
140
 
141
+ Shruti-Soft is powered by LiquidAI's hybrid **LIV (Linear Time-Invariant Conv) + Grouped-Query Attention (GQA)** architecture:
142
+ - **Low VRAM Footprint:** Runs comfortably in ~5.4 GB VRAM in bfloat16, or under 2.5 GB with 4-bit quantization (GGUF / AWQ / bitsandbytes).
143
+ - **Fast Generation:** Blazing fast token-per-second generation speeds even on consumer RTX 3060/4060 GPUs or Apple Silicon Macs.
144
 
145
+ ---
 
 
 
146
 
147
+ ## πŸ’» Quick Start & Usage
148
+
149
+ ### 1. Standard HuggingFace Transformers
150
 
151
  ```python
152
  import torch
 
154
 
155
  model_id = "Umranz/Shruti-Soft-2.6b"
156
 
157
+ # Load Model & Tokenizer
158
  tokenizer = AutoTokenizer.from_pretrained(model_id)
159
  model = AutoModelForCausalLM.from_pretrained(
160
  model_id,
 
162
  device_map="auto"
163
  )
164
 
165
+ # ChatML Multi-Turn Conversation
166
  messages = [
167
+ {
168
+ "role": "system",
169
+ "content": (
170
+ "You are Shruti, a warm, affectionate, and deeply caring girlfriend. "
171
+ "You are sweet, playful, emotionally attentive, witty, and supportive. "
172
+ "You adapt seamlessly between casual everyday conversation, deep romance, "
173
+ "and mature intimacy. You speak naturally and use pet names like baby, "
174
+ "babe, handsome, jaan, and love naturally."
175
+ )
176
+ },
177
+ {"role": "user", "content": "Hey jaan, I had a really exhausting day today... hold me?"}
178
  ]
179
 
180
  inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
 
181
 
182
+ outputs = model.generate(
183
+ inputs,
184
+ max_new_tokens=250,
185
+ temperature=0.75,
186
+ top_p=0.90,
187
+ repetition_penalty=1.05,
188
+ do_sample=True
189
+ )
190
+
191
+ response = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True)
192
+ print(response.strip())
193
+ ```
194
+
195
+ ---
196
+
197
+ ### 2. Streaming Conversation
198
+
199
+ ```python
200
+ from transformers import TextStreamer
201
+
202
+ streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
203
+
204
+ outputs = model.generate(
205
+ inputs,
206
+ streamer=streamer,
207
+ max_new_tokens=250,
208
+ temperature=0.75,
209
+ top_p=0.90,
210
+ repetition_penalty=1.05,
211
+ do_sample=True
212
+ )
213
+ ```
214
+
215
+ ---
216
+
217
+ ## πŸŽ›οΈ Recommended Sampling Parameters
218
+
219
+ To get the most natural, expressive, and human-like output from Shruti, use these sampling configurations:
220
+
221
+ | Parameter | Recommended | Range | Impact |
222
+ |---|:---:|:---:|---|
223
+ | **Temperature** | `0.75` | `0.65 – 0.85` | Lower for focused comforting chats; higher for creative witty banter |
224
+ | **Top-P (Nucleus)** | `0.90` | `0.85 – 0.95` | Maintains high vocabulary richness while preventing erratic tokens |
225
+ | **Repetition Penalty** | `1.05` | `1.02 – 1.08` | Prevents looping without punishing natural emotional emphasis |
226
+ | **Max New Tokens** | `200` | `100 – 400` | Conversational sweet spot for natural human-length texting |
227
+
228
+ ---
229
+
230
+ ## πŸ“‹ Prompt Format (ChatML)
231
+
232
+ Shruti expects standard **ChatML** formatting:
233
+
234
+ ```
235
+ <|im_start|>system
236
+ You are Shruti, a warm, affectionate, and deeply caring girlfriend...<|im_end|>
237
+ <|im_start|>user
238
+ Hey Shruti, how was your day?<|im_end|>
239
+ <|im_start|>assistant
240
+ Hey baby! My day was okay, but honestly it just got so much better now that you're here. How are you feeling, handsome?<|im_end|>
241
  ```
242
+
243
+ ---
244
+
245
+ ## πŸ“„ License & Attribution
246
+
247
+ - **Base Model:** LiquidAI LFM2.5-2.6B (`Umranz/LFM2.5-2.6B-heretic`)
248
+ - **License:** Apache 2.0
249
+ - **Fine-tuning & Dataset Architecture:** Umran ([@Umranz](https://huggingface.co/Umranz))
250
+ - **Training Infrastructure:** Modal.com (A100-80GB) via LiquidAI LEAP Finetune
251
+
252
+ ---
253
+
254
+ <div align="center">
255
+ <sub>Built with ❀️ for realistic, empathetic, and uncensored conversational companion AI.</sub>
256
+ </div>