Mac基于LLaMA Factory微调模型导入Ollama踩坑记录

Mac基于LLaMA Factory微调模型导入Ollama踩坑记录

Mac基于LLaMA Factory微调模型导入Ollama踩坑记录

记录下完成大模型微调demo遇到的问题及最终效果

一、llama Factory安装

# 通过git下载项目git clone https://github.com/hiyouga/LLaMA-Factory.git # 进入目录cd LLaMA-Factory # 安装 pip install -e ".[torch,metrics]"

遇到问题1:ERROR: Package 'llamafactory' requires a different Python: 3.9.6 not in '>=3.11.0'。然后升级到python最高版本3.14解决(不建议选最新版本,后面使用数据集遇到新的问题
问题2:

error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification. 

选择安装虚拟环境

# 安装anaconda brew install --cask anaconda # 创建虚拟环境 lora conda create -n lora python=3.14# 激活该环境 conda activate lora 

再执行pip install -e ".[torch,metrics]" 依然有同样问题,添加对应参数
pip install --break-system-packages -e ".[torch,metrics]"
成功安装后在目录执行
llamafactory-cli webui ,会创建一个web服务,能访问http://localhost:7860/ 说明安装成功

在这里插入图片描述

二、模型下载&验证

在modelscope找一个较小的模型: DeepSeek-R1-Distill-Qwen-1.5B,可以通过git方式下载

# 因为存在大文件下载,需要安装 lfsgit lfs install# 下载模型git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B.git 

下载完成后可通过页面配置模型名称、路径,然后在Chat中加载模型,进行测试

在这里插入图片描述


我这边在初次加载抛出异常

 self.model = load_model( ~~~~~~~~~~^ self.tokenizer, model_args, finetuning_args, is_trainable=False, add_valuehead=(not self.can_generate) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) # must after fixing tokenizer to resize vocab ^ File "/Users/xxx/Documents/workspace/python/LLaMA-Factory/src/llamafactory/model/loader.py", line 178, in load_model model = load_class.from_pretrained(**init_kwargs) File "/opt/homebrew/lib/python3.14/site-packages/transformers/models/auto/auto_factory.py", line 372, in from_pretrained return model_class.from_pretrained( ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ pretrained_model_name_or_path, *model_args, config=config, **hub_kwargs, **kwargs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/opt/homebrew/lib/python3.14/site-packages/transformers/modeling_utils.py", line 4109, in from_pretrained load_info = cls._load_pretrained_model(model, state_dict, checkpoint_files, load_config) File "/opt/homebrew/lib/python3.14/site-packages/transformers/modeling_utils.py", line 4218, in _load_pretrained_model file_pointer = safe_open(file, framework="pt", device="cpu") safetensors_rust.SafetensorError: Error while deserializing header: header too large 

原因是git下载大文件不全,可以检测下模型DeepSeek-R1-Distill-Qwen-1.5B 目录下 model.safetensors的文件大小是不是和下载页面大小一致。可以通过页面上手动下载然后移动到文件夹。

在这里插入图片描述


加载成功后可以通过聊天测试

在这里插入图片描述

三、数据集准备

微调需要导入一份数据集,同样在modelscope中下载一份小的 甄嬛1M数据集,将huanhuan.json 移动到${dir}/LLaMA-Factory/data下,然后在修改该目录下的文件dataset_info.json ,在末尾中添加下面配置

{ // 原本的不动 ,"huanhuan": { "file_name": "huanhuan.json" } } 

在页面Train中数据集能搜到文件名huanhuan

在这里插入图片描述


预览有数据则配置成功

四、训练&验证效果

直接用默认的配置点击开始

在这里插入图片描述


我这边之前使用python3.14遇到的问题,导入数据集函数不兼容。

 File "/opt/homebrew/lib/python3.14/site-packages/dill/_dill.py", line 1217, in save_module_dict StockPickler.save_dict(pickler, obj) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/[email protected]/3.14.3_1/Frameworks/Python.framework/Versions/3.14/lib/python3.14/pickle.py", line 1064, in save_dict self._batch_setitems(obj.items(), obj) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ TypeError: Pickler._batch_setitems() takes 2 positional arguments but 3 were given 

后换成3.12版本调通微调,训练完成的日志,用了46分钟。

***** train metrics ***** epoch = 3.0 num_input_tokens_seen = 776520 total_flos = 6738458GF train_loss = 4.5287 train_runtime = 0:46:36.50 train_samples_per_second = 4.0 train_steps_per_second = 0.251 Figure saved at: saves/DeepSeek-R1-1.5B-Distill/lora/train_2026-02-12-16-14-47/training_loss.png [WARNING|2026-02-12 17:01:53] llamafactory.extras.ploting:149 >> No metric eval_loss to plot. [WARNING|2026-02-12 17:01:53] llamafactory.extras.ploting:149 >> No metric eval_accuracy to plot. 

在检查点路径选择我们自己训练后输出的数据集,然后需要先卸载模型,再重新加载。最后在聊天测试“我是谁”,它的答案就不是之前的 deepseek深度求索了。

在这里插入图片描述

五、导出ollama

ollama可以提供API接口,给到后台服务直接调用。 这里通过Export,配置对应的导出路径,就可以导出镜像

在这里插入图片描述


然后通过ollama的创建指令加载刚才导出的目录后面下的Modelfile,名称test_DeepSeek 可自定义

# 安装导出的模型 ollama create test_DeepSeek -f /Users/xxx/Documents/workspace/model/Modelfile # 查看 ollama list # 运行模型, 名称默认带上:latest标签 ollama run test_DeepSeek:latest 

后台就可以通过接口来调用ollama的服务

Read more

AIGC首帧图尾帧图生成视频案例教程

AIGC首帧图尾帧图生成视频案例教程

目录 * 引言 * 一、按照首帧图、尾帧图生成视频的步骤 * 二、案例教程 * 1、合成首帧图和尾帧图。 * 2、首尾帧+提示词生成视频。 * 3、配音剪辑视频 * 4、两段视频尾首相连 * 三、总结 引言 小马先前有在《AIGC视频生成之Deepseek、百度妙笔组合实战小案例》这篇文章中简述了如何无中生有,凭空生成一段想要的视频。然而,在之前相关的教程中小马也有介绍过,此类文生视频的形式一般适合开放形的,用户自己没有什么具体的灵感,对视频成果没有什么特定期望要求的。 但是通常我们生成视频会带有明确的指向性和内容要求,比如用户本身就是一位名导,肯定有自己的影视效果要求;或者用户想根据剧本生成视频,那就内容指向比较明确了。这种情况该如何做呢?小马下面就开始细细道来,看完也许你就可以自导自演一部短剧了。 一、按照首帧图、尾帧图生成视频的步骤 话不多说,我们先来看一段AI成果视频。 AIGC江湖再见,十年出剑是非空(成品) 本段视频全部由AI生成。接下来简单说一下整体步骤。 1、准备场景背景图,人物图等,

AI学习笔记:LM studio大模型加载参数说明

AI学习笔记:LM studio大模型加载参数说明

LM Studio加载大模型时参数设置页面的常见参数及设置方法如下: 上下文长度(Context Length) * 意义:表示模型可以处理的最大上下文长度,即模型一次能够考虑的输入文本的最大token数量。较大的上下文长度能让模型更好地理解长文本的语义和逻辑关系,提高对复杂问题的回答准确性,但会增加内存占用和计算量。 * 设置方法:若进行简单问答,可设置为4096;若是处理小红书文案等较长文本,可设为10000以上;写作文、小说等则可尝试设置为100000左右,不过也要根据模型和硬件性能调整,硬件资源有限时,过大的上下文长度可能导致模型运行缓慢甚至无法运行。 GPU卸载(GPU Offload) * 意义:指模型的多少层将被卸载到GPU上进行计算。增加该值可让更多模型计算任务利用GPU的强大算力,提高运行速度和效率,但会占用更多GPU内存。 * 设置方法:一般建议先设置为可使用GPU显存的一半,然后根据模型运行情况和GPU显存占用状况调整。如使用1060显卡可设为4,2060显卡设为8,3060显卡设为16,4060显卡设为32。 CPU线程池大小(CPU Thre

3分钟快速上手:llama-cpp-python完整安装配置指南

3分钟快速上手:llama-cpp-python完整安装配置指南 【免费下载链接】llama-cpp-pythonPython bindings for llama.cpp 项目地址: https://gitcode.com/gh_mirrors/ll/llama-cpp-python 想要在本地快速运行大语言模型却苦于复杂的安装配置?llama-cpp-python是专为新手打造的Python集成库,让您轻松访问强大的llama.cpp推理引擎。这份完整的技术工具安装配置指南将带您从零开始,快速上手本地AI开发!🚀 📦 基础安装:一步到位 llama-cpp-python的安装过程极其简单,只需一行命令: pip install llama-cpp-python 这个命令会自动从源码构建llama.cpp,并将其与Python包一起安装。如果遇到构建问题,可以添加--verbose参数查看详细构建日志。 ⚡ 硬件加速配置 想要获得最佳性能?根据您的硬件选择合适的加速后端: CUDA加速(NVIDIA显卡) CMAKE_ARGS="-DGGML_CUDA=

【Copilot配置避坑手册】:90%新手都会犯的7个致命错误

第一章:Copilot配置的核心认知 GitHub Copilot 不仅是一个代码补全工具,更是一种基于上下文理解的智能编程助手。其核心价值在于通过深度学习模型理解开发者意图,提供精准的代码建议。要充分发挥 Copilot 的能力,首先需建立对其配置机制的正确认知。 身份验证与环境准备 在使用 GitHub Copilot 前,必须确保已完成以下步骤: 1. 登录 GitHub 账户并启用 Copilot 订阅(个人或企业计划) 2. 在本地 IDE(如 VS Code)中安装官方插件 3. 执行身份验证命令以激活服务 # 在终端运行以下命令完成登录 npx @github/copilot-cli login 该命令会打开浏览器页面,引导用户完成授权流程。成功后,Copilot 将在支持的语言环境中自动启动。 编辑器配置优化 为提升建议质量,可在编辑器设置中调整关键参数: 配置项推荐值说明copilot.suggestOnTriggerCharacterstrue在输入特定字符(如