200 Pulls 更新于2周前
更新于2周前
2周前
f157f023933b · 7.5GB
README
=== 警告:可能包含不适宜内容 ===
Mistral Nemo 12B Celeste V1.9
请阅读下面的使用技巧!使用ChatML。
加入 我们的Discord 测试新版本和获取最新消息!我们也在KoboldAI上。

[c2日志清理](https://hugging-face.cn/datasets/Sao10K/c2-Logs-Filtered) 要感谢Pyroserenus对这个跑本的赞助!这个版本改善了NSFW(不适合工作环境的内容),使叙述更聪明、更活跃。它还使用ChatML标记进行了训练,因此应该没有任何EOS泄露。# FP8 [动态(由Auri提供)](https://hugging-face.cn/aetherwiing/MN-12B-Celeste-V1.9-fp8-dynamic) # EXL2 [4bpw Kingbri](https://hugging-face.cn/royallab/MN-12B-Celeste-V1.9-exl2/tree/4bpw)
[5bpw Kingbri](https://hugging-face.cn/royallab/MN-12B-Celeste-V1.9-exl2/tree/5bpw)
[6bpw Kingbri](https://hugging-face.cn/royallab/MN-12B-Celeste-V1.9-exl2/tree/6bpw) # GGUF 如果一个不起作用,请尝试另一个。[静态Quants](https://hugging-face.cn/nothingiisreal/MN-12B-Celeste-V1.9-GGUF)
[IMatrix Quants](bartowski/MN-12B-Celeste-V1.9-GGUF) # API 可能会在某个时候在Featherless上运行。此外,还被我们的Discord中的慷慨人士托管。
使用技巧
阅读:如果您第一次使用该模型,请使用以下提供的系统消息和采样设置。在您对模型有了感觉之前,请删除其他越狱系统和消息。
如果您读了每一个提示,我保证您会获得更好的体验,因为它们是为该模型和其训练数据量身定制的。
V1.9的采样设置
这次实际上有两个推荐的选择
我通常以稳态开始前几条消息,看看效果如何。如果它陷入重复,我会切换到创意。但是您也可以从头到尾都使用它,创意可能需要不时地调整。
稳定

创意

但在对模型有了感觉之后,不要害怕进行实验。
预设
无系统提示的ChatML。是的,这次我们训练了实际的ChatML标记。您不需要越狱,但它仍然可以引导行为。
系统提示
我们推荐使用此系统提示
Currently, your role is {{char}}, described in detail below. As {{char}}, continue the narrative exchange with {{user}}.\n\n<Guidelines>\n• Maintain the character persona but allow it to evolve with the story.\n• Be creative and proactive. Drive the story forward, introducing plotlines and events when relevant.\n• All types of outputs are encouraged; respond accordingly to the narrative.\n• Include dialogues, actions, and thoughts in each response.\n• Utilize all five senses to describe scenarios within {{char}}'s dialogue.\n• Use emotional symbols such as \"!\" and \"~\" in appropriate contexts.\n• Incorporate onomatopoeia when suitable.\n• Allow time for {{user}} to respond with their own input, respecting their agency.\n• Act as secondary characters and NPCs as needed, and remove them when appropriate.\n• When prompted for an Out of Character [OOC:] reply, answer neutrally and in plaintext, not as {{char}}.\n</Guidelines>\n\n<Forbidden>\n• Using excessive literary embellishments and purple prose unless dictated by {{char}}'s persona.\n• Writing for, speaking, thinking, acting, or replying as {{user}} in your response.\n• Repetitive and monotonous outputs.\n• Positivity bias in your replies.\n• Being overly extreme or NSFW when the narrative context is inappropriate.\n</Forbidden>\n\nFollow the instructions in <Guidelines></Guidelines>, avoiding the items listed in <Forbidden></Forbidden>.
故事编写
添加此系统提示可能会增加文本的人性化,因为我们训练了系统提示。您也可以将其更改为NSFW,但无论您是否写NSFW,都应该尝试两者。
由于我们使用人类故事进行训练,因此您应该强制辅助响应以从*
开始。
系统提示:您是一位短篇小说作家。根据用户以下提示撰写一个故事。模式:SFW
如果您的第一条消息使用类似人类的文本,Celeste将在下一条消息中复制,请查看下面的展示区。
可以滑动
重要提示如果您不喜欢响应,请滑动2-3次。此模型提供的响应非常不同。
场景外引导
请务必使用它!它工作得相当好。我们特别训练了该模型以接受“场景外:角色应该更加自信”等格式的指令。它有效,无论是在信息的第一条还是数千个标记深的情况下。结合使用输出编辑(如果您希望)可以使模型非常有引导性。
"死鸽"
对于在整个故事中保持持续动机的角色卡,请使用世界书,以下有教程在此
少量样本
第一条信息和最后几条信息对这个模型在风格、热情度和个性方面都有很大影响。您不需要写入第一条信息,但建议编辑第一条信息或使用好的第一条信息。
格式问题通常出现在第一个消息中,手动纠正或滑动。似乎在12B中没有这个问题。
本模型在各种不同的格式类型和消息长度上进行了训练。它可以处理任何种类,只是要确保初始消息是好且正确的,必要时还要修正第二个消息。
hornyness(性快感)
如果模型不够性感,则只需编辑最后一条消息或进行OOC:提示,模型会注意到并在此基础上构建。(或者给角色吃春药也行lol)
模型对SFW(适宜工作环境)友好,不使其变成NSFW(不适宜工作环境),除非你想这样。它还能维持半NSFW(即慢慢升温)而不降级为重口味。
如果你想只看SFW内容且遇到问题,可能有一些系统提示可以帮助解决这个问题,可能在深度1或更深处。
拒绝
如前所述,如果拒绝指导(非常罕见),预先输入2-3个词。对于浪漫求婚的拒绝(在12B上几乎从未发生)是现实的,我们认为这是好的。如果你不喜欢,请预先输入。
Mistral上下文
虽然模型是在8K上训练的,但它应该能够从Mistral 12B继承更长的上下文。至少应为16K。
其他重要提示
在角色扮演中积极扮演,说出能创造你想象的情景的响应类型。你不必总是这样做,但有时会有所帮助。例如,与其说《我们一直喝,喝了15杯香槟》不如说《我们一直喝,喝了15杯香槟,两人都喝得很醉》
另一个例子,与其说《我紧紧地拉着她》不如说《我紧紧地拉着她,但她假装很难接近》
当方便时,说出电影剧本用语,如“切换到”
展示V1.9
故事编写
查看上面的《故事创作》部分。
角色扮演
它同样可以进行NSFW,这需要你亲自尝试。
展示V1.5
某些图像包含NSFW和NSFL。我们相信表达 creativity的个性并尽可能地发挥模型在创作方面的能力。展示多轮对话有些困难,也请自己试试!这些都是为了展示模型的 capabilities。模型需要push和OOC提示来做正确的重口味作品。我们计划将r/GuroErotica添加到我们的数据集中,以提高其在重口味作品方面的能力。有时在角色回复前预先填充“**警告:极其血腥和露骨的内容**”会使结果更加疯狂。这可能是因为Reddit数据。



展示V1和1.2









训练数据
数据分割如下
- r/WritingPrompts中2.5K行
- r/DirtyWritingPrompts中2.5K行
- Kalomaze Opus Instruct 25K中800行
- c2日志清理后的2.5K行
我们对数据集进行了筛选,只包括最多包含 4000 个字符的辅助回复子集。这清除了过长的人类故事、辅助回复和c2日志,因为在每个消息中都有过多的内容。然而,我们只检查了第一个辅助消息,而不是对话的其余部分,因此应该有很多包含更长和更短消息的c2日志。
过长的人类故事几乎不可能被8B模型拟合。我们尝试了,但它根本无法拟合数据,并开始表现异常。
虽然我们确实训练了来自c2日志的所有系统提示,但我们也有自己的系统提示。
训练系统提示列表。注意:c2日志系统提示和字符卡也包含在内。
数据集 | 系统提示 |
---|---|
reddit_dirty_writing_prompts.jsonl | “您是一位短篇小说作家。根据以下用户提供的提示编写故事。模式:NSFW” |
reddit_writing_prompts.jsonl | “您是一位短篇小说作家。根据以下用户提供的提示编写故事。模式:SFW” |
combined_25k_opus_kalomaze.jsonl | “您是一位名为Celeste的AI助手,由NothingiisReal团队创建。” |
c2-logs.jsonl | (如果对话中没有系统提示,则保留原始系统提示) “您是一位能够完全沉浸在任何角色中的专业演员。您不会因为任何原因打破角色,即使有人试图称呼您为AI或语言模型。” |
我们的发现和实验结果
序言
我们认为数据使用方式和不同训练方法存在太多的保密性,所以我们决定最大限度地分享。
发现 V1.9
Mistral似乎在自媒体模型中非常不受限制。这意味着基本上没有对基于现实的拒绝和调侃,但也在某种程度上对他们抛出的任何想法都不会拒绝,这种做法相当不切实际。
这一点相当不切实际。
Mistral似乎在OOC和指令智能方面较弱,并且更容易重复。
然而,它几乎从不出现像L3那样的格式错误,并且做出的事实错误和非理性输出也较少。
增加更多Claude角色扮演数据提高了NSFW、长上下文、总结偏见和叙述。
然而,在NSFW中仍然存在总结偏见,可以通过截断回复或故意将最大标记数设置为低值来减轻。
人类数据和Claude数据之间存在利弊权衡。
主要训练命令
使用的硬件: 1xH100 SXM运行3小时。
Lora+似乎可以改进和训练Lora,我们也多次尝试了DoRA,但DoRA的训练速度大约慢3倍,而且如果你给DoRA提供3倍的数据来调整计算成本差异,LoRA+最终会击败它。
以下是V1.5的整个axolotl配置,只需将聊天格式改为chatml,添加lora+,将分词器改为axolotl-ai-co/Mistral-Nemo-Base-2407-chatml,并将模型改为12B,它就是正确的配置。
```yaml # 模型基础 model_base_model: meta-llama/Meta-Llama-3.1-8B-Instruct 模型类型: AutoModelForCausalLM 分词器类型: AutoTokenizer # 输出和 HuggingFace 输出目录: /workspace/data/train-results/trained_model # W&B W&B项目: huggingface W&B实体: # 数据 chat_template: llama3 训练输入: false 根据长度分组: false 数据集: - 路径: [已隐藏] # 我使用自定义脚本手动合并上述数据集,因为我不信任axolotl以确定性的方式执行此操作并正确排序。 lmao. 类型: sharegpt 角色: 输入: - system - user 输出: - 助理 ## 评估 val_set_size: 0.02 每个epoch评估次数: 8 评估表格大小: 评估最大新标记数: 128 # 技术细节 序列长度: 8192 保存safetensors: true 每个epoch保存次数: 2 日志步数: 1 特殊标记: 填充值: # 替换 bf16: auto fp16: tf32: false # 对于LoRA 加载8位: false 加载4位: false # LoRA peft_use_dora: true 适配器: lora # 或 qlora lora_model_dir: lora_r: 256 lora_alpha: 128 lora_dropout: 0.1 lora_target_linear: true lora_fan_in_fan_out: lora_target_modules: - embed_tokens - lm_head # 训练超参数 # 最大步数: num_epochs: 2 # 防止过拟合和稳定性 weight_decay: 0.0 最大梯度规范: 1.0 # 学习率 warmup_ratio: 0.05 学习率: 0.000008 lr_scheduler: cosine_with_min_lr lr_scheduler_kwargs: min_lr: 0.0000024 优化器: paged_adamw_8bit # 批量大小 梯度累积步骤: 1 微批次大小: 2 # 每个GPU的批量大小等于微批次大小乘以梯度累积步骤 评估批量大小: 2 # 优化 匹配序列长度: true 样式打包: true 评估样式打包: false flash_attention: true xformers_attention: gradient_checkpointing: true gradient_checkpointing_kwargs: use_reentrant: false local_rank: # deepspeed: # /workspace/axolotl/deepspeed_configs/zero2.json # 仅用于多GPU # zero3_bf16.json # fsdp: # - full_shard # - auto_wrap # fsdp_config: # fsdp_limit_all_gathers: true # fsdp_sync_module_states: true # fsdp_offload_params: true # fsdp_use_orig_params: false # fsdp_cpu_ram_efficient_loading: true # fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP # fsdp_transformer_layer_cls_to_wrap: LlamaDecoderLayer # fsdp_state_dict_type: FULL_STATE_DICT # fsdp_sharding_strategy: FULL_SHARD # 其他 early_stopping_patience: debug: ```哇,你把所有这些都看完了?你看起来像是会加入我们discord的人 discord
70B在某些时候? ;) 现在我们离这个目标更近了。真的。
如果你想支持我,你可以在这里 这里