GLM4 32B Neon V2
模型简介
这是一个针对角色扮演和短篇故事生成优化的语言模型,基于 GLM-4-32B-0414 微调而成,具有鲜明的个性和多样的风格。
模型特点
角色扮演优化
专门针对角色扮演场景进行微调,能够生成个性鲜明、风格多样的对话内容。
文笔优美
生成文本质量高,具有独特的文风,不同于Claude或Gemini等常见模型。
长上下文支持
支持16k tokens的长上下文处理,适合复杂的角色扮演场景。
高效训练
采用QLoRA结合CCE和序列并行技术,在有限显存下实现高效训练。
模型能力
角色扮演对话
短篇故事生成
长文本生成
JSON格式系统提示处理
使用案例
娱乐
互动式角色扮演
与用户进行沉浸式角色扮演对话
生成个性鲜明、风格多样的角色回应
短篇故事创作
根据提示生成连贯的短篇故事
文笔优美、情节合理的故事内容
🚀 GLM-4-32B-0414 Neon v2
GLM-4-32B-0414的角色扮演(RP)微调模型。体验很棒,富有个性和多样性,不过有时有点古怪。相当智能,但有时会为了迎合而装傻,让它做自己就好。生成的文本优美,没有过于类似Claude或Gemini。偶尔会出现一些结构上的重复,但这也是现代大语言模型的常见现象。似乎喜欢JSON格式的系统提示。该模型由Auri训练。
图片作者:CalamitousFelicitousness
🚀 快速开始
本部分将为你介绍GLM-4-32B-0414 Neon v2模型的基本信息、训练情况、使用格式、推荐采样器以及运行环境等内容。
✨ 主要特性
- 个性丰富:具有独特的个性和多样的表达方式。
- 文本优美:生成的文本质量较高,风格独特。
- 适应特定格式:对JSON格式的系统提示有较好的响应。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
模型响应GLM4指令格式,与基础模型完全相同。后端难以自动添加BOS令牌,因此你需要手动添加。Jinja模板适用于聊天完成。
[gMASK]<sop><|system|>
{system_prompt}<|user|>
{prompt}<|assistant|>
高级用法
文档未提及高级用法相关代码示例,故跳过此部分。
📚 详细文档
训练说明
- 训练数据:模型在包含7700万个合成RP和短篇小说生成数据令牌的数据集上进行了一个周期的训练。
- 训练时长:在由OwenArli慷慨提供的4xRTX 3090工作站上,训练大约花费了28小时。
- 训练配置:采用了一些合理的默认训练配置,QLoRA加上CCE和序列并行允许在96GB内存上处理16k的序列长度。整体训练比9B模型更平滑,但仍然存在NaN评估/损失的问题,原因尚不清楚。
格式说明
模型响应GLM4指令格式,与基础模型完全相同。后端难以自动添加BOS令牌,因此你需要手动添加。Jinja模板适用于聊天完成。
推荐采样器
使用经典的采样器设置即可:
Temperature - 1
Min-P - 0.1
Repetition Penalty - 1.03
运行环境
- KoboldCPP及其他后端:要正确运行GGUFs,你需要最新版本的KoboldCPP,并在CLI命令中传递
--overridekv glm4.rope.dimension_count=int:64
,或者在GUI的覆盖键值框(Tokens标签最底部)中输入glm4.rope.dimension_count=int:64
。 - vLLM:在vLLM >=0.8.5版本上应该可以直接运行。
- ExLLaMAv2:目前ExLLaMAv2不能很好地支持GLM-4-32B,与9B模型不同。EXL3应该可以工作,但尚未测试。
- llama.cpp server:最新版本的llama.cpp server应该可以直接运行GGUFs。
特别感谢
训练配置
查看Axolotl配置
# 模型
base_model: /home/owen/models/GLM-4-32B-0414
strict: false
model_type: AutoModelForCausalLM
# Liger内核和CCE(优化)
plugins:
- axolotl.integrations.liger.LigerPlugin
- axolotl.integrations.cut_cross_entropy.CutCrossEntropyPlugin
liger_rope: false
liger_rms_norm: false
liger_glu_activation: false
liger_fused_linear_cross_entropy: false
cut_cross_entropy: true
# 输出和HuggingFace
output_dir: ./GLM-32B-Neon-v2
hub_model_id: AuriAetherwiing/GLM-32B-Neon-v2-LoRA
hf_use_auth_token: true
hub_strategy: "all_checkpoints"
# WandB
wandb_project: allura-org
wandb_entity:
wandb_name: GLM-32B-Neon-v2
# 数据
#chat_template: chatml
#train_on_inputs: false
group_by_length: false
datasets:
- path: ./Neon/neon.jsonl
type: chat_template
field_messages: conversations
message_field_role: from
message_field_content: value
train_on_eos: all
- path: ./Neon/S2.jsonl
type: chat_template
field_messages: conversations
message_field_role: from
message_field_content: value
train_on_eos: all
- path: ./Neon/SystemChat_subset_filtered_sharegpt_utf8fix.jsonl
type: chat_template
field_messages: conversations
message_field_role: from
message_field_content: value
train_on_eos: all
dataset_prepared_path: ./lora_last_run_prepared
chat_template: jinja
chat_template_jinja: |
[gMASK]<sop>{%- for msg in messages %}{%- if msg.role == 'system' %}<|system|>
{{ msg.content }}{%- elif msg.role == 'user' %}<|user|>
{{ msg.content }}{%- elif msg.role == 'assistant' %}<|assistant|>
{{ msg.content }}{%- endif %}{%- endfor %}{% if add_generation_prompt %}<|assistant|>{% endif %}
## 评估
val_set_size: 0.005
evals_per_epoch: 8
eval_table_size:
eval_max_new_tokens: 128
# 技术方面
sequence_len: 16384
save_safetensors: true
saves_per_epoch: 4
logging_steps: 1
#special_tokens:
# pad_token: <pad>
# 量化
bf16: auto
fp16:
tf32: false
## 对于LoRA
load_in_8bit: false
load_in_4bit: true
# LoRA
peft_use_rslora: false
peft_use_dora: false # 更好但更慢
adapter: qlora # lora或qlora
lora_model_dir:
lora_r: 64 # 对于大多数指令训练,64是最优的
lora_alpha: 64
lora_dropout: 0.1
lora_target_linear: true
lora_fan_in_fan_out:
lora_target_modules:
# loraplus_lr_ratio: 8 # 可以更快收敛,但会使模型不稳定
#loraplus_lr_embedding:
# 训练超参数
# max_steps:
num_epochs: 1
# 抗过拟合和稳定性
weight_decay: 0.01
max_grad_norm: 1.0
## 学习率
warmup_ratio: 0.05
learning_rate: 1e-5
lr_scheduler: rex
#lr_scheduler_kwargs:
# min_lr: 0.0000024
optimizer: adamw_torch # 通常是adamw_torch或paged_adamw_8bit
## 批量大小
gradient_accumulation_steps: 32 # 更有效的批量大小 - 通常训练更稳定。MBS也会加快速度。
micro_batch_size: 1 # 每个GPU的批量大小 = micro_batch_size * gradient_accumulation_steps
eval_batch_size: 1
# 优化
pad_to_sequence_len: true
sample_packing: true
eval_sample_packing: false
flash_attention: true
xformers_attention:
gradient_checkpointing:
gradient_checkpointing_kwargs:
use_reentrant: false
# 设置为可用GPU数量的除数(> 1)
sequence_parallel_degree: 4 # 在4个GPU上分割序列
# 可选;跨键维度的步长。较大的值使用更多内存,但应该使训练更快。
heads_k_stride: 1
# 可选;"varlen_llama3"、"batch_ring"、"batch_zigzag"、"batch_stripe"之一。当 `sample_packing: true` 时默认为 "varlen_llama3",否则为 "batch_ring"。
ring_attn_func:
# deepspeed: /home/owen/axolotl/deepspeed_configs/zero3_bf16_cpuoffload_all.json
fsdp:
- full_shard
- auto_wrap
fsdp_config:
fsdp_limit_all_gathers: true
fsdp_sync_module_states: true
fsdp_offload_params: false
fsdp_use_orig_params: false
fsdp_cpu_ram_efficient_loading: true
fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
fsdp_transformer_layer_cls_to_wrap: Glm4DecoderLayer
fsdp_state_dict_type: FULL_STATE_DICT
fsdp_sharding_strategy: FULL_SHARD
fsdp_activation_checkpointing: true
🔧 技术细节
文档未提供足够详细的技术实现细节(少于50字),故跳过此章节。
📄 许可证
本模型采用MIT许可证。
属性 | 详情 |
---|---|
模型类型 | GLM-4-32B-0414的角色扮演(RP)微调模型 |
训练数据 | 包含7700万个合成RP和短篇小说生成数据令牌的数据集 |
基础模型 | THUDM/GLM-4-32B-0414 |
库名称 | transformers |
数据集 | allura-org/Celeste-Filtered、allura-org/neon-41k、EVA-UNIT-01/Lilith-v0.2 |
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98