Mac 基于Ollama 本地部署DeepSeek离线模型

最近节日期间最火的除了《哪吒》就是deepseek了,毕竟又让西方各个层面都瑟瑟发抖的产品。DeepSeek凭借其强大的AI能力真的是在全球多个领域展现出强大的影响力。由于受到外部势力的恶意攻击倒是deepseek官方服务不稳定,国内其他厂家的适配版本也不是很稳定,所以在自己电脑部署一个本地离线模型就可以解决很大问题。本文我们介绍基于ollama的Mac Arm系统详细部署。

一、DeepSeek介绍

DeepSeek的应用现在全球下载榜单登顶,流量巨大。国内网都在讨论和使用,朋友圈充斥着各种关于deepseek的新闻,先一起来看看deepseek最近发生了什么:

  • 澳大利亚发布禁令:当地时间2025年2月4日,澳大利亚内政部长托尼·伯克签署“强制性指令”,以国家安全为由,禁止在政府系统和设备上使用DeepSeek产品、应用程序和网络服务,要求政府部门和机构尽快向内政部报告,确保DeepSeek不会残留在任何设备上,且禁止重新安装。
  • 美国相关法案及举措:美国国会提出《2025年美国人工智能能力与中国脱钩法案》,若通过,任何美国人使用DeepSeek等中国AI模型,个人最高面临20年监禁和100万美元罚款,企业罚款1亿美元并支付3倍赔偿金。美国德克萨斯州已率先禁止政府设备使用DeepSeek,NASA、国防部等联邦机构也紧急封杀相关产品。
    下面是各个厂商对deepseek模型的适配情况:
  • 百度智能云:2月3日,百度智能云千帆平台正式上架DeepSeek - R1和DeepSeek - V3模型,推出超低价格方案,用户可享受限时免费服务。
  • 阿里云:2月3日,阿里云PAI Model Gallery支持云上一键部署DeepSeek - V3、DeepSeek - R1,用户可零代码实现从训练到部署再到推理的全过程。
  • 华为云:2月1日,华为云与硅基流动团队联合首发并上线基于华为云昇腾云服务的DeepSeek R1/V3推理服务。
  • 腾讯云:2月2日,DeepSeek - R1大模型一键部署至腾讯云HAI上,开发者仅需3分钟即可接入调用。2月4日,腾讯云TI平台推出“开发者大礼包”,DeepSeek全系模型一键部署,部分模型限免体验。
  • 京东云:2月5日,京东云正式上线DeepSeek - R1和DeepSeek - V3模型,支持公有云在线部署、专混私有化实例部署两种模式。
  • 其他平台:360数字安全、云轴科技、天翼云等平台也先后宣布对DeepSeek模型的支持。
  • 英伟达:北京时间1月31日,英伟达宣布DeepSeek - R1模型登陆NVIDIA NIM,称DeepSeek - R1是最先进的大语言模型。
  • 亚马逊:1月31日,亚马逊宣布DeepSeek - R1模型已可以在Amazon Web Services上使用,其首席执行官安迪·贾西告诉用户“尽管用”。
  • 微软:1月31日,微软接入了DeepSeek - R1模型。

大过年的不放假只是为了这波流量吗?先看看这波流量有多香:
根据市场分析公司 Appfigures 数据 (不包括中国第三方应用商店),1 月 26 日,DeepSeek 首次登上苹果 App Store 下载量榜首,并一直保持全球领先地位,Sensor Tower 研究显示,1 月 28 日起,DeepSeek 在美国谷歌 Play Store 也位居榜首。自 1 月 20 日 DeepSeek - R1 模型正式发布后,其 APP 在短短 18 天内,全球下载量突破 1600 万次,成功登顶 140 个国家和地区的下载榜首,这一数字几乎是竞争对手 OpenAI 的 ChatGPT 在同期下载量的两倍。其中印度成为 DeepSeek 最大的用户来源国,自推出以来,印度用户下载量占所有平台下载总量的 15.6%。

从日活数据来看,根据国内 AI 产品榜统计,DeepSeek 应用上线 20 天,日活就突破了 2000 万,并且 DeepSeek 应用 (不包含网站数据) 上线 5 天日活就已超过 ChatGPT 上线同期日活,成为全球增速最快的 AI 应用 ,日活数量的快速增长,充分印证了 DeepSeek 对 C 端用户广泛的吸引力。

除了流量,我们在看看deepseek r1的真正实力:
在训练和推理成本方面:

  • 总体耗资低:DeepSeek R1 的训练仅耗资 550 万美元左右,而与之性能相似的 OpenAI 的模型,据传训练成本约为 5 亿美元。
  • 推理成本优势明显:DeepSeek R1 输入 Tokens 每 100 万个为 0.55 美元,输出 Tokens 每 100 万个为 2.19 美元。相比之下,OpenAI 的 O1 输入 Tokens 每 100 万个为 15 美元,输出 Tokens 每 100 万个为 60 美元。

此外deepseek还有以下特色能力:

  • 强大的推理能力
    • 支持长链推理:能够生成数万字的思维链,在处理复杂任务时,可显著提高推理准确性。
    • 自我验证与反思:通过强化学习训练,模型能够自主发展包括自我验证、反思等高级认知功能。
  • 多语言支持:基于混合专家架构(Mixture of Experts, MoE),可支持多种语言和技术领域,能对不同语言的问题生成相应语言的回答。
  • 高效部署与成本效益:运行成本仅为 OpenAI 的 3% 左右,还提供了 API 服务,降低了企业用户的使用门槛。
  • 创新训练策略
    • 多阶段渐进训练:训练过程分为预备阶段、冷启动微调、纯强化学习、数据合成与筛选、二次微调(SFT)以及后续强化学习优化等几个阶段,避免一次性训练的灾难性遗忘,逐步强化不同能力。
    • 混合奖励机制:结合任务结果验证与人类偏好,在强化学习阶段设计了准确性奖励、格式奖励等,还引入了模型基于奖励、语言一致性奖励等,平衡性能与安全性。
  • 海量参数与选择性激活
    • 海量参数:DeepSeek R1 共有 6710 亿个参数,由多个专家网络组成。
    • 选择性激活:每次只使用 6710 亿个参数中的 370 亿个,确保模型只使用任务所需的参数,优化计算效率。

二、Ollama介绍

Ollama 作为一款新兴的开源大型语言模型服务工具,在人工智能领域迅速崭露头角,为用户带来了全新的本地化模型部署体验。

功能概述

Ollama 本质上是一个致力于简化本地运行大语言模型流程的工具。它通过提供统一的接口和便捷的操作方式,让用户能够轻松地在自己的设备上部署和使用各种不同的大语言模型,而无需复杂的配置和专业的技术知识。其核心功能在于打破了模型部署的技术壁垒,使得更多人能够享受到本地化大语言模型的优势。

核心特点
  1. 本地部署:最显著的特点之一就是支持本地部署,用户无需依赖网络连接到外部服务器,所有的模型计算和数据处理都在本地设备上完成,这极大地保障了数据的隐私和安全性 ,不用担心数据泄露风险。
  2. 多系统支持:具备出色的兼容性,无论是 Mac、Linux 还是 Windows 操作系统,都能无缝适配。这意味着不同系统偏好的用户都能利用 Ollama 实现自己的模型部署需求。
  3. 多模型支持:Ollama 对多种流行的大语言模型提供支持,涵盖了 Llama、Falcon、Qwen2、Llama3、Phi3、Gemma2 等,当然也包括我们即将部署的 DeepSeek 模型。用户可以根据实际需求,一键切换不同的模型,灵活选择最适合自己任务的模型。
  4. 易用性:采用直观的命令行界面,操作流程简洁明了,即使是初次接触大语言模型部署的新手,也能快速上手,轻松完成模型的下载、部署和使用。
  5. 可扩展性:允许用户根据自身的硬件环境和具体的模型需求进行自定义配置,以达到最佳的性能表现。同时,还支持安装插件来拓展新的功能,满足不同用户的个性化需求。
  6. 开源免费:完全开源的特性,让用户能够自由地查看、修改和分发代码,不仅降低了使用成本,还促进了全球开发者社区的共同协作和创新。
  7. API 支持:提供简洁易用的 API,开发者可以通过该 API 轻松地创建、运行和管理大型语言模型实例,方便将模型集成到各种应用程序中,拓展了模型的应用场景。
  8. 预构建模型库:内置了一系列预先训练好的大型语言模型,用户无需从头开始训练模型,直接从预构建模型库中选择合适的模型,即可快速应用到自己的项目中,大大节省了时间和资源。
技术规格
  1. 模型规格:提供了多种不同参数量的模型选择,如 7b、14b、34b 等。一般来说,参数量越大的模型,其性能和处理复杂任务的能力越强,但同时对硬件的要求也更高。
  2. token 机制:在处理文本时,采用 token 机制。对于中文,大约 1 - 2 个字符对应一个 token;英文则约 4 个字符对应一个 token;而对于代码,会按照语法规则进行切分。
  3. 性能指标:在 CPU 模式下,处理速度大约为 5 - 20 tokens/s,内存占用相对较低,适合个人进行简单的测试和初步使用;在 GPU 模式下,处理速度能提升至 50 - 200+ tokens/s,内存占用较高,但性能强劲,更适用于对性能要求较高的生产环境。
  4. 系统要求:硬件方面,CPU 需要 4 核及以上,架构为 x86_64;内存最低要求 16GB,推荐 32GB 以上的 DDR4 及以上规格;存储最低需要 30GB,推荐 50GB 以上的 SSD。若使用 GPU,显存需 8GB 及以上,NVIDIA 显卡优先。软件方面,支持 macOS 12.0+、Linux(Ubuntu 20.04+)、Windows 10/11 操作系统。
部署指南
  1. macOS 安装:用户可直接访问 ollama 官网,在网站上找到专门为 Mac 设计的安装包下载链接,下载完成后,双击安装包,按照安装向导的提示,一步步点击 “继续”“同意” 等按钮,即可轻松完成安装。安装完成后,通过在终端输入ollama serve命令,启动服务。
  2. Linux 安装:可以采用快速安装方式,在终端执行命令curl -fsSL https://ollama.com/install.sh | sh;也可以使用 apt 安装(适用于 ubuntu/debian 系统),执行相应的 apt 安装命令,完成安装过程。
  3. Docker 安装:如果用户倾向于使用 Docker 进行部署,首先需要拉取镜像,命令为docker pull ollama/ollama,然后通过相关的容器运行命令,完成容器的运行和配置。

三、实战部署步骤

下载安装完成ollama后,在终端执行ollama --version验证是否安装正确,如果安装成功,命令行会显示 Ollama 的版本信息。可以通过ollama list查看已安装模型:
在这里插入图片描述

此前安装过llama3的本地模型,后面又安装了deepseek-r1:1.5b,体积比llama3小很多。

在huggingface搜索deepseek(https://huggingface.co/models?sort=trending&search=deepseek):
在这里插入图片描述

有很多deepseek的,选择一个GGUF格式的模型,GGUF格式是llama.cpp团队搞的一种模型存储格式,一个模型就是一个文件,方便下载。选择Use this model,然后点击Ollama,然后点击Copy就可以把拉取命令拷贝到剪切板上,通过以下命令就可以安装DeepSeek-V3:
在这里插入图片描述
在这里插入图片描述

copy后执行:ollama run hf.co/unsloth/DeepSeek-R1-GGUF:BF16

也可以在ollama中搜索deepseek(https://ollama.com/search):
在这里插入图片描述

在结果中选择对应的模型,显存容量不同,建议:

显存容量建议模型
小于等于 4GB 显存1.5b 模型
大于 4GB,且小于等于 12GB 显存7b 或 8b 模型
大于 12GB 显存14b 模型

个人电脑是MacBook Pro M3,选择了1.5b版本模型。

直接执行:

ollama run deepseek-r1:1.5b

安装成功后就可以在终端执行问答了。后续也可以执行ollama run deepseek-r1:1.5b重新进入交互窗口,实测交互速度还是可以的:
在这里插入图片描述

四、使用 Open WebUI 增强交互体验

在终端交互不是很方便,可以使用三方webui工具来提升交互效果,只要是支持Ollama的webUI都可以,如Dify,AnythingLLM都可以。这里使用Open WebUI工具,它应该是目前功能最全,最好用的大模型WebUI工具。

可以通过以下几种方式来安装:

  • 使用Docker-desktop,
  • 自行安装Python环境,使用Pip的方式安装即可
  • 直接使用浏览器Web UI插件就能搞定
  • 使用ChatBox、Cherry Studio等桌面客户端都可以

这里直接使用python环境安装,执行:

pip3 install open-webui

安装完成后执行:open-webui serve,启动后,在浏览器中访问 http://localhost:8080/ 即可进入 Open WebUI 界面。
在这里插入图片描述

五、总结

本文介绍了deepseek模型、ollama,以及Mac端离线部署步骤,最后介绍了Open WebUI 来增强交互体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965894.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决aspose将Excel转成PDF中文变成方框的乱码问题

原文网址:解决aspose将Excel转成PDF中文变成方框的乱码问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何解决aspose将Excel转成PDF中文变成方框的乱码问题。 问题描述 用aspose将word、excel等转成PDF后,英文展示正常,但中文全部变成了…

Jupyter Notebook自动保存失败等问题的解决

一、未生成配置文件 需要在命令行中,执行下面的命令自动生成配置文件 jupyter notebook --generate-config 执行后会在 C:\Users\用户名\.jupyter目录中生成文件 jupyter_notebook_config.py 二、在网页端打开Jupyter Notebook后文件保存失败;运行代码…

【漫话机器学习系列】083.安斯库姆四重奏(Anscombe‘s Quartet)

安斯库姆四重奏(Anscombes Quartet) 1. 什么是安斯库姆四重奏? 安斯库姆四重奏(Anscombes Quartet)是一组由统计学家弗朗西斯安斯库姆(Francis Anscombe) 在 1973 年 提出的 四组数据集。它们…

Axure设计教程:动态排名图(中继器实现)

一、开篇 在Axure原型设计中,动态图表是展示数据和交互效果的重要元素。今天,我们将学习如何使用中继器来创建一个动态的排名图,该图表不仅支持自动轮播,还可以手动切换,极大地增强了用户交互体验。此教程旨在提供一个…

MySQL视图索引操作

创建学生表; mysql> create table Student(-> Sno int primary key auto_increment,-> Sname varchar(30) not null unique,-> Ssex char(2) check (Ssex男 or Ssex女) not null,-> Sage int not null,-> Sdept varchar(10) default 计算机 not …

【正点原子K210连载】第六十七章 音频FFT实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第六十七章 音频FFT实验 本章将介绍CanMV下FFT的应用,通过将时域采集到的音频数据通过FFT为频域。通过本章的学习,读者将学习到CanMV下控制FFT加速器进行FFT的使用。 本章分为如下几个小节: 32.1 maix.FFT模块介绍 32.2 硬件设计 32.3 程序设…

基于 Ollama+Docker+OpenWebUI 的本地化部署deepseek流程

搭建deepseek 安装Ollama Ollama官方下载地址 下载完成后双击打开Ollama进行安装,点击install 安装完成后系统会弹出下图提示代表安装成功并且已启动 验证安装 ollama -v安装完成后,cmd 打开命令行窗口,输入 “ollama -v” 测试,显示 olla…

Mac 部署Ollama + OpenWebUI完全指南

文章目录 💻 环境说明🛠️ Ollama安装配置1. 安装[Ollama](https://github.com/ollama/ollama)2. 启动Ollama3. 模型存储位置4. 配置 Ollama 🌐 OpenWebUI部署1. 安装Docker2. 部署[OpenWebUI](https://www.openwebui.com/)(可视化…

C#常用集合优缺点对比

先上结论&#xff1a; 在C#中&#xff0c;链表、一维数组、字典、List<T>和ArrayList是常见的数据集合类型&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的比较&#xff1a; 1. 一维数组 (T[]) 优点&#xff1a; 性能高&#xff1a;数组在内存中…

额外题目汇总2-链表

链表 1.24. 两两交换链表中的节点 力扣题目链接(opens new window) 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 思路 使用虚拟头结点会很方便&#xff…

Nginx 中启用 Gzip 压缩以优化网页加载速度

&#x1f3e1;作者主页&#xff1a;点击&#xff01; Nginx-从零开始的服务器之旅专栏&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年2月7日17点14分 目录 1. 配置网页压缩 目的 …

《云夹:高效便捷的书签管理利器》

在信息爆炸的时代&#xff0c;我们每天都会浏览大量的网页&#xff0c;遇到许多有价值的内容。如何高效地管理这些网页书签&#xff0c;以便随时快速访问&#xff0c;成为了一个重要的问题。云夹作为一款出色的书签管理工具&#xff0c;为我们提供了完美的解决方案。 强大的功能…

学习数据结构(6)链表OJ

1.移除链表元素 解法一&#xff1a;&#xff08;我的做法&#xff09;在遍历的同时移除&#xff0c;代码写法比较复杂 解法二&#xff1a;创建新的链表&#xff0c;遍历原链表&#xff0c;将非val的节点尾插到新链表&#xff0c;注意&#xff0c;如果原链表结尾是val节点需要将…

MongoDB开发规范

分级名称定义P0核心系统需7*24不间断运行&#xff0c;一旦发生不可用&#xff0c;会直接影响核心业务的连续性&#xff0c;或影响公司名誉、品牌、集团战略、营销计划等&#xff0c;可能会造成P0-P2级事故发生。P1次核心系统这些系统降级或不可用&#xff0c;会间接影响用户使用…

设计模式.

设计模式 一、介绍二、六大原则1、单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09;2、开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;3、里氏替换原则&#xff08;Liskov Substitution Principle, LSP&#xff09;4、接口隔离原则&am…

STM32的HAL库开发-通用定时器输入捕获实验

一、通用定时器输入捕获部分框图介绍 1、捕获/比较通道的输入部分(通道1) 首先设置 TIM_CCMR1的CC1S[1:0]位&#xff0c;设置成01&#xff0c;那么IC1来自于TI1&#xff0c;也就是说连接到TI1FP1上边。设置成10&#xff0c;那个IC1来自于TI2&#xff0c;连接到TI2FP1上。设置成…

JavaScript 复习

文章目录 语法前置语法组成引入位置内部引入外部引入 基础语法输出变量变量声明规则变量赋值变量的作用范围 数据类型强制类型转换强转为 Number强转为 Boolean强转为 String强转为 整数 | 浮点数 运算符流程控制隐式转换函数常用内置对象String 对象Array 数组对象Math 数学对…

【C】链表算法题5 -- 相交链表

leetcode链接https://leetcode.cn/problems/intersection-of-two-linked-lists/description/https://leetcode.cn/problems/intersection-of-two-linked-lists/description/ 题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节…

蓝桥杯准备 【入门3】循环结构

素数小算法&#xff08;埃氏筛&&欧拉筛&#xff09; 以下四段代码都是求20以内的所有素数 1.0版求素数 #include<iostream> using namespace std;int main() {int n 20;for(int i2;i<n;i){int j0;for(j2;j<i;j)//遍历i{if(i%j0){break;}}if(ij){cout&l…

寒假2.6--SQL注入之布尔盲注

知识点 原理&#xff1a;通过发送不同的SQL查询来观察应用程序的响应&#xff0c;进而判断查询的真假&#xff0c;并逐步推断出有用的信息 适用情况&#xff1a;一个界面存在注入&#xff0c;但是没有显示位&#xff0c;没有SQL语句执行错误信息&#xff0c;通常用于在无法直接…