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