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的更多相关文章

  1. mac与windows上部署使用Redis

    windows下Redis安装 在Redis的官网下载页上有各种各样的版本,由于redis官网不支持windows,但是我们伟大的windows家族还是召唤了一群小伙伴开发了win版的redis.要在 ...

  2. 在Mac OS X中部署Tomcat的经验

    因为前几天重装了Mac的系统.准备接下来把一些必需的实验环境都搭建起来.这里简单总结一下在Mac OS X上部署Tomcat应该注意的事情: 下载Tomcat的相应版本号,如http://tomcat ...

  3. window/mac系统关机

    window/mac系统关机 #ifdef Q_OS_WIN #include "windows.h" #endif void OnShutDown() { #ifdef Q_OS ...

  4. 在 Mac OS X 上安装 TensorFlow

    在 Mac OS X 上安装 TensorFlow 这个文档说明了如何在 Mac OS X 上安装 TensorFlow. 注意:从 1.2 版本开始,在 Mac OS X 上 TensorFlow ...

  5. Mac OS X上使用Wireshark抓包

    Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的X ...

  6. Mac电脑如何读取Android手机上的文件

    问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...

  7. Mac OS X 上安装 ASP.NET 5

    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...

  8. 如何在Mac OS X上安装 Ruby运行环境

    对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...

  9. 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  10. Mac OS X上用CoreCLR运行一个真正的.NET控制台程序

    这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld ...

随机推荐

  1. 阿里二面:如何定位&避免死锁?连着两个面试问到了!

    在面试过程中,死锁是必问的知识点,当然死锁也是我们日常开发中也会遇到的一个问题,同时一些业务场景例如库存扣减,银行转账等都需要去考虑如何避免死锁,一旦线上发生了死锁,那可能年终不保.....下面我们就 ...

  2. .NET集成DeveloperSharp实现强大的AOP

    (适用于.NET/.NET Core/.NET Framework)[目录]0.前言1.第一个AOP程序2.Aspect横切面编程3.一个横切面程序拦截多个主程序4.多个横切面程序拦截一个主程序5.优 ...

  3. python中bytes转int的实例(bytearray to short int in python)

    python很多数据都是bytes格式的,经常需要转换成int或者short,笔者实际项目有需求,这里就做个笔记吧. 实例一: bytes转short:(无符号类型) import struct ba ...

  4. Ubuntu14.04 apache2 配置 CGI(并测试:shell,可执行文件,python)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  5. 寒武纪加速平台(MLU200系列) 摸鱼指南(三)--- 模型移植-分割网络实例

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  6. System design summary

    system design https://github.com/donnemartin/system-design-primer Performance vs scalability scalabi ...

  7. 记录--【vue3】写hook三天,治好了我的组件封装强迫症。

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 我以前很喜欢封装组件,什么东西不喜欢别人的,总喜欢自己搞搞,这让人很有成就感,虽然是重复造轮子,但是能从无聊的crud业务中暂时解脱 ...

  8. Linux安装Oracle12C及一些参考

    目录 安装 系统配置 安装前装备 安装依赖包 创建用户和组 修改内核参数 修改系统资源限制 创建安装目录及设置权限 设置oracle环境变量 安装Oracle 一些参考 compat-libstdc+ ...

  9. UE4蓝图对Actor的引用

    通过关卡蓝图调用 在关卡中放置一个Actor,在关卡蓝图中右键 create a reference to actor,即可 注意使用该方法创建时,需要现在关卡中选择上该类Actor 当Actor生成 ...

  10. 关于Dockerfile部署nginx,访问静态资源403Forbidden问题

    今天项目遇到一个问题,服务器部署的nginx,在访问静态图片返回403 Forbidden. 容器是采用Dockerfile部署的,代码如下: FROM nginx:latest MAINTAINER ...