Llama3初体验以及和ChatGPT 3.5 Turbo对比
llama3
介绍
Meta Llama 3
是 Meta Inc.
开发的一系列最先进的模型,提供 8B
和 70B
参数大小(预训练或指令调整)。
Llama 3
指令调整模型针对对话/聊天用例进行了微调和优化,并且在常见基准测试中优于许多可用的开源聊天模型。
让我们开始在本地电脑体验llama3
,以及和 ChatGPT 3.5 Turbo
进行各项能力对比。
准备
可以阅读往期文章,依次了解Ollama
工具、本地大模型能力对比、Gradio UI界面搭建。
快速使用
使用ollama在终端快速使用。
ollama run llama3:8b
能力对比:Llama3-8B VS ChatGPT 3.5 Turbo
我这里直接使用本地中文大语言模型搭建和对比文章中的问题和gpt-3.5-turbo
模型进行对比测试。
01 实体提取
prompt:
请帮我分析一下这段话”张三今年30岁,生活在四川成都,截止2024年3月31日,他就职于一家叫 Eric AI 的公司,他喜欢阅读书籍,打篮球。“
如果包含人名,请帮我列出“人名:xxx”;如果包含地点,请帮我列出“地点:xxx”;如果包含时间,请帮我列出”时间:xxxx年xx月“;,如果包含公司或机构,请帮我列出”机构:xxx“,如果包含其他实体,请帮我列出”实体:xxx“。
gpt-3.5-turbo:
llama3-8b:
可以看到llama3-8b,其他实体未识别出来。
02 文本总结
prompt:
请帮我将分析一下文字的含义,然后使用不超过30个字进行归纳:
LLM 是一项关键的人工智能(AI)技术,为智能聊天机器人和其他自然语言处理(NLP)应用程序提供支持。目标是通过交叉引用权威知识来源,创建能够在各种环境中回答用户问题的机器人。不幸的是,LLM 技术的本质在 LLM 响应中引入了不可预测性。此外,LLM 训练数据是静态的,并引入了其所掌握知识的截止日期。
LLM 面临的已知挑战包括:
在没有答案的情况下提供虚假信息。
当用户需要特定的当前响应时,提供过时或通用的信息。
从非权威来源创建响应。
由于术语混淆,不同的培训来源使用相同的术语来谈论不同的事情,因此会产生不准确的响应。
您可以将大型语言模型看作是一个过于热情的新员工,他拒绝随时了解时事,但总是会绝对自信地回答每一个问题。不幸的是,这种态度会对用户的信任产生负面影响,这是您不希望聊天机器人效仿的!
RAG 是解决其中一些挑战的一种方法。它会重定向 LLM,从权威的、预先确定的知识来源中检索相关信息。组织可以更好地控制生成的文本输出,并且用户可以深入了解 LLM 如何生成响应。
gpt-3.5-turbo:
llama3-8b:
两个都归纳得不错,但是llama3超出30个字有点多。
03 逻辑推理
prompt:
树上有9只鸟,猎人开枪打死一只,树上还剩多少只鸟?
gpt-3.5-turbo:
llama3-8b:
都回答错误!
04 翻译
prompt:
你是一位专业翻译人员,请将以下英文内容翻译成中文:”LangChain enables building application that connect external sources of data and computation to LLMs. In this quickstart, we will walk through a few different ways of doing that. We will start with a simple LLM chain, which just relies on information in the prompt template to respond. Next, we will build a retrieval chain, which fetches data from a separate database and passes that into the prompt template. We will then add in chat history, to create a conversation retrieval chain. This allows you to interact in a chat manner with this LLM, so it remembers previous questions. Finally, we will build an agent - which utilizes an LLM to determine whether or not it needs to fetch data to answer questions. We will cover these at a high level, but there are lot of details to all of these! We will link to relevant docs.”
gpt-3.5-turbo:
llama3-8b:
llama3翻译差点意思,中间还夹杂了英文。
05 扩大补充
prompt:
您是客户服务AI助手。您的任务是向尊贵的客户发送电子邮件回复。
以下面以 ''' 分隔的是客户发来的电子邮件,请生成回复以感谢客户的评论。
如果情绪是积极的或中立的,感谢他们的评论。如果情绪是负面的,请道歉并建议他们可以联系客户服务。
确保使用评论中的具体细节。用简洁和专业的语气写。
将电子邮件签名为 “AI客户代理”。
客户评论: '''
在 11 月份仍然以 49 美元左右的价格季节性销售 17 件套系统,大约有一半的折扣,但由于某种原因(称之为价格欺诈),在 12 月的第二周左右,价格全部上涨到大约 同一系统的价格在 70-89 美元之间。11 件系统的价格也较之前的 29 美元上涨了约 10 美元左右。所以它看起来还不错,但如果你看一下底座,刀片锁定到位的部分看起来不像几年前的以前版本那么好,我对它非常温和(例如,我首先在搅拌机中压碎非常坚硬的物品,如豆子、冰、大米等,然后在搅拌机中将它们粉碎成我想要的份量,然后切换到搅打刀片以获得更细的面粉,并在制作冰沙时首先使用十字切割刀片,如果我需要更细/更少的果肉,则使用平刀片)。制作冰沙时的特别提示,将水果和蔬菜切碎并冷冻(如果使用菠菜 - 稍微炖软菠菜,然后冷冻直至准备使用 - 如果制作果汁冰糕,请使用中小型食品加工机) 如果你打算用这种方式,你可以避免在制作冰沙时添加太多的冰(如果有的话)。大约一年后,电机发出奇怪的声音。我打电话给客服,但保修已经过期了,所以我不得不再买一个。'''
评论情绪:负面
gpt-3.5-turbo:
llama3-8b:
ollama3还是回答得很详尽,提到了客户提到的每个问题细节。
06 生成SQL
prompt:
已知有两个mysql表,一个是代表销售人员的表:Persons,另一个是代表订单的表:Orders。具体的表定义如下:表Persons:CREATE TABLE Persons (PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (PersonID) ); 表Orders:CREATE TABLE Orders (O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, PRIMARY KEY (O_Id), FOREIGN KEY (P_Id) REFERENCES Persons(PersonID) );请帮我生成一个SQL语句,查询销售人员”Zhang san“的所有订单数据。请用中文回答。
gpt-3.5-turbo:
llama3-8b:
都OK。但是llama3当销售人员名称重复时使用IN不会报错。
07 生成代码
prompt:
某公司2021年3月至7月(含)的自研产品销售数据依次为118万元、671万元、446万元、902万元和1011万元,请帮我用python的pyplot制作一个可查看趋势的柱状图表,注意月份等标签请使用中文且计量单位使用"万元"。
gpt-3.5-turbo:
llama3-8b:
都没有语法问题,也可以顺利执行。
总结
llama3-8b
使用GGUF量化后的模型大小只有4.7GB
,在一些编码以及扩充方面相较于ChatGPT 3.5 Turbo
输出的结果更加详细,友好。
但也同时对于中文的支持不是特别的好,例如:翻译;如果prompt不提示使用中文回答,尽管你是使用中文问它,也只会使用英文进行回复。