LLaMAFactory、ModelScope 大模型微调实战(下)

LLaMAFactory、ModelScope 大模型微调实战(下)

一、前言

上次简单介绍了下 LLaMAFactory、ModelScope的微调,今天再来总结下如何部署已经微调好的大模型。

直通车→→→ https://blog.ZEEKLOG.net/tadexinnian/article/details/159154443

本次演示基于魔搭社区(https://www.modelscope.cn/my/mynotebook

二、将模型转换为gguf

2.1 克隆llama.cpp 并安装环境依赖

-- 进入根目录 cd /mnt/workspace -- 需要用 llama.cpp 仓库的 convert_hf_to_gguf.py 脚本来转换 git clone https://github.com/ggerganov/llama.cpp.git -- 进入llama.cpp文件夹 cd llama.cpp -- 创建虚拟环境 python -m venv .venv -- 进入虚拟环境 source .venv/bin/activate -- 安装依赖 pip install -r requirements.txt

2.2 转换模型为 gguf

python convert_hf_to_gguf.py /mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged --outtype q8_0 --verbose --outfile /mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged/Qwen3-4B-Instruct_q8_0.gguf

执行结束后,gguf 文件会保存在 

/mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged/Qwen3-4B-Instruct_q8_0.gguf

三、部署

3.1 基于llmma.app (推荐)

github https://github.com/ggml-org/llama.cp

3.1.1 安装llama.app 

可参考 https://github.com/ggml-org/llama.cpp/blob/master/docs/install.md#homebrew-mac-and-linux

brew install llama.cpp

***如果提示未安装brew 执行下面的命令

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3.1.2 加载大模型(cli模式)

llama-cli -m /mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged/Qwen3-4B-Instruct_q8_0.gguf

可在命令行跟大模型提问

3.1.3 以服务的模式加载大模型(server模式)

llama-server -m /mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged/Qwen3-4B-Instruct_q8_0.gguf --port 8080 # Basic web UI can be accessed via browser: http://localhost:8080 # Chat completion endpoint: http://localhost:8080/v1/chat/completions

访问 http://localhost:8080

3.2 基于ollama 

-- 进入合并后的模型目录 cd /mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged -- 创建模型 ollama create my-qwen3-4b-sft-merged -f Modelfile -- 启动模型 ollama run my-qwen3-4b-sft-merged

启动时候报错,这是因为我们使用的Qwen3模型,ollama还没有支持,建议使用llama.cpp方式测试部署。

四、将模型上传至modelscope

4.1 获取token

https://www.modelscope.cn/my/access/token

4.2 获取用户名

https://www.modelscope.cn/my/settings/account

4.3 上传模型

-- 上传gguf 版本 modelscope upload 你的用户名/qwen3-4b-sft-merged-gguf /mnt/workspace/LLaMA-Factory/saves/qwen3_sft_merged --token 你的token

4.4 查看上传结果

https://www.modelscope.cn/my/myspace

4.5 下载上传之后的模型

https://www.modelscope.cn/models/tadexinnian/qwen3-4b-sft-merged-gguf

-- 安装modelscope pip install modelscope -- 下载模型 modelscope download --model tadexinnian/qwen3-4b-sft-merged-gguf

以windows 下载为例子,模型最终下载保存在

C:\Users\PC\.cache\modelscope\hub\models\tadexinnian\qwen3-4b-sft-merged-gguf\Qwen3-4B-Instruct_q8_0.gguf

五、结语

本文完整呈现了微调后大模型从格式转换到实际部署的全流程实践,通过 llama.cpp 实现 HF 模型到 GGUF 格式的转换,借助 llama.app 完成 CLI 与 Server 模式部署,并记录了 Ollama 部署 Qwen3 模型时的兼容问题,同时演示了 GGUF 模型在 ModelScope 平台的上传与下载流程。

整套方案以 llama.cpp 工具链为核心,步骤清晰、可直接复现,为轻量化大模型的本地部署与模型分享提供了一套实用的工程化参考,也为后续同类模型的落地与优化奠定了基础。

Read more

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

一、OpenClaw Skills:机器人行为的“最小执行单元” 1.1 什么是OpenClaw Skills? OpenClaw是面向开源机械爪/小型机器人的控制框架(核心仓库:openclaw/openclaw),旨在降低机器人行为开发的门槛。而Skills(技能) 是OpenClaw框架中对机器人“单一可执行行为”的封装模块——它将机器人完成某一特定动作的逻辑(如“夹取物体”“释放物体”“移动到指定坐标”)抽象为独立、可复用、可组合的代码单元。 简单来说: * 粒度:一个Skill对应一个“原子行为”(如“单指闭合”)或“组合行为”(如“夹取→移动→释放”); * 特性:跨硬件兼容(适配不同型号机械爪)、可插拔(直接集成到OpenClaw主框架)、可扩展(支持自定义参数); * 核心价值:避免重复开发,让开发者聚焦“

FPGA加速图像处理:核心算法全解析

FPGA加速图像处理:核心算法全解析

FPGA(现场可编程门阵列)在图像处理领域因其并行处理能力、低延迟、高能效和可定制化 的特点而极具优势,特别适合于实时性要求高、算法固定、功耗受限 的应用场景。 以下是FPGA上常实现的主流图像处理算法,按处理流程和类别划分: 一、底层图像预处理(像素级操作) 这类算法高度并行,非常适合FPGA。 1. 色彩空间转换 * RGB转灰度:Y = 0.299R + 0.587G + 0.114B,可通过移位和加法实现,无需乘法器。 * RGB与YCbCr互转:视频压缩(如JPEG, H.264)中的关键步骤,FPGA可以并行计算三个分量。 2. 几何变换 * 旋转、缩放、平移:需要插值算法(如双线性插值、最邻近插值)。FPGA可以并行计算多个输出像素的坐标和插值。 3. 图像校正 * 镜头畸变校正:通过查找表(LUT)

Java Web请求处理链路剖析(从Filter到HandlerInterceptor的完整流程图解)

第一章:Java Web请求处理链路概述 在Java Web应用中,客户端发起的HTTP请求需经过一系列组件协同处理,最终返回响应。这一完整的链路贯穿了从网络通信到业务逻辑执行的多个层次,理解其结构对开发高性能、可维护的Web系统至关重要。 请求进入容器 当客户端发送HTTP请求时,首先由Web服务器(如Tomcat)接收。服务器基于配置的端口监听请求,并将原始HTTP数据封装为 HttpServletRequest 对象,同时创建 HttpServletResponse 用于输出响应。 Servlet生命周期管理 请求被映射到指定的Servlet进行处理。容器根据web.xml或注解配置确定目标Servlet,并确保其实例已初始化。典型的处理流程如下: * 执行 init() 方法完成初始化(仅一次) * 调用 service() 方法分发请求至 doGet() 或 doPost() * 由具体方法生成响应内容并写入输出流 * 容器自动关闭响应,发送数据回客户端 过滤器与拦截机制 在请求到达Servlet前,可配置多个 Filter 实现横切关注点处理,如日志

WebArena:一个真实的网页环境,用于构建更强大的自主智能体

WebArena:一个真实的网页环境,用于构建更强大的自主智能体

WebArena:一个真实的网页环境,用于构建更强大的自主智能体 最近,在 ICLR 2024 上发表了一篇来自卡内基梅隆大学的论文——WebArena: A Realistic Web Environment for Building Autonomous Agents(arXiv: 2307.13854)。这篇论文提出并实现了一个高度逼真、可复现的网页环境,专门用于开发和评估基于自然语言指令的自主智能体(Autonomous Agents)。今天这篇博客就来详细介绍这篇论文:它到底想解决什么问题、如何解决,以及其中的关键细节。 解决什么问题? 随着大语言模型(如 GPT-4)的快速发展,研究者们开始探索让 AI 智能体通过自然语言指令完成日常任务,比如“帮我在网上买个东西”或“去 GitLab 上更新 README”。然而,现有的智能体评估环境存在几个严重问题: 1. 过于简化、不真实:很多环境(