5

使用ollama分别在我的window、mac、小米手机上部署体验llama3-8b - aehyok

 1 week ago
source link: https://www.cnblogs.com/aehyok/p/18149902
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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即可查看到相关命令

89805f908c29784f7d7a0f9100c80a3

如果你用过 docker 的话,那简直就是so easy。
接下来我就在我的window、mac、以及小米手机上分别体验一下。

3、window上下载及体验

  • https://ollama.com/
    官网首页一进来就可以看到下载按钮,客户端可以在window、mac、linux等进行安装,跨平台的,真的nice啊。
401119-20240422064834997-1096253635.png

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

401119-20240422064835008-1110918222.png

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

image

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

image

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

image

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

动画

整个体验下来,这可能是我本机测试感觉速度上最快的离线大模型了,真的表现非常棒。按照目前应该很快会有优化版本出来的,到时候继续进行评测一下。

破除了之前有人说没有上下文的问题,中文语料可能确实有点少。但是写代码的体验还算不错的,虽然上面的代码可能是不对的。

image

上下文长度过长时确实有幻觉的问题。

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

image

从开发的角度来看还算不错了。另外对翻译的要求不高的话,效果也还过得去的。

同样的你也可以直接进行调用API

image

4、mac 上安装以及体验

同样还是在官网首页可以点击直接下载即可,下载下来会是一个压缩包

5038fd4c5fc4fe2ca719fd7f23078c7

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

b7a6417698460d4d517478ffb0a6235

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

4a985e90e1e5b3471aae674672f5d2c

哇塞,这会的下载速度简直起飞了
跑起来之后,测试就可以跟上面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

6ba6dbd6d9b597c744663c0b62ea92f

但是点进去发现是五年前的,不知道能不能用,于是我就又搜索了一下

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左上角向右滑动

23dec3e012ccd1b72faf78b4cdd3cd9

点击NEW SESSION,这样就新开了一个命令行,在这里命令行中就可以使用ollama其他命令了

// 这是一个新的命令行,,记得要先进入debian
proot-distro login debian

//下载并运行大模型
ollama run llama3

进行测试就跟上面一样了,这里相当于单独安装了一个模拟运行环境debian,会有一部分性能的消耗吧。有兴趣或者手机性能不错的到时候可以玩玩,感觉小模型在未来的某个时刻还是会有更广泛的应用场景,参数不用那么多,那么大,但是针对特定领域进行微调训练的。

应该说llama3给与了开源模型更广阔的思考空间,期待开源模型更大的进步让我们拭目以待。同时希望Meta在接下来的时候能将llama3-400的发布。

就在实验此文章的过程中也发现了:

高通与Meta宣布合作,优化Meta新推出的Llama 3大语言模型在骁龙终端上的运行。Llama 3有两种版本,分别为80亿和700亿参数,旨在为智能手机、PC、VR/AR头显和汽车等设备提供强大的开源语言模型支持。合作将使开发者能够利用高通AI Hub的资源和工具,优化Llama 3在骁龙平台上的执行,以缩短产品上市时间,并提升终端侧AI的性能,包括响应能力、隐私性、可靠性和个性化体验。

这才几天过去,在huggingface平台就发现了8个中文微调模型,不得不说社区的力量真的太强大了,全民共享大模型。

f9038b109618b5dbb5bba41943c2318

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

image

ollama和huggingface 给与了像我这样的普通人,就能很方便的了解AI大模型,并且在本地运行大模型,真的太高兴了,接下来有机会会继续尝试其他的可能性。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK