一文彻底搞懂大模型

文章正文
发布时间:2025-05-14 15:23

### LORA微调方法 在讨论LORA(此处指Low-Rank Adaptation, 而非低功耗广域网技术)微调时,重要的一点在于这种技术并未修改原始预训练模型中的参数,而是通过引入额外的、数量较少的新参数来进行特定任务的学习[^1]。新旧参数共同作用于最终的任务执行过程中。 对于具体的微调过程而言,选择合适的超参数至关重要。这涉及到学习率、批次大小以及迭代次数等多个方面。为了达到理想的微调效果,建议依据具体的应用场景反复试验并优化这些设置值[^2]。 特别地,在设定`per_device_train_batch_size`这一参数时,可以从较小数值如4起步,并采用二分查找策略逐步扩大直到遇到显存溢出错误为止;一旦发生OOM(out of memory),则回退至上一成功配置并将之减半继续测试,以此方式寻找最适宜的批量尺寸[^3]。 ```python from transformers import Trainer, TrainingArguments training_args = TrainingArguments( output_dir='./results', per_device_train_batch_size=4, learning_rate=5e-5, num_train_epochs=3, ) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, ) ``` 上述代码展示了如何利用Hugging Face库创建一个基础版的Trainer对象用于启动微调流程。其中包含了几个关键性的初始化参数定义,比如每设备上的批处理规模(`per_device_train_batch_size`)设定了初始值为4,而学习速率(`learning_rate`)被指定在一个相对保守的位置以便后续调整[^4]。