Aitrainee | 公众号:AI进修生
🌟Agent 混合与 Groq 结合使用,不仅可以通过 MoA 实现令人难以置信的质量输出,而且还可以使用 Groq 解决延迟问题。
https://github.com/togethercomputer/MoA
Hi,这里是Aitrainee,欢迎阅读本期新文章。
混合代理(Mixture of Agents) 是一种令人难以置信的算法突破,适用于大型语言模型。 现在 ,开源的高效小型模型可以通过多种小型“低质量”模型合作生成输出,来竞争并实际上超越 GPT-4o。输出质量飞速提升,真的非常惊人。
▲ MOA 在 AlpacaEval 2.0 排行榜和 MT-Bench 上都名列前茅。值得注意的是,在 AlpacaEval 2.0 上,仅使用开源模型,我们实现了 7.6% 的绝对改进,从 57.5%(GPT-4 Omni)提高到 65.1%(MoA)。
▲ FLASK 提供跨多个维度的细粒度模型评估。MoA 方法在无害性、稳健性、正确性、效率、事实性、常识性、洞察力、完整性方面显著优于原始 Qwen1.5-110B-Chat。此外,MoA 在正确性、事实性、洞察力、完整性和元认知方面也优于 GPT-4 Omni。
但它有一个巨大的缺点,那就是响应时间很长,因为你需要多次查询多个模型,最终得到结果。
今天我将向
你展示如何解决这个问题。我在第一次谈到混合代理时已经暗示过这一点,但现在我们要使用 Groq 的 GQ 来实现混合代理。
Groq 的疯狂推理速度和首次生成 token 的时间使你可以使用开源模型的混合代理,非常便宜,速度也很快,比传统的混合代理实现快得多。
所以我将向你展示如何将混合代理的代码转换为使用 Groq。
混合代理是一种非常强大的提示算法,使用多个开源模型,能实现比 GPT-4 更好的效果。
他们通过让多个开源模型合作,来产生最好的输出,这就是我们在这里看到的。有三个层次,每个层次有三个独立的模型,它们一次又一次地协作,由一个聚合模型选择最佳的响应。
我做了一些定制化的修改以使 Groq 能正常工作,还有很多事情可以做,使其更加适应 Groq。作为预告,Groq 将推出自己的混合代理版本。
话不多说,Let's Begin~
克隆代码仓库:https://github.com/togethercomputer/MoA.git,并conda安装虚拟环境环境
输入 pip install -r requirements.txt,它会安装我们所有的 Python 依赖项。
现在我们可以真正开始了。首先,我们要创建一个 .env 文件,右键点击这里,新建文件,输入 .env。现在我们将插入环境变量。第一个要用的是 OpenAI API 密钥。
你可能会问,为什么我们需要它?事实上,你不真的需要它,但我不想继续编辑代码来确保我们不需要它。它主要用于两件事:一是这个代码附带了一些脚本,用于运行基准测试,其中一个基准测试是比较这个混合代理和 OpenAI 的性能。
第二,它实际上使用了 OpenAI Python 库来构建对非 OpenAI 服务的 API 调用结构,因为现在每个人都在使用 OpenAI API 结构。所以,获取一个 OpenAI 密钥,回来这里并粘贴进去 (并 不需要有效的OpenAI API Key) 。
接下来我们要添加 Groq API 密钥,所以你要去 console.groq.com,如果你还没有 Groq 账户,请注册。Groq 是你能找到的最快推理端点,没有之一。它快了好几个数量级,这就是为什么我喜欢使用 Groq。
获取 Groq 密钥,点击创建密钥,命名并获取你的密钥。我已经做了,所以跳过这一步。返回 .env 文件,粘贴你的密钥,然后点击保存。所有运行逻辑基本都在 bot.py 和 utils.py 两个文件中。
我要展示如何一步一步将所有代码转换为使用 Groq,有点简陋,但有效。首先我们需要在 bot.py 中更新默认引用模型,因为这些不是 Groq 提供的模型。
去 https://console.groq.com/docs/models,找到支持的模型列表,我们将使用 LLaMA-38B,把它放在第一位,然后使用 LLaMA-70B,接下来是 MixL 8 * 7B,最后使用 Gemma 7B。当然,随着 Groq 增加更多模型,你可以在这里进行实验,但这些模型效果很好。
然后在第80行更新模型为 LLaMA-70B。保存。然后在第80行更新模型为 LLaMA-70B。保存。在第115行再次更新模型为 LLaMA-70B。
这些在 bot.py 中完成后,转到 utils.py,做一些修改。
首先加载环境变量,输入 from dotenv import load_dotenv 并在下一行加载 load_dotenv。
我们需要安装它,所以输入 pip install python-dotenv 并按回车。现在消除黄色下划线。
接着更换 API 端点为groq(在许多有关chatgpt的开源项目中,这是一种非常常见的操作),并把 Api key改成Groq的。
保存。我认为我们完成了,现在测试一下。输入 python bot.py 并按回车。
选择默认聚合模型,按回车。温度0.7和最大 token 输入默认值 2048。然后输入一个提示,如“讲个笑话”,它会查询所有模型,速度非常快。
我遇到过这个错误,实际上只是代码中的一个错误。
在 bot.py 的第196行添加 if out is not None 来解决这个问题。在第128行更新最大 token 为 2048 并保存。
测试例子2
这就是混合代理,非常快地运行在 Groq 上。
视频教程
https://www.youtube.com/watch?v=BKyxMreb3mk
参考链接:
[1]Groq:https://www.groq.com
[2]https://github.com/togethercomputer/MoA
知音难求,自我修炼亦艰
抓住前沿技术的机遇,与我们一起成为创新的超级个体
(把握AIGC时代的个人力量)
点这里👇关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见 ~