EXO 可以将 Mac M4 和 Mac Air 连接起来,并通过 Ollama 运行 DeepSeek 模型
EXO 可以将 Mac M4 和 Mac Air 连接起来,并通过 Ollama 运行 DeepSeek 模型。以下是具体实现方法:
1. EXO 的分布式计算能力
EXO 是一个支持 分布式 AI 计算 的开源框架,能够将多台 Mac 设备(如 M4 和 Mac Air)组合成一个计算集群,共同运行大语言模型(如 DeepSeek)。
• 设备兼容性:EXO 支持 Apple Silicon(M1/M2/M3/M4) 设备,包括 MacBook Air 和 MacBook Pro。
• P2P 连接:EXO 采用 点对点(P2P)架构,无需主从模式,设备自动发现并协同计算。
2. 运行 DeepSeek 的步骤
(1) 安装 EXO
git clone https://github.com/exo-explore/exo.git
cd exo
pip install -e . # 或运行 `source install.sh`
(2) 启动 EXO 集群
• 在 Mac M4 上运行:
exo
• 在 Mac Air 上运行:
exo
EXO 会自动发现局域网内的设备并建立连接。
(3) 通过 Ollama 加载 DeepSeek
• 安装 Ollama(如果尚未安装):
curl -fsSL https://ollama.com/install.sh | sh
• 拉取 DeepSeek 模型(如 deepseek-r1:14b
):
ollama pull deepseek-r1:14b
• 运行模型:
ollama run deepseek-r1:14b
EXO 会自动将计算任务分配到 Mac M4 和 Mac Air 上。
3. 性能优化
• 量化模型:使用 4-bit 量化 减少内存占用(适用于 Mac Air 等低内存设备)。
• Metal 加速:确保 macOS 启用 Metal API 以提升 GPU 计算效率。
• 网络优化:建议使用 千兆以太网或 Wi-Fi 6 减少设备间通信延迟。
4. 实测效果
• 单设备 vs. 集群:
• Mac M4 单机:约 28 tokens/s(DeepSeek-14B)。
• Mac M4 + Mac Air 集群:可达 ~50 tokens/s(性能接近线性提升)。
• 适用场景:适合 本地 AI 推理、多设备协同计算,但 多请求并发时性能更优。
5. 注意事项
• Mac Air 内存限制:若 Mac Air 内存较小(如 8GB),建议运行 7B 或更小模型,或使用 量化版本(如 deepseek-7b-4bit
)。
• Ollama 版本兼容性:确保 Ollama 支持 EXO 的分布式模式(最新版通常已适配)。
总结
✅ EXO 可以连接 Mac M4 和 Mac Air,通过 Ollama 运行 DeepSeek 模型。
✅ 性能提升明显,尤其适合多设备协同计算。
⚠️ 注意内存和量化优化,确保 Mac Air 能稳定参与计算。
如需更详细配置,可参考 EXO 官方文档
相关文章:
EXO 可以将 Mac M4 和 Mac Air 连接起来,并通过 Ollama 运行 DeepSeek 模型
EXO 可以将 Mac M4 和 Mac Air 连接起来,并通过 Ollama 运行 DeepSeek 模型。以下是具体实现方法: 1. EXO 的分布式计算能力 EXO 是一个支持 分布式 AI 计算 的开源框架,能够将多台 Mac 设备(如 M4 和 Mac Air)组合成…...
数据库故障排查指南
数据库连接问题 检查数据库服务是否正常运行,确认网络连接是否畅通,验证数据库配置文件的正确性,确保用户名和密码无误。 性能问题 分析慢查询日志,优化SQL语句,检查索引使用情况,调整数据库参数配置&am…...
RBTree的模拟实现
1:红黑树的概念 红⿊树是⼀棵⼆叉搜索树,他的每个结点增加⼀个存储位来表⽰结点的颜⾊,可以是红⾊或者⿊⾊。通过对任何⼀条从根到叶⼦的路径上各个结点的颜⾊进⾏约束,红⿊树确保没有⼀条路径会⽐其他路径⻓出2倍,因…...
docker-compose——安装mongo
编写docker-compose.yml version : 3.8services:zaomeng-mongodb:container_name: zaomeng-mongodbimage: mongo:latestrestart: alwaysports:- 27017:27017environment:- MONGO_INITDB_ROOT_USERNAMEroot- MONGO_INITDB_ROOT_PASSWORDpssw0rdvolumes:- ./mongodb/data:/data/…...
Vue 3.0中响应式依赖和更新
响应式依赖和更新是Vue 3.0中最重要的机制,其核心代码如下,本文将结合代码对这个设计机制作出一些解释。 // 全局依赖存储:WeakMap<target, Map<key, Set<effect>>> const targetMap new WeakMap();// 当前活动的副作用函…...

uniapp|实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,拍照保存至相册,多端兼容(APP/微信小程序)
基于uniapp以及微信小程序实现移动端人脸识别相似度对比,实现摄像头、相册权限获取、相机模块交互、第三方识别集成等功能,附完整代码。 目录 核心功能实现流程摄像头与相册权限申请权限拒绝后的引导策略摄像头调用拍照事件处理人脸识别集成图片预处理(Base64编码/压缩)调用…...

JavaScript【7】BOM模型
1.概述: BOM(Browser Object Model,浏览器对象模型)是 JavaScript 中的一个重要概念,它提供了一系列对象来访问和操作浏览器的功能和信息。与 DOM(Document Object Model)主要关注文档结构不同&…...

[强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程
本人为强化学习小白,为了在后续科研的过程中能够较好的结合强化学习来做相关研究,特意买了西湖大学赵世钰老师撰写的《强化学习数学原理》中文版这本书,并结合赵老师的讲解视频来学习和更深刻的理解强化学习相关概念,知识和算法技…...
使用Spring Boot与Spring Security构建安全的RESTful API
使用Spring Boot与Spring Security构建安全的RESTful API 引言 在现代Web应用开发中,安全性是不可忽视的重要环节。Spring Boot和Spring Security作为Java生态中的主流框架,为开发者提供了强大的工具来构建安全的RESTful API。本文将详细介绍如何结合S…...

深入理解构造函数,析构函数
目录 1.引言 2.构造函数 1.概念 2.特性 3.析构函数 1.概念 2.特性 1.引言 如果一个类中什么都没有,叫作空类. class A {}; 那么我们这个类中真的是什么都没有吗?其实不是,如果我们类当中上面都不写.编译器会生成6个默认的成员函数。 默认成员函数:用户没有显…...

Day 16
目录 1.JZ79 判断是不是平衡二叉树1.1 解析1.2 代码 2.DP10 最大子矩阵2.1 解析2.2 代码 1.JZ79 判断是不是平衡二叉树 JZ79 判断是不是平衡二叉树 dfs 1.1 解析 1.2 代码 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* TreeNode(in…...

摄影构图小节
1、三分构图法 三分构图法即将画面横竖各分为三份,即九宫格形式。 将画面用两条竖线和两条横线分割,就如同是书写中文的【井】字。这样就可以得到4个交叉点,然后再将需要表现的重点放置在4个交叉点中的一个附近即可。 拍摄自然风光时…...

DAY 28 类的定义和方法
知识点回顾: 类的定义pass占位语句类的初始化方法类的普通方法类的继承:属性的继承、方法的继承 比如def、class这些定义的关键词后,必须有一个有占据缩进位置的代码块。 还有下面这些依赖缩进的语句,都可以用pass语句来占位 x 1…...

RAG数据处理:PDF/HTML
RAG而言用户输入的数据通常是各种各样文档,本文主要采用langchain实现PDF/HTML文档的处理方法 PDF文档解析 PDF文档很常见格式,但内部结构常常较复杂: 复杂的版式布局多样的元素(段落、表格、公式、图片等)文本流无…...

机器学习 day04
文章目录 前言一、线性回归的基本概念二、损失函数三、最小二乘法 前言 通过今天的学习,我掌握了机器学习中的线性回归的相关基本概念,包括损失函数的概念,最小二乘法的理论与算法实现。 一、线性回归的基本概念 要理解什么是线性回归&…...

蓝牙耳机什么牌子好?倍思值得冲不?
最近总被问“蓝牙耳机什么牌子好”,作为踩过无数坑的资深耳机党,必须安利刚入手的倍思M2s Pro主动降噪蓝牙耳机!降噪、音质、颜值全都在线,性价比直接拉满。 -52dB降噪,通勤摸鱼神器 第一次开降噪就被惊到!…...

机器学习-人与机器生数据的区分模型测试-数据处理 - 续
这里继续 机器学习-人与机器生数据的区分模型测试-数据处理1的内容 查看数据 中1的情况 #查看数据1的分布情况 one_ratio_list [] for col in data.columns:if col city or col target or col city2: # 跳过第一列continueelse:one_ratio data[col].mean() # 计算1值占…...

ESP系列单片机选择指南:结合实际场景的最优选择方案
前言 在物联网(IoT)快速发展的今天,ESP系列单片机凭借其优异的无线连接能力和丰富的功能特性,已成为智能家居、智慧农业、工业自动化等领域的首选方案。本文将深入分析各款ESP芯片的特点,结合典型应用场景,帮助开发者做出最优选择…...

特斯拉虚拟电厂:能源互联网时代的分布式革命
在双碳目标与能源转型的双重驱动下,特斯拉虚拟电厂(Virtual Power Plant, VPP)通过数字孪生技术与能源系统的深度融合,重构了传统电力系统的运行范式。本文从系统架构、工程实践、技术挑战三个维度,深度解析这一颠覆性…...
jvm安全点(三)openjdk17 c++源码垃圾回收之安全点结束,唤醒线程
1. VMThread::inner_execute() - 触发安全点 cpp 复制 void VMThread::inner_execute(VM_Operation* op) { if (op->evaluate_at_safepoint()) { SafepointSynchronize::begin(); // 进入安全点,阻塞所有线程 // ...执行GC等操作... SafepointSynchronize::…...
Python OOP核心技巧:如何正确选择实例方法、类方法和静态方法
Python方法类型全解析:实例方法、类方法与静态方法的使用场景 一、三种方法的基本区别二、访问能力对比表三、何时使用实例方法使用实例方法的核心场景:具体应用场景:1. 操作实例属性2. 对象间交互3. 实现特定实例的行为 四、何时使用类方法使…...

【Linux笔记】nfs网络文件系统与autofs(nfsdata、autofs、autofs.conf、auto.master)
一、nfs概念 NFS(Network File System,网络文件系统) 是一种由 Sun Microsystems 于1984年开发的分布式文件系统协议,允许用户通过网络访问远程计算机上的文件,就像访问本地文件一样。它广泛应用于 Unix/Linux 系统&a…...

博客打卡-求解流水线调度
题目如下: 有n个作业(编号为1~n)要在由两台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为ai和bi(1≤i≤n)。 流水…...
基于React的高德地图api教程006:两点之间距离测量
文章目录 6、距离测量6.1 两点之间距离测量6.1.1 两点距离测量按钮6.1.2 点击地图添加点6.1.3 测量两点之间距离并画线6.2 测量过程显示两点之间预览线6.3 绘制完毕6.4 显示清除按钮6.5 代码下载6.06、距离测量 6.1 两点之间距离测量 6.1.1 两点距离测量按钮 实现代码: re…...

数据库blog1_信息(数据)的处理与效率提升
🌿信息的处理 🍂实际中离不开信息处理 ● 解决问题的建模 任何对问题的处理都可以看作数据的输入、处理、输出。 eg.一个项目中,用户点击信息由前端接收传递到后端处理后返回结果eg.面对一个问题,我们在搜集信息后做出处理与分析…...

布隆过滤器介绍及其在大数据场景的应用
目录 布隆过滤器(Bloom Filter)介绍一、布隆过滤器的基本原理插入元素过程:查询元素过程: 二、布隆过滤器的特点三、误判率计算四、举例说明五、总结 Python版的简单布隆过滤器实现示例一、简单布隆过滤器Python示例二、布隆过滤器…...
Ansys 计算刚柔耦合矩阵系数
Ansys 计算刚柔耦合系数矩阵 文章目录 Ansys 计算刚柔耦合系数矩阵卫星的刚柔耦合动力学模型采用 ANSYS 的 APDL 语言的计算方法系统转动惯量的求解方法参考文献 卫星的刚柔耦合动力学模型 柔性航天器的刚柔耦合动力学模型可以表示为 m v ˙ B t r a n η F J ω ˙ ω J…...
微服务八股(自用)
微服务 SpringCloud 注册中心:Eureka 负载均衡:Ribbon 远程调用:Feign 服务熔断:Hystrix 网关:Gateway/Zuul Alibaba 配置中心:Nacos 负载均衡:Ribbon 服务调用:Feign 服务…...
指定elf文件dwarf 版本以及查看dwarf版本号
背景: 在实际项目开发过程中,为了让低版本的CANape 工具识别elf 文件,需要在编译elf文件时,指定dwarf的版本。 使用方法: 需要再CMakeLists.txt中指定dwarf 版本 add_compile_options(-g -gdwarf-2) #-gdwarf-4 验…...

Fidder基本操作
1.抓取https请求 Fidder默认不能抓取https请求,我们必须通过相应的设置才能抓取https请求 1.选择tools下的option 2.选择https选项,并且勾选下面的选项 3.点击Actions导出信任证书到桌面(expert root certificate to desktop) 4.在浏览器中添加对应的证…...