DeepSeek 1.5B蒸馏模型的J6部署(Llama方式)

前言

DeepSeek 是一款基于人工智能的搜索引擎,旨在提升用户的搜索体验。它利用先进的自然语言处理技术,通过理解查询的上下文和意图,为用户提供更精确、相关的搜索结果。与传统的搜索引擎不同,DeepSeek 不仅仅依赖于关键词匹配,还能通过深度学习分析用户的需求,呈现更加智能化的搜索结果。此外,DeepSeek 还具备语义理解能力,能够处理复杂的查询,并在短时间内给出最符合用户需求的答案。

DeepSeek 1.5B 模型是一个基于深度学习的自然语言处理模型,拥有约 15 亿个参数。它在多种任务上表现出色,能够理解和生成高质量的文本,具有很强的语义理解和推理能力。该模型能够应用于搜索引擎、问答系统、文本生成等多个领域。

蒸馏(Distillation)是将一个大型、性能优秀的深度学习模型(如 1.5B DeepSeek)转换为一个较小、计算资源消耗更低的模型的过程。通过蒸馏,模型能够保持原有的性能,但在推理时所需的计算资源和内存消耗大大减少。蒸馏的必要性在于:

  1. 降低计算资源需求:大型模型通常需要强大的硬件支持,蒸馏后的模型可以在较低配置的设备上运行。
  2. 提高响应速度:较小的模型在推理时速度更快,能够在实时应用中提供更高效的处理能力。
  3. 减少存储占用:模型体积较小,有利于部署和维护,尤其在资源受限的环境中。

注:本文方法导出的模型,运行时完全使用 CPU **,未使用** BPU**。**

Llama 工程配置

  1. 拉取最新的 llama.cpp 项目
Plain 复制代码
git clone https://github.com/ggerganov/llama.cpp.git
  1. 编译
Plain 复制代码
cd llama.cpp # 进入llama.cpp项目目录
cmake -B build cmake --build build --config Release -j4
  1. 设置环境变量
Plain 复制代码
PATH=/llama.cpp/build/bin:$PATH
可使用以下命令验证是否配置成功
llama-cli -h

量化模型获取

方法一、使用魔搭社区现有模型

魔搭社区(Modu Community)是一个面向广大科技爱好者、开发者和设计师的在线社区平台,主要提供与科技相关的内容分享、技术讨论、资源交换等服务。这个社区的核心特点是其开放性与互动性,鼓励用户分享自己的创意、项目和技术经验。

魔搭社区的主要功能包括:

  1. 技术交流:社区成员可以讨论各种科技相关的技术话题,如编程、人工智能、硬件开发等。
  2. 资源共享:用户可以在平台上分享自己的开发工具、教程、开源项目等资源,帮助其他成员提高技能。
  3. 项目展示:开发者和设计师可以展示自己的作品,得到其他社区成员的反馈和建议。
  4. 线上活动:魔搭社区还定期举办线上讲座、技术竞赛、黑客马拉松等活动,促进成员间的互动和合作。

总之,魔搭社区是一个促进创新、合作与学习的地方,适合各类科技爱好者参与其中。

  1. 进入魔搭社区
Plain 复制代码
https://www.modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/files
  1. 下载图中模型,DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.gguf

方法二、自行量化导出

Hugging Face 是一个致力于自然语言处理(NLP)技术的公司,提供了一个开源平台和一系列工具,帮助开发者、研究人员和企业更轻松地构建和部署 AI 模型,尤其是与语言理解和生成相关的模型。

Hugging Face 的主要特点包括:

  1. Transformers 库:这是 Hugging Face 最著名的开源项目之一,提供了大量预训练的模型,适用于各种 NLP 任务,如文本分类、情感分析、命名实体识别、机器翻译、文本生成等。这个库支持多种语言的模型,且与 PyTorch 和 TensorFlow 等流行深度学习框架兼容。
  2. 模型 hub:Hugging Face 提供了一个模型共享平台,用户可以在此上传、下载和使用各种 NLP 模型。这个 hub 包含了从基础模型到最新研究成果的众多模型,方便用户找到适合自己任务的模型。
  3. Datasets 库:提供了丰富的数据集,方便开发者用来训练和评估模型,涵盖了多个领域,包括文本、图像、语音等。
  4. API 和部署服务:Hugging Face 还提供了 API 服务,使得开发者可以通过简单的接口调用模型,快速将其集成到应用程序中。此外,还提供了用于托管和部署机器学习模型的工具。

总之,Hugging Face 在 NLP 领域的开源项目、模型和工具生态系统,使得机器学习和人工智能的应用变得更加普及和易用。

  1. 下载 huggingface 权重
Plain 复制代码
https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B/tree/main
  1. 使用 llama.cpp 提供的脚本做量化,得到 gguf 格式的模型

注: 这里需要根据实际情况修改模型路径,HuggingFace 的模型权重路径是一个文件夹

Plain 复制代码
cd llama.cpp # 进入llama.cpp项目目录
python3 convert_hf_to_gguf.py ../DeepSeek-R1-Distill-Qwen-1.5B \ --outtype q8_0 \ --verbose --outfile ../gguf/DeepSeek-R1-Distill-Qwen-1.5B-q8_0.gguf

运行模型

Plain 复制代码
使用llama-cli工具运行gguf格式的模型
llama-cli --model /map/model/DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.gguf --cache-type-k q8_0 --threads 6 --prompt '一加一等于几?' -no-cnv

可以看到,模型可以有正常的文字输出,并且输出速率约为 21 tokens/s。

pe-k q8_0 --threads 6 --prompt '一加一等于几?' -no-cnv

复制代码
可以看到,模型可以有正常的文字输出,并且输出速率约为 21 tokens/s。

![aW1hZ2U=.png](https://i-blog.csdnimg.cn/img_convert/d1bb85557264d573b13f06efef182a6d.png)
相关推荐
向阳@向远方11 分钟前
第二章 简单程序设计
开发语言·c++·算法
github_czy1 小时前
RRF (Reciprocal Rank Fusion) 排序算法详解
算法·排序算法
许愿与你永世安宁2 小时前
力扣343 整数拆分
数据结构·算法·leetcode
爱coding的橙子2 小时前
每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
算法·leetcode·职场和发展
满分观察网友z2 小时前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法
YuTaoShao2 小时前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
Heartoxx2 小时前
c语言-指针(数组)练习2
c语言·数据结构·算法
大熊背3 小时前
图像处理专业书籍以及网络资源总结
人工智能·算法·microsoft
满分观察网友z3 小时前
别怕树!一层一层剥开它的心:用BFS/DFS优雅计算层平均值(637. 二叉树的层平均值)
算法
杰克尼4 小时前
1. 两数之和 (leetcode)
数据结构·算法·leetcode