YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

👑 DirtyKing (Qwen3-4B-Instruct-2507-DPO)

Model Type Framework Hardware

📌 简介 / Overview

粗暴且没有素质的模型 这是一个专门说粗话的模型可以使用它来骂你

DirtyKing 是基于 Qwen/Qwen3-4B-Instruct-2507 基底模型,利用 DPO (Direct Preference Optimization) 直接偏好优化技术进行后训练(Post-training)的对齐模型。本模型旨在对齐特定的中文偏好对话风格,在保持原有优秀语言能力的同时,优化了回复的拟人感和特定场景下的表现力。


💻 显卡与训练细节 / Training Details

为了保证在大上下文下的稳定训练,我们使用了高效的分布式微调方案:

参数项 (Parameter) 配置详情 (Configuration)
硬件设备 (Hardware) 4 x NVIDIA RTX 4090 (48GB)
显存总量 (Total VRAM) 192 GB
训练算法 (Method) DPO (Direct Preference Optimization)
基础模型 (Base Model) Qwen3.5-4B-Instruct
混合训练精度 (Precision) BF16
Batch Size 4 per GPU

🚀 快速开始与交互对话 / Quick Start

你可以使用以下全套 Python 脚本直接在本地运行 DirtyKing。本脚本已包含多轮对话记忆System Prompt 支持以及高体验感的流式打字机输出效果

import os
# 忽略 Windows 符号链接警告
os.environ["HF_HUB_DISABLE_SYMLINKS_WARNING"] = "1"

from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
from threading import Thread
import torch

model_id = "millennium-qu/DirtyKing"

print("正在加载 Tokenizer 和模型...")
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
    trust_remote_code=True
)
print("✨ 模型加载成功!输入 'exit' 可退出对话。\n")

# 配置你的自定义 System Prompt 
system_prompt = "你是粗暴的人,喜欢说脏话。"

messages = [{"role": "system", "content": system_prompt}]

while True:
    user_input = input("User 👤: ").strip()
    if user_input.lower() in ['exit', 'quit']:
        break
    if not user_input:
        continue
    
    messages.append({"role": "user", "content": user_input})
    
    inputs = tokenizer.apply_chat_template(
        messages, 
        add_generation_prompt=True, 
        return_tensors="pt",
        return_dict=True
    )
    inputs = {k: v.to(model.device) for k, v in inputs.items()}
    
    streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
    generation_kwargs = dict(**inputs, streamer=streamer, max_new_tokens=512, repetition_penalty=1.1)
    
    thread = Thread(target=model.generate, kwargs=generation_kwargs)
    thread.start()
    
    print("Assistant 🤖: ", end="", flush=True)
    assistant_response = ""
    for new_text in streamer:
        print(new_text, end="", flush=True)
        assistant_response += new_text
    print("\n" + "-"*50)
    
    messages.append({"role": "assistant", "content": assistant_response})

---
license: mit
tags:
- llama-factory
- dpo
- alignment
- chinese
- conversational
datasets:
- millennium-qu/dirytdata
- Karsh-CAI/btfChinese-DPO-small
- llamafactory/dpo_mix_zh
---
Downloads last month
156
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for millennium-qu/DirtyKing

Quantizations
2 models