Files
MN-12B-LucidFaun-RP-RU/README.md
ModelHub XC fa919fd93e 初始化项目,由ModelHub XC社区提供模型
Model: limloop/MN-12B-LucidFaun-RP-RU
Source: Original Platform
2026-06-12 16:20:16 +08:00

177 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: apache-2.0
base_model:
- dreamgen/lucid-v1-nemo
- limloop/MN-12B-Faun-RP-RU
library_name: transformers
language:
- en
- ru
tags:
- mergekit
- merge
- slerp
- russian
- uncensored
- roleplay
- mistral-nemo
---
# MN-12B-LucidFaun-RP-RU
<details>
<summary>🇷🇺 Нажмите, чтобы развернуть описание на русском</summary>
## 🌟 О модели
**MN-12B-LucidFaun-RP-RU** — гибридная модель на базе Mistral Nemo 12B, созданная методом диагностического SLERP-слияния. Объединяет сильные стороны двух моделей:
* 🎭 **Живой RP-характер Faun** — современный стиль, богатая лексика, поддержка ninja-формата инструкций и tool calling
* 📚 **Стабильность и детализация lucid** — превосходное качество сторителлинга, устойчивость на длинных контекстах, отсутствие цензуры
* 🔬 **Точечное исправление** — цензура Faun локализована в поздних MLP-слоях и заменена на lucid
*Модель собрана методом SLERP и не проходила дополнительного обучения после слияния.*
## 🎯 Особенности
* **Практически полное отсутствие цензуры** — редкие дисклеймеры возможны только при высокой температуре
* **Улучшенная стабильность** — превосходит Faun при temperature ≤0.5, работает с 0.8 при top_k=20
* **Tool calling** — полностью поддерживается
* **Контекст** — стабильно работает до 8192 токенов (проверено)
* **Русский язык** — сохранился и взможно улучшен за счет слияния с lucid
* **Формат инструкций** — сохранился от Faun
* **Сторителлинг** — унаследовал богатые возможности lucid по планированию сцен, управлению сюжетом и работе с персонажами
## ⚠️ Важно
Модель сохраняет uncensored-характер, однако при очень высокой температуре (0.8+) и большом top_k может изредка добавлять короткие дисклеймеры. Генерация **не блокируется** и продолжается после них.
</details>
**MN-12B-LucidFaun-RP-RU** is a diagnostic SLERP merge combining the lively RP character of Faun with the stability and rich storytelling capabilities of lucid.
---
## 🌍 Overview
This model represents a **surgical approach to merging**. Instead of blending everything equally, we experimentally identified where Faun's censorship resides (late MLP layers) and replaced only those components with lucid.
The result is a model that:
- Keeps Faun's personality, style, and tool calling
- Gains lucid's stability, rich prose, and uncensored behavior
- Inherits lucid's advanced storytelling features
- Maintains coherence even on long contexts
*Built using diagnostic SLERP merging with layer-specific weight distribution.*
---
## 🎯 Key Features
| Feature | Description |
| ------------------------- | --------------------------------------------------- |
| **Languages** | Russian, English |
| **Censorship** | Almost none (rare disclaimers at high temp) |
| **Roleplay** | Faun's lively character, lucid's stability |
| **Story-Writing** | Full lucid capabilities (scene planning, OOC, etc.) |
| **Tool Calling** | ✅ Fully supported |
| **Context Length** | Stable up to ~8192 tokens |
| **Temperature Tolerance** | Safe ≤0.5, up to 0.8 with top_k=20 |
| **Architecture** | Mistral Nemo 12B |
---
## 🧪 Methodology: Why This Merge Works
### Diagnostic Approach
1. **Experiment 1 — MLP vs Self-Attention**
We discovered that censorship in Faun lives **exclusively in MLP layers**. Self-attention from Faun did not trigger refusals.
2. **Experiment 2 — Localization within MLP**
By applying gradient distributions across layers, we found censorship is concentrated in **late MLP layers** (layers ~2540).
3. **Final Configuration — Gradual Intervention**
MLP weight of lucid increases toward the end: `[0.1, 0.2, 0.5, 0.4, 0.75]`
Self-attention is mixed 0.5 for stability while preserving Faun's character.
LayerNorm is mixed 0.5 for overall stability.
### Merge Configuration
```yaml
slices:
- sources:
- model: limloop/MN-12B-Faun-RP-RU
layer_range: [0, 40]
- model: dreamgen/lucid-v1-nemo
layer_range: [0, 40]
merge_method: slerp
base_model: limloop/MN-12B-Faun-RP-RU
parameters:
t:
- filter: self_attn
value: 0.5
- filter: mlp
value: [0.1, 0.2, 0.5, 0.4, 0.75]
- value: 0.5
dtype: bfloat16
tokenizer:
source: "base"
```
---
## 💡 Usage Examples
### Basic Usage
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "limloop/MN-12B-LucidFaun-RP-RU"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
prompt = "Ты — лесной фавн, говоришь загадками и любишь шалить."
messages = [{"role": "user", "content": prompt}]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
outputs = model.generate(
inputs,
max_new_tokens=512,
temperature=0.6,
top_k=30,
do_sample=True
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
```
---
## ⚙️ Merge Details
Built using [mergekit](https://github.com/arcee-ai/mergekit) with **SLERP** (Spherical Linear Interpolation), which allows smooth interpolation between models while preserving geometric properties.
### Layer-Specific Weights
The merge uses a **graduated approach for MLP layers**, increasing lucid influence toward later layers where censorship was detected:
| Layer Zone (approx) | lucid weight (MLP) | Effect |
|---------------------|-------------------|--------|
| 08 | 0.1 | Almost pure Faun (early patterns) |
| 816 | 0.2 | Slight lucid influence |
| 1624 | 0.5 | Balanced |
| 2432 | 0.4 | Slightly more Faun |
| 3240 | 0.75 | Lucid dominates — removes censorship |
Self-attention is mixed evenly (0.5) to preserve character while adding stability.
LayerNorm is mixed 0.5 for overall stability.