使用ollama分别在我的window、mac、小米手机上部署体验llama3-8b
1、ollama到底是个什么玩意
一句话来说, Ollama 是一个基于 Go 语言开发的简单易用的本地大模型运行框架。可以将其类比为 docker(有类似docker中的一些常规命令list,pull,push,run 等等),事实上确实也制定了类似 docker 的一种模型应用标准,在后边的内容中,你能更加真切体会到这一点。
在管理模型的同时,它还基于 Go 语言中的 Web 框架 gin 提供了一些 Api 接口,让你能够像跟 OpenAI 提供的接口那样进行交互。
2、来看看ollama的几个命令
ollama 安装之后,其同时还是一个命令,与模型交互就是通过命令来进行的。
- ollama list:显示模型列表
- ollama show:显示模型的信息
- ollama pull:拉取模型
- ollama push:推送模型
- ollama cp:拷贝一个模型
- ollama rm:删除一个模型
- ollama run:运行一个模型
通过在命令行运行 ollama即可查看到相关命令

如果你用过 docker 的话,那简直就是so easy。
接下来我就在我的window、mac、以及小米手机上分别体验一下。
3、window上下载及体验
- https://ollama.com/
官网首页一进来就可以看到下载按钮,客户端可以在window、mac、linux等进行安装,跨平台的,真的nice啊。

并且上面已经把llama3集成进来了,这速度是真的快。
我这里下载的是window版本,目前213MB,很快就下载下来了。下载完毕即可安装

安装完毕之后你可以在命令行中输入查看版本

我们可以查看文档:https://github.com/ollama/ollama/blob/main/README.md#quickstart

如上图所示,可以用最简单的方式就可以来启动llama3-8b,不过它可能还要等一会儿,因为模型大小有4.7G左右,需要下载一会儿哟。
甚至你的配置够高,也可以使用70b的模型来尝试,不过我的电脑配置一般估计跑起来太慢。

看这里下载速度还算可以,四分钟下载完毕,好了,那就先来测试一下吧。

整个体验下来,这可能是我本机测试感觉速度上最快的离线大模型了,真的表现非常棒。按照目前应该很快会有优化版本出来的,到时候继续进行评测一下。
破除了之前有人说没有上下文的问题,中文语料可能确实有点少。但是写代码的体验还算不错的,虽然上面的代码可能是不对的。

上下文长度过长时确实有幻觉的问题。
这个回答速度真的再优化一下,很多小公司自己来部署大模型并进行创造就很近了。
但是它毕竟是小模型,参数相对较少,运行时所需要的资源就少很多。就像我本地运行的,其实我的电脑配置可以看一下如下图所示

从开发的角度来看还算不错了。另外对翻译的要求不高的话,效果也还过得去的。
同样的你也可以直接进行调用API

4、mac 上安装以及体验
同样还是在官网首页可以点击直接下载即可,下载下来会是一个压缩包

解压然后安装就可以使用了,然后在命令行中可以查看是否安装成功

通过 ollama -v 来查看安装的版本,如果打印出来也就说明安装成功了
然后再通过 ollama serve 开启 ollama 的服务,注意当前这个命令行窗口暂时不要关闭,关闭了则代表 ollama 服务也暂时停止了,可以打开另外一个命令行窗口进行下载和使用大模型
同样的命令

哇塞,这会的下载速度简直起飞了
跑起来之后,测试就可以跟上面window类似了,这个就不在此多说了
5、小米手机再来体验一波
android手机要想体验一波,就需要先按照依稀Termux,这里我之前有写过一篇手把手来教你在手机上安装大模型llama2,这篇文章中我主要使用的是 huggingface 来运行大模型,那么现在用到的是ollama。
于是我在Termux中执行如下命令进行安装ollama
···
curl -fsSL https://ollama.com/install.sh | sh
···
发现我的手机没有root,ollama是使用不起来的,必须要先root。
简单搜索发现一个不错的方法:
https://gitlab.com/st42/termux-sudo

但是点进去发现是五年前的,不知道能不能用,于是我就又搜索了一下
https://github.com/termux/proot-distro
proot-distro 是一个用于在 Termux 应用程序中管理和使用 Linux 发行版的项目。Termux 是一个 Android 终端模拟器和 Linux 环境应用,它不需要设备的 root 权限就可以运行。
proot-distro 允许用户在 Termux 中安装、卸载和运行各种 Linux 发行版,包括 Ubuntu、Debian、Arch Linux 等。这样,用户就可以在他们的 Android 设备上使用完整的 Linux 环境,包括安装和运行 Linux 软件包。
接下来要先在手机上打开termux
// 先来安装proot-distro
pkg install proot-distro
//使用proot-distro安装一个debian
proot-distro install debian
// 安装成功后通过login命令就直接进入debian
proot-distro login debian
//进入之后再来安装ollama
curl -fsSL https://ollama.com/install.sh | sh
// 安装完毕可以查看ollama版本进行验证
ollama -v
// 出现版本号之后就可以使用ollama
// 开启ollama服务
ollama serve
// 此时这个命令行的窗口不要关闭,关闭之后ollama服务就停止了
然后再termux左上角向右滑动

点击NEW SESSION,这样就新开了一个命令行,在这里命令行中就可以使用ollama其他命令了
// 这是一个新的命令行,,记得要先进入debian
proot-distro login debian
//下载并运行大模型
ollama run llama3
进行测试就跟上面一样了,这里相当于单独安装了一个模拟运行环境debian,会有一部分性能的消耗吧。有兴趣或者手机性能不错的到时候可以玩玩,感觉小模型在未来的某个时刻还是会有更广泛的应用场景,参数不用那么多,那么大,但是针对特定领域进行微调训练的。
6、总结
应该说llama3给与了开源模型更广阔的思考空间,期待开源模型更大的进步让我们拭目以待。同时希望Meta在接下来的时候能将llama3-400的发布。
就在实验此文章的过程中也发现了:
高通与Meta宣布合作,优化Meta新推出的Llama 3大语言模型在骁龙终端上的运行。Llama 3有两种版本,分别为80亿和700亿参数,旨在为智能手机、PC、VR/AR头显和汽车等设备提供强大的开源语言模型支持。合作将使开发者能够利用高通AI Hub的资源和工具,优化Llama 3在骁龙平台上的执行,以缩短产品上市时间,并提升终端侧AI的性能,包括响应能力、隐私性、可靠性和个性化体验。
这才几天过去,在huggingface平台就发现了8个中文微调模型,不得不说社区的力量真的太强大了,全民共享大模型。

从 Llama 3 的发布能看到,好而全的数据,对模型训练的重要性! HuggingFaceFW 开源的 FineWeb,有 15T tokens 的高质量网络数据,以英文为主,由 CommonCrawl 获取的 2013-2024 年数据。

ollama和huggingface 给与了像我这样的普通人,就能很方便的了解AI大模型,并且在本地运行大模型,真的太高兴了,接下来有机会会继续尝试其他的可能性。
使用ollama分别在我的window、mac、小米手机上部署体验llama3-8b的更多相关文章
- mac与windows上部署使用Redis
windows下Redis安装 在Redis的官网下载页上有各种各样的版本,由于redis官网不支持windows,但是我们伟大的windows家族还是召唤了一群小伙伴开发了win版的redis.要在 ...
- 在Mac OS X中部署Tomcat的经验
因为前几天重装了Mac的系统.准备接下来把一些必需的实验环境都搭建起来.这里简单总结一下在Mac OS X上部署Tomcat应该注意的事情: 下载Tomcat的相应版本号,如http://tomcat ...
- window/mac系统关机
window/mac系统关机 #ifdef Q_OS_WIN #include "windows.h" #endif void OnShutDown() { #ifdef Q_OS ...
- 在 Mac OS X 上安装 TensorFlow
在 Mac OS X 上安装 TensorFlow 这个文档说明了如何在 Mac OS X 上安装 TensorFlow. 注意:从 1.2 版本开始,在 Mac OS X 上 TensorFlow ...
- Mac OS X上使用Wireshark抓包
Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的X ...
- Mac电脑如何读取Android手机上的文件
问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...
- Mac OS X 上安装 ASP.NET 5
在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...
- 如何在Mac OS X上安装 Ruby运行环境
对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Mac OS X上用CoreCLR运行一个真正的.NET控制台程序
这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld ...
随机推荐
- [VueJsDev] 其他知识 - NestJS 学习内容
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html NestJS 学习内容 NestJS 学习总结 Step. ...
- 使用Deployment和Service实现简单的灰度发布
在Kubernetes中,使用单个Service和多个Deployment来实现灰度发布的一种常见方法是利用标签(Labels)和选择器(Selectors)来控制哪些Pods接收来自Service的 ...
- day02-自己实现Mybatis底层机制-01
自己实现Mybatis底层机制-01 主要实现:封装SqlSession到执行器+Mapper接口和Mapper.xml+MapperBean+动态代理Mapper的方法 1.Mybatis整体架构分 ...
- Navicat下载、安装、破解永久许可证密钥激活教程
https://www.cnblogs.com/marchxd/p/15580739.html 如果破解机生成的激活码无效,试着在破解机的Products里选择Mysql选项,再重新生成激活码
- slf4j 和 log4j2 架构设计
1.日志框架背景 2.为什么会有 slf4j 和 log4j2 搭配一说? 3.log4j2 3.1.背景及应用场景 3.2.功能模块 4.slf4j 4.1.背景及应用场景 4.2.功能模块 5.s ...
- uni-app攻略:如何对接驰腾打印机
一.引言 在当前的移动开发生态中,跨平台框架如uni-app因其高效.灵活的特点受到了开发者们的青睐.同时,随着物联网技术的飞速发展,智能打印设备已成为许多业务场景中不可或缺的一环.今天,我们就来探讨 ...
- RageFrame学习笔记:创建路由+导入layui
这是我写的学习RageFrame的第二篇,这一篇给大家分享下我是如何创建路由,导入外部js,css文件的,这里写下我的全部流程,希望对大家有所帮助. 话不多说,直接开始,在上一章中,我们已经把项目实例 ...
- 记录--手写vm.$mount方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.概述 在我们开发中,经常要用到Vue.extend创建出Vue的子类来构造函数,通过new 得到子类的实例,然后通过$mount挂载到 ...
- 【已失效】Xcode GUI 添加 SPM 依赖的时候访问不了 github,无视 git config proxy 配置解决方案
此 openradar 中提出者指出了原因:Xcode 调用 libgit2 时传入了 GIT_PROXY_NONE,无视了 git config 中的 proxy 配置.作者说用了自己打的 libg ...
- 测试监控系列:使用vb批量统计nmon结果
适用于一次统计几十台机器的nmon监控结果. 新建excel,在设置里打开开发者工具,点查看代码,把下面代码贴到模块里即可.最后把表格保存为.xlsm Sub for_nmon()'用来统计nmon结 ...