Downloads · 30 days
7
8% of all-time downloads
Nwna/olmo3-7b-llm-engineering-lora
olmo3-7b-llm-engineering-lora is a text generation model from Nwna. Use it when you need the model to write or continue text. It is set up for peft.
这是一个基于 allenai/Olmo-3-7B-Instruct 训练得到的 LoRA adapter。训练时通过 Unsloth 的 FastLanguageModel.frompretrained 加载该基座,并设置 loadin4bit=True 进行 4bit 量化加载。训练目标是让模型更适合用中文回答大模型研发与工程化实践相关问题,例如 LoRA/PEFT、SFT 数据构造、RAG、向量检索、Agent、量化、部署与训…
Downloads · 30 days
7
8% of all-time downloads
All-time downloads
91
Public
Repo size
160 MB
Likes
0
Public
Click a slice to open those files.
.safetensors160 MB · 96%
From the Hugging Face model README
这是一个基于 allenai/Olmo-3-7B-Instruct 训练得到的 LoRA adapter。训练时通过 Unsloth 的 FastLanguageModel.from_pretrained 加载该基座,并设置 load_in_4bit=True 进行 4bit 量化加载。训练目标是让模型更适合用中文回答大模型研发与工程化实践相关问题,例如 LoRA/PEFT、SFT 数据构造、RAG、向量检索、Agent、量化、部署与训练排障。
本仓库只包含 LoRA adapter,不包含完整基座模型权重。使用时需要先加载兼容的 OLMo-3-7B Instruct 基座模型,再加载本 adapter。
allenai/Olmo-3-7B-InstructFastLanguageModel.from_pretrained(..., load_in_4bit=True)Nwna/llm-engineering-sft-8000主要训练参数如下:
base model = allenai/Olmo-3-7B-Instruct
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 做了生成效果抽查,覆盖三类能力:
抽查结论:
示例代码:
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
base_model = "allenai/Olmo-3-7B-Instruct"
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 环境中使用,也可以用 FastLanguageModel.from_pretrained(model_name="allenai/Olmo-3-7B-Instruct", load_in_4bit=True) 加载基座模型,再加载本 LoRA adapter。
适合:
不适合: