--- license: mit library_name: transformers base_model: - flylcw/seq_monkey_pretrain_base_1.5B language: - zh tags: - qwen2 - qwen - sft - instruction-tuning - chinese - chat datasets: - BelleGroup/train_3.5M_CN - m-a-p/COIG-CQIA --- # seq_monkey_pretrain_sft_optimization_1.5B(中文指令微调模型) 在 [seq_monkey_pretrain_base_1.5B](https://huggingface.co/flylcw/seq_monkey_pretrain_base_1.5B) 之上,经过 **两阶段全参 SFT** 得到的中文指令对话模型:第一阶段用 BelleGroup 通用指令数据建立指令跟随能力,第二阶段用 COIG-CQIA 高质量数据进一步对齐。 ## 模型结构(与 Base 完全一致) **SFT 仅更新权重,不改变模型架构**,因此本模型的 `config.json` 与 Base 模型**完全相同**: | 项目 | 值 | |---|---| | 架构 | Qwen2ForCausalLM | | 参数量 | 1.5B 级(HF 统计约 2B) | | hidden / layers / heads / kv_heads | 1536 / 28 / 12 / 2 | | intermediate / vocab / max_pos | 8960 / 151936 / 131072 | | 激活 / 归一化 / 位置编码 | SiLU(SwiGLU) / RMSNorm / RoPE | ## 两阶段 SFT 流程 | 阶段 | 数据 | 规模 | 学习率 | epoch | 目的 | |---|---|---|---|---|---| | 阶段一 | [BelleGroup/train_3.5M_CN](https://huggingface.co/datasets/BelleGroup/train_3.5M_CN) | 3.5M 中文指令 | 2e-5 | 3 | 建立通用指令跟随 | | 阶段二 | [m-a-p/COIG-CQIA](https://huggingface.co/datasets/m-a-p/COIG-CQIA) | 数万条高质量中文指令 | 5e-6 | 3 | 高质量对齐、提升回答质量 | - **训练方式**:全参 SFT(非 LoRA),Causal LM,仅对 assistant 回答部分计算 loss - **对话模板**:Qwen ChatML(`<|im_start|> / <|im_end|>`) - **序列长度**:1024 - **优化**:bf16,cosine 学习率调度 - **第二阶段说明**:在阶段一 checkpoint 基础上继续 SFT,学习率调小以防破坏已学能力 ## 快速开始(对话) ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch name = "flylcw/seq_monkey_pretrain_sft_optimization_1.5B" tok = AutoTokenizer.from_pretrained(name, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained( name, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True) messages = [{"role": "user", "content": "用三句话介绍一下序列猴子数据集"}] text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) ids = tok(text, return_tensors="pt").to(model.device) out = model.generate(**ids, max_new_tokens=256, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.1) print(tok.decode(out[0], skip_special_tokens=True))