news 2026/6/15 13:27:47

如何微调一个大模型?

作者头像

张小明

前端开发工程师

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/6/15 11:45:17

基于Java + vue学生管理系统(源码+数据库+文档)

学生管理 目录 基于springboot vue学生管理系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue学生管理系统 一、前言 博主介绍&am…

作者头像 李华
网站建设 2026/6/15 11:47:38

离谱!加了一个 @NotNull,接口竟然返回两条重复报错?

问题现象 有个项目新增了一个接口,这个接口的请求参数里面定义了一个字段,这个字段使用了 NotNull 注解修饰,同时这个对象上使用了 Lombok 的 Data 注解修饰。然后调用这个接口的时候提示信息有重复的。如下图所示:问题复现 首先定…

作者头像 李华
网站建设 2026/6/15 2:01:24

GLM-4.6技术深度解析:智能体系统与代码生成能力的重大突破

GLM-4.6技术深度解析:智能体系统与代码生成能力的重大突破 【免费下载链接】GLM-4.6 GLM-4.6在GLM-4.5基础上全面升级:200K超长上下文窗口支持复杂任务,代码性能大幅提升,前端页面生成更优。推理能力增强且支持工具调用&#xff0…

作者头像 李华
网站建设 2026/6/10 3:08:57

Markdown幻灯片制作终极指南:从入门到精通

Markdown幻灯片制作终极指南:从入门到精通 【免费下载链接】marp The site of classic Markdown presentation writer app 项目地址: https://gitcode.com/gh_mirrors/ma/marp 还在为制作精美幻灯片而烦恼吗?🤔 每次打开传统演示软件都…

作者头像 李华
网站建设 2026/6/15 3:24:26

AltStore:解锁iOS应用安装的全新体验

AltStore:解锁iOS应用安装的全新体验 【免费下载链接】AltStore AltStore is an alternative app store for non-jailbroken iOS devices. 项目地址: https://gitcode.com/gh_mirrors/al/AltStore 你是否曾经因为App Store的限制而无法安装某些实用应用&…

作者头像 李华