题库 人工智能大模型 题目列表 程序题:参数高效微调低秩适配方法 LoRA(Low-Rank Ad...
组合题

程序题:参数高效微调

低秩适配方法 LoRA(Low-Rank Adaptation)是一种参数高效微调方法,通过只训练 部分低秩矩阵插入至原始模型的关键层,实现大语言模型的高效定制。与传统微调相 比,LoRA 显著减少了训练参数量和显存需求,适用于资源受限场景下的大模型下游训练。一个典型训练场景如下:

模型:Qwen-2.5-7B-InstructLoRA 仅插入注意力机制中关键的两个投影层。

• 资源:单卡 16GB 显存;输入序列长度上限 2048

• 训练策略:需将全局 batch size 控制在 8 左右,在显存足够的情况下尽量快的进行训练。

• 精度:启用半精度训练以降低显存占用。

• 产出:训练完成后,仅保存 LoRA adapter 权重,供下游推理使用。

请阅读以下训练Pytho代码,并根据需求完成空缺部分。

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM,
TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model
model_name = "Qwen/Qwen2.5-7B-Instruct"
# 1) 加载分词器
tokenizer = ____[26]____
model = AutoModelForCausalLM.from_pretrained(
    model_name, device_map="auto", torch_dtype=torch.float16,trust_remote_code=True
)
# 2) 配置 LoRA
lora_config = LoraConfig(
    ____[27]____
    target_modules=____[28]____,
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM"
)
model = get_peft_model(model, lora_config)
# 3) 定义 Trainer(假设 train_dataset 已经准备好)
training_args = TrainingArguments(
    output_dir="./lora-qwen2.5-7b",
    ____[29]____
    num_train_epochs=3,
    learning_rate=2e-4,
    ____[30]____
    logging_steps=10,
    save_strategy="epoch"
)
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
    tokenizer=tokenizer,
)
trainer.train()
# 4) 保存 LoRA 权重
model.save_pretrained("./lora-qwen2.5-7b-lora")
第1题 单选
Qwen2.5 可能包含自定义分词器/处理逻辑,要求与模型端一致的 remote code。 请选择一种能正确加载该模型分词器的方式:
A.
AutoTokenizer.from_pretrained(model_name, return_tensors="pt")
B.
AutoTokenizer.load(model_name)
C.
AutoTokenizer(model_name)
D.
AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
第2题 单选
请参考题目描述的计算资源,在尽量保持训练稳定和速度的前提下,选择常见且 相对节省显存的 LoRA 配置:
A.
r=64, lora_alpha=32,
B.
rr=8, lora_alpha=64,
C.
r=8, lora_alpha=16,
D.
r=32, lora_alpha=8,
第3题 单选
为了配置 LoRA 权重的注入位置,以下代码更合理的是:
A.
["mlp", "norm"]
B.
 "all_linear_layers"
C.
 ["k_proj", "o_proj"]
D.
["q_proj", "v_proj"]
第4题 单选
显存限制和内存溢出(Out Of Memory, OOM)风险下,以下配置最稳妥的是:
A.
per_device_train_batch_size=2, gradient_accumulation_steps=4,
B.
global_train_batch_size=8, gradient_accumulation_steps=4,
C.
global_train_batch_size=8, per_device_train_batch_size=1,
D.
per_device_train_batch_size=1, gradient_accumulation_steps=8,
第5题 单选
为了配置训练的数据类型,以下代码更合理的是:
A.
fp32=True,
B.
fp16=True,
C.
training_type="fp32",
D.
training_type="bf16",
题目信息
青少年组 样题/模拟题 2025年 编程题 成人组
-
正确率
0
评论
92
点击