这几天阿里发布了最新的通义千问大模型:通义千问2.5,据说其性能超越了GPT4的某个版本。大家可能都知道GPT4是地球上最强的大语言模型,各方面的表现都十分优秀。
通义千问的评测数据
不过超越GPT4这件事说起来可能还是有点勉强,很多媒体的证据只是在 OpenCompass 榜单上的一个主观综合评测得分,Qwen-Max-0403 的得分追平 GPT-4-Turbo-1106。主观综合的评测采用了真实人类的评测结果,Qwen-Max-0403 是通义千问的千亿参数大模型,是闭源的,是4月3号的版本,最新的Qwen-Max是4月28号的版本,是通义千问2.5底层的API模型。一般来说新版本会比旧版本强,所以得出通义千问2.5超越GPT4的结论。
图片
然后我又看了一下开源模型的榜单,比较能打的是 Qwen1.5-110B-Chat,在HuggingFace的千亿预训练模型的对比中排名第一,可以说在开源大模型中,通义千问确实很能打。不过 Qwen1.5-110B 发布的比较早,发布时间是两个月之前,也不是当前的通义千问2.5。
图片
鉴于通义千问2.5发布的时间还短,所以公开的评测数据还是比较少。不过阿里最近也发布了通义千问2.5的部分开源模型,并提供了一些评测指标对比。Qwen2-72B相比Qwen1.5的千亿模型的性能有了大幅提升,包括中英文能力、编程能力等,超越前阵子的Llama-3-70B更是不在话下,请看下图中的部分数据:
图片
完整的对比在这里:https://huggingface.co/Qwen/Qwen2-72B
单说开源大模型这块,通义的评测指标是遥遥领先的。
通义千问真的有这么强了吗?
不过光看评测指标是不行的,很多大模型会针对评测数据集做专门的优化,实践才是检验真理的唯一标准。
正好这两天我遇到了一个技术问题:有个Docker容器实例的文件被我搞坏了,导致实例无法启动,我想把这个搞坏的文件替换为原版本,但是我对这块不熟,不知道该怎么办?于是我想到了万能的大模型。
本着信任的态度,我先使用通义千问尝试解决这个问题,以下是我的问答:
图片
先不说这个方法是否可行,单说这些操作就挺复杂的,创建镜像、启动新容器、创建新镜像、删除旧容器,反正我也没操作成功。
当然我也没在问题中提到我的容器启动不起来了。但是如果容器能启动起来,大模型也没要让我绕这么大的弯子,我直接启动后修改其中的文件不就行了吗?还要创建镜像后再启动一个新实例进行修改?通义千问无疑没理解到位,或者把简单的问题搞复杂了。现在通义千问回答问题时会列出几个参考网页,不知道是不是以为参考的文章质量不够导致的,很多人都诟病简体中文的语料太差,难道我不经意间就成了受害者?
无奈,看来还是错付了信任。再次求助GPT4,同样的问题,看看GPT4的回答:
图片
根本就不需要那么麻烦,已经停止的容器,也能访问它的文件系统。
实操后解决问题,简单又快速。
当然这只是一个个例,通义千问写代码、解决技术问题的能力还是很强的,我也经常使用,只是它有时候会出错。个人感觉,出错的概率大于GPT4,我使用的过程中,GPT4基本没有出现过大的问题。大家搞技术,有条件的还是应该用GPT4,稳定的节省时间。
使用Qwen2开源模型
阿里最近开源了一大批Qwen2模型,我们可以在huggingface下载这些模型,也可以在huggingface上体验这些模型:https://huggingface.co/collections/Qwen/qwen2-6659360b33528ced941e557f。
直接使用Demo
huggingface上有一些模型体验Demo,其中Qwen2-72B 的体验地址是:https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct。
Qwen2-72B的性能还是挺不错的,这里分享几个弱智吧的问题给大家看看。
1、小明的爸爸妈妈为什么不邀请小明参加他们的婚礼?
图片
2、生鱼片是死鱼片吗?
图片
3、小明的妻子生了一对双胞胎。以下哪个推论是正确的?
图片
Qwen2-72B回答这几个问题的逻辑有理有据,看不出来什么问题,回答效果确实不输GPT4。
使用云环境镜像
我在AutoDL上分享了一个 Text Generation WebUI 的镜像,大家可以一键启动,使用最新的 Qwen2-7B 和 GLM-4-9B模型。
Text Generation WebUI 文字生成界的SD WebUI,一个用于大型语言模型的 Gradio Web 用户界面。支持 transformers、GPTQ、AWQ、EXL2、llama.cpp(GGUF)、Llama 等多种模型格式。
镜像内置了一键启动器,可以一键运行 Qwen2-7B、Qwen1.5-7B-Chat、Qwen1.5-32B-Chat、GLM-4-9B、ChatGLM3-6B、Yi-34B-Chat、 Yi-6B-Chat、Llama-3-8B-Instruct 等大语言模型,启动后可以使用OpenAI风格的API、在浏览器进行聊天对话,还可以对大语言模型进行微调训练。
镜像地址:https://www.codewithgpu.com/i/oobabooga/text-generation-webui/yinghuoai-text-generation-webui
打开页面后,点击右下角的“AutoDL创建实例”,即可开启一个GPU服务器实例,注意显卡选择3090或者4090,显存需要在24G及以上才能玩的溜。
或者你也可以直接创建容器示例,在镜像这里选择“社区镜像”,输入 yinghuoai-text-generation-webui ,即可找到这个镜像。
图片
实例启动后,在服务器实例列表中点击“JupyterLab”,进入一个Web页面。
图片
在 JupyterLab 页面中打开“启动器”,这个镜像内置了很多模型,默认启动的是 Qwen2-7B-Instruct,这些模型在24G显存下都能跑起来。如果要运行更大参数的模型,需要更多的显存,成本比较高,有兴趣的可以尝试下。
图片
启动成功后,我们可以看到一个Gradio的链接,点击就会在浏览器打开 Text Generation WebUI。
图片
另外 Text Generation WebUI 还支持通过API访问大模型,API定义兼容OpenAI协议,有兴趣的请参考jupyterlab中的API使用说明。
体验Qwen2-7B
进入Text Generation WebUI后,需要先设置一下角色,在参数(Parameters)页签中,选择“AI助理”。这个AI助理是我创建的,方便进行中文对话。
图片
在聊天(Chat)页签的右侧,有一个“Mode”,定义了大模型处理提示词的模式,需要选择“chat-instruct”。
图片
然后我们就可以和它聊天了。
我这里用弱智吧的问题分别对 Qwen2-7B 和 GLM-4-9B 做了测试,结果不太理想。
Qwen2-7B的测试截图:
图片
GLM-4-9B的测试截图:
图片
看来几十亿参数的大模型还是不够用,模型理解能力太差,企业要用还得是百亿参数的模型,理解到位才能执行正确的操作,否则就成了大家吐槽的对象。
不过大模型一直在进步,参数越来越小,性能越来越强,说不定哪天70亿参数规模也能有优秀的理解能力。
大语言模型微调
微调可以让大语言模型更符合业务的需要,包括技能和语言风格等。
以上就是本文的主要内容,做个简单的总结。
- 通义千问发布的2.5确实有一战之力,只是目前发布时间不久,社区的评测数据尚未展现其真实的战力。
- 根据个人的使用感受,其性能表现似乎还不够稳定,和当前的GPT4还有些差距。
- 对于企业部署开源大模型,建议选择百亿以上的模型,从性能上看新发布的Qwen2-72B是个不错的选择。
- 如果你想让大语言模型更符合业务的需要,可以对它进行微调,注意准备好足够的训练数据。