如何用 Llama 3 免费本地 AI 分析数据和可视化?

帮助你消除调用大模型 API 带来的数据安全烦恼。

31a343d4d3a049a02e218f14c040c9b5.jpeg

模型

今天我们来探讨一个有趣的话题 —— 如何使用 Llama 3 免费地进行数据分析和可视化。

Meta 团队在 2024 年 4 月发布了两款 Llama 3 新模型,一款是 8B,即 80 亿参数;另一款则是 70B,即 700 亿参数。关于 700 亿参数的模型,我之前已经为你撰写了一篇文章《如何免费用 Llama 3 70B 帮你做数据分析与可视化?》,如果你感兴趣,欢迎点击链接阅读。

咱们今天的讨论重点是较小款 80 亿参数的模型。相比之前的 Llama 2 的同规模模型,它的性能有了显著提升。我们今天将使用一个名为 Ollama 的工具在本地运行这款模型。下面我会向你展示相关的安装和设置方法。

安装

首先,你需要 访问 Ollama 的官网。

af74f855332d44cee1af326ae489feef.jpeg

在网站首页选择下载选项,请确保选择与你操作系统相匹配的版本。例如,我选择了适用于 mac 的版本。如果你使用的是 Windows 或 Linux,应选择相应的版本。

10d3241fd1c6d3b9859c7404de487769.jpeg

安装过程非常简单,基本上按照常规操作进行即可。在 macOS 上,下载的安装包解压后包含一个可执行文件,你只需将其拖到应用程序文件夹即可完成安装。安装后,你需要进行一些基本设置。

945bb073ac5111724bcbc57041b51913.jpeg

打开程序后,界面会提示你点击 next,然后点击 install,程序将帮助你安装所需的命令行工具。

7789c40b82807bafea0a46b6e1dfde58.jpeg

安装完成后,程序会提供一个默认链接,你可以复制此链接来启动 Llama 2。

e33f8a109d2fc3f2c8ffe6a33ff6e1cf.jpeg

但是我们今天的目标是使用 Llama 3,因此我们返回网站首页,寻找关于 Llama 3 的信息。链接在这里。

463a57776448c77aeb62029e028ab3db.jpeg

当你进入模型页面时,页面上会提供详细信息,包括一个下拉框,让你查看各种选项。例如,Latest 标签实际上默认指的就是 8B 模型。

19996fbdf54c8dfd09fbea0ce823e5a0.jpeg

大多数人还是希望在本地运行这种较小的模型。因为 70B 模型虽然功能强大,但仅下载就需 40GB,同时你的机器还需要一定的显存才能运行它。相比之下,8B 模型只需要 4.7GB 的存储空间,占用的显存也只有大约 4GB。

655726d869946880c0e41f27d8cc554b.jpeg

在 M 系列芯片的 Mac 上,内存和显存是统一分配的,所以我这里就不详细区分了。如果你使用的是其他类型的系统,你可能需要区分显存和内存。

在我的机器上,由于只有十几 GB 的内存,所以我认为选择 8B 模型更实际。使用方法是复制界面右侧的命令,然后在终端命令行中执行它。

be92f0741c7c0990dce7928274997b46.jpeg

执行

打开终端,输入:

ollama run llama3

系统会自动帮你下载相关的文件。

966d5078597c4c8143e58b4d557ddb76.jpeg

稍等片刻文件下载完成后,系统会帮你删除所有不需要的文件,并通知你安装已完成,你就可以直接在这里输入命令与其交互。

bc80b7d7c4e6ff1614c263ac68b23bf0.jpeg

对,就是这么简单。

测试

环境准备好了,咱们测试一下吧。

我在 Ollama 中输入给 Llama 3 8B 的第一个问题是

你的知识更新到什么时候?

这个问题最近经常有小伙伴在 ChatGPT 网站上问出来。为什么要问这个问题?因为这个问题可以帮助用户检验当前的 ChatGPT Plus 下的 GPT-4 模式,究竟是老版本 GPT-4 Turbo 还是最新的 2024 年 4 月版本。

很多人都希望自己的 ChatGPT 能尽早升级到最新版本,因此经常用这个问题来「骚扰」ChatGPT。

本地运行的 Llama 3 8B 回答说,它的知识截止于 2022 年。这个截止日期是否准确?欢迎你回头去查看 Llama 3 发布的文档。

db10932bb623546be0394675fd5b5bfe.jpeg

然后 Llama 3 8B 还提到,它的这些知识来源于新闻、书籍、网页及众多学术论文。这证明了它接触过很多学术资料。我们后续使用它来完成学术工作时应该会更加得心应手。

接下来,我提出了第二个问题:

写一首歌颂天津春天的诗歌。

73490be0199377967faf77150888f0a9.jpeg

Llama 3 8B 给我的回答是一首英文诗 Tianjin Spring(天津之春)。

我注意到第二段提到了扬子江,但你知道的,天津离长江还有一定的距离。显然 Llama 3 8B 模型在创作诗歌时,对我们天津的了解还不够深入。

而之前我使用 Groq 和 Llama 3 70B 模型输出的天津春天诗歌,连海河与柳絮都描写了进去,非常贴切。

6c89f5dad1c3d1e352c9b508eadda744.jpeg

显然 Llama 3 8B 这个小模型在诗歌创作方面还有待提升,而且它输出的是英文。我在想,能否让它输出中文诗呢?

于是,我要求:

  • 用中文写一首歌颂天津春天的诗歌

然后它给我的回应是…… 空白。

723b82fa5b7f9d86e840f6793664e32c.jpeg

之后,它还对空白的中文诗歌部分,给出了英文的翻译。这让我非常失望,看来很明显目前它在处理中文内容时还存在问题。

接着,我提出了第三个问题:

用 Python 编写一个打乒乓球的游戏程序(write me a pong game in python)。

它输出所有代码后的情况,还贴心地告诉我该如何玩。

2f2c5a038ababd22b118dffd13aa01e1.jpeg

你可以在左侧使用键盘的 W 和 S 键来控制,右侧则使用上下箭头键。

Llama 3 8B 还提醒我,如果无法运行,别忘了首先安装 Python 的 Pygame 库。够耐心。

我直接将这段代码复制粘贴到我的 Visual Studio Code 中,并为文件命名为 pong_llama3_ollama

57b6fd4c839ebad2cfcd7fca7248ffc6.jpeg

这里也给你顺便提个醒 —— 起文件名时要尽量详细些,这样将来自己更容易辨识。旁边那个 pong.py 就是个反面例子。

运行效果嘛,毫无报错,一遍过。

a7f3cf56869dc86aba7be639197d3445.gif

尝试使用这个程序后,我觉得还不错,可玩性相当好。

融合

进而我考虑将这种编程能力融入到我的当前工作流中。毕竟,我希望 Llama 3 8B 能帮我完成更多工作。你已经了解到 Open Interpreter 可以结合 GPT-4, Haiku,以及 Groq 下面的 Llama 3 70B 帮助我们进行数据分析与可视化了。那么这个本地的小模型 Llama 3 8B 行不行呢?

测试一下呗。

这里只需要把原先的调用指令,替换成这样:

interpreter --model ollama/llama3 -y --context_window 200000 --max_tokens 8196 --max_output 8196

你看,直接调用 Ollama 的模型,非常方便。根本不需要再找其他大模型的 API key 了。关键是,它效果如何?

我还是首先让它展示 2024 年 1 月 1 日到 4 月 19 日特斯拉和苹果股票的价格变化,它思考片刻后开始执行。

890a9255d401e5bbe9b4d2dece8eac4d.gif

虽然一开始就出错了,但它很快自我更新,之后的输出就显得靠谱了。没有人工干预,它自己就完成了编程输出。结果是这样的:

c927370652ad38668ace04a8ac97be3e.jpeg

这些日子,经常拿这两只股票价格绘制进行测试,我估计拥有特斯拉股票的朋友们可能不太高兴。无意冒犯,只是因为这些公司比较有名而已。多担待。

下面我们来看看如何绘制词云。我在这里使用了一篇简短的分季介绍老友记(Friends)的文章。下面的演示动图,我剪掉了它前面的思考过程那的一部分。

最初,Llama 3 8B 的编程完全失败,什么代码也没有写就开始执行。这能行吗?第二次它直接输出了一个反引号,这是在开玩笑吧?第三次,它居然尝试使用我现在的 TXT 文件的路径,找寻 requirements 来安装缺失的软件包…… 看到这里,我几乎已经失去了信心。

但是它能够自我迭代和修复。这就是 Open Interpreter 的厉害。这不,第四次,它安装了 wordcloud 词云包,我觉得终于有点意思了。再之后它开始编写代码。这段代码看起来非常好,但这里有一个问题,plt.show () 在 Open Interpreter 命令行方式下调用都是无效的。于是它停了下来。

不过没关系,我告诉它,你干脆就把图存成一个文件,而不要在这里尝试直接显示。

它于是立即对这个问题进行了思考,然后开始先回顾前面的流程,看看之前都做了什么。然后它说,现在我不再使用显示功能了,我直接把图保存,并且给出了对应更新的代码。你可以看到,它两次对话间的上下文记录全面,连接得很好的,执行没有报错。

我们来看看效果怎样?

10a3ad11fea841f1dbbbed6f69e2e4ba.jpeg

我不能说这张词云非常完美,但基本里面显示的这些主要人物对吧?大号字体出现的这些名字,我觉得没有什么大问题。

问题

只不过在利用 Llama 3 8B + Open Interpreter 执行数据分析过程中,你仍然会遇到一些障碍。例如有时候明明它已经完成了任务,却依然还在执着地尝试着重新编程执行,不知道该停下来。这种过度勤劳,有时候也挺讨厌的。

eff80e8459df86bbd71f4e339f723a36.gif

例如上面这个动图展现的情况 ——Llama 3 8B 已经为我们输出了股票价格变动的图表,但之后它又开始尝试再次输出新的代码,这完全是多余的。

我期待未来出现微调优化模型能与 Open Interpreter 更好地连接解决这些问题。

可是,我们明明已经有了便宜甚至现阶段还免费的 Llama 3 70B,那么使用能力相对弱一些的 Llama 3 8B 意义是什么?它不够稳定,输出的时候有时没有代码,有时只有一个反引号,有时甚至是无中生有自作主张运行 requirements.txt……

原因在于「本地化」。本地化的作用是什么?

首先,你不难想到,本地化的模型免费。你不需要再租用远端的API,可以用自己的计算资源来执行操作。

但更重要的,是安全性。很多朋友在交流中反复提到,他们企业或机构内部的数据是严格限制不能上网的。即便是调用开源大模型的 API ,也不行。在这种情况下,使用本地开源模型运行时,则根本不涉及到联网问题。机构数据的安全性可以得到最大限度的保障

小结

我们来总结一下,Llama 3 相对于前一代产品有了实质性的进步。这种进步现在还不完美。但是你可以在自己机器上,运行一个 ChatGPT 3.5 能力级别的模型(Llama 3 8B),而在足够的计算资源加持下,则可以本地运行一个 GPT-4 能力级别的模型(Llama 3 70B)。这样一来,本地模型可以应用到更多的场景中,从而创造了更多的可能性,打开了人们更多的想象空间。

赶快动手在本地用 Ollama 或者 LM Studio 试试看吧。祝 AI 辅助数据分析愉快!

新课

顺便说一句,我在得到 App 的视频课今天正式上线了。为你讲解如何用 AI 辅助论文写作。恰逢「得到」一年一度的「四二三破万卷节」正日子,非常有纪念意义。感谢刀哥的盛情邀请,感谢石唱在课程制作中的鼓励、建议与帮助。欢迎大家加入得到 AI 学习圈来捧场哦。

87e39f7d6ba769ffbd3f104ca8e804a9.jpeg

点赞 +「在看」,转发给你身边有需要的朋友。收不到推送?那是因为你只订阅,却没有加星标

欢迎订阅我的小报童付费专栏,每月更新不少于3篇文章。订阅一整年价格优惠。

cea24df6f10a2dfaa6876b9eed6f0fd7.jpeg

如果有问题咨询,或者希望加入社群和热爱钻研的小伙伴们一起讨论,订阅知识星球吧。不仅包括小报童的推送内容,还可以自由发帖与提问。之前已经积累下的帖子和问答,就有数百篇。足够你好好翻一阵子。知识星球支持72小时内无条件退款,所以你可以放心尝试。

59ae799e18dea43d53776fb126e02927.jpeg

若文中部分链接可能无法正常显示与跳转,可能是因为微信公众平台的外链限制。如需访问,请点击文末「阅读原文」链接,查看链接齐备的版本。 

延伸阅读

  • Tana 大升级:从「玩具」到「武器」

  • 如何免费用 Llama 3 70B 帮你做数据分析与可视化?

  • 笔记本上就能跑的 LLM 好使吗?GPT4ALL 体验

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙arkui 也支持热重载了 我不允许你不会

历史背景 因为鸿蒙出的ark ui 很多人说很像flutter,但是能不能做到跟flutter一样支持热重载呢 。答案是可以的 我们喜就教大家如何操作。 构建工程 选择这个空的模版 next finish 点击file 找到setting 找到 Tools Actions on Save 我们把 Perform hor reload 勾上…

说说你对二分查找的理解?如何实现?应用场景?

一、是什么 在计算机科学中,二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法 想要应用二分查找法,则这一堆数应有如下特性: 存储在数组中有序排序 搜索过程从数组的中间元素开始&…

招商画册不会制作?这个教程收藏好

在制作招商画册过程中可能对于一些小型企业或刚刚起步的企业来说,招商画册的制作也不是一个难以克服的难题。本文将为您提供一些制作招商画册的技巧和建议。在制作招商画册前肯定是需要选择一款合适的在线制作工具,如FLBOOK 这个平台本就有海量的模板和设…

vue快速入门(四十四)自定义组件

注释很详细,直接上代码 上一篇 新增内容 全局注册自定义组件并应用局部注册自定义组件并应用 此篇使用了axios模块没有安装导入的先看这一篇 axios模块下载与导入 源码 main.js import Vue from vue import App from ./App.vue//全局引入axios // 引入axios impor…

超市火灾烟雾蔓延及人员疏散的matlab模拟仿真,带GUI界面

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 出口在人员的视野范围内时,该元胞选择朝向引导点的方向运动。出口不在人员的视野范围内时,作随机运动,8个方向的运动概率相等。…

网工交换基础——Qinq技术

一、Qinq的概述 QinQ(802.1Q-in-802.1Q),也叫做VLAN Stacking或Double VLAN,由IEEE 802.1ad标准定义,是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的目…

Linux驱动开发——(六)按键中断实验

目录 一、简介 二、修改设备树 2.1 添加pinctrl节点 2.2 添加KEY设备节点 2.3 检查是否被其他外设使用 三、代码 3.1 驱动代码 3.2 测试代码 3.3 平台测试 一、简介 以I.MX6U-MINI为例,实现KEY0按下后,设备识别到并将数据发送到平台。 二、修…

40-数组 _ 数组越界

40-1 数组的下标是有范围限制的 数组的下标规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。 C语言本身不做数组…

VUE2版本的仿微信通讯录侧滑列表

<template><!-- Vue模板部分 --><div><div v-for"(group, index) in groupedArray" :key"index" ref"indexcatch"><h2>{{ letter[index] }}</h2><ul><li v-for"item in group" :key&quo…

python基础--文件操作

目标 文件操作的作用文件的基本操作 打开读写关闭 文件备份文件和文件夹的操作 一. 文件操作的作用 思考&#xff1a;什么是文件&#xff1f; 思考&#xff1a;文件操作包含什么&#xff1f; 答&#xff1a;打开、关闭、读、写、复制… 思考&#xff1a;文件操作的的作用…

聚类分析字符串数组

聚类分析字符串数组 对多个字符串进行聚类分析旨在根据它们之间的相似度将这些字符串划分成若干个类别&#xff0c;使得同一类别内的字符串彼此相似度高&#xff0c;而不同类别间的字符串相似度低 小结 数据要清洗。清洗的足够准确&#xff0c;可能不需要用聚类分析了数据要…

45. 【Android教程】内容提供者 - Content Provider

本节学习最后一个 Android 组件——内容提供者。顾名思义&#xff0c;它可以用来给其他的 App 提供各种内容&#xff0c;比如 Android 自带的短信、联系人、日历等等都是一个普通的 App&#xff0c;当你需要这些内容的时候&#xff0c;就可以向它们的 Content Provider 发起请求…

C/C++ 入门(7)vector类(STL)

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 请多多指教&#xff01; 目录 一、标准库中的vector 1、了解 2、vector常用接口 二、vector的实现 1、框架 2、构造、析构函数 3、操作函数 三 、问题 1、由于赋值而引起的浅拷贝 2、因为类没…

【linux】多路径|Multipath I/O 技术

目录 简略 详细 什么是多路径? Multipath安装与使用 安装 使用 Linux下multipath软件介绍 附录 配置文件说明 其他解 简略 略 详细 什么是多路径? 普通的电脑主机都是一个硬盘挂接到一个总线上&#xff0c;这里是一对一的关系。 而到了分布式环境&#xff0c;主机和存储网络连…

普冉PY32F071单片机简单介绍,QFN64 48封装,支持 8 * 36 / 4 * 40 LCD

PY32F071单片机是一款基于32 位 ARM Cortex - M0内核的微控制器&#xff0c;由普冉半导体推出。PY32F071可广泛应用于各种嵌入式系统中&#xff0c;包括消费类电子产品、工业自动化、医疗设备等领域。PY32F071系列单片机具有低功耗、高性能和丰富的外设接口等特点&#xff0c;适…

生物制药企业在选择文件摆渡平台时,最应该关注哪些功能?

生物制药是以数据为核心生产力的企业&#xff0c;数据的重要性体现在药物研发、生产优化、销售和市场营销、决策支持以及合规要求等多个方面。有效地管理和利用数据&#xff0c;对于提升企业的竞争力、降低风险、提高产品质量和满足市场需求具有重要意义。 为保护数据安全&…

KEITHLEY(吉时利)2440源测量单位(SMU)数字源表

KEITHLEY(吉时利&#xff09;2440源测量单位&#xff08;SMU)数字源表 主要特性 50W 时性能高达 5A / 40V0.012&#xff05; 基本测量精度&#xff0c;具有 6 位分辨率10pA / 100nV 测量分辨率与 KickStart 软件结合使用美国2440吉时利keithley数字源表特点 2400系列提供宽动…

亚信安慧AntDB:高效与稳定

亚信安慧AntDB正致力于验证数据库软硬件全自主可控的可行性&#xff0c;并将其应用于运营商核心的交易场景&#xff0c;以替代国外商业解决方案。为了实现这一目标&#xff0c;亚信安慧AntDB的研发团队不断进行技术创新和实践探索。 该数据库以自主研发的技术为基础&#xff0…

C语言 流程图与伪代码 缩减

本文 我们来说说流程图 伪代码和代码缩进 这些可以让我们在后面书写复杂逻辑时 不会感到 繁琐或逻辑混乱 流程图(Flowchart) 是用以算法、工作流或流程的一种框图表示&#xff0c;它以不同类型的框代表不同种类的步骤&#xff0c;每两个步骤之间则以箭头连接。 流程图是程序…

《飞吧龙骑士》新版本“龙神祭”盛大开启,引领骑士团战

热游圈消息&#xff1a;五一假期临近&#xff0c;备受瞩目的手游《飞吧龙骑士》迎来重大更新——“龙神祭”新版本正式开启。在此次更新中&#xff0c;首个蓄力炮UR龙——绮舞的巫女千代烬惊艳登场&#xff0c;为玩家们带来前所未有的燃情体验。同时&#xff0c;全新骑士团战玩…