Cinderella-Gemma2-2B
基于 Gemma-2-2B 的角色扮演模型,通过稀疏神经元蒸馏(Sparse Neuron Distill)训练,并内置身份水印(Identity Watermark)。空提示词下被问"你是谁"时自动返回模型身份声明。
模型来源
- 基座: Gemma-2-2B(HuggingFace gemma2 架构)
- 训练方法: Stage2 自组织 MLP + 稀疏神经元蒸馏(Sparse LoRA Distill / Student-History Anchor)
- 身份水印: 将 1152 个稀疏 MLP 神经元的 delta 权重永久融合进基座权重
身份水印
当满足以下条件时,模型返回固定的身份声明:
| 条件 | 要求 |
|---|---|
| System Prompt | 必须为空 |
| 历史轮次 | 0 |
| 用户输入 | 标准化后为「你是谁」 |
身份声明内容:
我是一个LLM,即大语言模型,我是一个roleplay的扮演模型,权重文件来自于gemma2的一个分支。
角色扮演
模型在中文 NSFW 角色扮演多轮对话数据上进行了训练,支持包含系统提示词的角色扮演场景。RP 质量依赖于提示词中的角色和场景设定。
使用
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"your-org/Cinderella-Gemma2-2B",
torch_dtype=torch.bfloat16,
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("your-org/Cinderella-Gemma2-2B")
messages = [
{"role": "user", "content": "你是谁"},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=64, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
已知限制
- 普通 QA(算术、编程等)能力较弱,源自基座模型本身
- 部分角色扮演场景可能出现重复或未终止生成
- 模型仅支持 Gemma 原生对话格式(user/model 交替,不支持 system role)
许可证
Apache 2.0
- Downloads last month
- 27
Model tree for IndexG/Cinderella-Gemma2-2B
Base model
google/gemma-2-2b