当前位置: 首页 > news >正文

ai学习之在云端训练一个模型

平台:魔塔


https://www.modelscope.cn/

在上面创建一个notebook

配置环境


pip install "transformers>=4.57" "qwen_vl_utils>=0.0.14" pip install "ms-swift>=3.9.1" pip install modelscope

下载模型


modelscope download --model Qwen/Qwen3-VL-2B-Instruct --local_dir /mnt/workspace/models/Qwen/Qwen3-VL-2B-Instruct

上传数据集


from modelscope.hub.api import HubApi # 1. 登录 api = HubApi() api.login('命令牌') # 2. 上传数据集 # repo_id: 你的用户名/数据集仓库名 # folder_path: 本地包含图片、json、metadata.jsonl 的文件夹路径(注意这里参数名也变了) # repo_type: 必须指定为 'dataset',否则默认会上传为模型 api.upload_folder( repo_id='BECAUSEACC/rock', folder_path='./', repo_type='dataset', commit_message='upload dataset folder to repo' )

notebook上下载数据集


modelscope download --dataset BECAUSEACC/rock --local_dir ./rock_data

开始训练


CUDA_VISIBLE_DEVICES=0 swift sft \ --model "/mnt/workspace/models/Qwen/Qwen3-VL-2B-Instruct" \ --train_type lora \ --dataset './data_swift/train_messages.jsonl' \ --val_dataset './data_swift/val_messages.jsonl' \ --torch_dtype bfloat16 \ --num_train_epochs 3 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --learning_rate 5e-5 \ --lora_rank 16 \ --lora_alpha 32 \ --target_modules q_proj k_proj v_proj o_proj gate_proj up_proj down_proj \ --gradient_accumulation_steps 8 \ --eval_steps 300 \ --save_steps 300 \ --save_total_limit 2 \ --logging_steps 20 \ --output_dir ./output_qwen_vl_lora_v2 \ --gradient_checkpointing true \ --quant_method bnb \ --quant_bits 4

训练完成后打包下载


swift export \ --model /mnt/workspace/models/Qwen/Qwen3-VL-2B-Instruct \ --adapters ./output_qwen_vl_lora/v0-20260428-172313/checkpoint-38 \ --merge_lora true \ --output_dir ./qwen_vl_final_package

测试模型


import torch from transformers import AutoModelForImageTextToText, AutoProcessor from PIL import Image model_path = r"B:\Pycharm_PROJECT\picture\checkpoint-38-merged" # 改为你的实际路径 image_path = r"B:\Pycharm_PROJECT\picture\my_images\train\010_olivinite\010_olivinite_3.jpg" # 改为你的图片路径 print("正在加载模型...") model = AutoModelForImageTextToText.from_pretrained( model_path, dtype=torch.bfloat16, # 注意改成 dtype,消除警告 device_map="auto", trust_remote_code=True ) processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) print("模型加载完成!") image = Image.open(image_path) query = "这张图片是什么岩石?" messages = [{"role": "user", "content": [ {"type": "image", "image": image}, {"type": "text", "text": query} ]}] # ---------- 修正部分 ---------- # 方法1:先获得文本模板,再构造输入 text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) inputs = processor(text=text, images=[image], return_tensors="pt").to(model.device) # ----------------------------- outputs = model.generate(**inputs, max_new_tokens=512, do_sample=True, temperature=0.1) response = processor.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True) print(f"用户: {query}") print(f"模型: {response}")
http://www.jsqmd.com/news/717771/

相关文章:

  • Windows网络测速终极指南:3分钟掌握iperf3-win-builds专业测速
  • Windows 11终极优化指南:用Win11Debloat一键清理系统垃圾,提升51%性能
  • 《剑来 第二季 (2025) 4K 完结》电影网盘下载
  • LM大模型ChatGPT式对话系统搭建:从模型部署到前端交互全流程
  • 量子达尔文主义与NISQ设备上的量子经典过渡实验
  • 别再死记硬背Word2Vec了!用Python+Gensim搞懂CBOW和Skip-gram的区别
  • cv_unet_image-colorization开源镜像优势:免API密钥、无隐私泄露、永久免费使用
  • NCM解密终极指南:5分钟解锁网易云音乐加密文件
  • 【花雕学编程】Arduino BLDC 之“跟屁虫”机器人(Follow-Me Robot)
  • 【实践】Monorepo 工程化:沉淀可复用的配置规则
  • #P4538.第2题-基于混淆矩阵,推导分类模型的核心评估指标
  • Git Folder Dashboard
  • 终极指南:如何利用checkm8漏洞解锁iOS设备的无限可能
  • AI剧本杀创建房间全流程界面设计报告
  • 【花雕学编程】Arduino BLDC 之差速驱动机器人运动学逆解分配
  • CSS布局实战技巧:从基础到高级
  • Phi-3.5-mini-instruct效果展示:256 tokens内精准归纳长文本,实测对比效果
  • D13: 文化建设:鼓励实验,容忍失败
  • 一套键鼠操作两台电脑
  • Phi-3.5-mini快速上手:小白友好的文本生成模型部署指南
  • SQL嵌套查询中常见报错排查_语法与权限处理
  • 代码随想录算法训练营第四十二天|LeetCode 188 买卖股票的最佳时机 IV、LeetCode 309 最佳买卖股票时机含冷冻期、LeetCode 714 买卖股票的最佳时机含手续费
  • bgp组网中同一层隔离一台设备怎么操作?
  • Flux2-Klein-9B-True-V2环境部署详解:从Git克隆到模型服务的完整流程
  • 传统企业应用集成
  • 企业宣传视频制作:Sonic数字人实战案例,低成本生成专业内容
  • 硬件模糊测试技术:GoldenFuzz框架解析与应用
  • Real Anime Z 网络通信优化:提升模型API响应速度实战
  • BeepBank-500:UI声音设计与心理声学研究的标准化数据集
  • real-anime-z多场景落地:同人创作、轻小说配图、社交平台头像批量生成