Mac本地部署大模型-单机运行

news2024/10/5 21:46:12

前些天在一台linux服务器(8核,32G内存,无显卡)使用ollama运行阿里通义千问Qwen1.5和Qwen2.0低参数版本大模型,Qwen2-1.5B可以运行,但是推理速度有些慢。

一直还没有尝试在macbook上运行测试大模型,不知道单机部署是否会有压力?

恰好家里有一台平时用的较少的macbook,因此,简单做了一些测试,分享给大家,供参考和讨论。

电脑配置

所使用的Macbook Pro稍微有些老,配置如下:

  • 机型,MacBook Pro(13 英寸,2019 年)
  • 芯片,四核Intel Core i5 2.4GHz;
  • 图形卡:Intel Iris Plus Graphics 655 1536 MB =》1.5G显存,是否能有用?
  • 内存,16G;
  • 系统,macOS Sonoma 14.5

(原来系统Catalina 10.15,发现没有brew命令,安装提示系统版本太低,apple已不再支持;同时系统提示,可以升级到最新mac OS,于是安装升级到最新的系统Sonoma,点击这里查询macOS Sonoma 与哪些电脑兼容)

Ollama下载安装

我们简单实用Ollama方式运行大模型。

首先从Ollama官网下载安装包。

Download Ollama on macOS

直接点击maxOS下载即可,下载的文件是Ollama.zip压缩文件,解压后是应用程序(ollama.apk),直接双击运行安装就可以。

安装完后,在启动台,就可以看到这个Ollama的图标。

大模型下载和运行

接下来就可以从ollama模型库中,选择需要的模型,做实验测试了。

例如:我们选择阿里通义千问qwen2-1.5B参数的模型:qwen2:1.5b-instruct-q5_K_M

qwen2:1.5b-instruct-q5_K_M

命令行直接运行: ollama run qwen2:1.5b-instruct-q5_K_M

如果下载失败,再次尝试即可。

(modelscope) MacBook-Pro ~ % ollama run qwen2:1.5b-instruct-q5_K_M
pulling manifest 
Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/qwen2/manifests/1.5b-instruct-q5_K_M": dial tcp: lookup registry.ollama.ai: i/o timeout

(modelscope) deMacBook-Pro ~ % ollama run qwen2:1.5b-instruct-q5_K_M
pulling manifest 
pulling 9d9344b43f5a... 100% ▕████████████████████████████████████████████████████████▏ 1.1 GB                         
pulling 62fbfd9ed093... 100% ▕████████████████████████████████████████████████████████▏  182 B                         
pulling c156170b718e... 100% ▕████████████████████████████████████████████████████████▏  11 KB                         
pulling f02dd72bb242... 100% ▕████████████████████████████████████████████████████████▏   59 B                         
pulling 624b547e1c39... 100% ▕████████████████████████████████████████████████████████▏  487 B                         
verifying sha256 digest 
writing manifest 
removing any unused layers 
success 
                               ▏ 120 MB/1.1 GB  930 KB/s  

简单测试运行,发现执行速度比预期快(几秒内出结果),实验情况如下:

>>> 今天是周三,7月4号。7月11号是周几?
2023年7月11日是星期三。

>>> 从下面相应的文本中提取关键词。
... ###
... 文本1:{PicTech提供图片翻译API,开发者可以集成图片翻译到他们的跨境电商系统中。}
... 关键词1:PicTech, 图片翻译API, 开发者, 跨境电商系统
... ##
... 文本2:{Meta公司训练了非常擅长理解和生成文本的前沿语言模型,并且开源给全世界使用,这种开源精神加速了人类科技的发展,
... 非常值得尊敬。}
... 关键词2:Meta公司, 前沿语言模型, 开源, 人类科技的发展, 尊敬
... ##
... 文本3:{Neil长期从事互联网行业,对人工智能也非常感兴趣,致力于科技改变生活。}
... 关键词3
... ###


此题答案为:

1、PicTech, 图片翻译API, 开发者, 跨境电商系统

2、Meta公司, 前沿语言模型, 开源, 人类科技的发展, 尊敬

3、Neil, 互联网行业, 人工智能, 科技改变生活

>>> Send a message (/? for help)

结论: 从运行速度来看,运行相同模型(Qwen2-1.5B),在这台macbook(4核,16G内存)运行速度,比之前在linux单机(8核,32G内存)运行速度要快了不少! 虽然linux机器,从cpu和内存上配置高于我这台macbook,或许两个系统在底层加速优化方面,macbook做的较好?!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARIES,数据恢复算法,万变不离其宗...

今天来聊两个问题: 1. 如果缓冲池(buffer pool)满了,哪些数据页(page)要刷盘,哪些数据页不刷盘? 2. 数据库崩了,怎么利用检查点(checkpoint)与预写…

MATLAB环境下4种噪声生成

生成噪声包括: 1)粉红色(闪烁)噪声-功率谱密度斜率-3 dB/oct。, - 10db /dec 2)红色(布朗)噪声-功率谱密度斜率-6 dB/oct。, - 20db /dec 3)蓝色噪声-功率谱密度斜率3 dB/oct。, 10db /dec 4)紫色(紫色)噪声-功率谱密度斜率 6db /oct。&…

鸿蒙如何打包应用程序

总结鸿蒙应用程序包 之前文章详细讲解了关于三种程序包的内容,现在简单总结一下: 1. 总结 首先需要搞清楚鸿蒙项目的模块Module的分类: Module分为“Ability”和“Library”两种类型 HAP HAP: Harmony Ability Package , 叫做鸿蒙Ability包。 “Abil…

【虚幻引擎】UE4初学者系列教程开发进阶实战篇——生存游戏案例

一、课程体系 1 学前必读 2 Character类相关基础 -人物移动控制 -动画蓝图 3 常见游戏机制基础 -碰撞器、触发器 -物体使用接口 -视角切换 4其他相关设计 -背包系统 -锻造系统 -物体破碎效果 -简易种植系统 -互动物体动画 5课程结语 二、UI部分 思维导图部分 实操部分 …

若依多数据源原理分析

首先,想明白不同的接口想要使用不同的数据源。 那么自然想到了AOP,自定义注解。 通过自定义注解标注当前方法到底使用的是哪个数据源。 上面是前置条件。 看下若依是怎么处理的: 1.定义自定义注解,以及对应的多数据源的枚举类…

p标签文本段落中因编辑器换行引起的空格问题完美解决方案

目录 1.修改前的代码:2.修改后的代码3.总结 在HTML文档中,如何要在(p标签)内写一段很长的文本段落,并且没有 换行。由于IDE或者编辑器界面大小有限或需要在vue中逻辑处理动态显示文本,一行写完太长&#x…

深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手

我们小时候都玩过乐高积木。通过堆砌各种颜色和形状的积木,我们可以构建出城堡、飞机、甚至整个城市。现在,想象一下如果有一个数字世界的乐高,我们可以用这样的“积木”来构建智能程序,这些程序能够阅读、理解和撰写文本&#xf…

在RT-Thread-Studio中添加arm_math库

1.在CMSIS\Lib\GCC中找到对应的库,如本文使用的libarm_cortexM4lf_math.a。将库拷贝到工程,并做如下图设置。搜索路径为库文件在项目中的实际位置。 2.将CMSIS\DSP\Include下的文件复制到工程目录中,并添加包含路径 3.添加宏定义&#xff0c…

【MySQL】MySQL 9.0悄悄的来了

MySQL 9.0.0 中的变化 MySQL 9.0 中的新功能 JavaScript 存储程序 MySQL 企业版现在支持用 JavaScript 编写的存储程序,例如使用 CREATE FUNCTION下面显示的语句和 JavaScript 代码创建的这个简单示例: CREATE FUNCTION gcd(a INT, b INT) RETURNS …

【PTGui、Pano2VR6、UE4】VR全景拍摄及漫游交互制作操作实例(更新中)

一、基本思路 首先进行VR全景拍摄,获取高质量的全景图像;然后使用PTGui进行图像拼接,确保图像的连续性与准确性;接着利用Pano2VR6进行VR漫游的制作,添加交互元素与多媒体内容;最后进行作品的调试与优化&am…

11.SQL注入-盲注基于(base on boolian)

SQL注入-盲注基于boolian案例利用 首先总结一下sql语句中的函数意思 #查看当前所在的数据库 mysql> select database(); ------------ | database() | ------------ | pikachu | ------------ 1 row in set (0.00 sec)#函数substr里1是从第几位开始取字符,2…

时序模型综述论文

时序模型综述论文: A Survey of Time Series Foundation Models: Generalizing Time Series Representation with Large Language Model

抖音矩阵智能剪辑系统源码,saas多平台多账号一站式管理,系统搭建流程

‘1. 将MySQL升级至5.6版本,PHP更新至7.2版本,并使用Apache作为服务器。数据库应命名为“juzhen”。 2. 在Nginx环境下,实现伪静态的切换。 3. 将安装包解压至项目的根目录,并定位至application/database.php文件以更换数据库密…

Linux shell编程学习笔记62: top命令 linux下的任务管理器

0 前言 top命令是Unix 和 Linux下常用的性能分析工具,提供了一个动态的、交互式的实时视图,显示系统的整体性能信息,以及正在运行的进程的相关信息,包括各个进程的资源占用状况,类似于Windows的任务管理器。 1 top命令…

JVM原理(十五):JVM虚拟机静态分配与动态分配

1. 分派 本节讲解的分派调用过程将会揭示多态性特征的一-些最基本的体现,如“重载”和“重写”在Java虚拟机之中是如何实现的。 1.1. 静态分派 案例: 我们先来看一段代码: Human mannew Man(); 我们把上面代码中的“Human"称为变量的“静态类型…

前端面试8

基础知识 解释一下什么是跨域问题,以及如何解决? 跨域问题是由于浏览器的同源策略限制了从一个源加载的网页脚本访问另一个源的数据。解决方法包括使用JSONP、CORS(跨源资源共享)、设置代理服务器等。 描述一下事件冒泡和事件捕获…

企业搭建知识库:解锁无限潜力的钥匙

在当今这个信息爆炸的时代,企业如何高效地管理、传播与利用知识,已成为衡量其竞争力的重要标尺。知识库,作为这一背景下的产物,正逐步成为企业不可或缺的数字资产。它不仅是一个自助式的数字门户,更是连接员工、客户与…

编程建模文件

你可以在MATLAB命令提示符下以编程方式执行大多数Simulink建模基础。与基本建模操作(如创建模型、向模型添加块和设置参数)相对应的命令列在“模型编辑基础知识”的“功能”部分中。这些示例显示了其中一些命令以及如何使用它们。 加载模型 加载模型会…

【Sping Boot2】笔记

Spring Boot 2入门 如何创建一个Spring Boot的Web例子?1.如何创建一个Spring Boot项目1.1 使用Maven构建一个Spring Boot 2项目1.1.1创建Maven工程注:Maven项目结构: 1.1.2引入SpingBoot相关依赖依赖注意事项: 1.1.3创建主类1.1.4…

Mybatis框架的集成使用

1_框架概述 框架是一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架时直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度,框架是一种经过校验、具有一定功能的半成品软件. 经过校验:指…