news 2026/7/5 6:50:33

如何微调一个大模型?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何微调一个大模型?

直接上代码, 代码来自于这里,经过实践后修改

```python # 模型 from transformers import AutoModelForCausalLM model_path = 'D://qwen2/dir' base_model = AutoModelForCausalLM.from_pretrained(model_path) from peft import LoraConfig lora_config = LoraConfig( r=8, lora_alpha=16, task_type="CAUSAL_LM", target_modules=["q_proj", "v_proj"], bias="none", lora_dropout=0.05 ) from peft import get_peft_model model = get_peft_model(base_model, lora_config) model.to("cuda") # 数据 from modelscope.msdatasets import MsDataset from datasets import Dataset dataset : Dataset = MsDataset.load("llamafactory/alpaca_zh", subset_name="default")['train'] # type:ignore dataset = dataset.map( lambda val: { "text": f"Instruction: {val['instruction']}\n" + f"Input: {val['input'] if val['input'] else ''}\n" + f"Output: {val['output']}" } ) from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(model_path) dataset = dataset.map( lambda val: tokenizer( val['text'], truncation=True, padding="max_length", max_length=48 ), batched=True, remove_columns=["text"] ) dataset = dataset.map( lambda val: {"labels": val['input_ids'].copy()}, batched=True ) train_len = int(0.8 * len(dataset)) train_dataset = dataset.select(range(train_len)) eval_dataset = dataset.select(range(train_len, len(dataset))) # 训练 from transformers import TrainingArguments train_arg = TrainingArguments( eval_strategy="epoch", save_strategy="epoch", num_train_epochs=1, output_dir="./output", load_best_model_at_end=True, per_gpu_eval_batch_size=1, ) from transformers import Trainer trainer = Trainer( args=train_arg, model=model, train_dataset=train_dataset, eval_dataset=eval_dataset ) trainer.train() trainer.save_model("./final_model1") ```

训练截图

训练结束后的测试代码

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 3:25:56

RuoYi-Vue终极指南:3步构建企业级Java应用系统

RuoYi-Vue终极指南:3步构建企业级Java应用系统 【免费下载链接】RuoYi-Vue-fast :tada: (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/7/5 2:10:37

MOSES:重新定义药物发现中分子生成的基准测试

MOSES:重新定义药物发现中分子生成的基准测试 【免费下载链接】moses 项目地址: https://gitcode.com/gh_mirrors/mo/moses 在人工智能加速药物研发的时代,分子生成模型正以前所未有的速度发展。然而,缺乏统一的评估标准成为了制约该…

作者头像 李华
网站建设 2026/7/5 3:26:58

DeepSeek-Coder-V2:开源代码大模型的性能突破与行业影响

导语 【免费下载链接】DeepSeek-Coder-V2-Base 开源代码智能利器DeepSeek-Coder-V2,性能比肩GPT4-Turbo,支持338种编程语言,128K代码上下文,助力编程如虎添翼。 项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepS…

作者头像 李华
网站建设 2026/6/26 14:30:03

代码解读dc

整个程序是一个基于进化算法的多模态融合架构搜索框架(DC-NAS),核心目标是自动搜索最优的多模态特征融合架构,用于分类任务。以下是程序的完整执行流程,并同步说明各辅助文件的调用时机和作用: 一、初始化阶…

作者头像 李华
网站建设 2026/7/4 18:08:13

网络安全需掌握的专业术语解析

在网络安全领域,各种英文缩写构成了专业交流的基础语言。对于从业者和学习者而言,准确理解这些术语的含义和关联至关重要。本文将系统梳理网络安全的核心术语,帮助读者建立清晰的认知框架。一、基础设施与网络服务术语DNS - 域名系统&#xf…

作者头像 李华