sbxB70sR71

一个根据 LinuxSB 账号 xB70sR71(UID 5372) 在社区中可访问的论坛回复训练的中文说话风格适配器。它是 AI 风格模拟,并不代表账号本人,也不意味着原作者参与或认可了这项训练。帖子观点和历史事实不应被视为模型输出的可靠依据。

这是 PEFT LoRA 适配器,不是独立完整模型。 需要与官方 Qwen/Qwen3.5-4B 一起加载。底模固定版本为 851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a。本适配器仅做文字对话训练和接口检查,视觉能力未评估。它不是 GGUF,不能直接当作 Ollama 模型导入。

训练

训练于 2026-10-06,使用一张 Modal L4。此版本提高了风格影响:LoRA rank 8、alpha 16(alpha/r = 2)、学习率 1e-4、dropout 0.05。底模权重冻结,约 996 万参数参与训练。目标模块为语言模型的 q_proj、v_proj、gate_proj、up_proj、down_proj。

主页公开列表用于索引,回帖全文经已登录会话读取,仅采集该会话可访问的内容。使用采集时可访问的 1,429 条有文字正文的完整回复,保留重复回复的出现频次。2 条没有文字正文的完整记录及 13 条未取得全文的索引条目不进入训练。其他参与者的帖子仅提供输入上下文。按讨论主题划分:训练 999 条、验证 215 条、测试 215 条。提示词被屏蔽,损失只计算目标回复;序列上限 1,024 token,完整跑一轮共 999 次更新。

发布文件采用整轮训练的最终适配器,所有训练样本各处理一次。最佳验证检查点也出现在最后一步。

指标 数值
最终 / 最佳验证损失 3.19995
最终适配器测试损失 3.05981
训练更新次数 999
运行时间(含模型下载和评估) 1,270.65 秒
峰值 GPU 分配内存 11.918 GB

这些损失衡量对原作者回复的预测,不是通用能力或回答质量基准。数据保留重复回复,短语可能跨讨论主题重复。该版与较弱版本的数据划分不同,损失不能直接作为公平的版本质量对比。

使用

训练环境使用 torch==2.8.0、transformers==5.18.0、peft==0.21.2、accelerate==1.10.1。以下示例需要支持 BF16 的 NVIDIA GPU 和足够显存。

import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer
from peft import PeftModel
from peft.helpers import rescale_adapter_scale

base_id = "Qwen/Qwen3.5-4B"
revision = "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a"
tokenizer = AutoTokenizer.from_pretrained(base_id, revision=revision)
base = AutoModelForImageTextToText.from_pretrained(
    base_id, revision=revision, dtype=torch.bfloat16,
    device_map={"": 0}, attn_implementation="sdpa",
)
# 本地下载此仓库后,将这里替换为仓库所在目录。
model = PeftModel.from_pretrained(base, "./sbxB70sR71").eval()
messages = [
    {"role": "system", "content":
     "准确、直接地回应当前话题,明显采用 xB70sR71 简短、随意的中文表达风格;"
     "不要照抄帖子或声称自己是账号本人。"},
    {"role": "user", "content": "电脑太慢了,预算不多,你怎么看?"},
]
prompt = tokenizer.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).to("cuda")
# 1.0 是完整训练强度;0.0 关闭 LoRA;中间值会减弱适配器影响。
with rescale_adapter_scale(model, 1.0), torch.inference_mode():
    output = model.generate(
        **inputs, max_new_tokens=120, do_sample=True,
        temperature=0.7, top_p=0.9,
        eos_token_id=tokenizer.convert_tokens_to_ids("<|im_end|>"),
    )
print(tokenizer.decode(output[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))

已知限制

语料多数是很短的论坛回复,这一高风格权重版本可能只返回表情或短句、重复措辞、忽略问题,甚至把训练中的观点带入新话题。一个部署接口检查向它询问“电脑太慢、预算不多怎么办”,得到的回答仅为 🤔。接口成功响应不等于内容质量改善。

没有进行通用能力基准测试、系统性风格相似度评估或完整人工质量审查。训练上下文是采集到的相关楼层快照,不覆盖全部讨论,图片只保留链接,没有识别图片文字。部分回帖复用了前一天的已采集页面,文字与最新公开列表核对过;上下文并非全部重新在线读取。

此仓库不包含原始社区语料、其他参与者的帖子全文、API 密钥或任何私人聊天记录。不要用于冒充账号本人。

文件与许可

  • adapter_model.safetensors:最终 LoRA 权重。
  • adapter_config.json:已改为可移植的底模 ID 与固定底模版本。
  • training_config.json、training_results.json:配置和测得的数值。
  • SHA256SUMS:发布文件校验值。

适配器按 Apache-2.0 发布;底模同样使用 Apache-2.0。此许可声明不包含原始论坛帖子或为其重新授予许可。

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AIXF/sbxB70sR71

Finetuned
Qwen/Qwen3.5-4B
Adapter
(709)
this model