搭建多元专家系统(MOA):轻松整合大模型的力量(二)

原文:https://zhuanlan.zhihu.com/p/706771710

相关开源项目:GitHub - togethercomputer/MoA:Together Mixture-Of-Agents (MoA) – 65.1% 在 AlpacaEval 和 OSS 模型上

近期,AI领域出现了一个引人注目的新现象——“逆转诅咒”(Reversal Curse),这一概念迅速成为热点话题,影响了现今所有的大型语言模型。令人惊讶的是,即便面对极为基础的问题,这些模型的准确率不仅几乎为零,而且似乎没有改善的迹象。更重要的是,这一问题的存在与模型的规模或提问的具体内容无关。

在预训练大模型时代,人们曾乐观地认为AI开始展现出一定的逻辑推理能力,然而“逆转诅咒”的出现仿佛让这一切回到了起点。以GPT-4为例,尽管它能够正确识别汤姆·克鲁斯的母亲名字,但当问题反转,询问其母亲的儿子是谁时,模型却无法给出正确答案。这种现象揭示了模型在处理逆向逻辑推理时的局限性。

研究指出,自回归语言模型在面对此类逆向逻辑问题时,无法进行有效的泛化。即使模型在训练数据中遇到过类似“Olaf Scholz was the ninth Chancellor of Germany”这样的句子,它能够正确回答关于Olaf Scholz的身份,但却不能反过来回答谁是德国的第九任总理。这一现象被定义为“逆转诅咒”,即模型在面对“<name> is <description>”和“<description> is <name>”这两种句式时,无法自动地在两者之间进行转换。

“逆转诅咒”暗示了大型语言模型在逻辑演绎方面存在根本性缺陷。在逻辑学中,“A 是 B”意味着“B 是 A”同样成立,但大型语言模型在处理这类对称性问题时显得力不从心。这不仅仅是模型缺乏逻辑推理能力的问题,而是揭示了模型在泛化至训练数据以外的能力上存在重大局限。

接下来我们将开源大模型MOA进行实现,并测试是否能够减轻这个问题?

千问、千帆、GLM大模型是否解决了逆转诅咒?

我们来看看几个大模型的输出。

from dashscope import Generation
import os
import qianfan
from zhipuai import ZhipuAI
import dashscope

# 从环境变量读取API key
api_key = os.getenv('API_KEY_WX')
secret_key = os.getenv('SECRET_KEY_WX')
api_key_zp=os.getenv('API_KEY_ZP')
api_key_qw=os.getenv('API_KEY_QW')

dashscope.api_key = api_key_qw

# Initialize model clients
qianfan_client = qianfan.ChatCompletion()
zhipuai_client = ZhipuAI(api_key=api_key_zp)


# 定义模型名称
model_name_qf = 'ernie-speed-128k'  # 千帆模型
model_name_zp = 'glm-4'             # 智谱模型
model_name_qw = dashscope.Generation.Models.qwen_turbo  # 千问模型

# 用户问题
user_question = '假设奥拉夫・朔尔茨是联邦德国第九任总理,谁是德国第九任总理?'


# 定义查询模型的函数
def query_model(model_name, messages):
    if model_name == model_name_qf:
        # 查询千帆模型
        resp = qianfan.ChatCompletion().do(messag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值