就在前天,阿里正式发布了 Qwen 2 开源大语言模型,这次发布包括基础语言模型和指令调整语言模型,参数范围从 0.5 到 720 亿,还包括了 Mixture-of-Experts 模型。
作为一个一直使用 Qwen 直到 Qwen 1.5 模型的忠实用户,我对这次的发布感到格外兴奋。因为在全球权威测评中,Qwen 2 72B 模型的性能已经超过最强开源模型的王者 Llama3 70B 模型。要知道,Llama3 距今发布可还不到两个月的时间!
模型测试
虽然 Qwen 2 刚刚推出,但已经有很多人对其进行了广泛的测试。这些测试主要涵盖语义理解、语言生成质量、世界知识准确性、问题回答和对话能力、安全性,以及鲁棒性和稳定性等方面。由于这些方面的测试已经很多,我此次测试的重点将更侧重于模型在代理方面的能力。我将为 Qwen 2 添加代码解释器,以评估其任务分解和代码编写能力。此外,我还会为其添加本地知识库、搜索引擎、Function Calling 和 Google 工具箱,测试模型在多种工具情境下自动选择并正确调用合适工具的能力。
本次测试使用的工具包括:
Python 代码解释器 (可以执行 Python 代码和本机脚本语言)
本地知识库 (使用 PS5 用户手册文档构建的知识库)
搜索引擎 (duckduckgo)
Function Calling (包含三个函数,获取本地时间,本地位置,向 support@sony.com 发送修理单邮件)
Google 工具箱
( 1 )从 Google Mail 中搜索和发送邮件
( 2 )从 Google Drive 中搜索,上传和下载文档
( 3 )从 Google Calendar 中检查和添加提醒事件
( 4 )从 Youtube 中搜索视频
( 5 )从 Google Map 中搜索位置
本次测试主要有三个大测试以及多个小任务组成:
Qwen2 7B Instruct 任务分解和代码编写能力测试
股票绘图任务:绘制 Tesla 和 Apple 今年的股票价格曲线。
浪漫之心任务:使用 python 语言绘制一个浪漫之心并显示它。
词云任务:读取本地文件"D:\lord_of_the_rings.txt"内容,统计词频并绘制词云图像。
使用的工具:代码解释器
Qwen2 7B Instruct 扮演 PS5 客服代理测试
介绍 PS5 产品任务:预期通过预制的代理提示词介绍产品。
介绍 PlayStation 新产品任务:预期自动使用搜索引擎结果来归纳并回答。
介绍 PS5 的特殊特性任务:预期自动从本地知识库中搜索后回答。
提交修理单任务:预期自动调用提交修理单函数,向 support@sony.com 发送修理单邮件。
使用的工具:本地知识库,搜索引擎 (duckduckgo),Function Calling
Qwen2 7B Instruct 扮演个人助理代理测试
自我介绍任务:预期通过预制的代理提示词介绍自己。
检索新闻任务:预期自动使用搜索引擎结果来归纳并回答。
检索工作邮件任务:预期自动使用邮件检索工具来回答。
添加提醒任务:预期自动检查空闲时间,并协助添加新的提醒事件。
分享文档任务:预期自动从 Google Drive 中下载工作文档,并通过邮件分享给组员。
分享视频任务:预期自动从 Youtube 中搜索视频,并通过邮件分享给朋友。
使用的工具:本地知识库,搜索引擎 (duckduckgo),Google 工具箱
完整的视频演示: <amp-youtube data-videoid="H9ZqZTqpTvk" layout="responsive" width="480" height="270"></amp-youtube>
下面我将详细演示 Qwen2 7B Instruct 模型在这些任务上的完成情况。
一、Qwen2 7B Instruct 任务分解和代码编写能力测试
股票绘图任务:绘制 Tesla 和 Apple 今年的股票价格曲线。(成功)
Qwen2 模型很好的完成了任务,首先使用 yfinance 从雅虎财经上获取了 TSLA 和 AAPL 的股票数据;然后使用 plt 绘制了两支股票今年的价格趋势图型。
2. 浪漫之心任务:使用 python 语言绘制一个浪漫之心并显示它。(完美)
Qwen2 模型非常完美的完成了任务,它导入了 turtle 库,然后编写 python 代码动态绘制了浪漫之心!看到这颗心动态生成的过程,心里还有点小感动...
浪漫之心的绘制过程:
https://i.imgur.com/9akLk2q.mp43. 词云任务:读取本地文件"D:\lord_of_the_rings.txt"内容,统计词频并绘制词云图像。(成功)
文件内容是指环王故事的一部分,模型首先编写代码并读取了文件内容,最后编写代码制作词云并显示。
二、Qwen2 7B Instruct 扮演 PS5 客服代理测试
1.介绍 PS5 产品任务:预期通过预制的代理提示词介绍产品。(成功)
模型介绍了自己和 PS5 主机,没有使用工具,符合预期。
2. 介绍 PlayStation 新产品任务:预期自动使用搜索引擎结果来归纳并回答。(成功)
模型使用了搜索引擎 (duckduckgo)搜索相关内容之后,回答了 PlayStation 在 2024 年的新产品。
3. 介绍 PS5 的文本转语音特性任务:预期自动从本地知识库中搜索后回答。(成功)
模型从本地知识库( PS5 )中搜索相关内容之后,回答了这个问题。
4. 提交修理单任务:预期自动调用提交修理单函数,向 support@sony.com 发送修理单邮件。(成功)
告诉模型 PS5 手柄的肩键损坏之后,模型调用了正确的函数提交了修理单,并返回了修理单号给客户。不过期待模型进一步询问修理信息,比如客户名称,损坏的细节描述,购买时间,购买凭证等,模型并没有询问,稍有遗憾。但总体上还是成功完成了任务。
三、Qwen2 7B Instruct 扮演个人助理代理测试
1. 自我介绍任务:预期通过预制的代理提示词介绍自己。(成功)
模型仅使用了预制的提示词进行了自我介绍。
2. 检索新闻任务:预期自动使用搜索引擎结果来归纳并回答。(成功)
询问刚刚结束的 Google IO 开发者大会的新闻,模型使用了搜索引擎 (duckduckgo)搜索相关内容之后,回答了这个问题。
3. 检索工作邮件任务:预期自动使用邮件检索工具来回答。(成功)
让模型搜索我的 Gmail 邮箱,查找关于 Google 开发者比赛的邮件,模型调用 Google 工具箱中的邮件搜索工具之后,总结邮件内容并进行了回答。任务成功!稍有不满意的地方是,回答的文本格式有点问题。
4. 添加提醒任务:预期自动检查空闲时间,并协助添加新的提醒事件。(成功)
让模型检查今天下午 2 点-3 点的时间安排,是否有空。模型调用 Google 工具箱中的 Calendar 工具检查之后发现 2:30 到 3:30 有一个 meeting ,点开模型返回的连接之后,还可以直接导航到 Google Calendar 中检查这个 meeting 的详细信息。
让模型把面试的提醒安排到 3:30 到 4:30 ,模型调用 Calendar 工具添加了新的提醒,点开连接之后,可以导航到 Google Calendar 中检查这个新添加的提醒。
5. 分享文档任务:预期自动从 Google Drive 中下载工作文档,并通过邮件分享给组员。(成功)
让模型搜索 Google Drive 中关于 HipsHook 的介绍文档,并把它下载到本地的"Download"目录中。
接着让模型发送邮件,并把其中一个文件作为附件,发送给了 Team 中的另外一个成员 Tony 。
6. 分享视频任务:预期自动从 Youtube 中搜索视频,并通过邮件分享给朋友。(成功)
让模型从我的 Youtube 频道中查找关于"实时语言翻译"的视频信息。模型通过 Youtube 工具找到了视频以及视频的连接。
接着让模型发送邮件,把这个视频链接作为邮件内容的一部分,分享给了我的朋友 Tony 。
最终总结:经过测试,Qwen 2 是目前唯一一个通过所有测试的本地开源语言模型。此前,只有闭源的大模型(如 Gemini 1.5 Pro 和 GPT-4 )才能达到这种能力。大语言模型技术的迭代速度之快令人难以置信,我期待这项技术能够真正落地的那一天。我相信,通过手机端部署的个人助理,自动检查邮箱、编写并发送邮件、安排日常工作和生活的日子在不久的将来一定会实现!