news 2026/8/29 6:59:25

如何微调一个大模型?

作者头像

张小明

前端开发工程师

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/8/28 12:48:25

Transformers连续批处理:3步让GPU利用率飙升300%的入门指南

Transformers连续批处理:3步让GPU利用率飙升300%的入门指南 【免费下载链接】transformers huggingface/transformers: 是一个基于 Python 的自然语言处理库,它使用了 PostgreSQL 数据库存储数据。适合用于自然语言处理任务的开发和实现,特别…

作者头像 李华
网站建设 2026/8/28 14:59:11

Alita:为移动端量身打造的终极React框架解决方案

Alita:为移动端量身打造的终极React框架解决方案 【免费下载链接】alita A React framework based on umi. 项目地址: https://gitcode.com/gh_mirrors/ali/alita 在当今移动优先的时代,开发高性能的移动应用已成为前端开发者的核心需求。Alita作…

作者头像 李华
网站建设 2026/8/28 2:54:35

解锁群晖照片AI识别:让老设备焕发新活力的完美补丁

解锁群晖照片AI识别:让老设备焕发新活力的完美补丁 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 你是否曾经对着DS918等性价比神机叹气…

作者头像 李华
网站建设 2026/8/27 2:09:13

TradingAgents-CN智能交易系统:多智能体协作的AI金融决策引擎

TradingAgents-CN是一套基于多智能体大语言模型构建的中文金融交易决策框架,通过模拟专业投资机构的完整工作流程,为投资者提供从数据收集到交易执行的全链路AI解决方案。该系统将复杂的金融分析任务分解为多个专业智能体角色,实现了人机协同…

作者头像 李华
网站建设 2026/8/28 23:33:11

电商系统中Oracle EXISTS的5个实战应用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商数据分析演示项目,包含以下EXISTS应用场景:1. 查找有未支付订单的VIP客户;2. 识别库存中从未被购买的商品;3. 筛选同时购…

作者头像 李华