大语言模型(LLM)的本质是自回归 Transformer:给定 token 序列,预测下一个 token 的概率分布。工程落地围绕三件事展开——推理、微调、部署。本文从专业角度给出可运行代码与关键要点。
LLM 推理时,每生成一个 token 都要重新计算注意力。KV Cache 缓存历史 token 的 Key/Value,避免重复计算。上下文越长,Cache 占用显存越大。
使用 Hugging Face 加载并推理:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "Qwen/Qwen2.5-7B-Instruct"
tok = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
prompt = "用三句话解释大模型中的 KV Cache。"
inputs = tok(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
out = model.generate(
**inputs,
max_new_tokens=128,
do_sample=False,
temperature=0.0,
)
print(tok.decode(out[0], skip_special_tokens=True))要点:bfloat16 降低显存;device_map="auto" 自动分配多卡;do_sample=False 适合事实任务。
全量微调 7B 模型需要数十 GB 显存。LoRA 冻结原权重,注入低秩矩阵,只训练少量参数。QLoRA 进一步将基座量化为 4bit,大幅降低显存。
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
from transformers import BitsAndBytesConfig
bnb = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
)
model = AutoModelForCausalLM.from_pretrained(
model_id,
quantization_config=bnb,
device_map="auto",
)
model = prepare_model_for_kbit_training(model)
lora = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM",
)
model = get_peft_model(model, lora)
model.print_trainable_parameters()关键参数:r 越大容量越强但易过拟合;lora_alpha 控制缩放;target_modules 通常选注意力投影层。数据质量比数量重要,几百条高质量样本往往够用。
量化降低显存,vLLM 通过 PagedAttention 和连续批处理提升吞吐。部署 OpenAI 兼容服务:
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-7B-Instruct \
--tensor-parallel-size 2 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9 \
--port 8000调用方式与 OpenAI 一致:
from openai import OpenAI
client = OpenAI(api_key="EMPTY", base_url="http://localhost:8000/v1")
resp = client.chat.completions.create(
model="Qwen/Qwen2.5-7B-Instruct",
messages=[{"role": "user", "content": "什么是量化?"}],
)
print(resp.choices[0].message.content)评估维度:困惑度、任务指标(准确率/F1)、人工盲测、红队测试。微调后必须回归通用能力,防止灾难性遗忘。
安全合规:密钥放环境变量;训练数据脱敏并确保版权;输出高风险内容(法律、医疗、财务)人工复核;遵守模型许可证和平台规则。
大模型工程链路:推理 → 微调 → 量化 → 部署 → 评估 → 安全。模型能力只是起点,真正决定成本与效果的是工程化:合理的精度选择、严格的数据治理、持续的指标监控和明确的合规边界。掌握这条链路,才能在真实业务中稳定落地。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。