做网页和网站有什么区别吗文山州建设局信息网站
2026/3/10 2:07:30 网站建设 项目流程
做网页和网站有什么区别吗,文山州建设局信息网站,90设计官方,公司做网站做什么类型的网站好简介#xff1a; 该教程介绍了如何使用Qwen2#xff0c;一个由阿里云通义实验室研发的开源大语言模型#xff0c;进行指令微调以实现文本分类。微调是通过在#xff08;指令#xff0c;输出#xff09;数据集上训练来改善LLMs理解人类指令的能力。教程中#xff0c;使用…简介该教程介绍了如何使用Qwen2一个由阿里云通义实验室研发的开源大语言模型进行指令微调以实现文本分类。微调是通过在指令输出数据集上训练来改善LLMs理解人类指令的能力。教程中使用Qwen2-1.5B-Instruct模型在zh_cls_fudan_news数据集上进行微调并借助SwanLab进行监控和可视化。环境要求Python 3.8和英伟达显卡。步骤包括安装所需库、准备数据、加载模型、配置训练可视化工具及运行完整代码。训练完成后展示了一些示例以验证模型性能。相关资源链接也一并提供。Qwen2指令微调Qwen2是通义千问团队的开源大语言模型由阿里云通义实验室研发。以Qwen2作为基座大模型通过指令微调的方式实现高准确率的文本分类是学习大语言模型微调的入门任务。指令微调是一种通过在由指令输出对组成的数据集上进一步训练LLMs的过程。 其中指令代表模型的人类指令输出代表遵循指令的期望输出。 这个过程有助于弥合LLMs的下一个词预测目标与用户让LLMs遵循人类指令的目标之间的差距。在这个任务中我们会使用Qwen2-1.5b-Instruct模型在zh_cls_fudan_news数据集上进行指令微调任务同时使用SwanLab进行监控和可视化。代码完整代码直接看本文第5节 或 Github、Jupyter Notebook实验日志过程Qwen2-1.5B-Fintune - SwanLab模型Modelscope数据集zh_cls_fudan_newsSwanLabhttps://swanlab.cn本教程参考了焦躁的冷味姜汁ttb的这篇文章。1.环境安装本案例基于Python3.8请在您的计算机上安装好Python并且有一张英伟达显卡显存要求并不高大概10GB左右就可以跑。我们需要安装以下这几个Python库在这之前请确保你的环境内已安装了pytorch以及CUDAswanlab modelscope transformers datasets peft accelerate pandas一键安装命令pip install swanlab modelscope transformers datasets peft pandas accelerate本案例测试于modelscope1.14.0、transformers4.41.2、datasets2.18.0、peft0.11.1、accelerate0.30.1、swanlab0.3.92.准备数据集本案例使用的是zh_cls_fudan-news数据集该数据集主要被用于训练文本分类模型。zh_cls_fudan-news由几千条数据每条数据包含text、category、output三列text 是训练语料内容是书籍或新闻的文本内容category 是text的多个备选类型组成的列表output 则是text唯一真实的类型数据集例子如下 [PROMPT]Text: 第四届全国大企业足球赛复赛结束新华社郑州月日电实习生田兆运上海大隆机器厂队昨天在洛阳进行的第四届牡丹杯全国大企业足球赛复赛中以力克成都冶金实验厂队进入前四名。沪蓉之战双方势均力敌分钟不分胜负。最后双方互射点球沪队才以一球优势取胜。复赛的其它场比赛青海山川机床铸造厂队击败东道主洛阳矿山机器厂队青岛铸造机械厂队战胜石家庄第一印染厂队武汉肉联厂队险胜天津市第二冶金机械厂队。在今天进行的决定九至十二名的两场比赛中包钢无缝钢管厂队和河南平顶山矿务局一矿队分别击败河南平顶山锦纶帘子布厂队和江苏盐城无线电总厂队。日将进行两场半决赛由青海山川机床铸造厂队和青岛铸造机械厂队分别与武汉肉联厂队和上海大隆机器厂队交锋。本届比赛将于日结束。完 Category: Sports, Politics Output:[OUTPUT]Sports 我们的训练任务便是希望微调后的大模型能够根据Text和Category组成的提示词预测出正确的Output。我们将数据集下载到本地目录下。下载方式是前往zh_cls_fudan-news - 魔搭社区 将train.jsonl和test.jsonl下载到本地根目录下即可3. 加载模型这里我们使用modelscope下载Qwen2-1.5B-Instruct模型modelscope在国内所以下载不用担心速度和稳定性问题然后把它加载到Transformers中进行训练from modelscope import snapshot_download, AutoTokenizer from transformers import AutoModelForCausalLM, TrainingArguments, Trainer, DataCollatorForSeq2Seq # 在modelscope上下载Qwen模型到本地目录下 model_dir snapshot_download(qwen/Qwen2-1.5B-Instruct, cache_dir./, revisionmaster) # Transformers加载模型权重 tokenizer AutoTokenizer.from_pretrained(./qwen/Qwen2-1___5B-Instruct/, use_fastFalse, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained(./qwen/Qwen2-1___5B-Instruct/, device_mapauto, torch_dtypetorch.bfloat16)4. 配置训练可视化工具我们使用SwanLab来监控整个训练过程并评估最终的模型效果。这里直接使用SwanLab和Transformers的集成来实现from swanlab.integration.huggingface import SwanLabCallback swanlab_callback SwanLabCallback(...) trainer Trainer( ... callbacks[swanlab_callback], )如果你是第一次使用SwanLab那么还需要去https://swanlab.cn上注册一个账号在用户设置页面复制你的API Key然后在训练开始时粘贴进去即可5. 完整代码开始训练时的目录结构|--- train.py |--- train.jsonl |--- test.jsonltrain.py:import json import pandas as pd import torch from datasets import Dataset from modelscope import snapshot_download, AutoTokenizer from swanlab.integration.huggingface import SwanLabCallback from peft import LoraConfig, TaskType, get_peft_model from transformers import AutoModelForCausalLM, TrainingArguments, Trainer, DataCollatorForSeq2Seq import os import swanlab def dataset_jsonl_transfer(origin_path, new_path): 将原始数据集转换为大模型微调所需数据格式的新数据集 messages [] # 读取旧的JSONL文件 with open(origin_path, r) as file: for line in file: # 解析每一行的json数据 data json.loads(line) context data[text] catagory data[category] label data[output] message { instruction: 你是一个文本分类领域的专家你会接收到一段文本和几个潜在的分类选项请输出文本内容的正确类型, input: f文本:{context},类型选型:{catagory}, output: label, } messages.append(message) # 保存重构后的JSONL文件 with open(new_path, w, encodingutf-8) as file: for message in messages: file.write(json.dumps(message, ensure_asciiFalse) \n) def process_func(example): 将数据集进行预处理 MAX_LENGTH 384 input_ids, attention_mask, labels [], [], [] instruction tokenizer( f|im_start|system\n你是一个文本分类领域的专家你会接收到一段文本和几个潜在的分类选项请输出文本内容的正确类型|im_end|\n|im_start|user\n{example[input]}|im_end|\n|im_start|assistant\n, add_special_tokensFalse, ) response tokenizer(f{example[output]}, add_special_tokensFalse) input_ids instruction[input_ids] response[input_ids] [tokenizer.pad_token_id] attention_mask ( instruction[attention_mask] response[attention_mask] [1] ) labels [-100] * len(instruction[input_ids]) response[input_ids] [tokenizer.pad_token_id] if len(input_ids) MAX_LENGTH: # 做一个截断 input_ids input_ids[:MAX_LENGTH] attention_mask attention_mask[:MAX_LENGTH] labels labels[:MAX_LENGTH] return { input_ids: input_ids, attention_mask: attention_mask, labels: labels} def predict(messages, model, tokenizer): device cuda text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue ) model_inputs tokenizer([text], return_tensorspt).to(device) generated_ids model.generate( model_inputs.input_ids, max_new_tokens512 ) generated_ids [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response tokenizer.batch_decode(generated_ids, skip_special_tokensTrue)[0] print(response) return response # 在modelscope上下载Qwen模型到本地目录下 model_dir snapshot_download(qwen/Qwen2-1.5B-Instruct, cache_dir./, revisionmaster) # Transformers加载模型权重 tokenizer AutoTokenizer.from_pretrained(./qwen/Qwen2-1___5B-Instruct/, use_fastFalse, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained(./qwen/Qwen2-1___5B-Instruct/, device_mapauto, torch_dtypetorch.bfloat16) model.enable_input_require_grads() # 开启梯度检查点时要执行该方法 # 加载、处理数据集和测试集 train_dataset_path train.jsonl test_dataset_path test.jsonl train_jsonl_new_path new_train.jsonl test_jsonl_new_path new_test.jsonl if not os.path.exists(train_jsonl_new_path): dataset_jsonl_transfer(train_dataset_path, train_jsonl_new_path) if not os.path.exists(test_jsonl_new_path): dataset_jsonl_transfer(test_dataset_path, test_jsonl_new_path) # 得到训练集 train_df pd.read_json(train_jsonl_new_path, linesTrue) train_ds Dataset.from_pandas(train_df) train_dataset train_ds.map(process_func, remove_columnstrain_ds.column_names) config LoraConfig( task_typeTaskType.CAUSAL_LM, target_modules[q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj], inference_modeFalse, # 训练模式 r8, # Lora 秩 lora_alpha32, # Lora alaph具体作用参见 Lora 原理 lora_dropout0.1, # Dropout 比例 ) model get_peft_model(model, config) args TrainingArguments( output_dir./output/Qwen1.5, per_device_train_batch_size4, gradient_accumulation_steps4, logging_steps10, num_train_epochs2, save_steps100, learning_rate1e-4, save_on_each_nodeTrue, gradient_checkpointingTrue, report_tonone, ) swanlab_callback SwanLabCallback( projectQwen2-fintune, experiment_nameQwen2-1.5B-Instruct, description使用通义千问Qwen2-1.5B-Instruct模型在zh_cls_fudan-news数据集上微调。, config{ model: qwen/Qwen2-1.5B-Instruct, dataset: huangjintao/zh_cls_fudan-news, } ) trainer Trainer( modelmodel, argsargs, train_datasettrain_dataset, data_collatorDataCollatorForSeq2Seq(tokenizertokenizer, paddingTrue), callbacks[swanlab_callback], ) trainer.train() # 用测试集的前10条测试模型 test_df pd.read_json(test_jsonl_new_path, linesTrue)[:10] test_text_list [] for index, row in test_df.iterrows(): instruction row[instruction] input_value row[input] messages [ { role: system, content: f{instruction}}, { role: user, content: f{input_value}} ] response predict(messages, model, tokenizer) messages.append({ role: assistant, content: f{response}}) result_text f{messages[0]}\n\n{messages[1]}\n\n{messages[2]} test_text_list.append(swanlab.Text(result_text, captionresponse)) swanlab.log({ Prediction: test_text_list}) swanlab.finish()看到下面的进度条即代表训练开始6.训练结果演示在SwanLab上查看最终的训练结果可以看到在2个epoch之后微调后的qwen2的loss降低到了不错的水平——当然对于大模型来说真正的效果评估还得看主观效果。可以看到在一些测试样例上微调后的qwen2能够给出准确的文本类型至此你已经完成了qwen2指令微调的训练想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2025 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容​一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明 AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容​

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询