Instructions to use AIXF/sbNeo with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use AIXF/sbNeo with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-4B") model = PeftModel.from_pretrained(base_model, "AIXF/sbNeo") - Notebooks
- Google Colab
- Kaggle
sbNeo · Qwen3.5-4B LoRA
学习 LINUX DO 用户 Neo 的简短、随意中文表达风格的非官方 LoRA 适配器。由 AIXF 训练发布,不是 Neo 本人或 LINUX DO 官方提供的模型,也不代表该用户的真实身份、观点或认可。
这是约 40 MB 的独立适配器,需与 Qwen/Qwen3.5-4B 一起加载,不能作为完整底模单独运行。权重采用 Apache-2.0;论坛原文不随本仓库发布,这一许可不声明对论坛原文的再许可。
数据与训练
来源:https://linux.do/u/neo/activity 。处理约 8,400 条活动行后停止;去重并排除系统提示后有 7,305 条可见发言。排除 794 条未展开摘要,移除其他作者引用,并排除 5 条空正文后,使用 6,506 条样本:训练 5,204、验证 651、测试 651。
输入只包含真实主题标题和类别,没有此前楼层上下文,没有虚构问答。页面直接显示的正文未逐条与主题原文核对,不能保证全部完整;话题首帖未采到。主题在各集合间隔离,至少 20 字的相同答案对应主题也分到同一集合;短表达保留原始出现频次。
Modal L4,BF16 LoRA SFT,完整一轮。rank 8、alpha 16、dropout 0.05、学习率 1e-4;仅计算助手答案损失。训练约 93.14 分钟,5,204 次更新,9,961,472 个可训练参数。最大序列 1,024 token,答案上限 512 token。
评估与限制
| 指标 | 损失 |
|---|---|
| 底模验证 | 5.611190 |
| 最终/最佳验证,第 5,204 步 | 3.849142 |
| 独立测试,651 条 | 3.850969 |
这些指标只反映预测留出论坛回复的难度,不是通用能力、风格相似度或事实准确性的评估。初次实际两轮对话测试中,完整适配强度的模型对用户刚告知的水果偏好答非所问;因此不能保证切题、记忆准确或可靠回答。也没有经过通用基准评测。它可能生成论坛表情文本标记,例如 :tieba_025:。
加载示例
安装 requirements.txt 中的模型依赖,在支持 BF16 的 CUDA GPU 上运行:
import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer
from peft import PeftModel
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, "AIXF/sbNeo").eval()
messages = [
{"role": "system", "content": "直接回答用户的问题,用简短、随意的中文表达。不要冒充 Neo。"},
{"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")
with torch.inference_mode():
result = model.generate(
**inputs, max_new_tokens=128, do_sample=True, temperature=0.7,
top_p=0.9, repetition_penalty=1.1,
eos_token_id=tokenizer.convert_tokens_to_ids("<|im_end|>"),
)
print(tokenizer.decode(result[0, inputs.input_ids.shape[1]:], skip_special_tokens=True))
示例是与已部署服务相同的加载方式,但未对这段仓库示例单独进行 GPU 运行验证。训练脚本和数据整理脚本可供检查流程;原始语料不在仓库,因此仓库本身不是可独立重现的完整训练数据包。train_modal.py 需要本地 Modal 登录和准备好的 data/、manifest.json,运行会消耗计算额度。
- Downloads last month
- 16