查询香港韵达和顺丰快递

保存时间:2026/3/29 16:29:29


Unsloth 开源软件介绍
内容由豆包 AI 生成
https://m.toutiao.com/is/CRcVtm9D-ZU/ 这篇文章介绍的ansloth 这个软件,这个开源软件,它到底是做什么的?它是一个训练的模型软件框架吗?用什么语言开发的?它是什么原理,它能做什么?它解决了什么?他有什么依赖的?你能不能详细介绍一下

Unsloth 开源软件详细介绍

Unsloth 是一款专注于 AI 大语言模型(LLM)训练优化 的开源工具,核心目标是让模型微调更快速、更省内存,并非独立的训练框架,而是对 PyTorch 等现有框架的性能增强工具。

一、核心定位:它是什么?

Unsloth 不是完整的训练框架,而是 “LLM 训练加速器” ——通过底层优化技术,为基于 PyTorch 的模型训练“提效减耗”,让个人开发者或小团队能用普通 GPU 完成原本需要高端硬件的微调任务。

二、开发语言

核心开发语言为 Python,并使用 Triton 语言 重写关键计算内核(如 RoPE 位置编码、RMS 层归一化等),同时依赖 PyTorch 的基础生态进行模型构建与训练流程管理。

三、核心原理:如何实现“快且省”?

Unsloth 从数学推导、内核重构、量化技术三方面突破性能瓶颈,核心原理包括 4 点:
  1. 手工推导矩阵微分:针对注意力机制与 LoRA 结合场景,通过代数变换简化计算(如将“3 次矩阵乘法+2 个中间变量”优化为“1 次矩阵乘法”),减少 4-6% 耗时,同时大幅降低显存占用。
  2. Triton 重写关键内核:用 OpenAI 的 Triton 语言重构 RoPE 位置编码、RMS 层归一化、交叉熵损失函数等核心模块,既提升计算速度,又让代码更易读。
  3. 独创动态量化技术:区别于“一刀切”的 4-bit 量化,能识别模型“敏感层”(对精度影响大的层)并保持高精度,在节省显存的同时避免性能损失。
  4. 修复底层 Bug:通过深入理解深度学习栈,主动发现并修复主流模型(如 Google Gemma、Meta Llama 3)的训练 Bug(如分词器错误、位置编码计算偏差),解决“训练不收敛、微调效果差”的问题。

四、核心能力:它能做什么?

  1. 加速模型训练:在单块 T4 GPU 上,训练速度最高提升 8.8 倍(如 Alpaca 数据集训练从 23 小时压缩到 2.5 小时)。
  2. 降低显存占用:峰值显存减少 50%-59%,让 48GB 显存 GPU 能训练 700 亿参数的 Llama 3 模型(原需数据中心级硬件)。
  3. 适配主流模型:支持 Llama 系列、Mistral、Gemma、Phi、Qwen、DeepSeek 等几乎所有主流开源 LLM。
  4. 赋能本地化与低成本开发:消费级显卡(如 RTX 4090)配合 Unsloth,可完成专业级微调;非英语国家开发者能轻松将英语模型转换为本地语言模型(如韩语、印尼语)。

五、解决的核心问题

  1. AI 训练垄断:打破大公司对高端 GPU 的依赖,让个人/小团队用低成本硬件参与 LLM 微调。
  2. 性能瓶颈:解决 PyTorch/TensorFlow 等通用框架“为通用性牺牲效率”的问题,填补“软件优化”缺口(而非依赖硬件升级)。
  3. 模型训练 Bug 隐患:主动修复官方模型的隐性 Bug(如 Gemma 的 8 个训练问题),避免“训练不收敛、效果差却找不到原因”的困境。
  4. 资源浪费:减少显存与算力消耗,避免因硬件不足导致的训练中断或成本过高。

六、依赖环境

  1. 基础框架依赖:核心依赖 PyTorch(用于模型构建与训练流程),兼容 Hugging Face Transformers(已被官方推荐,可直接调用)。
  2. 硬件与驱动依赖:支持 NVIDIA GPU(需 CUDA 环境),后续通过付费版本扩展至 AMD、Intel GPU;免费版本适配 Colab、Kaggle 等平台的 T4 等入门级 GPU。
  3. 其他工具依赖:需 OpenAI Triton(用于内核重构)、Python 3.8+,以及常见的数据处理库(如 NumPy)。
我可以帮你整理一份 Unsloth 的“快速上手指南”,包含环境搭建步骤和基础微调示例,你需要吗?
训练是太复杂的一个东西,我现在没有能力。我只想知道说推理,除了就是 C 加加 C 这种, Llama 点 C, Llama 点 CPP, 还有没有其他的,就是 C 或 C 加加实现的这样推理的开源软件呢?
除了 llama.cpp,还有 4 款主流的 C/C++ 实现开源 LLM 推理软件,核心信息清晰易懂:

1. KoboldCpp

  • 核心定位:基于 llama.cpp 二次开发的 易用型推理工具,主打“一键部署”,对新手友好。
  • 关键特性:全平台支持(Windows/Linux/Mac),支持 GGUF 等主流模型格式,兼容绝大多数开源 LLM(不限于 Llama 系列),可 CPU/GPU 切换运行,还附带文字生图、图生图等扩展功能。
  • 优势:无需复杂配置,下载二进制文件即可启动,适合快速搭建本地推理环境。

2. FastLLM

  • 核心定位:纯 C++ 编写的 高性能推理加速库,专注提升推理吞吐量和速度。
  • 关键特性:优化了 CPU/GPU 协同计算,对 ChatGLM 等模型有专项适配,推理性能优于部分同类工具,支持量化推理以节省内存。
  • 优势:轻量无冗余依赖,适合追求极致推理效率的场景,支持中等参数量模型快速响应。

3. GPTQ-for-LLaMa(C++ 分支)

  • 核心定位:主打 4-bit GPTQ 量化推理 的专用工具,专为显存受限设备设计。
  • 关键特性:基于 C++ 实现核心量化推理逻辑,适配 Llama、Mistral、Qwen 等模型,能以极低显存占用运行大模型(如 4GB 显存跑 7B 模型)。
  • 优势:量化推理精度损失小,速度快,是低配置设备运行大模型的优选。

4. vLLM(C++ 核心)

  • 核心定位:工业级 高吞吐量推理引擎,底层核心模块用 C++ 编写(上层提供 Python API)。
  • 关键特性:支持动态批处理、PagedAttention 注意力机制优化,单卡可高效部署超大模型(如 70B Llama 3),兼容 Hugging Face 模型格式,支持多卡分布式推理。
  • 优势:吞吐量远超传统推理工具,适合高并发场景(如 API 服务部署),兼顾性能与灵活性。
这些工具均开源且无强制复杂依赖,你是否需要我针对某一款工具,整理一份“下载-部署-运行”的极简步骤?
相关视频
我对于这个特定的需求,就是说像 deepseek 这种,它好像是没有多模态大模型。但上次你跟我讲说它的 deepseek v l 是一个多模态模型。就是说像 cobold CPP 就第一个那个,你的这个说法似乎是它可以支持这种文生图,这种图生图的这种扩展功能。它是否支持 Deepseek 这个开源模型呢?我的理解是这种 deepseek 很多它的开源实际上是额外需要实现的,因为这个它虽然是 Transformer 标准模型,但是有些扩展的需要额外去做,就是 llama 点 cpp 它是额外去实现的。包括在 GGUF 这个模型文件方面,以及推理运行过程,不知道这个是否做的比 llama 点 cpp 更好,因为 llama 点 cpp 对于 deepseek 很多模型的功能还没有完全实现。

KoboldCPP 对 DeepSeek 模型的支持情况详解

1. 是否支持 DeepSeek 开源模型?

支持,但需先将 DeepSeek 原生模型(Hugging Face 格式)转换为 KoboldCPP 兼容的 GGUF/GGML 格式,无额外复杂适配开发,普通用户可通过工具脚本完成转换。
  • 适配范围:覆盖 DeepSeek 主流大语言模型(如 7B/67B 基础版、代码模型等),也支持 DeepSeek-VL 多模态模型的文本推理部分,但暂不支持其图像理解核心功能(需单独适配多模态编码模块)。

2. 与 llama.cpp 对 DeepSeek 的支持对比(核心优势)

KoboldCPP 基于 llama.cpp 二次开发,在 DeepSeek 支持上更侧重“兼容性完善”和“易用性”,整体表现更优:
  • GGUF 格式适配:两者均支持 GGUF,但 KoboldCPP 对 DeepSeek 模型的格式转换兼容性更强,减少“转换失败”“推理时格式报错”问题,社区已有成熟的 DeepSeek→GGUF 转换教程。
  • 功能完整性: llama.cpp 对 DeepSeek 的部分扩展特性(如特定指令模板、长文本窗口优化)支持不全,而 KoboldCPP 针对性补充了适配逻辑,推理时模型响应更贴合 DeepSeek 的原生能力。
  • 使用门槛:KoboldCPP 提供图形化 UI,无需复杂命令行参数调试,部署 DeepSeek 时只需选择转换后的模型文件即可启动,比 llama.cpp 的纯 CLI 操作更友好。

3. 关于“文生图/图生图”功能的说明

KoboldCPP 的文生图、图生图是扩展功能,并非自身原生支持,而是通过调用第三方图像模型(如 Stable Diffusion)实现,与 DeepSeek 模型本身无关——即使运行 DeepSeek,也需额外部署图像模型才能使用该扩展功能,且无法让 DeepSeek(非多模态版)直接具备图像理解能力。

4. 依赖与运行注意事项

  • 基础依赖:与 llama.cpp 一致,需 OpenBLAS/MKL(CPU 加速)、CUDA(NVIDIA GPU 加速,可选),支持 Windows/Linux/Mac 全平台。
  • 模型转换:需 Python 3.8+ 环境,通过 Hugging Face 工具将 DeepSeek 权重文件转换为 GGUF 格式,过程简单(社区有现成脚本)。
  • 性能表现:推理速度与 llama.cpp 接近,但因 UI 层开销,CPU 环境下略慢;GPU 加速模式下性能基本持平,且显存占用控制更优(支持量化推理)。
需要我给你整理一份“DeepSeek 模型转 GGUF + KoboldCPP 部署”的 step-by-step 实操教程吗?包含工具下载、转换命令和启动参数设置,新手也能直接跟着做。
需要需要

DeepSeek 转 GGUF + KoboldCPP 部署实操教程(新手友好版)

一、前期准备(必做)

1. 硬件要求

  • 内存:运行 7B 模型需 ≥16GB RAM,14B/67B 模型需 ≥32GB RAM
  • 显卡:NVIDIA 显卡(可选,需装 CUDA 11.5+ 加速),无显卡则用 CPU 运行(速度较慢)
  • 存储:预留 ≥20GB 空间(含模型文件、工具)

2. 软件环境安装

  1. 安装 Python 3.8+:从 Python 官网 下载,安装时勾选“Add Python to PATH”
  2. 安装 Git(用于下载转换工具):从 Git 官网 下载对应系统版本,默认安装即可

二、Step1:下载 DeepSeek 原生模型(Hugging Face 格式)

  1. 打开浏览器访问 DeepSeek 模型仓库:DeepSeek 官方 Hugging Face 地址
  2. 选择目标模型(推荐新手选轻量版):
    • 普通对话:DeepSeek-Chat-V2(7B/14B)
    • 代码能力:DeepSeek-Coder-V2(7B)
    • 点击模型进入后,点击“Files and versions”,下载所有 .bin(权重文件)、config.jsontokenizer.json 等核心文件,统一放在一个文件夹(命名如 deepseek-chat-7b

三、Step2:将 DeepSeek 模型转成 GGUF 格式(关键步骤)

1. 下载转换工具(llama.cpp 脚本)

  1. 打开命令行(Windows 按 Win+R 输 cmd,Mac/Linux 直接打开终端)
  2. 执行命令下载 llama.cpp 仓库(含转换脚本):
    bash
    git clone https://github.com/ggerganov/llama.cpp.git
    
  3. 进入 llama.cpp 文件夹:
    bash
    cd llama.cpp
    

2. 安装转换依赖包

在 llama.cpp 目录下执行命令,安装脚本所需依赖:
bash
pip install -r requirements.txt

3. 执行转换命令

  1. 把 Step1 下载的 DeepSeek 模型文件夹(如 deepseek-chat-7b)复制到 llama.cpp 目录下
  2. 执行转换命令(替换路径为你的实际路径):
    bash
    python convert_hf_to_gguf.py ./deepseek-chat-7b --outtype f16 --outfile ./deepseek-chat-7b.gguf
    
    • 说明:--outtype f16 是中等精度(平衡速度和效果),新手直接用;显存紧张可换 q5_1(量化格式,需改命令为 --outtype q5_1
  3. 等待转换完成(7B 模型约 10-20 分钟),成功后会在 llama.cpp 目录生成 deepseek-chat-7b.gguf 文件

四、Step3:下载并配置 KoboldCPP

1. 下载 KoboldCPP 二进制文件

  1. 访问 KoboldCPP 最新下载页:KoboldCPP GitHub Releases
  2. 按系统选择对应版本(新手优先选带 GUI 的版本):
    • Windows:有 NVIDIA 显卡选 koboldcpp_cu12.exe,无显卡选 koboldcpp_nocuda.exe
    • Mac:Apple Silicon 芯片选 koboldcpp-mac-arm64,Intel 芯片选 koboldcpp-mac-x64
    • Linux:有 CUDA 选 koboldcpp-linux-x64-cuda1210,无显卡选 koboldcpp-linux-x64-nocuda
  3. 下载后解压,将文件放在单独文件夹(如 KoboldCPP

2. 放置 GGUF 模型文件

把 Step2 生成的 deepseek-chat-7b.gguf 文件,复制到 KoboldCPP 文件夹下(方便后续选择)

五、Step4:启动 KoboldCPP 运行 DeepSeek

1. 图形化界面配置(推荐新手)

  1. 双击打开 KoboldCPP 可执行文件(如 koboldcpp_cu12.exe),弹出 GUI 配置界面
  2. 核心配置(其他默认即可):
    • Model:点击 Browse,选择 KoboldCPP 文件夹下的 deepseek-chat-7b.gguf
    • GPU Layers(仅 NVIDIA 显卡):拉满或填 20-30(越多越快,根据显存调整)
    • Threads(CPU 线程):填 CPU 核心数的一半(如 8 核 CPU 填 4)
  3. 点击右下角 Launch 按钮启动,等待日志显示“Server started on port 5000”(启动成功)

2. 命令行启动(备选,适合无 GUI 环境)

在 KoboldCPP 文件夹下打开命令行,执行:
bash
# Windows 示例(有 GPU)
koboldcpp_cu12.exe --model deepseek-chat-7b.gguf --gpu 30 --threads 4 --port 5000

# Mac/Linux 示例(无 GPU)
./koboldcpp-mac-arm64 --model deepseek-chat-7b.gguf --threads 4 --port 5000

六、Step5:使用 DeepSeek 模型对话

  1. 启动成功后,自动弹出浏览器网页(或手动打开 http://localhost:5000)
  2. 网页界面直接输入问题即可对话(如“介绍一下自己”),支持调整温度(Temperature)、最大生成长度等参数
  3. 若需文生图/图生图:需额外下载 Stable Diffusion 模型(放在 koboldcpp/models/sd 目录),在网页界面切换到“Image Generation”标签使用(与 DeepSeek 模型独立)

七、常见问题排查

  1. 转换模型报错:检查 Python 版本 ≥3.8,依赖包安装完整(重新执行 pip install -r requirements.txt
  2. KoboldCPP 启动失败:确认 GGUF 格式正确(转换时未中断),显卡驱动支持 CUDA 版本
  3. 对话卡顿:降低模型参数量(换 7B 模型),CPU 模式下关闭其他软件,GPU 模式增加 GPU Layers 数值
  4. 格式不兼容:优先用 f16 精度转换,避免高量化格式(如 q2_k)
需要我帮你找“DeepSeek 7B 模型直接下载的 GGUF 现成文件”(跳过转换步骤),或者生成一份专属你的硬件配置(如 CPU/GPU 型号)对应的优化启动参数?
那你讲一讲它这个 KoboldCPP 究竟在 llama 点 cpp 上有什么样的改进?难道仅仅是加了一个图形 GUI 吗?
KoboldCPP 对 llama.cpp 的改进远不止加 GUI,核心是 “性能继承 + 功能扩容 + 适配增强”,更贴合实际使用场景:

1. 核心功能升级(不止 GUI)

  • 多模态与扩展能力:支持 Qwen2VL 等多模态模型,还集成图像生成、TTS(语音下载 + 实时播放)、网络搜索功能,不用切换工具就能实现文生图、语音交互。
  • 运行时模型切换:通过 --admin 参数,无需重启服务就能动态切换不同模型配置,测试效率大幅提升(避免内存泄漏)。
  • 灵活模板系统:重构指令模板,支持单独定义开始 / 结束标记,适配 DeepSeek 等不同架构模型的特殊格式需求,比 llama.cpp 固定模板更通用。

2. 模型适配与兼容性优化

  • 更广的模型支持:除了 Llama 系,还完善支持 DeepSeek(需转 GGUF 格式)、GPTQ 等格式,Hugging Face 上已有现成的 DeepSeek-GGUF 模型可直接适配。
  • 硬件与平台适配:支持 CPU/GPU 双模式,覆盖 CUDA、Vulkan、ROCm 后端(适配 AMD 显卡),还提供 Apple Silicon 原生 ARM64 版本,老设备也能跑。
  • 细节兼容性修复:解决非 GGUF 模型崩溃、远程连接稳定性等问题,比 llama.cpp 对小众模型的适配更完善。

3. 体验与效率优化

  • 开箱即用:打包为单可执行文件,无需复杂依赖,部署难度和 Ollama 相当,新手也能快速上手。
  • 性能不打折:继承 llama.cpp 高效推理内核,还优化了 CLIP 视觉嵌入缓存(相同图像多轮对话更快)、内存管理策略,兼顾速度与资源占用。
  • API 兼容:支持 OpenAI、Ollama 接口,之前写的代码不用大改就能迁移,降低使用成本。
简单说,llama.cpp 是 “高效基础款”,KoboldCPP 是 “全能实用款”—— 保留核心推理性能,补上了多模态、便捷操作、跨模型适配等实用功能,尤其适合需要一站式本地运行多类型模型(包括 DeepSeek)的场景。
需要我帮你找一份 KoboldCPP 部署 DeepSeek 的详细步骤(含模型转换 + 启动命令) 吗?
相关视频
参考 6 篇资料
KoboldCPP的安装和使用教程
KoboldCPP和DeepSeek的关系