OLMo-3-7B 大模型工程化中文 LoRA Adapter

这是一个基于 allenai/Olmo-3-7B-Instruct / unsloth/olmo-3-7b-instruct-unsloth-bnb-4bit 训练得到的 LoRA adapter。训练目标是让模型更适合用中文回答大模型研发与工程化实践相关问题,例如 LoRA/PEFT、SFT 数据构造、RAG、向量检索、Agent、量化、部署与训练排障。

本仓库只包含 LoRA adapter,不包含完整基座模型权重。使用时需要先加载兼容的 OLMo-3-7B Instruct 基座模型,再加载本 adapter。

模型信息

  • 模型类型:PEFT LoRA adapter
  • 基座模型unsloth/olmo-3-7b-instruct-unsloth-bnb-4bit
  • 训练数据集Nwna/llm-engineering-sft-8000
  • 训练语言:中文为主
  • 任务类型:中文技术问答、概念解释、方案对比、步骤指导、实践排错
  • 训练方式:LoRA SFT,4bit 量化加载基座模型,只训练 adapter 参数

训练配置

主要训练参数如下:

base model = unsloth/olmo-3-7b-instruct-unsloth-bnb-4bit
dataset = Nwna/llm-engineering-sft-8000
num_train_epochs = 2.0
max_seq_length = 2048
per_device_train_batch_size = 4
gradient_accumulation_steps = 2
learning_rate = 1e-4
warmup_ratio = 0.05
lr_scheduler_type = cosine
optim = adamw_8bit
LoRA r = 16
LoRA alpha = 16
LoRA dropout = 0
target_modules = q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj

训练在 Modal H100 环境中完成,并使用 W&B 记录训练曲线和生成样例。

评估结果

本次训练完成 2 epoch,共 2000 step:

train_loss ≈ 1.1852

训练后使用固定 prompt 做了生成效果抽查,覆盖三类能力:

  • 目标领域能力:LoRA、PEFT、4bit 量化、adapter 保存与部署、训练排障
  • 相邻工程能力:RAG、Transformer、企业文档问答系统设计
  • 通用能力保持:翻译、简单数学、邮件写作、常识解释

抽查结论:

  • LoRA/PEFT、RAG、Transformer 等目标领域回答整体可用。
  • 翻译和简单数学回答正常。
  • 个别通用常识问题仍可能出现事实错误,因此不建议把该 adapter 用作通用知识模型。

使用方式

示例代码:

from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch

base_model = "unsloth/olmo-3-7b-instruct-unsloth-bnb-4bit"
adapter = "Nwna/olmo3-7b-llm-engineering-lora"

tokenizer = AutoTokenizer.from_pretrained(adapter)
model = AutoModelForCausalLM.from_pretrained(
    base_model,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
model = PeftModel.from_pretrained(model, adapter)
model.eval()

messages = [
    {"role": "user", "content": "LoRA 和全参数微调有什么区别?为什么本作业选择 LoRA?"}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)

with torch.no_grad():
    outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

如果在 Unsloth 环境中使用,也可以先用 Unsloth 加载基座模型,再加载本 LoRA adapter。

适用场景

适合:

  • 大模型研发课程作业演示
  • LoRA / PEFT 微调流程复现
  • 中文大模型工程化知识问答实验
  • SFT 数据集与训练监控流程展示

不适合:

  • 医疗、法律、金融等高风险决策
  • 需要严格事实保证的生产问答系统
  • 完全通用的知识问答模型
  • 不经人工审核直接对外部署

局限性

  • 数据集规模有限,覆盖的是大模型研发与工程化学习场景,不代表完整通用知识。
  • 本仓库是 LoRA adapter,不能脱离兼容基座模型单独推理。
  • 训练使用 4bit 量化加载基座模型,效果和全参数微调不可直接等同。
  • 生成结果仍可能出现事实错误、表达重复或遗漏细节,使用前应结合人工评估。

关联资源

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

Dataset used to train Nwna/olmo3-7b-llm-engineering-lora