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

2024-06-07 00:36

本文主要是介绍使用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即可查看到相关命令

89805f908c29784f7d7a0f9100c80a3

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

3、window上下载及体验

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

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

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

image

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,之前我主要使用的是 huggingface 来运行大模型,那么现在用到的是ollama。

于是我在Termux中执行如下命令进行安装ollama
··· python
curl -fsSL https://ollama.com/install.sh| sh
···
发现我的手机没有root,ollama是使用不起来的,必须要先root。

6ba6dbd6d9b597c744663c0b62ea92f

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,会有一部分性能的消耗吧。有兴趣或者手机性能不错的到时候可以玩玩,感觉小模型在未来的某个时刻还是会有更广泛的应用场景,参数不用那么多,那么大,但是针对特定领域进行微调训练的。

6、总结

应该说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大模型,并且在本地运行大模型,真的太高兴了,接下来有机会会继续尝试其他的可能性。

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

五、面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

这篇关于使用ollama分别在我的window、mac、小米手机上部署体验llama3-8b的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037683

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定