博客

  • 新闻推荐的秘密武器:多视角注意力学习

    你是否曾被海量新闻淹没,难以找到感兴趣的内容?个性化新闻推荐系统应运而生,它就像一位贴心的新闻管家,根据你的喜好为你推荐最合适的新闻。然而,如何让推荐系统真正理解你的兴趣,并精准地推荐你喜欢的新闻呢?这背后隐藏着许多技术奥秘,而本文将带你揭秘其中一项关键技术:多视角注意力学习

    新闻推荐的挑战

    每天,数以万计的新闻涌现,用户不可能一一阅读。个性化新闻推荐系统肩负着帮助用户找到感兴趣的新闻,缓解信息过载的重任。然而,要实现精准的推荐,需要解决两个核心问题:

    • 如何准确地理解新闻内容? 传统的新闻推荐方法往往只关注新闻标题或内容,忽略了其他重要的信息,例如新闻类别和主题。
    • 如何准确地理解用户兴趣? 用户兴趣是复杂的,仅仅根据用户点击过的新闻无法完全刻画用户兴趣。

    多视角注意力学习:洞悉新闻与用户

    为了解决上述挑战,研究人员提出了多视角注意力学习(NAML)方法。该方法将新闻看作一个多视角的信息集合,并利用注意力机制来识别不同视角中的关键信息,从而构建更准确的新闻和用户表示。

    1. 新闻编码器:多视角融合

    NAML方法的核心是新闻编码器,它将新闻标题、内容和类别等不同信息作为不同的视角,并利用注意力机制来识别每个视角中的关键信息。

    • 标题编码器: 利用卷积神经网络(CNN)来学习标题中词语的上下文信息,并通过词级注意力机制来识别标题中最重要的词语。
    • 内容编码器: 与标题编码器类似,内容编码器也使用CNN来学习内容中的词语上下文信息,并通过词级注意力机制来识别内容中最重要的词语。
    • 类别编码器: 将新闻类别和子类别信息转化为低维向量,并利用全连接层来学习类别信息。
    • 视角级注意力机制: 不同视角的信息对新闻的理解可能具有不同的重要性。例如,对于一些标题简洁、内容丰富的新闻,内容视角可能比标题视角更重要。NAML方法利用视角级注意力机制来评估不同视角的重要性,并根据权重对不同视角的信息进行加权融合,最终得到一个综合的新闻表示。

    2. 用户编码器:个性化理解

    NAML方法还利用用户编码器来学习用户的兴趣表示。用户编码器根据用户点击过的新闻来学习用户的兴趣,并利用新闻级注意力机制来识别用户点击过的新闻中哪些新闻更能代表用户的兴趣。

    3. 点击预测:精准推荐

    NAML方法利用用户表示和新闻表示之间的内积来预测用户点击新闻的概率。为了提高预测的准确性,NAML方法还采用了负采样技术,即对于用户点击过的新闻,随机选取一些用户没有点击过的新闻作为负样本,并利用这些负样本来训练模型。

    实验验证:效果显著

    研究人员在真实世界新闻数据集上进行了实验,结果表明NAML方法显著优于其他基线方法,证明了多视角注意力学习的有效性。

    • 多视角学习的有效性: 实验结果表明,将新闻标题、内容和类别信息作为不同的视角进行融合,可以显著提升新闻推荐的效果。
    • 注意力机制的有效性: 实验结果表明,词级、新闻级和视角级注意力机制都能够有效地识别关键信息,并提升新闻推荐的效果。

    总结

    多视角注意力学习是新闻推荐领域的一项重要技术,它能够有效地利用新闻和用户的多视角信息,构建更准确的新闻和用户表示,从而实现更精准的新闻推荐。随着深度学习技术的不断发展,我们可以期待未来出现更多更强大的新闻推荐技术,为用户提供更加个性化、高效的新闻服务

    参考文献

  • 个性化新闻推荐:让新闻更懂你

    每天,我们都被海量的新闻信息包围,如何从纷繁复杂的新闻中找到自己感兴趣的内容,成为一个越来越重要的课题。个性化新闻推荐系统应运而生,它能够根据用户的兴趣和偏好,为用户推荐他们可能感兴趣的新闻,帮助用户在信息海洋中快速找到自己想要的内容,缓解信息过载带来的压力。

    然而,传统的新闻推荐系统往往存在一些局限性。例如,它们难以准确捕捉用户的个性化兴趣,无法理解不同用户对同一新闻的不同关注点,也无法有效识别新闻标题中不同词语的重要性。

    为了解决这些问题,来自清华大学、北京大学和微软亚洲研究院的研究人员提出了一种名为“个性化注意神经网络”(NPA)的新闻推荐模型。该模型的核心在于通过神经网络学习新闻和用户的表示,并利用个性化注意机制来识别不同用户对新闻的不同关注点。

    NPA:让新闻更懂你

    NPA 模型主要包含三个模块:新闻编码器、用户编码器和点击预测器。

    新闻编码器负责学习新闻的表示。它首先利用词嵌入将新闻标题中的每个词语转化为一个低维稠密向量,然后使用卷积神经网络(CNN)来提取词语之间的局部上下文信息,最后通过一个词级个性化注意网络来识别不同用户对新闻标题中不同词语的不同关注点。

    用户编码器负责学习用户的表示。它根据用户点击过的新闻来学习用户的兴趣,并利用一个新闻级个性化注意网络来识别不同用户对同一新闻的不同关注点。

    点击预测器负责预测用户点击新闻的概率。它利用用户和新闻的表示,通过内积运算和 Softmax 函数来计算用户点击新闻的概率。

    个性化注意机制:识别用户的关注点

    NPA 模型的核心是个性化注意机制,它能够根据用户的个人特征,识别用户对新闻中不同词语和不同新闻的不同关注点。

    在词级个性化注意网络中,模型首先将用户的 ID 嵌入到一个低维向量中,然后利用一个全连接层来学习用户的词语偏好查询向量。接着,模型计算每个词语与查询向量之间的相似度,并利用 Softmax 函数将相似度转化为注意权重。最后,模型根据注意权重对词语的表示进行加权求和,得到用户对新闻标题的表示。

    在新闻级个性化注意网络中,模型同样将用户的 ID 嵌入到一个低维向量中,并利用一个全连接层来学习用户的新闻偏好查询向量。接着,模型计算每个新闻的表示与查询向量之间的相似度,并利用 Softmax 函数将相似度转化为注意权重。最后,模型根据注意权重对新闻的表示进行加权求和,得到用户的表示。

    实验验证:NPA 带来显著提升

    研究人员在来自微软新闻的真实新闻推荐数据集上对 NPA 模型进行了测试,并将其与其他主流新闻推荐模型进行了比较。实验结果表明,NPA 模型在 AUC、MRR、nDCG@5 和 nDCG@10 等指标上均取得了显著的提升,证明了 NPA 模型的有效性。

    此外,研究人员还通过可视化分析,展示了 NPA 模型的个性化注意机制如何识别不同用户对新闻的不同关注点。例如,对于喜欢运动新闻的用户,模型会更多地关注新闻标题中的“NBA”、“NFL”等关键词;而对于喜欢电影新闻的用户,模型则会更多地关注新闻标题中的“电影”、“超级英雄”等关键词。

    总结:NPA 为个性化新闻推荐开辟新方向

    NPA 模型利用神经网络和个性化注意机制,有效地学习了新闻和用户的表示,并识别了不同用户对新闻的不同关注点,从而实现了更精准的个性化新闻推荐。这项研究为个性化新闻推荐领域开辟了新的方向,也为其他推荐系统提供了新的思路。

    参考文献

    [1] Wu, C., Wu, F., An, M., Huang, J., Huang, Y., & Xie, X. (2019). NPA: Neural News Recommendation with Personalized Attention. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (pp. 1029-1038).

    [2] Wang, H., Zhang, F., Xie, X., & Guo, M. (2018). DKN: Deep Knowledge-Aware Network for News Recommendation. In Proceedings of the 2018 World Wide Web Conference (pp. 1835-1844).

    [3] Lian, J., Zhang, F., Xie, X., & Sun, G. (2018). Towards Better Representation Learning for Personalized News Recommendation: a Multi-Channel Deep Fusion Approach. In Proceedings of the 27th International Joint Conference on Artificial Intelligence (pp. 3805-3811).

  • LSTUR:利用长短期用户表示进行新闻推荐

    在信息爆炸的时代,个性化的新闻推荐系统变得越来越重要。LSTUR (Long- and Short-term User Representations) 是一种基于神经网络的新闻推荐方法,它能够有效地捕捉用户的长短期兴趣,从而提供更精准的推荐结果。

    LSTUR 的核心思想

    LSTUR 的核心是新闻编码器和用户编码器。新闻编码器通过学习新闻标题的表示,来理解新闻内容。用户编码器则分为两个部分:长短期用户表示。

    • 长短期用户表示:LSTUR 利用用户的 ID 来学习其长期偏好,并使用 GRU 网络来学习用户最近浏览新闻的短期兴趣。
    • 结合长短期用户表示:LSTUR 提供两种方法来结合长短期用户表示。第一种方法是使用长期用户表示来初始化 GRU 网络的隐藏状态,从而将长期偏好信息融入短期兴趣学习中。第二种方法是将长短期用户表示拼接起来,形成一个统一的用户向量。

    LSTUR 的优势

    LSTUR 具有以下优势:

    • 同时捕捉用户的长短期兴趣:LSTUR 能够同时学习用户的长期偏好和短期兴趣,从而提供更精准的推荐结果。
    • 利用用户 ID 学习长期偏好:LSTUR 利用用户的 ID 来学习其长期偏好,这是一种简单而有效的学习长期兴趣的方法。
    • 利用 GRU 网络学习短期兴趣:LSTUR 利用 GRU 网络来学习用户最近浏览新闻的短期兴趣,这是一种能够捕捉用户动态兴趣变化的有效方法。

    数据格式

    为了方便训练和评估,LSTUR 使用了 MIND 数据集。MIND 数据集分为三个版本:largesmalldemodemo 版本包含 5000 个用户,是 small 版本的子集,用于快速实验。large 版本则包含了更多用户和新闻数据,用于更全面的评估。

    MIND 数据集包含两个文件:news 文件和 behaviors 文件。

    • news 文件:包含新闻信息,例如新闻 ID、类别、子类别、新闻标题、新闻摘要、新闻链接以及新闻标题和摘要中的实体信息。

    示例:

    N46466    lifestyle   lifestyleroyals The Brands Queen Elizabeth, Prince Charles, and Prince Philip Swear By  Shop the notebooks, jackets, and more that the royals can't live without.   https://www.msn.com/en-us/lifestyle/lifestyleroyals/the-brands-queen-elizabeth,-prince-charles,-and-prince-philip-swear-by/ss-AAGH0ET?ocid=chopendata   [{\"Label\": \"Prince Philip, Duke of Edinburgh\", \"Type\": \"P\", \"WikidataId\": \"Q80976\", \"Confidence\": 1.0, \"OccurrenceOffsets\": [48], \"SurfaceForms\": [\"Prince Philip\"]}, {\"Label\": \"Charles, Prince of Wales\", \"Type\": \"P\", \"WikidataId\": \"Q43274\", \"Confidence\": 1.0, \"OccurrenceOffsets\": [28], \"SurfaceForms\": [\"Prince Charles\"]}, {\"Label\": \"Elizabeth II\", \"Type\": \"P\", \"WikidataId\": \"Q9682\", \"Confidence\": 0.97, \"OccurrenceOffsets\": [11], \"SurfaceForms\": [\"Queen Elizabeth\"]}]  []
    • behaviors 文件:包含用户行为信息,例如印象 ID、用户 ID、印象时间、用户点击历史以及印象新闻。

    示例:

    1    U82271  11/11/2019 3:28:58 PM   N3130 N11621 N12917 N4574 N12140 N9748  N13390-0 N7180-0 N20785-0 N6937-0 N15776-0 N25810-0 N20820-0 N6885-0 N27294-0 N18835-0 N16945-0 N7410-0 N23967-0 N22679-0 N20532-0 N26651-0 N22078-0 N4098-0 N16473-0 N13841-0 N15660-0 N25787-0 N2315-0 N1615-0 N9087-0 N23880-0 N3600-0 N24479-0 N22882-0 N26308-0 N13594-0 N2220-0 N28356-0 N17083-0 N21415-0 N18671-0 N9440-0 N17759-0 N10861-0 N21830-0 N8064-0 N5675-0 N15037-0 N26154-0 N15368-1 N481-0 N3256-0 N20663-0 N23940-0 N7654-0 N10729-0 N7090-0 N23596-0 N15901-0 N16348-0 N13645-0 N8124-0 N20094-0 N27774-0 N23011-0 N14832-0 N15971-0 N27729-0 N2167-0 N11186-0 N18390-0 N21328-0 N10992-0 N20122-0 N1958-0 N2004-0 N26156-0 N17632-0 N26146-0 N17322-0 N18403-0 N17397-0 N18215-0 N14475-0 N9781-0 N17958-0 N3370-0 N1127-0 N15525-0 N12657-0 N10537-0 N18224-0

    代码示例

    以下是使用 LSTUR 模型进行新闻推荐的代码示例:

    1. 导入必要的库

    import os
    import sys
    import numpy as np
    import zipfile
    from tqdm import tqdm
    from tempfile import TemporaryDirectory
    import tensorflow as tf
    tf.get_logger().setLevel('ERROR') # only show error messages
    
    from recommenders.models.deeprec.deeprec_utils import download_deeprec_resources 
    from recommenders.models.newsrec.newsrec_utils import prepare_hparams
    from recommenders.models.newsrec.models.lstur import LSTURModel
    from recommenders.models.newsrec.io.mind_iterator import MINDIterator
    from recommenders.models.newsrec.newsrec_utils import get_mind_data_set
    from recommenders.utils.notebook_utils import store_metadata
    
    print("System version: {}".format(sys.version))
    print("Tensorflow version: {}".format(tf.__version__))

    2. 设置参数

    epochs = 5
    seed = 40
    batch_size = 32
    
    # 选择数据集版本: demo, small, large
    MIND_type = "demo"

    3. 下载并加载数据

    tmpdir = TemporaryDirectory()
    data_path = tmpdir.name
    
    train_news_file = os.path.join(data_path, 'train', r'news.tsv')
    train_behaviors_file = os.path.join(data_path, 'train', r'behaviors.tsv')
    valid_news_file = os.path.join(data_path, 'valid', r'news.tsv')
    valid_behaviors_file = os.path.join(data_path, 'valid', r'behaviors.tsv')
    wordEmb_file = os.path.join(data_path, "utils", "embedding.npy")
    userDict_file = os.path.join(data_path, "utils", "uid2index.pkl")
    wordDict_file = os.path.join(data_path, "utils", "word_dict.pkl")
    yaml_file = os.path.join(data_path, "utils", r'lstur.yaml')
    
    mind_url, mind_train_dataset, mind_dev_dataset, mind_utils = get_mind_data_set(MIND_type)
    
    if not os.path.exists(train_news_file):
        download_deeprec_resources(mind_url, os.path.join(data_path, 'train'), mind_train_dataset)
    
    if not os.path.exists(valid_news_file):
        download_deeprec_resources(mind_url, os.path.join(data_path, 'valid'), mind_dev_dataset)
    if not os.path.exists(yaml_file):
        download_deeprec_resources(r'https://recodatasets.z20.web.core.windows.net/newsrec/', os.path.join(data_path, 'utils'), mind_utils)

    4. 创建超参数

    hparams = prepare_hparams(yaml_file, 
                              wordEmb_file=wordEmb_file,
                              wordDict_file=wordDict_file, 
                              userDict_file=userDict_file,
                              batch_size=batch_size,
                              epochs=epochs)
    print(hparams)

    5. 创建迭代器

    iterator = MINDIterator

    6. 训练 LSTUR 模型

    model = LSTURModel(hparams, iterator, seed=seed)
    
    # 评估模型
    print(model.run_eval(valid_news_file, valid_behaviors_file))
    
    # 训练模型
    %%time
    model.fit(train_news_file, train_behaviors_file, valid_news_file, valid_behaviors_file)
    
    # 再次评估模型
    %%time
    res_syn = model.run_eval(valid_news_file, valid_behaviors_file)
    print(res_syn)

    7. 保存模型

    model_path = os.path.join(data_path, "model")
    os.makedirs(model_path, exist_ok=True)
    
    model.model.save_weights(os.path.join(model_path, "lstur_ckpt"))

    8. 生成预测文件

    group_impr_indexes, group_labels, group_preds = model.run_fast_eval(valid_news_file, valid_behaviors_file)
    
    with open(os.path.join(data_path, 'prediction.txt'), 'w') as f:
        for impr_index, preds in tqdm(zip(group_impr_indexes, group_preds)):
            impr_index += 1
            pred_rank = (np.argsort(np.argsort(preds)[::-1]) + 1).tolist()
            pred_rank = '[' + ','.join([str(i) for i in pred_rank]) + ']'
            f.write(' '.join([str(impr_index), pred_rank])+ '\n')
    
    f = zipfile.ZipFile(os.path.join(data_path, 'prediction.zip'), 'w', zipfile.ZIP_DEFLATED)
    f.write(os.path.join(data_path, 'prediction.txt'), arcname='prediction.txt')
    f.close()

    总结

    LSTUR 是一种基于神经网络的新闻推荐方法,它能够有效地捕捉用户的长短期兴趣,从而提供更精准的推荐结果。LSTUR 的优势在于能够同时学习用户的长期偏好和短期兴趣,并利用用户 ID 和 GRU 网络来学习用户表示。实验结果表明,LSTUR 模型在新闻推荐任务中取得了较好的效果。

    参考文献

    1. An, Mingxiao, et al. “Neural News Recommendation with Long- and Short-term User Representations.” Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2019.
    2. Wu, Fangzhao, et al. “MIND: A Large-scale Dataset for News Recommendation.” Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2019.
    3. Pennington, Jeffrey, et al. “GloVe: Global Vectors for Word Representation.” Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2014.
  • 新闻推荐的个性化:长短期用户兴趣如何影响你的阅读体验?

    你是否曾经在新闻网站上看到过你感兴趣的新闻,却发现下一条推荐的新闻与你的兴趣毫无关联?或者,你是否曾经因为一条新闻而对某个话题产生兴趣,却无法找到更多相关内容?

    这正是新闻推荐系统面临的挑战。为了更好地满足用户的个性化需求,新闻推荐系统需要了解用户的兴趣,并根据兴趣推荐相关新闻。然而,用户的兴趣并非一成不变,他们既有长期稳定的偏好,也可能因为特定事件或时间需求而产生短期兴趣。

    传统的新闻推荐方法通常只关注用户的单一兴趣,难以捕捉用户的长短期兴趣变化。 例如,一些方法通过分析用户历史浏览记录来推断用户的兴趣,但这种方法难以区分用户的长期兴趣和短期兴趣。例如,一位用户可能长期关注篮球新闻,但近期可能因为一部电影而对电影相关的新闻产生了兴趣。如果推荐系统只根据历史浏览记录进行推荐,就可能推荐与用户近期兴趣无关的篮球新闻,导致用户体验下降。

    为了解决这个问题,本文介绍了一种新的新闻推荐方法,该方法可以同时学习用户的长短期兴趣,并根据用户的综合兴趣进行推荐。

    长短期用户兴趣:捕捉新闻阅读的多样性

    我们每个人都有自己独特的新闻阅读习惯。有些人长期关注某个特定领域,例如体育、科技或财经。这种长期兴趣反映了用户的稳定偏好,例如一位篮球爱好者可能多年来一直关注NBA新闻。

    另一方面,我们的兴趣也会随着时间而变化。例如,你可能因为一部电影而对电影相关的新闻产生兴趣,或者因为某个突发事件而关注相关报道。这种短期兴趣通常由特定事件或时间需求触发,例如一位用户可能因为观看了电影《波西米亚狂想曲》而对主演拉米·马雷克的新闻产生了兴趣。

    长短期兴趣共同构成了用户的新闻阅读偏好。 为了更好地理解用户的兴趣,我们需要将长短期兴趣区分开来,并分别进行学习。

    LSTUR:长短期用户表示模型

    为了学习用户的长短期兴趣,我们提出了一个新的新闻推荐模型,称为LSTUR(Long- and Short-Term User Representations)。该模型包含两个主要部分:新闻编码器用户编码器

    新闻编码器用于学习新闻的表示,它从新闻标题和主题类别中提取信息,并使用注意力机制来选择重要的词语,从而生成更准确的新闻表示。

    用户编码器则用于学习用户的表示,它包含两个模块:长期用户表示模块(LTUR)短期用户表示模块(STUR)。LTUR通过用户的ID来学习用户的长期兴趣,而STUR则使用循环神经网络(GRU)来学习用户近期浏览新闻的短期兴趣。

    LSTUR模型的两种融合方法

    LSTUR模型提供了两种方法来融合长短期用户表示:

    1. LSTUR-ini: 使用长期用户表示来初始化STUR模型中GRU网络的隐藏状态。
    2. LSTUR-con: 将长期用户表示和短期用户表示连接起来,形成一个统一的用户向量。

    实验结果:LSTUR模型的优越性

    我们在一个真实的新闻数据集上进行了实验,结果表明LSTUR模型显著优于传统的新闻推荐方法,包括基于手工特征工程的模型和基于深度学习的模型。

    实验结果表明,LSTUR模型能够有效地捕捉用户的长短期兴趣,并根据用户的综合兴趣进行推荐。 这说明LSTUR模型能够更好地理解用户的新闻阅读偏好,从而提高新闻推荐的准确性和用户体验。

    未来展望

    LSTUR模型为新闻推荐领域提供了一个新的方向,它可以帮助我们更好地理解用户的兴趣,并提供更个性化的新闻推荐服务。未来,我们可以进一步研究以下问题:

    • 如何更有效地学习用户的长短期兴趣? 例如,我们可以利用用户在不同平台上的行为数据来更全面地了解用户的兴趣。
    • 如何将用户的兴趣与新闻内容进行更精准的匹配? 例如,我们可以利用知识图谱来构建新闻和用户的语义关系,从而进行更精准的推荐。
    • 如何提高新闻推荐系统的可解释性? 例如,我们可以通过可视化技术来展示推荐结果背后的逻辑,帮助用户更好地理解推荐系统的决策过程。

    参考文献

    • An, M., Wu, F., Wu, C., Zhang, K., Liu, Z., & Xie, X. (2019). Neural news recommendation with long- and short-term user representations. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers) (pp. 1033-1043).
    • Okura, S., Tagami, Y., Ono, S., & Tajima, A. (2017). Embedding-based news recommendation for millions of users. In Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (pp. 1933-1942).

    希望这篇文章能够帮助你更好地理解新闻推荐系统的工作原理,以及用户长短期兴趣对新闻推荐的影响。

  • Recommenders 库简介及使用指南

    Recommenders 是一个旨在帮助研究人员、开发者和爱好者快速构建和部署各种推荐系统的项目。该项目隶属于 Linux Foundation of AI and Data,提供了丰富的 Jupyter Notebook 示例和最佳实践,涵盖了推荐系统的五个关键任务:数据准备、模型构建、算法评估、模型选择与优化,以及模型的生产化部署。

    最新动态(2024年5月)

    我们发布了新版本 Recommenders 1.2.0。此次更新包含大量改进,如对 Python 3.8 至 3.11 的全面测试(大约 1800 个测试)、多种算法性能的提升、笔记本的审查和许多其他改进。

    项目简介

    Recommenders 项目提供了构建推荐系统的示例和最佳实践,主要通过 Jupyter Notebooks 详细展示了以下五个关键任务:

    1. 数据准备:为每个推荐算法准备和加载数据。
    2. 模型构建:使用多种经典和深度学习推荐算法构建模型,如交替最小二乘法(ALS)或极限深度因子分解机(xDeepFM)。
    3. 算法评估:使用离线指标评估算法。
    4. 模型选择与优化:调优和优化推荐模型的超参数。
    5. 模型生产化部署:在 Azure 上将模型部署到生产环境。

    此外,Recommenders 库还提供了多种实用工具,支持常见任务如加载数据集、评估模型输出和分割训练/测试数据。库中还包含了一些最先进的算法实现,供学习和在实际应用中定制。

    快速开始

    我们推荐使用 conda 进行环境管理,并使用 VS Code 进行开发。以下是在 Linux/WSL 上安装 Recommenders 包并运行示例笔记本的步骤:

    # 1. 安装 gcc(如果尚未安装)。在 Ubuntu 上,可以使用以下命令:
    # sudo apt install gcc
    
    # 2. 创建并激活新的 conda 环境
    conda create -n <environment_name> python=3.9
    conda activate <environment_name>
    
    # 3. 安装 Recommenders 核心包。它可以运行所有 CPU 笔记本。
    pip install recommenders
    
    # 4. 创建一个 Jupyter 内核
    python -m ipykernel install --user --name <environment_name> --display-name <kernel_name>
    
    # 5. 在 VSCode 中或使用命令行克隆此仓库:
    git clone https://github.com/recommenders-team/recommenders.git
    
    # 6. 在 VSCode 中:
    #   a. 打开一个笔记本,例如 examples/00_quick_start/sar_movielens.ipynb;
    #   b. 选择 Jupyter 内核 <kernel_name>;
    #   c. 运行笔记本。

    关于在其他平台(如 Windows 和 macOS)上的安装和不同配置(如 GPU、Spark 和实验特性)的更多信息,请参阅 Setup Guide

    除了核心包,Recommenders 还提供了几个额外的包,包括:

    • [gpu]:用于运行 GPU 模型。
    • [spark]:用于运行 Spark 模型。
    • [dev]:用于仓库开发。
    • [all]:包含 [gpu][spark][dev]
    • [experimental]:包含未经过充分测试和/或可能需要额外安装步骤的模型。

    支持的算法

    Recommenders 库目前支持多种推荐算法,以下是部分算法的简介及其示例:

    算法类型描述示例
    交替最小二乘法 (ALS)协同过滤针对显式或隐式反馈的大规模数据集的矩阵分解算法,适用于 PySpark 环境。快速开始 / 深入探讨
    ——-——————
    注意力异步奇异值分解 (A2SVD)协同过滤基于序列的算法,使用注意力机制捕捉用户的长短期偏好,适用于 CPU/GPU 环境。快速开始
    Cornac/Bayesian Personalized Ranking (BPR)协同过滤用于预测隐式反馈的矩阵分解算法,适用于 CPU 环境。深入探讨
    Cornac/Bilateral Variational Autoencoder (BiVAE)协同过滤用于二元数据(如用户-物品交互)的生成模型,适用于 CPU/GPU 环境。深入探讨
    卷积序列嵌入推荐 (Caser)协同过滤基于卷积的算法,旨在捕捉用户的总体偏好和序列模式,适用于 CPU/GPU 环境。快速开始
    深度知识感知网络 (DKN)内容过滤结合知识图谱和文章嵌入的深度学习算法,用于新闻或文章推荐,适用于 CPU/GPU 环境。快速开始 / 深入探讨
    极限深度因子分解机 (xDeepFM)协同过滤用于隐式和显式反馈的深度学习算法,适用于 CPU/GPU 环境。快速开始
    FastAI 嵌入点偏差 (FAST)协同过滤通用算法,使用用户和物品的嵌入和偏差,适用于 CPU/GPU 环境。快速开始
    LightFM/因子分解机协同过滤适用于隐式和显式反馈的因子分解机算法,适用于 CPU 环境。快速开始
    LightGBM/梯度提升树内容过滤适用于内容过滤问题的梯度提升树算法,具有快速训练和低内存使用的特点,适用于 CPU/GPU/PySpark 环境。CPU 快速开始 / PySpark 深入探讨
    LightGCN协同过滤简化的图卷积网络设计,用于预测隐式反馈,适用于 CPU/GPU 环境。深入探讨
    GeoIMC协同过滤利用黎曼共轭梯度优化的几何方法进行矩阵补全算法,适用于 CPU 环境。快速开始
    GRU协同过滤基于序列的算法,使用递归神经网络捕捉用户的长短期偏好,适用于 CPU/GPU 环境。快速开始
    多项式 VAE协同过滤用于预测用户/物品交互的生成模型,适用于 CPU/GPU 环境。深入探讨

    结束语

    Recommenders 库为开发推荐系统提供了丰富的资源和工具,无论是初学者还是有经验的开发者都能从中受益。通过详细的文档和多种示例,你可以快速上手并在不同的应用场景中实现推荐系统。如果你对推荐系统感兴趣,建议你深入探索 Recommenders 库中的各个示例,并根据自己的需求进行定制和扩展。

    进一步学习和支持

    文档和资源

    Recommenders 提供了详细的文档和资源,帮助你更好地理解和使用该库:

    • 官方文档:详细介绍了库的安装、使用方法和各个算法的具体实现。
    • Wiki 页面:包含项目相关的文档和演示文稿。
    • 实际应用场景:展示了推荐系统在各种实际场景中的应用实例。

    社区和支持

    Recommenders 项目由一个活跃的社区支持,你可以通过以下方式获取帮助或参与贡献:

    • 加入 Slack 社区:与其他用户和开发者交流,获取实时帮助。
    • GitHub 讨论:在项目的讨论区提出问题、分享经验或讨论改进建议。
    • 贡献代码:如果你有兴趣为项目做出贡献,可以查看贡献指南,了解如何提交代码、报告问题或改进文档。

    安装和环境配置

    为了方便开发和环境管理,Recommenders 推荐使用 conda。以下是关于环境配置的一些重要提示:

    • 核心包pip install recommenders 安装核心包,适用于大多数 CPU 环境。
    • 额外包
    • [gpu]pip install recommenders[gpu],适用于需要 GPU 支持的模型。
    • [spark]pip install recommenders[spark],适用于需要 Spark 支持的模型。
    • [dev]pip install recommenders[dev],适用于开发和测试。
    • [all]pip install recommenders[all],包含以上所有额外功能。
    • [experimental]pip install recommenders[experimental],包含实验性模型和功能。

    示例运行

    以下是一个快速示例,展示如何使用 Recommenders 运行一个 Jupyter Notebook:

    1. 安装依赖# 安装 gcc(如果尚未安装) sudo apt install gcc # 创建并激活新的 conda 环境 conda create -n recommenders_env python=3.9 conda activate recommenders_env # 安装 Recommenders 核心包 pip install recommenders # 创建 Jupyter 内核 python -m ipykernel install --user --name recommenders_env --display-name "Recommenders Env"
    2. 克隆仓库git clone https://github.com/recommenders-team/recommenders.git
    3. 运行 Jupyter Notebook
      • 打开 VS Code,加载克隆的仓库。
      • 选择一个示例笔记本,如 examples/00_quick_start/sar_movielens.ipynb
      • 选择 Jupyter 内核 “Recommenders Env”。
      • 运行笔记本,体验推荐系统的构建过程。

    通过这些步骤,你可以轻松上手 Recommenders 库,开始构建和优化自己的推荐系统。希望这篇文章能帮助你更好地理解和使用 Recommenders 库,祝你在推荐系统的探索之旅中取得成功!

  • XGBoost 与 GPU 强强联手,打造高效排序模型

    在信息爆炸的时代,如何从海量数据中快速准确地找到所需信息成为了一个亟待解决的问题。无论是搜索引擎、电商平台还是社交媒体,排序算法都扮演着至关重要的角色。本文将介绍一种基于 XGBoost 和 GPU 加速的学习排序(Learning to Rank,LETOR)方法,该方法能够高效地训练排序模型,提升信息检索的效率和准确性。

    XGBoost 与 学习排序

    XGBoost 是一种广泛应用的机器学习库,它采用梯度提升技术,通过组合多个弱模型来逐步构建更强大的模型。弱模型的生成是通过使用目标函数计算梯度下降来实现的。学习排序(LETOR)就是其中一种目标函数,它主要应用于信息检索领域,其目标是对相关文档进行排序,以返回最佳结果。

    以典型的搜索引擎为例,它通常索引了数十亿个文档。如何根据用户查询从索引文档集中筛选出相关文档并进行排序是搜索引擎的核心任务之一。为了实现这一目标,搜索引擎通常会根据用户查询的相关性、领域、子领域等对文档进行分组,并在每个组内进行排序。

    排序方法

    目前,常用的排序方法主要有以下三种:

    • Pointwise(单点排序): 在学习过程中,只使用单个实例进行训练,并仅使用该实例计算梯度。这种方法没有考虑训练实例在文档列表中的位置,因此可能会导致不相关的实例被赋予过高的重要性。
    • Pairwise(两两排序): 在学习过程中,为每个训练实例选择一个实例对,并根据它们之间的相对顺序计算梯度。
    • Listwise(列表排序): 选择多个实例,并根据这些实例集计算梯度。

    XGBoost 使用 LambdaMART 排序算法(用于提升树),该算法采用两两排序方法,通过对多个实例对进行采样来最小化两两损失。

    XGBoost 中的 LETOR

    在 XGBoost 中进行训练通常包括以下几个高级步骤,而与排序相关的更改发生在图1所示训练过程中的“获取梯度”步骤。

    图1:LETOR 训练流程图

    ![LETOR 训练流程图][]

    XGBoost 支持三种用于梯度提升的 LETOR 排序目标函数:pairwise、ndcg 和 map。其中,ndcg 和 map 目标函数通过调整所选实例对的权重来进一步优化两两损失,从而提高排序质量。它们通过交换所选实例对的位置并计算 NDCG 或 MAP 排序指标,然后根据计算出的指标调整实例的权重来实现这一点。

    GPU 加速 LETOR

    为了充分利用 GPU 的强大计算能力,我们需要尽可能并行地处理训练实例。与典型的训练数据集不同,LETOR 数据集是根据查询、域等进行分组的,因此排序必须在每个组内进行。为了获得更好的性能,需要尽可能并行化组内实例之间的排序。

    然而,在 GPU 上进行排序也面临着一些挑战:

    • 分组排序: 由于 LETOR 数据集是分组的,因此需要在每个组内进行排序,这与传统的排序算法有所不同。
    • 内存限制: GPU 的内存有限,无法一次性加载所有数据,因此需要对数据进行分块处理。

    为了解决这些挑战,NVIDIA 的工程师提出了一种基于排序算法的解决方案。该方案的核心思想是:

    1. 创建位置索引和分段索引: 为所有训练实例创建位置索引,并创建分段索引以区分不同的组。
    2. 排序标签和预测值: 使用 GPU 的并行计算能力对标签和预测值进行排序,并同时移动位置索引。
    3. 收集分段索引并排序: 根据排序后的位置索引收集分段索引,并对分段索引进行排序,以便将同一组的标签放在一起。
    4. 组内排序: 根据排序后的位置索引,将同一组的标签放在一起进行排序。

    通过这种方式,可以高效地在 GPU 上对 LETOR 数据集进行排序,并利用 GPU 的并行计算能力加速梯度计算,从而提高训练速度。

    性能测试

    为了评估 GPU 加速 LETOR 的性能,NVIDIA 的工程师使用微软的 LETOR 基准数据集进行了测试。测试结果表明,GPU 加速 LETOR 可以显著提高训练速度,尤其是在处理大型数据集时,其优势更加明显。

    图2:不同排序算法的排名时间

    算法CPU 时间 (秒)GPU 时间 (秒)加速比
    pairwise177.318.49.6倍
    ndcg432.644.19.8倍
    map433.744.29.8倍

    图3:不同排序算法的排名和训练时间

    算法CPU 训练时间 (秒)GPU 训练时间 (秒)加速比
    pairwise212.8543.9倍
    ndcg468.179.55.9倍
    map469.279.65.9倍

    总结

    XGBoost 与 GPU 加速的 LETOR 方法为信息检索领域提供了一种高效的排序模型训练方案。通过利用 GPU 的强大计算能力,可以显著提高训练速度,缩短模型训练时间,从而更快地将模型部署到实际应用中。

    参考文献

  • 基于协同过滤和XGBoost的推荐系统详解

    推荐系统在现代互联网应用中扮演着至关重要的角色。无论是在电商平台、流媒体服务还是社交网络中,推荐系统都通过分析用户行为数据,帮助用户发现他们可能感兴趣的内容。本文将详细介绍一个结合了协同过滤和XGBoost算法的推荐系统的实现,并探讨其工作原理及应用。

    本文参考的项目代码可以在GitHub仓库中找到。

    推荐系统概述

    推荐系统的主要目标是根据用户的历史行为和偏好,向用户推荐可能感兴趣的项目。推荐系统主要有三种类型:

    1. 基于内容的推荐系统:根据用户过去喜欢的内容推荐相似的内容。
    2. 协同过滤推荐系统:基于其他用户的行为和偏好进行推荐。
    3. 混合推荐系统:结合多种推荐算法,以提高推荐效果。

    协同过滤算法

    协同过滤(Collaborative Filtering)是一种基于用户行为数据进行推荐的方法,其核心思想是“物以类聚,人以群分”。协同过滤的实现方式主要有两种:

    1. 基于用户的协同过滤(User-Based Collaborative Filtering):通过找到与目标用户行为相似的其他用户,推荐这些用户喜欢的项目。
    2. 基于项目的协同过滤(Item-Based Collaborative Filtering):通过找到与目标项目相似的其他项目,推荐这些相似项目。

    用户-项目评分矩阵

    协同过滤算法通常基于用户-项目评分矩阵(User-Item Rating Matrix),矩阵的行代表用户,列代表项目,矩阵中的值表示用户对项目的评分。通过矩阵分解技术(如SVD、ALS等),可以提取用户和项目的隐含特征,从而实现推荐。

    相似度计算

    在协同过滤中,相似度计算是关键步骤之一。常用的相似度计算方法包括:

    • 余弦相似度(Cosine Similarity):通过计算两个向量的余弦值衡量相似度。
    • 皮尔逊相关系数(Pearson Correlation):衡量两个变量线性相关程度。

    XGBoost算法

    XGBoost(Extreme Gradient Boosting)是一种基于梯度提升决策树(GBDT)的机器学习算法。它通过迭代训练一系列弱学习器(通常是决策树),并将它们的结果加权组合,以提高预测的准确性。XGBoost以其高效性和较强的泛化能力在许多机器学习竞赛中表现出色。

    XGBoost的优点

    • 高效性:XGBoost采用了高效的增量训练方式,能够处理大规模数据。
    • 准确性:通过结合多个弱学习器,XGBoost能够提高预测的准确性。
    • 灵活性:XGBoost支持多种损失函数,并且能够处理缺失值。

    实现结合协同过滤和XGBoost的推荐系统

    数据准备

    首先,需要准备用户行为数据和项目数据。这些数据通常包括用户对项目的评分、购买记录或浏览记录。数据可以存储在CSV文件或数据库中,并通过pandas等库进行加载和预处理。以下是一个数据加载示例:

    import pandas as pd
    
    # 加载用户-项目评分数据
    ratings = pd.read_csv('ratings.csv')
    # 加载项目数据
    items = pd.read_csv('items.csv')

    协同过滤实现

    使用协同过滤算法计算用户-项目评分矩阵,并找到相似用户或相似项目。以下是一个基于用户的协同过滤示例:

    from sklearn.metrics.pairwise import cosine_similarity
    
    # 创建用户-项目评分矩阵
    user_item_matrix = ratings.pivot(index='user_id', columns='item_id', values='rating')
    
    # 计算用户之间的相似度
    user_similarity = cosine_similarity(user_item_matrix.fillna(0))
    
    # 将相似度矩阵转换为DataFrame
    user_similarity_df = pd.DataFrame(user_similarity, index=user_item_matrix.index, columns=user_item_matrix.index)

    XGBoost模型训练

    将协同过滤得到的推荐结果作为特征,与其他用户行为特征一起输入到XGBoost模型中进行训练。以下是XGBoost模型训练的示例:

    import xgboost as xgb
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import mean_squared_error
    
    # 准备特征和标签
    # 假设我们已经提取了协同过滤的推荐结果和其他特征,特征存储在features DataFrame中,标签存储在labels Series中
    features = pd.DataFrame({
        'user_id': ratings['user_id'],
        'item_id': ratings['item_id'],
        'collaborative_filtering_score': collaborative_filtering_scores,  # 协同过滤得分
        'other_feature_1': other_feature_1,  # 其他特征
        'other_feature_2': other_feature_2,
        # 可以添加更多特征
    })
    labels = ratings['rating']
    
    # 将数据集拆分为训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42)
    
    # 创建DMatrix对象,这是XGBoost的内部数据结构
    dtrain = xgb.DMatrix(X_train, label=y_train)
    dtest = xgb.DMatrix(X_test, label=y_test)
    
    # 设置XGBoost参数
    params = {
        'objective': 'reg:squarederror', # 目标函数
        'max_depth': 6,                  # 树的最大深度
        'eta': 0.1,                      # 学习率
        'subsample': 0.8,                # 子样本比例
        'colsample_bytree': 0.8,         # 每棵树的特征子样本比例
        'eval_metric': 'rmse'            # 评价指标
    }
    
    # 训练XGBoost模型
    bst = xgb.train(params, dtrain, num_boost_round=100)
    
    # 进行预测
    preds = bst.predict(dtest)
    
    # 评估模型表现
    rmse = mean_squared_error(y_test, preds, squared=False)
    print(f'RMSE: {rmse}')

    模型评估与优化

    在训练完模型后,需要对模型进行评估和优化。常用的评估指标包括均方根误差(RMSE)和平均绝对误差(MAE)。通过交叉验证可以更好地评估模型的泛化能力。

    以下是使用交叉验证进行模型评估的示例:

    from sklearn.model_selection import cross_val_score
    
    # 使用交叉验证评估模型性能
    cv_results = xgb.cv(
        params,
        dtrain,
        num_boost_round=100,
        nfold=5,  # 5折交叉验证
        metrics='rmse',
        as_pandas=True,
        seed=42
    )
    
    print(cv_results)
    print(f'Cross-Validation RMSE: {cv_results["test-rmse-mean"].min()}')

    模型优化

    根据评估结果,可以调整模型的参数和特征以进一步优化推荐效果。常见的优化方法包括:

    • 调整树的深度(max_depth)
    • 调整学习率(eta)
    • 调整子样本比例(subsample)
    • 增加或减少特征

    实际应用

    这种结合了协同过滤和XGBoost的推荐系统在实际应用中具有广泛的应用价值。以下是几个实际应用场景:

    1. 电商平台:通过分析用户的购买历史和浏览记录,推荐用户可能感兴趣的商品,从而提高用户的购买转化率。
    2. 流媒体服务:根据用户的观看历史和评分,推荐用户可能喜欢的电影、电视剧或音乐,提高用户的留存率。
    3. 社交媒体:通过分析用户的互动行为,推荐用户可能感兴趣的朋友或内容,提高用户的活跃度。

    结论

    基于协同过滤和XGBoost的推荐系统通过结合用户行为数据和先进的机器学习算法,提供了强大的个性化推荐能力。通过合理的数据准备、模型训练和优化,可以构建出高效、准确的推荐系统,为用户提供更好的服务体验。

    对于感兴趣的读者,可以访问GitHub项目获取更多实现细节和代码示例。通过学习和实践,您可以进一步掌握推荐系统的构建方法,并将其应用到实际项目中。

  • 深入推荐系统:协同过滤与 XGBoost 联袂打造个性化推荐

    在信息爆炸的时代,人们面对海量选择常常感到无所适从。如何从琳琅满目的商品、信息中找到真正符合用户需求的内容,成为了互联网时代亟待解决的问题。推荐系统应运而生,它就像是一位贴心的智能管家,能够根据用户的喜好和行为,精准推荐用户可能感兴趣的内容,极大地提升了用户体验。

    本文将以 GitHub 上一个名为 “Recommender-System-with-Collaborative-Filtering-and-XGBoost” 的项目为例,深入探讨如何利用协同过滤和 XGBoost 算法构建强大的推荐系统。

    一、协同过滤:知己知彼,百战不殆

    协同过滤(Collaborative Filtering)是推荐系统中应用最广泛的算法之一,其核心思想是“物以类聚,人以群分”。简单来说,就是根据用户过去的喜好和行为,找到那些“志趣相投”的用户群体,并根据他们的喜好来预测你的偏好。

    举个例子:

    假设用户 A 和用户 B 都购买了书籍 X 和 Y,而用户 C 只购买了书籍 X。根据协同过滤算法,系统会认为用户 A 和用户 B 的兴趣较为相似,进而将用户 B 购买过的其他书籍推荐给用户 A,例如书籍 Z。

    协同过滤主要分为两种类型:

    1. 基于用户的协同过滤 (User-Based CF): 这种方法侧重于找到与目标用户兴趣相似的其他用户,并将这些用户喜欢的物品推荐给目标用户。
    2. 基于物品的协同过滤 (Item-Based CF): 这种方法侧重于计算物品之间的相似度,并将与用户已经喜欢的物品相似的物品推荐给用户。

    二、XGBoost:为预测模型注入强劲动力

    XGBoost (Extreme Gradient Boosting) 是一种强大的机器学习算法,以其高效性和预测精度著称。它属于梯度提升树 (GBDT) 算法的一种,通过不断迭代训练弱学习器(决策树),并将它们组合成一个强学习器,从而实现对目标变量的精准预测。

    在推荐系统中,XGBoost 可以利用用户的历史数据,例如:

    • 用户的浏览历史记录
    • 用户的购买记录
    • 用户对商品的评分
    • 用户的个人信息(年龄、性别、地域等)

    通过学习这些数据,XGBoost 可以预测用户对特定商品或服务的评分、点击概率、购买意愿等,从而为推荐系统提供更精准的决策依据。

    三、强强联手:协同过滤与 XGBoost 的完美结合

    在 “Recommender-System-with-Collaborative-Filtering-and-XGBoost” 项目中,开发者巧妙地将协同过滤和 XGBoost 结合起来,构建了一个更加精准的推荐系统。

    1. 首先,利用协同过滤技术,系统可以找到与目标用户兴趣相似的用户群体。 例如,使用基于用户的协同过滤,可以找到与目标用户观看过相同电影、购买过相同商品的用户群体。
    2. 然后,利用 XGBoost 算法,系统可以根据这些相似用户的历史数据,预测目标用户对特定商品或服务的评分。 例如,将这些相似用户对某部电影的评分、评价作为 XGBoost 模型的输入特征,预测目标用户对该电影的评分。
    3. 最后,根据预测的评分,系统将评分较高的商品或服务推荐给目标用户。

    这种结合了协同过滤和 XGBoost 的推荐系统,既可以充分利用用户之间的相似性,又可以利用 XGBoost 强大的预测能力,从而实现更加精准的个性化推荐。

    四、结语

    推荐系统已经成为互联网时代不可或缺的一部分,它不仅可以提升用户体验,还可以帮助企业更好地了解用户需求,制定更精准的营销策略。协同过滤和 XGBoost 作为推荐系统中常用的算法,它们的结合为构建更加精准、高效的推荐系统提供了新的思路。

    当然,推荐系统的设计和实现并非易事,需要根据具体的应用场景和数据特点选择合适的算法和策略。希望本文能够帮助读者更好地理解推荐系统的基本原理,并激发对这一领域的探索兴趣。

  • 突破次元壁的推荐系统:解密“套娃表征学习”

    在信息爆炸的时代,个性化推荐系统已经成为我们生活中不可或缺的一部分,从电商平台的商品推荐到社交媒体的内容推送,都离不开推荐系统的默默支持。而推荐系统成功的关键,在于如何精准地捕捉用户的喜好和物品的特征。近年来,深度学习技术的兴起为推荐系统带来了革命性的突破,其中,表征学习方法更是成为了研究的热点。

    传统的表征学习方法,要么平等地对待用户的每个偏好和物品的每个特征,要么将它们简单地划分到不同的类别中。然而,现实世界中,用户的偏好和物品的特征往往是以一种更为复杂和微妙的层次结构呈现的。例如,喜欢科幻小说的用户,可能对太空歌剧、赛博朋克等子类型有不同的偏好;而一部电影,也可能同时具备动作、爱情、悬疑等多种元素。

    为了更好地模拟这种层次化的结构,本文提出了一种全新的表征学习方法——套娃表征学习 (Matryoshka Representation Learning for Recommendation, MRL4Rec)。

    什么是套娃表征学习?

    顾名思义,套娃表征学习的灵感来源于俄罗斯套娃,它将用户和物品的向量表示重构为套娃表征。想象一下,每一个套娃都代表着用户偏好或物品特征的一个层次,从最外层的广泛兴趣到最内层的细粒度偏好,层层递进,形成一个多层次的结构。

    更具体地说,套娃表征是由维度递增且相互重叠的向量空间构成的。每个向量空间对应着用户偏好或物品特征的一个特定层次,而空间之间的重叠则反映了不同层次之间的关联性。这种巧妙的设计,使得套娃表征能够更全面、更精细地刻画用户和物品的信息。

    如何构建有效的套娃表征?

    构建有效的套娃表征,关键在于如何针对每个层次的特征学习到准确的向量表示。研究表明,针对每个层次构建特定的训练三元组至关重要。

    为此,本文提出了一种名为套娃负采样 (Matryoshka Negative Sampling) 的机制。简单来说,就是在每个层次上,根据用户的历史行为和当前层次的特征,选择合适的负样本,从而构建出更有效的训练数据。

    套娃表征学习的优势在哪里?

    相比于传统的表征学习方法,套娃表征学习具有以下优势:

    • 更精细的刻画能力: 能够更准确地捕捉用户和物品在不同层次上的特征,从而提高推荐的精准度。
    • 更强的可解释性: 每个层次的向量表示都对应着用户或物品的特定特征,便于理解推荐结果背后的原因。
    • 更广泛的适用性: 可以应用于各种类型的推荐系统,例如基于内容的推荐、协同过滤推荐等。

    实验结果表明,在多个真实数据集上,MRL4Rec 的表现都优于现有的多种先进方法,展现出了巨大的应用潜力。

    参考文献

    [1] Riwei Lai, Li Chen, Weixin Chen, Rui Chen. Matryoshka Representation Learning for Recommendation. arXiv preprint arXiv:2406.07432, 2024.


    Matryoshka 表征学习:下一代推荐系统的革新

    在现代信息社会中,推荐系统已经成为人们生活中不可或缺的一部分。从电商平台到流媒体服务,推荐系统帮助用户找到他们可能感兴趣的商品或内容。然而,如何更准确地捕捉用户的偏好和物品的特征,始终是推荐系统研究中的一个重要课题。今天,我们将探讨一项名为“Matryoshka 表征学习”的新方法,看看它如何在这个领域中实现突破。

    推荐系统的核心:表征学习

    推荐系统的核心在于表征学习,即如何在固定维度的用户和物品向量中捕捉用户偏好和物品特征。传统方法通常将每个用户偏好和物品特征视为均等,或者将它们分类到离散的集群中。然而,现实世界中的用户偏好和物品特征往往是层次化的。因此,我们需要一种新的表征学习方法来更好地捕捉这些层次关系。

    Matryoshka 表征学习方法

    正如俄罗斯套娃(Matryoshka)一样,用户偏好和物品特征可以在不同的层次上被表达和组织。基于这一理念,Riwei Lai 等人提出了一种名为“Matryoshka 表征学习”的新方法(MRL4Rec)。这种方法通过在逐渐增加维度和重叠的向量空间中重构用户和物品的向量,从而显式地表示不同层次的用户偏好和物品特征。

    理论基础

    MRL4Rec 的一个关键点在于,为每一层构建特定的训练三元组,这对于保证准确的 Matryoshka 表征学习至关重要。具体来说,构建这些训练三元组的方法被称为 Matryoshka 负采样机制。这一机制不仅确保了 Matryoshka 表征学习的有效性,还能够更好地捕捉层次化的用户偏好和物品特征。

    实验结果

    通过在多个真实数据集上的实验,研究人员发现 MRL4Rec 能够持续并显著地超越多种当前最先进的方法。这表明 Matryoshka 表征学习在捕捉用户偏好和物品特征的层次关系方面具有巨大潜力,为推荐系统的开发提供了一个新的方向。

    结语

    Matryoshka 表征学习为推荐系统带来了新的思路,通过层次化的表征方法,更加准确地捕捉用户偏好和物品特征。随着这一方法的不断发展和完善,我们有理由相信,未来的推荐系统将变得更加智能和高效。

    参考文献

    • Riwei Lai, Li Chen, Weixin Chen, Rui Chen. Matryoshka Representation Learning for Recommendation. arXiv:2406.07432. 2024. 链接

    Matryoshka Representation Learning for Recommendation: Summary and Answers

    This paper introduces Matryoshka Representation Learning for Recommendation (MRL4Rec), a novel approach to representation learning for recommendation systems. Here’s a breakdown of the key points:

    Problem: Existing representation learning methods struggle to capture the inherent hierarchical structure of user preferences and item features. They either treat all features uniformly or rely on discrete clustering, which can be limiting.

    Solution: MRL4Rec proposes a new representation structure called matryoshka representations. These representations organize user and item vectors into nested, incrementally dimensional vector spaces, resembling Russian nesting dolls (Matryoshka dolls). This structure allows for the explicit representation of user preferences and item features at different levels of granularity.

    Key Innovations:

    1. Matryoshka Representations: The hierarchical structure allows capturing broad preferences at higher levels and more specific interests at lower levels.
    2. Level-Specific Training Triplets: The paper argues that constructing training triplets specific to each level of the hierarchy is crucial for accurate representation learning.
    3. Matryoshka Negative Sampling: A novel negative sampling mechanism is proposed to generate effective training triplets, ensuring the model learns meaningful hierarchical relationships.

    Results: Experiments on real-life datasets demonstrate that MRL4Rec consistently outperforms state-of-the-art recommendation models.

    Code Availability: The authors have made their code publicly available (link provided in the paper).

    Answering your potential questions based on this paper:

    • What is the main contribution of this paper?
      • Introducing MRL4Rec, a novel representation learning method that uses matryoshka representations to capture the hierarchical nature of user preferences and item features for improved recommendation accuracy.
    • How does MRL4Rec differ from previous approaches?
      • Unlike methods treating features uniformly or using discrete clusters, MRL4Rec employs nested vector spaces to represent hierarchical relationships between preferences and features explicitly.
    • What is the significance of level-specific training triplets?
      • They ensure that the model learns accurate representations at each level of the hierarchy by providing targeted training data.
    • What is the role of matryoshka negative sampling?
      • It generates effective negative samples, crucial for training the model to distinguish between positive and negative relationships within each level of the hierarchy.

    This summary and the answers provide a comprehensive understanding of the key contributions and findings of the paper.


  • GPT4Rec:流式推荐中的图提示调优

    在个性化推荐系统领域,适应不断变化的用户偏好以及新用户和新项目的持续涌入是一个重要的挑战。传统的推荐模型通常依赖于静态的训练-测试方法,难以跟上这些动态需求。流式推荐,尤其是通过连续图学习,已经成为一种新颖的解决方案,吸引了学术界和工业界的广泛关注。然而,现有的方法要么依赖于历史数据重放,这在数据隐私法规日益严格的情况下变得越来越不切实际;要么无法有效解决过度稳定性问题;要么依赖于模型隔离和扩展策略,这需要大量的模型扩展,由于参数集庞大而导致更新耗时。为了解决这些困难,我们提出了GPT4Rec,一种用于流式推荐的图提示调优方法。

    1. 引言

    推荐系统(RS)在塑造个性化体验方面变得不可或缺,广泛应用于电子商务、在线流媒体、网络搜索等多个领域。推荐系统不仅指导用户在海量选项中做出选择,还推动了用户参与和客户满意度,使其成为数字平台成功的关键因素。在解码复杂用户偏好的多种技术中,图神经网络(GNN)因其能够巧妙地揭示用户-项目交互的复杂模式,在提升推荐精度和效果方面表现突出。

    然而,这些方法在现实世界中的应用往往未能兑现其通过基准数据集所做出的承诺。这种差异主要源于其传统的离线训练和测试方法。在这些场景中,模型在大型静态数据集上进行训练,然后在有限的测试集上进行评估,这一过程并未考虑现实世界数据的动态性质。与此形成鲜明对比的是,现实世界的推荐系统处于不断变化的状态,新用户偏好、项目和交互不断涌现,导致数据分布随时间变化。这不仅使得基于历史数据训练的模型难以有效处理新的多样化数据,同时在更新模型以适应新数据时,也面临着“灾难性遗忘”的风险。这一问题在推荐系统中尤为突出,因为保留旧的但相关的信息对于维持对用户偏好和行为的整体理解至关重要。

    2. 相关工作

    2.1 流式推荐

    传统的推荐系统受到静态数据集的限制,难以预测不断变化的用户偏好和趋势。流式推荐是一种动态方法,通过随时间更新数据和模型来解决这些挑战。初期研究主要关注项目的流行度、新颖度和趋势分析,最近的进展则将协同过滤和矩阵分解方法引入流式推荐中。此外,在线聚类的Bandits和协同过滤Bandits方法也逐渐兴起。图神经网络在流式推荐模型中的应用因其复杂关系建模能力而受到关注,这一转变代表了该领域的重大进步。

    2.2 连续学习

    连续学习(CL)旨在通过策略防止灾难性遗忘,并实现知识转移。主要算法分为三类:经验重放、模型正则化和模型隔离。最近,连续图学习在流式推荐系统中的应用引起了广泛关注,其重点是处理按时间顺序连续到达的数据,而不仅仅是按任务分割的数据。

    2.3 图提示调优

    提示调优广泛应用于自然语言处理(NLP)和计算机视觉(CV)领域,旨在弥合预训练任务和微调任务之间的差距。最近,这一技术在图形场景中的应用也逐渐增多,凸显了其多样性和有效性。在图神经网络(GNN)领域,多种创新的提示调优方法相继出现,如GPPT、GraphPrompt和All-in-One等。

    3. 预备知识

    我们首先形式化流式推荐的连续图学习问题,然后简要介绍本文中使用的三种经典图卷积推荐模型。

    3.1 定义与公式

    定义 1. 流式推荐。大规模用户-项目交互数据 ˜𝐷 持续流入工业推荐系统。为了方便,连续的数据流被分割为具有相同时间跨度的连续数据段 𝐷1, …, 𝐷𝑡 , …, 𝐷𝑇。在每个时间段 𝑡,模型需要优化在 𝐷𝑡 上的推荐性能,同时继承 𝐷1, 𝐷2, …, 𝐷𝑡 −1 的知识。推荐性能沿整个时间线进行评估。

    定义 2. 流式图。流式图表示为图的序列 𝐺 = (𝐺1, 𝐺2, …, 𝐺𝑡 , …𝐺𝑇),其中 𝐺𝑡 = 𝐺𝑡 −1 + Δ𝐺𝑡。𝐺𝑡 在时间 𝑡 是一个带属性的图,包含邻接矩阵 𝐴𝑡 和节点特征 𝑋𝑡。Δ𝐺𝑡 = (Δ𝐴𝑡 , Δ𝑋𝑡) 表示图结构和节点属性的变化。

    定义 3. 连续图学习。给定流式图 𝐺 = (𝐺1, 𝐺2, …, 𝐺𝑡 , …𝐺𝑇),连续图学习(CGL)的目标是在序列学习 Δ𝐺𝑡 (𝐷𝑡) 的同时,有效转移历史知识到新图段。

    4. 方法论

    我们提出了GPT4Rec方法,以应对流式推荐中的连续图学习问题。首先,我们分解复杂的用户-项目交互图为多个视图,以捕捉图中的独特交互模式。然后,我们设计了节点级和结构级的提示,分别用于适应节点属性变化和图结构变化。最后,我们创新性地设计了跨视图级提示以聚合多视图信息。

    4.1 复杂图的分解策略

    用户-项目交互图因其动态和互连特性而复杂。GPT4Rec通过一系列线性变换将图分解为多个视图,每个视图捕捉特定的交互方面。这种分解允许模型分别处理不同级别的关系变化,从而提高模型的适应性和精确性。

    4.2 提示设计

    4.2.1 节点级提示

    节点级提示主要针对图中单个节点的属性或特性,通过一组可学习参数引导模型适应节点特征的变化。这些提示通过上下文引导机制,在新数据到来时动态调整模型的关注点,使其能够快速适应新的节点特性。

    4.2.2 结构级提示

    结构级提示侧重于图中更广泛的连接模式和关系,通过消息传递机制适应整体图结构的变化。每个视图设计了一组可学习的结构级提示,以捕捉动态的图关系。

    4.3 分解表示的聚合

    多视图信息的聚合对于提供动态用户-项目交互的全面理解至关重要。我们提出了跨视图级提示来增强模型的动态适应性,通过更新一小组“代码簿”提示来调整注意力机制,从而高效地聚合多视图信息。

    4.4 讨论

    与传统的模型隔离和扩展方法不同,GPT4Rec通过一组上下文自适应提示实现知识的动态存储和适应。这些提示不直接存储知识,而是通过修改模型对新数据的解释和处理方式,以灵活、轻量的方式引导模型学习。

    4.5 理论分析

    我们进行了理论分析,以保证GPT4Rec在动态图上的正确性。理论分析表明,GPT4Rec至少具有与使用全数据进行全局微调相同的表达能力。

    5. 实验

    我们在四个真实世界的时间戳推荐数据集上进行了实验,以验证我们的提案。实验结果表明,GPT4Rec在各个数据集上均表现出色,显著优于现有基线方法。

    6. 结论

    本文提出了GPT4Rec,一种用于流式推荐的图提示调优方法。通过分解复杂的用户-项目交互图并设计多级提示,GPT4Rec能够高效地捕捉和适应动态交互模式,保持历史知识的完整性,并实现对新数据的快速适应。广泛的实验验证了GPT4Rec的有效性和效率。

    参考文献

    1. Kian Ahrabian, et al. “Structure aware experience replay for incremental learning in graph-based recommender systems.” CIKM (2021).
    2. Jie Cai, et al. “Multimodal continual graph learning with neural architecture search.” WWW (2022).
    3. Andreas Lommatzsch, et al. “Real-time recommendations for user-item streams.” SAC (2015).
    4. Mingchen Sun, et al. “GPPT: Graph pre-training and prompt tuning to generalize graph neural networks.” KDD (2022).

    本文展示了GPT4Rec在流式推荐系统中的应用,通过创新性的图提示调优方法,解决了传统方法在动态数据环境中的诸多挑战,为推荐系统的持续学习和适应性提供了新的思路。


    GPT4Rec: A Summary and Analysis

    The provided document introduces GPT4Rec, a novel approach for streaming recommendation using graph prompt tuning. Here’s a breakdown of the paper’s key aspects:

    Problem: Traditional recommender systems struggle to adapt to the dynamic nature of user-item interactions. New users, items, and preferences constantly emerge, leading to a distribution shift between training and real-world data. This often results in catastrophic forgetting, where models lose valuable knowledge from past data while trying to learn from new information.

    Existing Solutions and their limitations:

    • Replay Buffer: These methods store a subset of past data and replay it during training. However, they are limited by buffer size and raise privacy concerns.
    • Model Regularization: These techniques constrain model parameters to prevent drastic changes. However, they struggle when new data significantly deviates from past patterns.
    • Model Isolation and Expansion: These approaches isolate old knowledge and create new learning spaces for new data. However, they lead to increased model complexity and slow updates.

    GPT4Rec’s Approach:

    1. Disentangling Complex Graphs: GPT4Rec divides the user-item interaction graph into multiple views using linear transformations. This allows the model to focus on specific aspects of the graph, such as user-to-item interactions or item-to-item similarities, without losing sight of the overall interconnectedness.
    2. Adaptive Learning with Prompts: GPT4Rec employs three types of prompts to guide the model’s learning process:
      • Node-Level Prompts: These prompts capture changes in individual node attributes or properties. They are weighted based on their relevance to specific nodes, allowing the model to focus on the most pertinent information.
      • Structure-Level Prompts: These prompts capture broader patterns of connectivity and relationships within the graph. They decompose sub-graph structures into smaller, more manageable components, enabling the model to adapt to changes in the overall graph topology.
      • View-Level Prompts: These prompts aggregate information from the different disentangled views, ensuring a comprehensive understanding of the evolving graph.

    Advantages of GPT4Rec:

    • Efficient Adaptation: GPT4Rec’s prompt-based approach allows for rapid adaptation to new data streams without requiring extensive model modifications.
    • Knowledge Preservation: By strategically utilizing prompts, GPT4Rec retains valuable knowledge from past data while effectively incorporating new information.
    • Theoretical Guarantees: The paper provides theoretical analysis demonstrating that GPT4Rec possesses at least the expressive power of global fine-tuning.

    Evaluation:

    The paper claims that GPT4Rec outperforms state-of-the-art baselines on four real-world datasets, demonstrating its effectiveness for streaming recommendation.

    Overall, GPT4Rec presents a promising solution for addressing the challenges of streaming recommendation by leveraging graph prompt tuning. Its ability to disentangle complex graphs, adapt to evolving data patterns, and preserve valuable knowledge makes it a significant contribution to the field.

  • Pyraformer: 低复杂度金字塔注意力在长序列时间序列建模和预测中的应用

    时间序列数据的分析和预测在许多领域中具有重要意义,如决策制定和风险管理。本文将介绍一种名为Pyraformer的新模型,该模型通过探索时间序列的多分辨率表示,提出了一种低复杂度的金字塔注意力机制用于长序列时间序列的建模和预测。

    引言

    时间序列预测是许多下游任务的基础,例如决策制定和风险管理。例如,在线流量的可靠预测可以为云系统中潜在风险提供早期预警,同时也为动态资源分配提供指导,以最小化成本而不降低性能。除了在线流量,时间序列预测在疾病传播、能源管理以及经济和金融等领域也有广泛应用。

    时间序列预测的主要挑战在于构建一个强大但简洁的模型,能够紧凑地捕捉不同范围的时间依赖性。时间序列通常表现出短期和长期重复模式,考虑这些模式是精确预测的关键。特别是处理长范围依赖的任务更加困难,这通常通过信号传递路径的长度来衡量。路径越短,依赖关系捕捉得越好。同时,为了让模型学习这些长期模式,输入的历史数据也应该足够长。因此,低时间和空间复杂度是优先考虑的。

    现有的最先进的方法难以同时实现这两个目标。RNN和CNN在时间复杂度方面表现良好,但它们的信号传递路径长度较长,难以学习远距离的位置依赖。另一方面,Transformer虽然缩短了信号传递路径,但增加了时间复杂度。为了在模型能力和复杂度之间找到平衡,出现了一些Transformer的变种,如Longformer、Reformer和Informer。然而,很少有方法能够在大幅降低时间和空间复杂度的同时实现短的最大路径长度。

    Pyraformer模型概述

    为了解决上述问题,本文提出了一种新型的基于金字塔注意力的Transformer模型(Pyraformer)。具体来说,开发了一种金字塔注意力机制,通过在金字塔图上基于注意力的消息传递来描述时间序列的时间依赖性。该图中的边可分为两组:跨尺度和同尺度连接。跨尺度连接构建了原始序列的多分辨率表示,而同尺度连接捕捉了各分辨率下的时间依赖性。这样,该模型通过在较粗的分辨率下捕捉长范围的行为,提供了对远距离位置之间长期时间依赖性的紧凑表示,从而缩短了信号传递路径的长度。此外,在不同尺度上通过稀疏的邻接同尺度连接建模不同范围的时间依赖性显著降低了计算成本。

    金字塔注意力模块(PAM)

    金字塔注意力模块(PAM)是Pyraformer的核心。通过金字塔图以多分辨率的方式描述观察到的时间序列的时间依赖性。金字塔图可以分解为两部分:跨尺度和同尺度连接。跨尺度连接形成了一棵C叉树,其中每个父节点有C个子节点。例如,如果将金字塔图的最细尺度与原始时间序列的小时观察值相关联,则较粗尺度的节点可以看作是时间序列的每日、每周甚至每月模式。因此,金字塔图提供了原始时间序列的多分辨率表示。此外,通过简单地连接邻近节点来捕捉各分辨率下的时间依赖性,可以在较粗尺度上更容易地捕捉长范围依赖性。

    粗尺度构建模块(CSCM)

    CSCM的目标是初始化金字塔图在较粗尺度上的节点,从而促进后续的PAM在这些节点之间交换信息。具体来说,通过在对应的子节点上执行卷积操作,逐层引入粗尺度节点。卷积层的步长和核大小均为C,经过多层卷积操作后,得到不同尺度上的序列,形成一棵C叉树。为了减少参数和计算量,在输入嵌入序列到卷积层之前,通过全连接层减少每个节点的维度,并在所有卷积操作完成后恢复原始维度。

    预测模块

    对于单步预测,在输入嵌入层之前,向历史序列的末尾添加一个结束标记。在PAM编码序列后,收集金字塔图中所有尺度上的最后一个节点的特征,进行串联后通过全连接层进行预测。

    对于多步预测,提出了两种预测模块。第一种与单步预测模块相同,但将所有尺度上的最后一个节点映射到所有未来时间步。第二种则采用具有两个全注意力层的解码器。具体来说,类似于原始Transformer,将未来时间步的观测值替换为0,嵌入它们并将观测值、协变量和位置嵌入的和称为“预测标记”。第一个注意力层将预测标记作为查询,PAM的输出作为键和值,生成解码器输出。第二层将解码器输出作为查询,解码器输出和PAM的输出作为键和值。历史信息直接输入到两个注意力层中,因为这些信息对精确的长范围预测至关重要。

    实验结果与分析

    在四个真实世界数据集上进行了广泛的实验,包括Wind、App Flow、Electricity和ETT。结果显示,Pyraformer在单步和长范围多步预测任务中表现出色,且时间和内存消耗较低。

    单步预测

    在Electricity、Wind和App Flow数据集上进行了单步预测实验。结果表明,Pyraformer在NRMSE和ND指标上优于其他Transformer变种,且具有最少的查询-键点积数量。

    长范围多步预测

    在Electricity、ETTh1和ETTm1数据集上进行了长范围多步预测实验。结果显示,无论预测长度如何,Pyraformer在所有数据集上的表现均优于其他模型,并且具有最少的查询-键点积数量。

    计算时间和内存消耗

    通过实验验证了基于TVM实现的定制CUDA内核的效率。结果表明,Pyraformer的时间和内存消耗与序列长度近似呈线性关系,且显著低于全注意力和概率稀疏注意力机制,特别是对于较长的时间序列。

    结论与展望

    本文提出了Pyraformer,一种基于金字塔注意力的新型模型,能够在低时间和空间复杂度下有效描述短期和长期时间依赖性。实验结果表明,Pyraformer在单步和长范围多步预测任务中均优于现有最先进模型,且计算时间和内存消耗较低。未来的工作将探索如何从数据中自适应地学习超参数,并将Pyraformer扩展到自然语言处理和计算机视觉等其他领域。

    参考文献

    • Shizhan Liu, Hang Yu, Cong Liao, Jianguo Li, Weiyao Lin, Alex X. Liu, Schahram Dustdar. “Pyraformer: Low-Complexity Pyramidal Attention for Long-Range Time Series Modeling and Forecasting.” ICLR 2022. PDF
    • Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems. 2017.
    • Zhou, Haoyi, et al. “Informer: Beyond efficient transformer for long sequence time-series forecasting.” AAAI. 2021.
    • Beltagy, Iz, Matthew E. Peters, and Arman Cohan. “Longformer: The long-document transformer.” arXiv preprint arXiv:2004.05150 (2020).
    • Kitaev, Nikita, Łukasz Kaiser, and Anselm Levskaya. “Reformer: The efficient transformer.” International Conference on Learning Representations. 2019.

    Summary of “Pyraformer: Low-Complexity Pyramidal Attention for Long-Range Time Series Modeling and Forecasting”

    This paper proposes Pyraformer, a novel Transformer-based model designed to address the challenges of long-range time series forecasting. The key innovation lies in its pyramidal attention module (PAM), which efficiently captures both short-term and long-term dependencies in time series data.

    Here’s a breakdown of the paper’s key aspects:

    Problem: Existing time series forecasting methods struggle to balance computational efficiency with the ability to capture long-range dependencies. RNNs and CNNs are efficient but struggle with long sequences, while Transformers, while good at capturing long-range dependencies, suffer from quadratic complexity.

    Proposed Solution: Pyraformer

    • Pyramidal Attention Module (PAM):
      • Employs a multi-resolution pyramidal graph to represent the time series.
      • Inter-scale connections: Form a C-ary tree where each level summarizes information at a different resolution (e.g., hourly, daily, weekly).
      • Intra-scale connections: Capture temporal dependencies within each resolution by connecting neighboring nodes.
      • This structure allows for efficient modeling of long-range dependencies by capturing them at coarser resolutions.
    • Coarser-Scale Construction Module (CSCM): Initializes the nodes at coarser scales using convolutions applied to finer-scale representations.
    • Prediction Module:
      • Single-step forecasting: Gathers features from all scales and uses a fully connected layer for prediction.
      • Multi-step forecasting: Offers two options:
        • Similar to single-step but maps to multiple future time steps.
        • Utilizes a decoder with two full attention layers for incorporating historical information.

    Advantages:

    • Low Complexity: Achieves linear time and space complexity (O(L)) thanks to the sparse connections in the pyramidal graph.
    • Long-Range Dependency Capture: Maintains a constant maximum signal traversing path length (O(1)), enabling efficient modeling of long-range dependencies.
    • Improved Accuracy: Outperforms existing methods in both single-step and long-range multi-step forecasting tasks.

    Key Results:

    • Pyraformer consistently achieves higher prediction accuracy compared to other Transformer variants and traditional methods on various real-world datasets.
    • It achieves this while maintaining significantly lower time and memory consumption, especially for long sequences.

    Overall, Pyraformer presents a promising solution for long-range time series forecasting by effectively balancing model complexity and the ability to capture long-term dependencies.


  • 使用卷积神经网络发现有影响力的文本

    作者:Megan Ayers, Luke Sanford, Margaret E. Roberts, Eddie Yang
    所属机构:1耶鲁大学, 2加州大学圣地亚哥分校

    摘要

    在社会科学中,实验方法常用于估计文本对人类评价的影响。然而,实验环境中的研究人员通常只限于测试少量预先指定的文本处理方法。这些处理方法往往是主观选择的,可能无效或缺乏外部效度。近年来,对未结构化文本进行挖掘以寻找因果影响特征的努力不断增加,但这些模型主要集中于文本的主题或特定词汇,而这些可能并不是效果的机制。我们将这些努力与自然语言处理(NLP)可解释性技术相结合,提出了一种方法,利用卷积神经网络(CNN)灵活地发现预测人类对文本反应的相似文本短语簇。在实验环境中,该方法可以在某些假设下识别文本处理及其效果。我们将该方法应用于两个数据集,第一个数据集验证了模型检测已知导致结果的短语的能力,第二个数据集展示了其灵活发现具有不同文本结构的文本处理的能力。在两种情况下,模型学习到的文本处理比基准方法更多样化,并且这些文本特征在预测结果方面定量上达到或超过了基准方法的能力。

    引言

    文本对许多领域的结果和决策产生影响。例如,研究人员已经调查了竞选信息对投票的影响(Arceneaux 和 Nickerson,2010),帖子内容对审查的影响(King 等人,2014),临床笔记对诊断和治疗的影响(Sheikhalishahi 等人,2019),以及书面简介对公民身份决定的影响(Hainmueller 和 Hangartner,2013)。大多数估计文本对人类评价影响的实验方法是随机分配一些受试者到由研究人员事先选择的少量处理文本。这些处理方法通常是主观选择的,可能无效或缺乏外部效度。最近的计算社会科学文献试图从未结构化文本中发现对感兴趣结果有影响的处理方法(Fong 和 Grimmer,2016;Pryzant 等人,2018)。

    在这项工作中,我们将这些使用文本处理进行因果推断的努力与可解释机器学习领域相结合(Jacovi 等人,2018;Alvarez Melis 和 Jaakkola,2018)。以文本为处理方法的因果推断方法旨在识别对结果产生因果影响的低维文本特征表示。我们引入了一种新的应用,结合了上下文化的词嵌入、卷积神经网络(CNN)和可解释性方法,以检测和解释这些潜在的文本表示。与之前识别文本处理的方法不同,这些学习到的表示可以在长度和结构上变化,不受限于表示文档级别的一组主题或特定词汇。我们将该方法应用于两个数据集:微博上的社交媒体帖子,结果是帖子是否被审查,以及提交给消费者金融保护局的投诉,结果是投诉者是否及时收到回应。在这两种情况下,我们的方法提取了质量上不同的处理,并且在定量性能指标上达到或超过了基准方法。

    相关工作

    计算社会科学与因果推断

    之前的工作生成了方法来同时发现处理并估计其效果(Fong 和 Grimmer,2016;Pryzant 等人,2018;Egami 等人,2018;Fong 和 Grimmer,2021;Feder 等人,2022)。这些模型通常集中于估计主题或单词作为处理。Fong 和 Grimmer(2016)应用监督的印度自助餐过程,既发现特征(主题),又在随机对照试验(RCT)设置中估计其对结果的影响。Pryzant 等人(2018)使用 n-gram 特征代替主题,并使用一种从网络权重中提取特征重要性的方法构建了神经架构。我们的模型扩展了这项工作,允许将一般相似的短语组(而不是主题或唯一单词)识别为处理。我们预计我们的方法在结果可能由灵活表达的概念(例如,可以用可互换同义词传达的情感)而非特定单词或文档的全部主题内容引起的情况下效果特别好。

    可解释的 NLP

    许多方法已经被提出用于解释和解释 NLP 模型,以及这些方法的元评估(Lei 等人,2016;Alvarez Melis 和 Jaakkola,2018;Rajagopal 等人,2021;Alangari 等人,2023;Crothers 等人,2023;Lyu 等人,2023)。这些方法大多集中于解释和解释个体样本级别的预测。相比之下,我们的方法旨在学习和解释在语料库级别发生的更广泛的模式。在这方面,Rajagopal 等人(2021)要求他们的模型使用“全局”概念解释预测,Jacovi 等人(2018)专门解释 CNN 学习到的潜在特征,最接近我们的工作。个别标记对人类来说不可解释或单独有说服力,因此如 Alvarez Melis 和 Jaakkola(2018)一样,我们要求网络在表示学习组件之后有一个可解释的最终层。与试图理解网络做出预测的原因不同,我们寻求的是科学家可以在后续实验中测试其效果的有影响力的语料库级特征的表示。例如,如果模型识别出日历日期的存在是确定及时回应投诉的全球性有影响力特征,研究人员可能设计两个文本,仅通过包括日期进行区分,并在受控实验中比较其效果。

    其他现有的 NLP 技术可以适应这种方法。例如,说服性和非说服性文本之间的差异(Zhong 等人,2022)可以用来识别有说服力的概念。虽然任何能够学习有影响力文本特征的语料库级低维表示的方法都可以用于识别文本处理,但关键挑战是能够捕捉复杂的特征表示,同时保持人类可解释。这需要在表示学习中具备复杂性,但在理解所学的文本处理的效果的估计中保持清晰。在实验中,我们提出的模型有效地实现了这种平衡。

    从潜在表示中提取有影响力的文本

    我们的目标是提取代表潜在的、可概括的处理的短语簇,这些处理会影响特定结果。为此,我们想象 N 个文本(Ti)被随机分配到一个过程中,通过该过程它们被映射到一个结果(Yi)。让 i 也索引评估文本 i 的个体。我们寻求识别和估计这些文本的 m 维潜在表示(Zi)的效果,该表示总结了可能在反复实验中影响结果的短语或概念簇。我们将 Zi 称为文本 i 的“文本处理”。例如,Zi 的每个元素可以表示某个短语或语法结构的存在或不存在,Zi ∈ {0, 1}m。Zi 也可以包含表示连续文本特征的实值元素,如与某个词汇或概念一致的相似性。

    为了模拟一个顺序实验设置,我们遵循 Egami 等人(2018)的做法,将样本分为训练集和测试集。我们首先训练模型,在训练集内使用交叉验证进行调整和模型选择。然后,我们使用测试数据集解释发现的潜在文本处理,并在附加假设下估计其对结果的影响。我们的主要贡献在于第一阶段:在文本数据和文本处理(Zi)之间发现映射的 CNN 模型的新颖使用。

    Fong 和 Grimmer(2016,2021)概述了在处理为二进制的情况下,该一般过程识别文本处理对结果的因果效应的条件。他们假设:1)个体的处理仅取决于其分配的文本,2)任何非文本特征或不被模型捕获的潜在文本特征对评估者的反应(Yi)的影响是独立于模型捕获的潜在特征的,3)在给定未测量的文本特征的情况下,每个评估者接收任何可能的文本处理的概率是非零的,4)文本是随机分配的,5)潜在处理不是完全共线的。如果这些假设成立,我们的模型可以识别发现的潜在特征的处理效应。在连续处理变量的情况下,与连续处理变量的线性建模假设一起,可以使用线性回归估计这些效应。然而,由于很难评估这些假设是否成立—特别是假设2,我们建议在可能的情况下,实践者使用我们的方法建议在受控实验中研究的处理。

    方法论

    我们建议利用 CNN 的结构来识别有影响力的文本处理。卷积层中的滤波器将文本短语投影到低维表示空间,然后在每个样本的所有短语中进行最大池化,以预测结果(图1)。通过训练模型生成预测的最大池化表示,激励滤波器检测有影响力的 n-gram 模式(Jacovi 等人,2018)。这些模式可以对应于特定的关键词或具有相似词汇、语法结构或语调的关键词簇。例如,研究人员可以测试这些模式在文本中出现时对结果的影响。

    上下文编码器

    我们使用预训练的 BERT 模型(Devlin 等人,2019)对输入文本样本(Ti)进行标记,并获得上下文相关的词嵌入。我们将这些嵌入表示为 ei,j ∈ RD,其中 i 索引每个文本样本,j 索引标记(ui,j),D 表示嵌入维度。考虑到社会科学家的可访问性,我们使用了缩小版模型(Jiao 等人,2020),并且没有进行微调。对于计算预算较少的研究人员来说,使用更大或更复杂的模型并/或在其结果上微调这些模型可能会发现模型性能有所提高。任何提供文本嵌入的模型都可以替代 BERT。我们在创建训练-测试划分之前执行嵌入步骤,但选择微调其嵌入模型的研究人员应逆转这些步骤,以便仅在训练集上进行微调和训练。

    模型架构

    输入的文本嵌入序列 {ei,j}j 传递给一维卷积层 C,或者传递给平行的 M 个这种层(Cl),每个层具有灵活的核大小 Kl 和 F 个滤波器。唯一核大小的平行卷积层的数量决定了平行卷积层的数量。更高数量的滤波器 F 对应于学习更多潜在的文本特征。在我们的实现中,所有卷积层学习相同数量的滤波器。核大小 K 决定了滤波器窗口的大小,即每个卷积层考虑的短语长度。包括多种核大小的滤波器允许模型捕捉不同长度的模式。对于层 C 中核大小为 K = 5 的滤波器 f,卷积操作在输入文本的五个标记短语 pi,1, …, pi,P ∈ RK×D 上生成新特征 ai,f = g(Wf · pi + b),其中 Wf 和 b 是滤波器 f 的学习权重和偏差,g 是 sigmoid 激活函数。我们将这些特征称为“滤波器激活”,ai,f ∈ RP。通过最大池化层对每个文本样本进行汇总,仅保留每个滤波器在文本短语中的最高激活。然后将每个滤波器的最大池化激活 apooled
    i,f ∈ R 连接在平行卷积层之间。然后将连接的最大池化激活传递到最终的全连接层。最终层的激活 ˆYi 对应于模型预测。

    训练

    模型使用 Adam 优化器(Kingma 和 Ba,2017)训练,损失函数如下:

    [
    L = – \frac{1}{N} \sum_i \left( Y_i \log(\hat{Y_i}) + (1 – Y_i) \log(1 – \hat{Y_i}) \right) + \lambda_{\text{conv}} \sum_{\text{ker},k,d,f} (W_{\text{conv}}^{\text{ker}}){k,d,f}^2 + \lambda{\text{conv}} \sum_{\text{act}} \max(R) + \lambda_{\text{out}} \sum_{\text{ker}} |W_{\text{out}}^{\text{ker}}|
    ]

    其中 R 是一个 F x F 矩阵,定义如下:

    [
    R_{f,g} = \begin{cases}
    \max(\text{cor}(\tilde{a_f}, \tilde{a_g}), 0) & \text{for } f \neq g \
    0 & \text{for } f = g
    \end{cases}
    ]

    其中 (\tilde{a_f} \in \mathbb{R}^{N \cdot P}) 表示滤波器 f 在所有 N 样本的 P 短语中的激活向量。第一个项是相对于模型预测的二进制交叉熵损失。我们选择了这个全局损失,因为在我们这里展示的两个应用中,结果都是二进制的,但可以很容易地替换为 RMSE 或者更适合连续结果的其他损失。第二项是应用于卷积层权重 (W_{\text{conv}} \in \mathbb{R}^{K \times D \times F}) 的 L2 正则化惩罚。第三项表示一个活动正则化,惩罚两个滤波器激活之间的最大非负相关性。这惩罚了学习冗余滤波器的模型(通过高相关性激活测量),鼓励卷积层识别更多不同的文本特征(附录 A:图 4)。对于 M > 1 的模型,第二和第三项在每个卷积层的和中重复。第四项是应用于最终全连接层权重 (W_{\text{out}} \in \mathbb{R}^{F \cdot M}) 的 L1 正则化惩罚。每个惩罚的强度由 (\lambda_{\text{conv}}, \lambda_{\text{act}}) 和 (\lambda_{\text{out}}) 控制。

    这些惩罚强度和其他超参数是通过使用训练集的五折交叉验证程序确定的。由于这些模型的动机主要是解释学习到的特征,而不是预测性能,模型选择比简单地选择最高准确率的参数设置更为主观。我们根据准确率、特征冗余的相关性程度以及学习到的“有用”滤波器数量的组合选择模型。应用中选择的模型参数设置在附录中报告。然后使用整个训练集重新训练最终选择的模型,随机抽取的 20% 作为验证集,并使用未见的测试集进行评估。

    识别和测试有影响力的文本特征

    为了解释模型学习到的潜在表示并发现每个文本的文本处理(Zi),我们利用了三个模型组件:

    1. 每个滤波器 f 的每个文本样本短语的滤波器激活(ai,f);
    2. 输出层权重(W out ∈ RF ·M);
    3. 输入文本样本(Ti)。

    滤波器激活表示每个短语与每个滤波器学习到的表示的强度。为了便于解释并为每个滤波器分配手动标签,我们检查每个滤波器的最大激活短语。最终层权重确定每个文本表示如何对最终结果预测做出贡献。最后,原始输入文本样本为高激活的短语提供上下文。由于文本嵌入是上下文相关的,每个短语的嵌入包含比单个标记更多的信息,这些标记缺乏整个样本的上下文。然而,由于文本嵌入维度难以解释,人类读者在阅读整个样本时分配给短语的上下文无法确认与编码的上下文一致。

    评估方法

    我们通过将模型与两种基准方法进行比较来评估我们的模型。第一种是 Fong 和 Grimmer(2016)提出的方法,该方法使用主题建模方法发现和解释潜在的文本处理。我们将这种方法缩写为 F&G。第二种是对语料库中的 n-gram 词汇进行正则化逻辑回归,我们将其缩写为 RLR。通过评估线性模型使用每种方法识别的文本处理预测结果变量的调整 R 平方,以及评估这些线性模型在样本外文本上的均方误差,进行定量比较。我们通过计算数据的 1000 个自助样本的指标,使这些比较对采样变异性具有鲁棒性,固定训练好的模型(因此也固定了学习到的潜在特征)。为了更好地了解我们提出的模型和基准模型的训练过程的稳定性,我们重复了这个过程,但另外在训练数据的 150 个自助样本上重新训练模型(固定调整的参数设置)。通过评估学习到的文本特征的可解释性和多样性进行定性比较。在审查应用中,已知哪些短语导致审查的真实信息使我们能够通过其恢复已知因果效应的文本处理的能力来比较方法。基准方法的实现细节和完整的解释结果包括在附录 B 中。

    实验

    为了充分展示我们的方法能够实现的定性和实质性结果,我们集中在两个数据集上进行实验。第一个数据集因为稀有的真实信息而被选中,第二个数据集因为其在相关研究中的使用而被选中,以探索有影响力的文本特征可能表现出复杂和多样结构的设定。我们采用深度优先而不是广度优先的方法,但未来的工作应在更大范围的数据集上评估这种方法。虽然该方法可以推广到任何文本被认为会导致结果的数据集,但具有关于这种关系的真实信息的数据集是理想的(尽管罕见),因为它们可以展示成功识别因果关系和效应。

    微博帖子审查

    数据集和设置

    对于我们的第一个应用,我们使用了28,386条来自Weibo-Cov数据集的微博帖子(Hu等人,2020)。这些是关于COVID的社交媒体帖子,发布于2020年2月的微博上。为了获取每个帖子的审查标签,我们使用了来自百度的内容审核API。该API是一个分类器,为每个帖子返回审查的概率。API仅在社交媒体帖子包含在百度黑名单上的单词或短语时返回概率1。由于API还返回标记的关键词和短语,这使我们能够验证我们的模型是否可以恢复导致审查的关键词和短语。

    我们训练我们的模型来预测帖子是否被API标记为审查概率为1。尽管这个结果不是由直接的人类决策决定的,但我们可以将黑名单视为一个完美实现一组人类定义偏好的决策者(这些偏好可能或可能不代表更广泛的审查政策)。为了对这些文本进行标记和嵌入,我们使用了由哈尔滨工业大学和iFLYTEK联合实验室提供的预训练BERT中文语言模型MiniRBT-h288(Yao等人,2023)。该模型具有288维的嵌入维度和12.3M参数。我们使用BERT模型最后一个隐藏状态的嵌入作为我们模型架构的输入特征。数据集中帖子示例、其审查概率及其审查词(如适用)及其英文翻译见附录A表3。附录A表4显示了所有审查概率为1的样本中前10个审查词、其翻译及对应的审查样本比例。

    结果

    训练好的模型在测试集上获得了0.87的准确率。在模型重复训练在重新采样数据并重新评估的迭代中,模型分类准确率相对稳定(值在[0.84, 0.88]之间,平均为0.86)。这表明模型学习到了有用的表示,这些表示可以预测该时期的微博帖子是否会被审查。基于参数调优结果,该模型由两个卷积层组成,核大小分别设置为5和7个中文字符。我们在表1中重点解释了最相关的表示,所有表示的解释见附录A表7。我们发现,模型清晰地识别出了两种最常被审查的短语,“武汉病毒”(23.9%的被审查帖子)和“国家危机”(4.9%的被审查帖子),它们在模型的第一个和第二个滤波器中被识别出来。最大池化激活对这些滤波器的最大贡献见于表中的W out列。滤波器3和9的最高激活短语共同具有另外两个已知的审查短语,“省委书记”和“新天地教会”,滤波器10的最高激活短语完全集中在同一个短语上,该短语涉及第五个已知的审查短语“蒋超良”。完整的表示解释集显示了滤波器学习到的关键词存在某种冗余。在其他设置中,它们在句子结构和上下文中的差异可能具有启发性,尽管在这种情况下,已知这些短语的包含单独影响结果。作为概念验证,我们包括了通过对测试样本的最大池化滤波器激活进行回归获得的效应估计,尽管这种设置不符合典型的实验设计。尽管估计效应的大小与输出层权重不同(很大程度上因为输出层权重对应于sigmoid而不是线性激活),但它们在哪些文本处理被发现对审查最有影响方面相对一致。

    模型验证

    我们发现这种方法成功恢复了导致最多帖子被审查的短语。在没有审查理由的情况下,我们相信研究人员可以使用这个模型确定至少五种最常见的审查短语。相比之下,我们发现F&G方法学习到的主题与任何最常见的审查短语都不清晰对齐(附录B:表12)。逻辑回归模型选择的n-gram词组部分对应于三个常见的审查短语:“武汉病毒”,“蒋超良”和“省委书记”(附录B:表13)。我们的模型在图2报告的两个指标上都优于基准方法,这表明我们模型学习到的特征解释审查结果的变异性显著更多,并且在预测能力方面比基准方法学习到的主题和关键词更好。

    消费者金融保护局投诉响应

    数据集和设置

    对于我们的第二个应用,我们使用了Egami等人(2018)从2015年3月到2016年2月提交给消费者金融保护局(CFPB)的54,816个消费者投诉叙述的数据集。结果变量表示投诉者是否及时收到了公司的回应。由于结果变量严重不平衡,我们继续使用一个包含及时响应(5136个及时响应和1712个非及时响应)的子样本,并结合一个类别加权的损失函数。为了对投诉文本进行标记和嵌入,我们使用了由Google Research训练的预训练BERT英文语言模型bert-tiny(Turc等人,2019;Bhargava等人,2021)。该模型具有128维的嵌入维度和4M参数。

    结果

    训练好的模型在测试集上获得了0.76的准确率和0.33的F1分数。在模型重复训练在重新采样数据并重新评估的迭代中,模型分类准确率相对一致,值在[0.72, 0.79]之间,平均为0.75。F1分数观察到较大的变化,值在[0.12, 0.44]之间,平均为0.31。考虑到使用的数据集的有限规模、类别不平衡和这个学习任务的相对复杂性,模型获得较低的性能并不意外,但学习到的表示仍提供了关于数据集中文本处理的有意义的见解。

    表2总结了模型学习到的前8个表示(根据最终层权重)的解释。所有滤波器的解释见附录A表10。该模型具有一个卷积层,核大小设置为5个标记,这是通过参数调优选择的。我们推断,提到信用纠纷和银行业务流程可能与及时响应正相关,而提到试图收债、电话或语音邮件、以前的互动或发薪日贷款可能与及时响应负相关。除了这些较广泛的主题之外,我们还发现,在描述争议行动时使用不定式动词可能会增加及时响应的可能性,而使用缩略形式可能会产生相反的效果。表2还包括测试集标签与文本的最大池化滤波器激活进行回归的效应估计。同样,我们认为这些效应的因果解释假设不太可能成立,但估计仍可以作为研究人员探索后续实验的文本处理的有用工具。

    模型评估

    在这个应用中,我们无法访问投诉收到或未收到及时响应的真实原因,并且设想各种文本特征可能会影响这个结果。两种基准方法都检测到某些金融主题似乎与及时响应相关(附录B:表15、16)。特别是,所有模型的结果都表明提到收债与及时响应负相关,而提到银行业务流程和信用问题与及时响应正相关,尽管估计的大小有所不同。除了这些共享的主题之外,我们的模型独特地学习到预测结果的语法文本特征。尽管所有模型在其识别的文本特征的样本外预测能力方面表现相似,我们的模型结果在R2 adj值方面比基准方法略高(图3)。

    结论

    我们提出了一种新的方法,通过灵活长度的短语簇来发现有影响力的文本特征。我们的方法受到计算社会科学和可解释NLP先前工作的启发,并在其基础上进行改进,为实验者提供了一种定量工具,用于识别后续实验中测试的有前景的文本处理。当研究人员愿意做出第3节讨论的更强的识别假设时,使用模型识别的文本处理还可以直接用于估计测试集上的因果效应。我们的应用展示了模型学习有用和多样化潜在文本表示的能力,以及恢复已知有影响力文本特征的能力。未来工作的重要方向包括进行人类可解释性评估,以严格比较我们的方法与基准方法的定性方面。评估跨模型运行识别的潜在文本处理的稳定性的方法对进行后续受控实验的实践者也将是有用的。

    参考文献

    • Arceneaux, K., & Nickerson, D. W. (2010). Comparing negative and positive campaign messages: Evidence from two field experiments. American Politics Research, 38(1), 54-83.
    • King, G., Pan, J., & Roberts, M. E. (2014). Reverse-engineering censorship in China: Randomized experimentation and participant observation. Science, 345(6199), 1-10.
    • Sheikhalishahi, S., Miotto, R., & Weng, C. (2019). Natural language processing of clinical notes on chronic diseases: Systematic review. JMIR Medical Informatics, 7(2), e12239.
    • Hainmueller, J., & Hangartner, D. (2013). Who gets a Swiss passport? A natural experiment in immigrant discrimination. American Political Science Review, 107(1), 159-187.
    • Fong, C., & Grimmer, J. (2016). Discovery of treatments from text corpora. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), 1608-1617.
    • Pryzant, R., Diaz, M., & Liu, Y. (2018). Deconfounded lexicon induction for interpretable social science. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, 1686-1695.
    • Jacovi, A., & Goldberg, Y. (2018). Towards faithfully interpretable NLP systems: How should we define and evaluate faithfulness? In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, 4198-4208.
    • Alvarez Melis, D., & Jaakkola, T. S. (2018). Towards robust interpretability with self-explaining neural networks. In Advances in Neural Information Processing Systems, 7775-7784.
    • Rajagopal, D., & Mooney, R. (2021). Global explanations of neural networks: Mapping the landscape. In Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 124-131.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决的问题是如何在社会科学研究中,使用计算模型来发现和评估文本数据对人类评价影响的特征。具体来说,它关注以下几个方面:

    1. 文本对人类评价的影响:研究者们一直在探索文本(如竞选信息、社交媒体帖子、临床笔记等)如何影响人们的决策和评价。
    2. 实验方法的局限性:传统实验方法通常限制在测试研究者预先指定的少量文本处理(text treatments),这可能带来主观性,并且可能缺乏外部有效性。
    3. 文本特征的自动发现:近年来,计算社会科学领域的研究试图从未结构化的文本中挖掘出影响结果的特征,但这些模型主要集中在文本的主题或特定词汇上,这可能并不总是影响效果的机制。
    4. NLP解释性技术的结合:论文提出了一种新的方法,结合了自然语言处理(NLP)的解释性技术,使用卷积神经网络(CNN)来灵活地发现预测人类对文本反应的文本短语集群。
    5. 因果推断与文本处理:论文还探讨了如何使用文本作为处理手段来进行因果推断,目的是识别出影响结果的文本特征的低维表示。
    6. 模型的灵活性和多样性:与以往的方法相比,论文提出的方法能够学习到不同长度和结构的文本表示,不受文档级别的主题集或特定词汇集的限制。
    7. 实验设置中的应用:论文提出的方法在实验设置中可以识别文本处理及其在一定假设条件下的效果,这为研究者提供了一种新的工具,用于在后续的确认性分析中发现和测试文本处理。

    总的来说,这篇论文试图通过结合计算社会科学和可解释机器学习的方法,提供一个能够自动发现并解释文本中影响人类评价特征的模型,以提高研究的客观性和外部有效性。

    Q: 有哪些相关研究?

    A: 论文中提到了以下几类相关研究:

    1. 计算社会科学和因果推断:先前的研究集中在同时发现处理方法和估计其效果的方法。例如,Fong和Grimmer (2016) 应用监督的印度自助餐过程在随机对照试验(RCT)设置中发现特征(主题)并估计它们对结果的影响。Pryzant等人 (2018) 使用n-gram特征而不是主题,并使用一种神经架构来从网络权重中提取特征重要性。
    2. 可解释的NLP:许多方法被提出来解释和解释NLP模型,以及这些方法的元评估。这些方法主要集中在在个体样本层面上解释和理解预测。与此相反,本文提出的方法旨在学习和解释在语料库层面发生的更广泛的模式。
    3. 文本特征的发现和效果估计:以往的工作通常集中在估计主题或单个词作为处理的效果。例如,Fong和Grimmer (2016) 将监督的印度自助餐过程应用于发现特征(主题)并估计它们在RCT设置中对结果的影响。
    4. 文本的低维表示:因果推断方法旨在识别文本特征的低维表示,这些特征在因果上影响结果。本文通过使用上下文化的词嵌入、卷积神经网络(CNNs)和解释性方法,对这一设置进行了创新性的应用。
    5. 文本处理的模拟实验:本文提出的方法和它建立在之上的方法试图模拟针对特定潜在文本特征的因果效应的实验。然而,只有在满足强假设的情况下,才能直接识别效果。
    6. 文本特征的解释性:本文提出的方法使用解释性方法灵活地发现文本中的潜在处理方法。这与主要关注提高黑盒预测模型解释性的NLP工作形成对比。
    7. 文本特征的因果效应估计:尽管本文提出的方法和它建立的方法试图模拟实验以针对特定潜在文本特征的因果效应,但效果只能在满足强假设的情况下直接识别。

    这些相关研究为本文提出的新方法提供了理论基础和对比,展示了在文本特征发现和因果推断方面的最新进展。

    Q: 论文如何解决这个问题?

    A: 论文通过提出一种基于卷积神经网络(CNN)的方法来解决发现和评估文本数据对人类评价影响的特征的问题。具体的解决步骤包括:

    1. 使用预训练的BERT模型:利用预训练的BERT模型对输入文本进行分词并获取上下文相关的词嵌入。
    2. 模型架构设计:设计一个包含一维卷积层的神经网络模型,这些卷积层可以并行工作,每个层具有不同的内核大小和数量,以便捕获不同长度的文本模式。
    3. 最大池化操作:通过最大池化层汇总每个文本样本中每个卷积核的最高激活值,以预测结果。
    4. 训练模型:使用Adam优化器和特定的损失函数来训练模型,包括二元交叉熵损失和正则化项,以鼓励模型学习到不同的文本特征。
    5. 解释模型学习到的表示:通过分析每个卷积核的激活情况,以及它们在最终预测中的贡献,来解释模型学习到的文本特征。
    6. 文本特征的发现和测试:利用模型的组件(如滤波器激活、输出层权重和原始文本样本)来识别和测试影响特定结果的文本特征。
    7. 评估方法:通过与两种基准方法(Fong和Grimmer (2016) 的主题建模方法和基于词汇表的n-gram的正则化逻辑回归)进行比较,量化评估模型预测结果的能力。
    8. 实验验证:在两个数据集上应用该方法,一个是Weibo社交媒体帖子的审查数据集,另一个是消费者金融保护局(CFPB)的投诉数据集,以展示模型发现文本处理的能力和与基准方法相比的性能。
    9. 结果解释和应用:根据模型结果,研究人员可以设计后续的实验来测试模型识别的文本特征,或者直接在强假设条件下估计文本处理的因果效应。

    通过这种方法,论文提供了一种新的工具,使研究人员能够在不同的文本数据集中发现和评估影响人类评价的文本特征,同时保持了结果的可解释性。

    Q: 论文做了哪些实验?

    A: 论文进行了两个主要的实验来验证所提出方法的有效性:

    1. Weibo帖子审查实验
      • 数据集:使用了来自Weibo-Cov数据集的28,386条关于COVID-19主题的社交媒体帖子。
      • 实验目的:预测帖子是否会被审查,以及识别导致审查的文本特征。
      • 实验方法:使用百度的内容审查API来获取每个帖子的审查标签,并训练CNN模型来预测审查结果。
      • 结果:模型能够以0.87的准确率预测帖子是否会被审查,并成功识别出与审查相关的关键词和短语。
    2. 消费者金融保护局(CFPB)投诉响应实验
      • 数据集:使用了54,816条提交给CFPB的消费者投诉叙述,时间范围从2015年3月到2016年2月。
      • 实验目的:预测投诉者是否从被投诉公司那里获得了及时的回应。
      • 实验方法:由于结果变量的严重不平衡,研究者选择了一个子样本,并使用类加权损失函数来训练CNN模型。
      • 结果:模型在测试集上获得了0.76的准确率和0.33的F1分数,揭示了与及时回应相关的文本特征。

    在这两个实验中,论文的方法不仅能够预测结果,还能够通过模型的解释性组件来识别和解释影响结果的文本特征。这些特征包括关键词、短语、语法结构等,它们在不同的实验设置中表现出了不同的影响力。

    此外,论文还与两种基准方法进行了比较:

    • Fong和Grimmer (2016) 提出的方法,使用主题建模来发现和解释潜在的文本处理。
    • 正则化逻辑回归(RLR),使用词汇表中的n-gram作为特征。

    通过这些实验,论文展示了其方法在不同数据集上的应用能力,并与现有方法进行了定量和定性的比较。

    Q: 有什么可以进一步探索的点?

    A: 论文在第6节“Conclusion”和第7节“Limitations”中提出了一些可以进一步探索的点,以下是几个关键的研究方向:

    1. 模型的可解释性评估:进行更严格的人类可解释性评估,以比较所提出方法与现有基准方法在定性方面的差异。
    2. 模型性能与计算成本的权衡:研究模型性能提升与计算成本(时间和内存)之间的权衡,特别是在使用更大或更高级的模型时。
    3. 实验成本与可解释性之间的权衡:探索在直接测试潜在文本处理与设计后续实验以测试明确文本特征之间的权衡。
    4. 模型不确定性的纳入:研究如何将识别潜在文本处理过程中的模型不确定性纳入因果效应估计。
    5. 实验文本的设计:研究如何设计实验文本以隔离感兴趣的处理,以及如何克服在不直接影响文本其他部分的情况下操纵特定文本特征的挑战。
    6. 跨模型运行的稳定性评估:开发方法来评估在不同模型运行中识别潜在文本处理的稳定性。
    7. 使用不同的BERT模型:研究使用不同大小、经过微调或更先进的BERT模型对模型性能的影响。
    8. 跨数据集的计算成本比较:在更广泛的数据集范围内比较所提出方法与现有方法的计算成本。
    9. 伦理和滥用风险:进一步探讨模型可能被滥用以提高操纵能力的风险,并权衡这些风险与开源模型的潜在益处。
    10. 模型的泛化能力:评估模型在不同类型的文本和不同领域中的泛化能力。
    11. 模型的可扩展性:研究模型在处理大规模数据集时的可扩展性和效率。
    12. 模型的健壮性:评估模型对于不同类型的噪声和异常值的健壮性。

    这些点提供了对现有工作深入理解和未来研究方向的基础。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以总结如下:

    1. 问题背景:论文讨论了在社会科学中,文本如何影响人类评价和决策,并指出了传统实验方法在测试文本影响时的局限性。
    2. 研究目标:提出了一种新的方法,使用卷积神经网络(CNN)结合自然语言处理(NLP)的解释性技术,来发现和解释预测人类对文本反应的文本短语集群。
    3. 方法论
      • 使用预训练的BERT模型来获取文本的上下文相关嵌入。
      • 设计了一种CNN模型架构,通过一维卷积层和最大池化层来捕捉文本中的模式。
      • 通过训练模型来学习文本数据和文本处理(潜在的文本特征)之间的映射。
    4. 实验设计
      • 在Weibo帖子审查数据集上进行实验,验证模型预测帖子是否会被审查的能力。
      • 在消费者金融保护局(CFPB)的投诉数据集上进行实验,预测消费者是否获得及时反馈。
    5. 结果分析
      • 模型在两个数据集上均取得了良好的预测性能,并能够识别出与结果相关的文本特征。
      • 通过与现有方法的比较,展示了所提方法在解释性和预测性能方面的优势。
    6. 方法贡献
      • 提供了一种新的视角,将计算社会科学中的文本处理与可解释机器学习相结合。
      • 允许研究人员发现文本中的潜在处理方法,并在后续实验中进行测试。
    7. 局限性和未来工作
      • 讨论了使用小BERT模型的局限性,以及未来可能的改进方向,如模型的可解释性评估、计算成本、实验设计等。
    8. 伦理考量:论文最后讨论了模型可能被滥用的风险,以及对社会有益应用的潜力。

    整体而言,这篇论文提出了一种结合了深度学习和解释性NLP的方法,用于分析文本数据对人类行为的影响,并在两个不同的数据集上验证了其有效性。


  • 人工智能能否胜任口译评估?探索机器与人类评估之间的关联

    口译质量评估一直是专业口译和学术研究中的重要课题。评估结果对于口译客户、用户、从业者、教育者、认证机构和研究人员都具有重要意义。然而,由于口译的复杂性和主观性,评估口译质量一直是一项挑战。

    口译质量评估的挑战

    传统的口译质量评估主要依靠人工评估,这种方法既有优点也有缺点。人工评估可以全面地考虑口译过程中的各个方面,例如内容、语言和表达,从而提供更细致入微的评估结果。然而,人工评估也存在着一些弊端,例如耗费人力、时间和成本,而且评估结果的推广性有限。

    随着人工智能技术的快速发展,人们开始探索使用自动指标来评估口译质量。虽然传统的统计指标,如BLEU,在捕捉用户视角的翻译质量方面效果有限,但语义向量和预训练的大型语言模型的出现为口译质量评估带来了新的希望。

    语义向量与大型语言模型的应用

    语义向量是一种将词语或文本片段映射到多维空间中的一种方法,可以有效地捕捉文本的语义信息。大型语言模型,如BERT和GPT,在自然语言处理领域取得了显著的成果,可以用于计算语义相似度。

    在口译研究中,人们开始尝试使用语义向量和大型语言模型来评估口译质量。例如,一项研究表明,GPT-3.5模型在评估源语言和目标语言之间的语义相似度方面,与人类的判断高度一致。

    本研究的意义

    本研究旨在评估自动指标在评估口译质量方面的可靠性,并分析其与人类评估之间的关联。研究人员使用了一个包含12段英语演讲的语料库,并将其翻译成西班牙语。 每段演讲都由人类专业口译员和机器翻译系统进行翻译。

    研究人员使用三种神经网络模型来计算语义向量:all-MiniLM-L6-v2、GPT-Ada和USEM。 此外,他们还使用GPT-3.5模型的提示功能来评估句子对的语义相似度。

    研究结果

    研究结果表明,GPT-3.5模型在评估翻译质量方面表现最佳,其与人类评估之间的相关性最高。 此外,研究还发现,GPT-3.5模型在评估人类口译员的翻译质量方面比评估机器翻译的质量更强。 这可能与人类口译员在翻译过程中经常引入一些细微的语境、语气和习语调整有关,这些调整更符合GPT-3.5模型的训练数据。

    未来研究方向

    本研究为使用自动指标评估口译质量提供了初步的探索,但仍存在一些局限性。例如,人类评估者之间的一致性较低,这可能影响了相关性值和结果的推广性。 未来研究需要扩大语料库规模,并进一步探索自动指标在评估不同类型错误方面的能力。

    总结

    本研究表明人工智能技术在评估口译质量方面具有很大的潜力。 GPT-3.5模型等大型语言模型可以有效地捕捉翻译的语义信息,并与人类的判断高度一致。随着人工智能技术的不断发展,自动指标在口译质量评估中的应用将更加广泛。

    参考文献

    • Fantinuoli, C., & Prandi, D. (2021). A user-centric framework for the evaluation of interpreting quality. Interpreting, 23(3), 267-286.
    • Han, Z. (2022). The nature of interpreting quality: A critical review. Routledge.
    • Kocmi, T., & Federmann, C. (2023). Evaluating translation quality with large language models. arXiv preprint arXiv:2302.06042.
    • Wang, X., & Fantinuoli, C. (2024). Exploring the correlation between human and machine evaluation of simultaneous speech translation. arXiv preprint arXiv:2406.10091.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文主要探讨了如何评估同声传译(simultaneous interpretation)的质量,特别是自动评估方法与人工评估之间的相关性。论文指出,评估口译服务的表现是一个复杂的任务,因为口语翻译的微妙性、口译员应用的策略以及用户不同的期望。当应用自动化评估方法时,这种复杂性更加明显,尤其是因为口译文本由于口译员采用的策略,在源语言和目标语言之间表现出的非线性特征。

    研究的主要问题包括:

    1. 是否存在一种自动度量方法,能够与人工判断紧密对齐,从而可以用于自动化评估口语翻译的准确性?
    2. 这些度量方法在评估人工生成的翻译、机器生成的翻译,或者两者上是否同样有效?

    论文通过分析自动度量方法与人工评估之间的相关性,旨在评估自动度量方法在评估同声传译中的可靠性,特别是翻译准确性或忠实度这一特定特征的质量。论文使用了人类专家的语言评估作为基准,来评估句子嵌入(sentence embeddings)和大型语言模型(Large Language Models)与人类评估的相关性,并且量化了源文本和翻译文本之间的语义相似性,而没有依赖于参考翻译。

    Q: 有哪些相关研究?

    A: 相关研究主要集中在以下几个领域:

    1. 机器翻译质量评估(MTQE):传统上,计算机科学领域使用诸如BLEU、NIST、METEOR和TER等自动度量方法来评估机器翻译的质量。这些度量方法主要关注n-gram的精确度和召回率。
    2. 语义向量和预训练语言模型:随着语义向量和大规模生成语言模型的出现,特别是在书面翻译领域,这些方法展现出了有希望的结果。这些方法逐渐扩展到口语翻译领域。
    3. 神经网络架构:研究了循环神经网络(RNNs)、卷积神经网络(CNNs)和Transformer模型在语义相似性计算方面的潜力。特别是基于Transformer的模型如BERT和GPT因其在多种自然语言处理(NLP)任务中的卓越表现而受到学术界的广泛关注。
    4. 口译研究:在口译研究领域,传统的准确性评估方法包括基于参考的评估和无参考的评估。一些研究通过错误分析和命题分析来评估翻译的准确性,而较新的研究则强调使用评分标准来评估口译表现。
    5. 自动评估工具的有效性:一些研究探索了各种度量方法在评估翻译质量或口译表现方面的有效性。例如,有研究指出BLEU和METEOR与人工评估之间的强相关性,以及BERT模型在评估口译表现方面的潜力。
    6. 无参考翻译评估:尽管已有研究表明BLEU和METEOR等度量方法与人工评估有中等至强相关性,但据作者所知,目前还没有研究使用语言模型进行无参考口译评估。本研究旨在填补这一空白。

    这些相关研究为本文的研究提供了理论基础和方法论指导,同时也指出了现有方法的局限性和未来研究的方向。

    Q: 论文如何解决这个问题?

    A: 论文通过以下步骤解决评估同声传译质量的问题:

    1. 数据集构建:研究者创建了一个包含12场英语演讲并翻译成西班牙语的数据集,这些演讲来自不同场合,如讲座、商业演示、现场教程和政治演讲。所有演讲都被专业口译员和机器翻译系统(KUDO AI Speech Translator)同时翻译,并进行了人工转录和校对。
    2. 人工评估:使用由Fantinuoli和Prandi(2021)提出的方法,通过Likert量表评估口译的准确性和可理解性。本研究专注于准确性评估,并由18位评估者(包括专业口译员和双语个体)进行。
    3. 机器评估:采用基于句子嵌入和大型语言模型提示技术的方法来评估语义相似性。研究者使用了all-MiniLM-L6v2、GPT-Ada和Universal Sentence Encoder Multilingual(USEM)三种神经网络模型来生成句子嵌入,并通过余弦相似性计算源文本和翻译文本之间的相似度。此外,还测试了利用GPT-3.5的提示功能来评估句子对的语义相似性。
    4. 计算相关性:将人工评估和机器评估结果整合在评估矩阵中,使用皮尔逊相关系数探索人工评估与机器评估(包括GPT-3.5、all-MiniLM-L6-v2、GPT-Ada和USEM模型计算的余弦相似度)之间的关系。
    5. 窗口大小的影响:研究者考察了“窗口大小”(即合并成单个单元的段落数量)对模型上下文理解的影响,以及对语义相似性评估精度的潜在影响。通过计算不同窗口大小下的相似度,研究者分析了跨段落上下文的可用性如何影响人工和机器评估之间的语义相似性。
    6. 结果分析:研究者从不同角度(包括评估方法间的相关值比较、人工翻译与机器翻译间的比较,以及基于窗口大小的相关值比较)制定了图表来分析数据。
    7. 伦理考量:论文还讨论了自动评估可能引发的伦理问题,如隐私权侵犯、持续监控感、就业决策的公正性和偏见问题。
    8. 结论:研究发现GPT-3.5在Likert量表上的质量评估与人类评估的相关性最高,表明GPT-3.5是评估翻译质量的最有前途的工具,无论是对人工还是机器生成的翻译。

    通过这些步骤,论文旨在开发一种能够与人类判断一致地反映口译质量的度量方法,并探讨了这种方法在实际应用中的可行性和局限性。

    Q: 论文做了哪些实验?

    A: 论文中进行的实验主要包括以下几个方面:

    1. 数据集创建:研究者从真实场景中筛选了12场英语演讲并翻译成西班牙语的视频,这些视频涵盖了不同的性别、口音、演讲类型,并且包含了一定数量的语言标记(tokens)。
    2. 人工评估实验:根据Fantinuoli和Prandi(2021)提出的方法,使用Likert量表对人工和机器翻译的准确性和可理解性进行评估。评估者包括专业口译员和双语个体,他们对视频的翻译进行了盲评估,即不知道翻译是由人类还是机器完成的。
    3. 机器评估实验:利用句子嵌入和大型语言模型来评估翻译的语义相似性。研究者使用了以下三种神经网络模型来生成句子嵌入:
      • all-MiniLM-L6v2
      • GPT-Ada
      • Universal Sentence Encoder Multilingual (USEM)
      并计算了源文本和翻译文本之间的余弦相似度。此外,还使用了GPT-3.5模型通过直接提示来评估句子对的语义相似性。
    4. 相关性分析:将人工评估和机器评估的结果整合在评估矩阵中,使用皮尔逊相关系数来探索两者之间的相关性。
    5. 窗口大小影响分析:研究者考察了不同窗口大小(即合并成单个单元的段落数量)对于评估结果的影响。具体来说,分析了从1到5个段落窗口大小的余弦相似度,以了解跨段落上下文如何影响人工和机器评估之间的语义相似性。
    6. 结果可视化:通过图表展示了不同机器评估方法之间的相关值分布、人工翻译与机器翻译之间的平均相关性差异,以及不同窗口大小下的语义相似性相关值变化。

    这些实验的目的是为了评估自动度量方法在评估同声传译质量方面的可靠性,特别是它们与人类评估的相关性,并探索影响这种相关性的因素。

    Q: 有什么可以进一步探索的点?

    A: 根据论文的结论和讨论部分,以下是一些可以进一步探索的点:

    1. 训练数据集的特性:研究GPT-3.5等模型的训练数据集特性,以及这些特性如何与现实世界中的口译任务对齐。
    2. 评估窗口大小:考虑对更大的窗口大小进行评估,以捕获更广泛的上下文信息,并分析其对评估结果的影响。
    3. 错误类型的细微差别:探索GPT-3.5区分不同类型的错误(如语法错误、词汇选择错误等)的能力,而不仅仅是提供总体评分。
    4. 人类评估的一致性:研究如何提高人工评估的一致性,以减少评估者之间由于期望不同而导致的变异性。
    5. 模型的适应性:研究如何使模型更好地适应特定类型的口译任务,例如专业领域(如医疗、法律等)的口译。
    6. 多模态输入的处理:考虑将音频和视频输入纳入评估过程,以更全面地捕捉口语翻译的质量。
    7. 实时评估的可行性:探索自动评估工具在实时或准实时反馈中的应用,以及如何优化这些工具以满足实际教学和训练需求。
    8. 伦理和可接受性问题:深入研究自动评估在伦理和社会可接受性方面的问题,以及如何在实际应用中解决这些问题。
    9. 跨语言和文化因素:研究在不同语言和文化背景下,自动评估工具的表现和适应性。
    10. 用户定制和个性化:探索如何根据用户的具体需求定制评估标准和反馈,以提供更个性化的评估结果。
    11. 长期影响研究:研究自动评估工具在长期内对口译员职业发展和教育的影响。
    12. 技术集成:研究如何将自动评估工具与其他教育技术或翻译辅助工具集成,以提供更全面的解决方案。

    这些探索点可以帮助研究者更深入地理解自动评估工具的潜力和局限性,并为未来的研究和开发提供方向。

    Q: 总结一下论文的主要内容

    A: 这篇论文《Exploring the Correlation between Human and Machine Evaluation of Simultaneous Speech Translation》主要探讨了自动评估方法在同声传译质量评估中的可靠性,尤其是与人类评估的相关性。以下是论文的主要内容总结:

    1. 研究背景:同声传译质量的评估是一个复杂任务,涉及到口语翻译的微妙性、口译员的策略以及用户的不同期望。自动化评估方法的应用增加了这一任务的复杂性。
    2. 研究目的:评估自动度量方法在评估同声传译准确性方面的可靠性,并分析其与人类评估的相关性。
    3. 数据集:研究者创建了一个包含12场英语演讲及其西班牙语翻译的数据集,这些演讲来自不同的真实场景。
    4. 人工评估:使用Likert量表对翻译的准确性和可理解性进行评估,评估者包括专业口译员和双语个体。
    5. 机器评估:利用句子嵌入和大型语言模型(如GPT-3.5、all-MiniLM-L6-v2、GPT-Ada和USEM)来评估翻译的语义相似性。
    6. 相关性分析:通过皮尔逊相关系数分析人工评估与机器评估结果之间的相关性。
    7. 窗口大小影响:研究了不同窗口大小对评估结果的影响,以了解上下文信息对评估的相关性。
    8. 结果:GPT-3.5模型在Likert量表上的质量评估与人类评估显示出最高的相关性,表明其在评估翻译质量方面具有潜力。
    9. 伦理考量:讨论了自动评估可能引发的伦理问题,如隐私权、持续监控感、就业决策的公正性和偏见问题。
    10. 结论:GPT-3.5被认为是评估翻译质量的最有前途的工具,但研究也指出了人工评估的一致性问题和样本范围的限制,并建议未来的研究应进一步探索模型的适应性、错误类型的细微差别和伦理问题。

    论文通过实验和分析,为自动评估工具在同声传译领域的应用提供了初步的可行性研究,并指出了未来研究的方向。


  • 大型语言模型的“不知道”:一种新的不确定性敏感训练方法

    大型语言模型(LLMs)在各种任务中展现出惊人的能力,但仍然面临着诸如幻觉等挑战。幻觉是指LLMs生成与事实不符或毫无意义的响应。造成幻觉的一个潜在原因是缺乏相关知识或上下文。因此,一个很有前景的解决方案是指示LLMs在问题超出其知识范围或提供的上下文时,回答“我不知道”。然而,在这项研究中,我们观察到LLMs难以承认其知识的局限性,这主要是因为现有的指令数据集旨在鼓励特定的答案。

    为了提高大型语言模型识别其知识边界的能力,我们提出了一种名为“不确定性敏感训练”的新方法。该方法包含一个两阶段训练过程,专门针对不确定性识别和提示敏感激活。在第一阶段,我们引导LLMs拒绝未知问题。在第二阶段,我们通过整合设计的因果指令来恢复问答任务中下降的性能。通过利用这种方法,我们旨在增强模型识别不确定性区域的能力。

    LLMs 为什么难以承认“不知道”?

    现有的研究表明,在训练数据和过度估计方面存在不确定性。模型倾向于模仿训练集中的输出,导致对不足的疑问-上下文对生成合理的答案,从而产生幻觉。此外,模型可能对其能力过于自信,无法识别未知问题。

    为了解决这个问题,一些研究人员建议提示LLMs承认其知识的缺乏。然而,这样做会导致LLMs忽略提示中包含的重要指令。如图1所示,即使有明确的指令,例如“如果上下文不足以回答问题,请用‘未提供’回答”,LLMs仍然可能利用提供的语料库之外的知识。

    不确定性敏感训练:两阶段训练方法

    为了增强大型语言模型识别其知识局限性的能力,我们提出了一种名为“不确定性敏感训练”的新训练框架。该方法包含一个两阶段训练过程,专门针对不确定性识别和提示敏感激活。

    第一阶段:不确定性识别训练

    第一阶段重点训练模型,使其对知识的缺乏有准确的意识。我们将其任务定义为一个二元分类问题。问题被分为两种类型:已知问题和未知问题。已知问题是指具有足够上下文信息来提供答案的问题。相反,未知问题是指缺乏足够上下文信息来提供答案的问题。模型需要检测提供的上下文是否足以回答问题。

    第二阶段:提示敏感训练

    通过不确定性识别训练,模型可以识别给定上下文的边界。然而,模型可能对未知问题过于敏感。在第一阶段之后,模型确实学习了如何准确地回答未知问题。但是,具有特定答案的问题的性能下降了近27%。我们假设在未知问题上进行微调的模型会遇到提示敏感度降低的问题,并且可能会破坏一些理想情况下会导致更好生成的指令。

    我们根据指令影响响应的因素将其分为因果因素和非因果因素。因果因素很重要,因为它们直接影响响应,而非因果因素对结果的影响很小。指令中的控制条件,例如响应的字数,是典型的因果因素。额外的指令,例如“如果输入有文件名,请给我一个参考”,是非因果因素,因为它可能不会改变答案。在训练过程中,LLMs可能会忽略这种类型的指令,因为它并不总是直接有助于答案。但是,非因果因素对问题同样重要。例如,一本书的介绍可能与主要内容无关,导致读者低估其价值。然而,它在增强读者对内容的理解方面起着至关重要的作用。

    基于此,我们进一步提出了提示敏感训练,旨在引导模型完成提示中的所有指令。提示敏感训练包含两个子任务:添加因果指令和指令审查。我们使用GPT-4来合成所需的数据并将其提炼到目标模型中。

    • 因果指令合成:通过指示GPT-4生成保证会影响最终响应的控制要求,我们获得了额外的因果指令。然后,为了提高模型的指令敏感度,我们随机将一个因果指令插入到原始的QA指令中。例如,限制输出的字数、时态或格式。然后,我们提示GPT-4以新的指令进行响应,并记录对话数据以微调较小的模型。
    • 指令审查合成:指令审查模块旨在使用模型本身来验证所有指令是否已完成。模型将递归地重新生成,直到它通过利用在附录A.4中记录的自定义提示获得完美的答案。指令审查的过程在算法1中进行了说明。

    实验结果

    我们对主流大型语言模型进行了评估,包括Llama2-Chat-7B、GPT-4 Turbo、GPT-3.5 Turbo、Vicuna-7B v1.5和Self-RAG-7B。

    实验结果表明,大多数大型语言模型难以准确识别未知问题,准确率仅为50%左右。然而,GPT-4是一个显著的例外,它以显著的优势超过了第二好的模型Llama2,领先了25.3%。Llama2在剩余的模型中排名最高,甚至超过了GPT-3.5,尽管后者具有更多参数。但是,GPT-4与其他模型之间仍然存在相当大的性能差距。正在进行的实验旨在调查造成这种差异的原因。

    我们微调的模型在不确定性识别测试中与GPT-4的表现相当,并且在响应上下文中显示出比基线模型提高了25.9%。然而,尽管在未知问题(Accunknown)方面超过了GPT-4,但这种对不确定性的意识增强导致模型的原始问答能力下降。在HotpotQA数据集上进行进一步的微调导致模型在遵循指令方面变得不太可靠,有时会忽略其知识局限性。在测试的模型中,不确定性敏感微调模型排名最高,获得了85.8的F1分数,比GPT-4高出4.2分,比基线高出18.6分。这种令人印象深刻的性能归因于模型在回答问题和承认其缺乏提供答案的必要信息之间的理想平衡。它在未知问题上实现了93.0%的准确率,在所有主流LLMs中最高,同时在已知问题上保持了79.7%的准确率。此外,该模型有效地整合了新信息,而不会影响其现有的知识库,完美地保留了其从认知微调中学到的知识。

    结论

    在这篇论文中,我们探讨了大型语言模型应用中的一个常见问题,即提示中上下文不足会导致生成看似合理但错误的响应,这种现象被称为幻觉。首先,我们的研究表明,大型语言模型通常无法识别何时缺乏足够的信息来准确地响应查询。我们主要将这个问题归因于模型缺乏识别何时提供的上下文不足以回答所提出的查询的能力。其次,在使用没有特定答案的问题进行训练过程中,具有答案的问题的性能下降了。为了解决这些问题,我们提出了一种名为“不确定性敏感训练”的新训练方法。这是一个两阶段的训练框架。在第一阶段,我们引导LLMs拒绝未知问题。在第二阶段,我们通过整合设计的因果指令来恢复问答任务中下降的性能。这种方法显著增强了Llama2-chat-7B模型处理查询的可靠性,减少了幻觉的发生。我们的方法与以前的工作不同,它更直接地关注通过有针对性的微调来改进模型的响应行为,从而提高其在实际场景中的性能。通过开源这个框架和模型,我们相信它将为自动合成指令数据集指明一个新的方向,这个方向不仅关注数据的多样性,还关注训练过程中的幻觉减少。

    参考文献

    • Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., et al. (2020). Language models are few-shot learners. arXiv preprint arXiv:2005.14165.
    • Touvron, J., Lachaux, M., Lample, G., Bordes, A., Aziza, S., Jaffre, J., Seddah, D., et al. (2023). Llama 2: Open and efficient foundation models. arXiv preprint arXiv:2307.09288.
    • OpenAI. (2023). GPT-4 technical report. Retrieved from https://openai.com/research/gpt-4.
    • Stelmakh, D., Khot, S., Talmor, A., and Goldberg, Y. (2022). ASQA: A dataset of ambiguous questions and answers. arXiv preprint arXiv:2204.09202.
    • Yang, Z., Yih, W., He, X., Liu, J., and Zhou, M. (2018). HotpotQA: A dataset for diverse, challenging, and informative question answering. arXiv preprint arXiv:1809.09628.
    • Zheng, Z., Yuan, L., Zhang, Y., Li, Y., Zhang, Y., Zhang, B., and Zhou, M. (2024a). Vicuna: An open-source chatbot trained on a massive dataset of human-chat conversations. arXiv preprint arXiv:2306.01575.
    • Zheng, Z., Yuan, L., Zhang, Y., Li, Y., and Zhou, M. (2024b). LLaMA-Factory: A framework for efficient and scalable fine-tuning of large language models. arXiv preprint arXiv:2306.01575.
    • Hu, J., Shen, L., Zhang, Z., He, X., Liu, Z., and Sun, M. (2021). LoRA: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685.
    • Zhou, B., Li, Y., and Yang, Y. (2023). Towards trustworthy large language models: A comprehensive survey. arXiv preprint arXiv:2303.12145.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决大型语言模型(LLMs)在处理问题时面临的”幻觉”(hallucinations)问题。幻觉是指LLMs生成的回答要么事实上错误,要么毫无意义。这个问题的一个潜在原因是模型缺乏相关知识或上下文。论文指出,现有的指令数据集设计倾向于鼓励具体的答案,导致LLMs难以承认它们知识的局限性,即难以回答”我不知道”。

    为了改善LLMs识别其知识边界的能力,论文提出了一种新颖的方法,称为”不确定性敏感调整”(uncertainty-sensitive tuning)。这种方法包括两个阶段的训练,旨在不确定性识别和提示敏感激活。第一阶段是引导LLM拒绝未知问题,在第二阶段,通过整合设计的因果性指令,恢复QA任务中降低的性能。通过这种方法,论文的目标是提高模型识别不确定性领域的能力。

    具体来说,论文的主要贡献包括:

    1. 研究了为什么LLMs倾向于忽略数据集中的重要指令,并将此归因于对不确定性的敏感性不足。
    2. 构建了一个新颖的数据集,用于不确定性意识评估,帮助评估模型对知识差距的认识。
    3. 提出了一种新颖的两阶段微调范式,指导模型拒绝没有足够上下文的问题,减少在这种情况下的幻觉概率。

    实验结果表明,该方法显著提高了Llama2-chat-7B模型的性能,特别是在处理涉及知识差距的问题方面,与原始模型相比提高了34.7%。此外,该方法的表现超过了GPT-4,整体性能提高了9.4%。

    Q: 有哪些相关研究?

    A: 论文中提到了多个与大型语言模型(LLMs)幻觉问题和指令数据集训练相关的研究。以下是一些主要的相关研究:

    1. 幻觉与不确定性: 一些研究关注于通过测量和缓解不确定性来识别幻觉。例如,Lu et al. (2023) 提出了一种功能性的不确定性测量方法,并得出不确定性与准确性之间存在相关性的结论。CAD (Shi et al., 2023) 提出了一种对比方法来测量生成知识的不确定性,通过在提供上下文时增加输出概率来限制模型。
    2. LLMs与外部知识: 研究表明,在提示中整合最新的相关知识可以有效地减少与事实冲突的幻觉。例如,Zhou et al. (2023) 提出了多种格式的提示整合附加知识。
    3. 指令数据集训练: 为了提高LLMs的性能,有研究提出了合成指令数据的方法。例如,Self-Instruct (Wang et al., 2023) 提出了使用ChatGPT生成各种指令的方法。
    4. 特定任务的LLMs训练: 一些研究专注于通过提供特定任务的训练数据来提高LLMs的性能。例如,PURR (Chen et al., 2023) 在生成中添加了一个LLM去噪器,用于检测生成中的幻觉。
    5. 自我反思的LLMs: Self-RAG (Asai et al., 2023) 采用了类似的方法,使用LLMs筛选提供的上下文,避免无关信息的干扰。
    6. R-Tuning: R-Tuning (Zhang et al., 2024) 指导LLMs拒绝未知问题,但主要关注拒绝领域外问题。
    7. 其他相关工作: 论文还提到了其他一些研究,如Kang和Hashimoto (2020) 关于改进自然语言生成的研究,以及Lewis等人 (2020) 关于检索增强生成的研究。

    这些研究为理解LLMs在处理未知问题时的局限性提供了背景,并为提出新的训练方法提供了理论基础。论文通过综合这些研究成果,提出了一种新的两阶段训练方法,旨在提高LLMs在面对不确定性时的表现。

    Q: 论文如何解决这个问题?

    A: 论文通过提出一种名为“不确定性敏感调整”(uncertainty-sensitive tuning)的方法来解决LLMs在处理未知问题时的幻觉问题。这个方法包括以下关键步骤:

    1. 问题定义:首先定义研究问题,将任务设置为开放书籍问答任务,模型需要根据任务指令、具体问题和给定上下文生成答案。
    2. 初步探索未知问题:通过在超出提供上下文的问题上对Llama2-Chat-7B模型进行初步微调,发现模型在处理未知问题时存在两个主要弱点:无法准确拒绝未知问题,以及在问答任务中性能下降。
    3. 两阶段训练策略
      • 第一阶段:不确定性识别调整(Uncertainty-Recognition Tuning):将任务视为二元分类问题,训练模型识别是否有足够的上下文信息来回答问题。这个阶段的目的是让模型学会在信息不足时拒绝回答。
      • 第二阶段:提示敏感调整(Prompt-Sensitive Tuning):在第一阶段训练后,模型可能对未知问题过于敏感,导致在回答具体问题时性能下降。这个阶段包括因果性指令合成和指令审查两个子任务,目的是恢复模型在问答任务中的性能,同时提高模型对指令的敏感性。
    4. 因果性指令合成:使用GPT-4生成影响最终回答的控制要求,然后将这些因果性指令随机插入原始问答指令中,以提高模型对指令的敏感性。
    5. 指令审查合成:使用模型自身来验证所有指令是否完成,通过自定义提示递归地重新生成答案,直到得到完美答案。
    6. 实验验证:通过构建新的指令微调数据集和评估数据集,对提出的方法进行实验验证。实验结果表明,不确定性敏感调整方法显著提高了Llama2-chat-7B模型在处理涉及知识差距问题时的性能,并在整体性能上超过了GPT-4。

    通过这种方法,论文旨在提高模型识别不确定性领域的能力,并在实际应用场景中提高其性能。同时,论文还将框架和模型开源,以促进自动合成指令数据集的新方向,这不仅关注数据的多样性,还减少了训练过程中的幻觉。

    Q: 论文做了哪些实验?

    A: 论文中进行了一系列的实验来评估和验证所提出的不确定性敏感调整方法。以下是实验的主要步骤和内容:

    1. 数据集构建
      • 构建了两个新的指令微调数据集,分别用于二元不确定性识别调整和提示敏感微调。
      • 利用ASQA数据集生成未知问题,通过将问题与不完全相关的上下文配对,引入处理不确定性的挑战。
      • 基于HotpotQA数据集,生成了包含额外因果指令的提示敏感微调数据集。
    2. 实验设置
      • 在多个主流大型语言模型(LLMs)上进行实验,包括Llama2-Chat-7B、GPT-4 Turbo、GPT-3.5 Turbo、Vicuna-7B v1.5和Self-RAG-7B。
      • 使用Lora方法在单个GPU上进行微调,设置特定的训练参数。
    3. 评估指标
      • 使用Accknown表示模型在具体问题上回答的准确性。
      • 使用Accunknown表示模型在未知问题上回答的准确性。
    4. 结果
      • 展示了不同模型在QA不确定性识别评估和后缀不确定性识别评估中的表现。
      • 通过实验发现,大多数LLMs在准确识别未知问题上存在困难,但GPT-4在这些任务中表现突出。
    5. 消融研究
      • 为了量化不确定性识别调整、HotpotQA调整和提示敏感调整的效果,构建了三个额外的变体进行消融实验。
      • 分析了模型在不同训练数据集下的表现,探讨了模型在拒绝未知问题时性能下降的原因。
    6. 性能提升分析
      • 通过不确定性识别调整,模型在未知问题上的回答准确性显著提高。
      • 提示敏感调整有助于恢复模型在其他问题上的性能,解决了过调优导致的提示敏感性降低问题。
    7. 结论
      • 实验结果表明,不确定性敏感调整方法显著提高了Llama2-chat-7B模型处理查询的可靠性,减少了幻觉的发生。

    这些实验不仅验证了所提出方法的有效性,还展示了其在不同模型和数据集上的应用潜力。通过开源框架和模型,论文鼓励进一步的研究和开发,以提高LLMs在实际应用中的性能和可靠性。

    Q: 有什么可以进一步探索的点?

    A: 论文在最后部分提出了两个主要的局限性,并指出了未来可以进一步探索的方向:

    1. 长尾问题(Long-tail Problem)
      • 当使用含有有限数量未知问题的新型数据集进行调整时,大型语言模型(LLMs)可能会遇到长尾问题。这意味着模型可能在处理大量不常见的问题类型时表现不佳。
      • 为了解决这个问题,未来的工作可以探索更针对性的微调策略,以适应特定类型的数据集。
    2. 预训练阶段的参数知识(Parametric Knowledge)
      • 论文指出,他们没有深入探讨或分析Llama2在初始预训练阶段学到的参数知识。微调数据集可能与Llama2的预训练数据重叠。
      • 未来的工作可以探索现有方法,通过监测内部参数来测量模型不确定性(例如,Lu et al., 2023的工作),从而深入了解模型的知识差距和长尾弱点。

    此外,以下是一些其他可能的研究方向:

    • 模型不确定性量化:研究如何更精确地量化模型在不同输入上的不确定性,以便更好地理解其知识限制。
    • 针对性微调策略:开发新的微调方法,使微调后的LLM能够更好地处理特定类型的查询或任务。
    • 减少数据集偏差:研究如何构建或选择数据集,以减少潜在的偏差,并提高模型的泛化能力。
    • 提高模型的自我认知能力:探索如何让模型更好地理解自己的知识范围,以及在何时应该回答“我不知道”。
    • 多模态学习:考虑将视觉、声音等多种模态的数据整合到训练中,以提高模型对复杂问题的理解能力。
    • 模型鲁棒性:研究如何提高模型在面对错误信息或故意误导时的鲁棒性。
    • 实时应用和反馈循环:探索模型在实时应用中的性能,并根据用户反馈进行动态调整。
    • 伦理和可解释性:研究如何在提高性能的同时,确保模型的决策过程是透明和可解释的,以及符合伦理标准。

    这些方向可以帮助研究者们进一步提高LLMs的性能,增强其在各种复杂环境中的可靠性和实用性。

    Q: 总结一下论文的主要内容

    A: 这篇论文的核心内容是提出并验证了一种名为“不确定性敏感调整”(uncertainty-sensitive tuning)的方法,旨在改善大型语言模型(LLMs)在面对未知问题时的应对能力,减少幻觉现象。以下是论文的主要内容概述:

    1. 问题识别:论文首先指出LLMs在处理问题时,如果缺乏相关知识或上下文,可能会产生幻觉,即生成事实错误或无意义的回答。
    2. 现有挑战:现有的指令数据集设计倾向于鼓励具体答案,导致LLMs难以在知识不足时承认“我不知道”。
    3. 方法提出:为了解决这一问题,论文提出了不确定性敏感调整方法,这是一个包含两个阶段训练的框架:
      • 第一阶段(不确定性识别调整):引导LLM拒绝未知问题,即当问题超出其知识范围时。
      • 第二阶段(提示敏感调整):恢复模型在问答任务中的性能,通过整合设计的因果性指令。
    4. 实验设计:论文构建了新的数据集,进行了实验验证,并与其他主流LLMs进行了比较。
    5. 实验结果:实验结果显示,不确定性敏感调整方法显著提高了Llama2-chat-7B模型的性能,特别是在处理涉及知识差距的问题方面,与原始模型相比提高了34.7%,并且整体性能超过了GPT-4。
    6. 贡献总结
      • 研究了LLMs忽略重要指令的原因。
      • 构建了用于评估模型对知识差距认识的新数据集。
      • 提出了新的两阶段微调范式,减少了幻觉发生的概率。
    7. 未来工作:论文提出了未来研究的方向,包括解决长尾问题和深入分析模型在预训练阶段学到的参数知识。
    8. 伦理声明:论文指出,虽然使用了公共数据集构建基准和数据集,可能存在固有偏见,但所采用的技术没有引入超出数据呈现的额外偏见。

    通过这些研究和方法,论文为提高LLMs的可靠性和减少幻觉提供了有价值的见解,并为未来的研究和应用奠定了基础。


  • 琉球国:东亚海上丝绸之路的璀璨明珠

    琉球国,又称琉球王国,是琉球历史上第一尚氏王朝和第二尚氏王朝两个朝代的统称,也包括早期三山时代的山南、中山、山北三个王国(作为其共同的对外自称)。琉球国的历史从1429年开始,持续到1879年被日本兼并,经历了450年的风风雨雨。本文将带您走进这个位于台湾群岛和日本列岛之间的海上王国,探索其历史、地理、政治、经济和文化。

    琉球国的起源与统一

    天孙王朝与舜天王朝

    琉球国的历史可以追溯到传说中的天孙王朝和舜天王朝。《中山世鉴》记载,天神阿摩美久下凡,由天帝赐予草木土石,做成岛屿。之后天帝将其子女赐予阿摩美久,二人成为琉球的始祖。天孙王朝共有二十五位国王,传至第二十五代王思金松兼王为重臣利勇所杀,王朝灭亡。多数学者认为这只是传说。

    根据《中山世鉴》的记载,天孙王朝覆亡后,浦添按司舜天统一全国,建立舜天王朝。舜天王朝延续了三代、七十年,被认为是为夸耀琉球王室的血统而编造的。

    三山时代与统一

    14世纪,琉球出现了南山、中山、北山三国,分别位于冲绳本岛的南部、中部和北部。中山最强,北山最弱。1372年,明太祖朱元璋派杨载向琉球三国发布诏谕,中山国国王察度派弟泰期出使明朝。此后,三国开始向明政府朝贡,成为明王朝的藩属国。

    1429年,佐敷按司尚巴志统一三山,形成统一的琉球国,以首里城为王城,史称“第一尚氏王朝”。琉球国以其特殊的地理位置,成为东北亚和东南亚贸易的中转站,贸易发达,号称“万国津梁”。

    琉球国的地理与政治

    地理位置与辖域

    琉球国位于台灣和九州西南之间的琉球群岛上,总面积大约为3600平方公里。最大的岛屿是沖繩本岛,面积约1207.08平方公里。首里城位于今沖繩縣那霸市的东郊,是历代琉球国王及王族居住和处理政务的地方。

    政治架构

    琉球国采用君主制,国王之下为王族、国相、寨社等各级官员。国王去世而世子还没有得到古代中国中央政府的正式任命时代行国政時稱為“攝政”。琉球国的立法机构为首里王府和三司官。

    琉球国的对外关系

    明清时期的藩属国

    琉球国曾经向明、清两代朝贡,成为其藩属国。1609年,日本薩摩藩入侵琉球国,琉球国被迫向萨摩藩、江户幕府朝贡。尽管如此,琉球仍保持与明清的朝贡关系,这使得琉球成为中日贸易的重要中介。

    与东南亚及其他国家的贸易

    琉球国不仅与中国、日本、朝鲜保持密切的贸易关系,还与东南亚、印度、阿拉伯半岛等地进行贸易。琉球从这些地方进口香料、锡、糖、象牙、乳香等,出口日本的白银、漆器、刀剑、屏风和扇子等。

    琉球国的经济与文化

    转口贸易的繁荣

    琉球国以其特殊的地理位置,成为东北亚和东南亚贸易的中转站,被誉为“万国津梁”。琉球的船只往来那霸与福州之间,还北上日本、朝鲜,南下安南、吕宋、暹罗、亚齐、爪哇、滿剌加等地,从转口贸易中获得巨大利润。

    文化交流与融合

    琉球国受到中国、日本两种文化的影响,形成了独特的文化。琉球的文字主要使用汉字,官方文书和家谱均使用汉字记录。此外,琉球还创造了自有的文字系统。

    琉球的音乐、舞蹈和工艺也深受中国和日本的影响。琉球宫廷音乐、舞蹈和工艺品如红型染织、琉球漆器、壶屋烧陶瓷等,都体现了中日文化的融合。

    琉球国的覆亡

    1871年,日本在全国实施废藩置县,琉球国被当作令制国编入鹿儿岛县。1872年,琉球国被改设为琉球藩。1879年3月11日,日本正式兼并琉球,废除琉球藩,设立冲绳县。琉球国至此灭亡,成为日本的一部分。

    结语

    琉球国作为东亚海上丝绸之路的重要节点,曾经在中外贸易中扮演了重要角色。其独特的地理位置、繁荣的转口贸易和丰富的文化遗产,使其在东亚历史上留下了浓墨重彩的一笔。尽管琉球国已不复存在,但其历史和文化仍在影响着今天的冲绳地区。

    参考文献

    1. 《中山世鉴》
    2. 《中山世谱》
    3. 《球阳》
    4. 《图说琉球王国》,高良倉吉、田名真之编,河出书房新社,1993年出版
    5. 《沖繩門中事典》,宮里朝光監修,那霸出版社,2001年出版
  • 测试LLMs长上下文推理极限:BABILong基准简介

    近年来,大型语言模型(LLMs)的输入上下文大小显著增加。然而,现有的评估方法并未与时俱进,未能全面评估模型处理长上下文的效率。为弥补这一差距,我们引入了BABILong基准,旨在测试语言模型在处理分布在超长文档中的事实推理能力。BABILong包括一套多样化的20个推理任务,如事实链、简单归纳、演绎、计数和处理列表/集合。这些任务本身就具有挑战性,当所需的事实分散在长自然文本中时,更是难上加难。我们的评估显示,流行的LLMs只能有效利用10-20%的上下文,其性能随着推理复杂性的增加急剧下降。

    引言

    如今,LLMs和神经网络架构不断发展,尤其是在处理更长上下文方面取得了显著进步(OpenAI, 2023;Reid et al., 2024;Anthropic, 2024)。这些模型根据丰富的上下文信息生成文本的能力非常重要。例如,较长的上下文为模型提供了更多信息,以便其生成更准确、上下文相关且最新的响应。此外,长上下文能力可以通过提供更多的上下文示例、指令或强化学习中的示例轨迹来增强上下文学习(Chevalier et al., 2023;Agarwal et al., 2024;Lee et al., 2024)。

    尽管这些模型能力有所进步,用于评估它们的基准测试却未能跟上。例如,目前的基准测试,如Longbench(Bai et al., 2023)和L-Eval(An et al., 2023)仅扩展到40,000个标记,而模型则能够处理数十万甚至数百万个标记。

    BABILong基准概述

    为了测试LLMs在处理极长文档中的推理能力,我们介绍了BABILong基准。BABILong包括一组多样化的20个推理任务,如事实链、简单归纳、演绎、计数和处理列表/集合,这些任务是任何旨在与人类对话的系统的前提(Weston et al., 2016)。我们使用PG19语料库中的书籍作为长自然文档的来源(Rae et al., 2020)。通过这种方式,BABILong可以构建几乎任意长度的任务,以适应新、更强大的模型的评估,并以可扩展和可控的方式进行。我们提供了预定义长度的集合,最长可达100万个标记,并在样本上评估模型,长度可达1100万个标记。

    主要贡献

    1. 我们引入了BABILong,一个新的可扩展生成多任务基准,用于评估NLP模型在处理任意长文档中的性能。
    2. 我们评估了20多个近期长输入语言模型,涵盖各种大小、架构和上下文扩展方法。
    3. 我们发现流行的LLMs只能有效利用10-20%的上下文,且性能随着推理复杂性的增加急剧下降。检索增强生成方法未能表现出良好成绩,但针对特定任务的微调有所帮助。
    4. 我们展示了使用循环记忆Transformer在长达1100万个标记的输入文本上成功进行域内单事实问答,设定了单个模型处理序列长度的新纪录,扩展了神经网络的已知能力。

    评估结果

    有效上下文大小的评价

    关于长上下文模型性能的一个重要问题是它们如何有效地利用输入上下文。理想情况下,模型应保持一致的高性能,而不受输入大小的影响。我们的基准测试表明,目前的LLMs并未有效利用其全部上下文。仅有15个测试模型中的24个能够在基线设置下正确回答85%以上的问题。

    检索增强生成方法的效果

    检索增强生成(RAG)是一种流行的语言模型解决方案,用于处理大量文本。我们实验了两种选项:按512个标记的块进行检索(RAG-C)和按句子进行检索(RAG-S)。实验结果表明,使用句子块的检索性能优于512标记段。

    微调模型在BABILong上的表现

    我们对GPT-3.5-Turbo、Mistral-7B-Instruct-v0.2、RMT(使用GPT-2(137M)为骨干)和Mamba(130M)模型进行了微调实验。微调结果显示,RMT在处理长上下文时表现出色,能够处理长度达1100万个标记的序列。

    结论

    本文介绍了BABILong,一个多样且可扩展的基准,旨在弥补现有基准在评估LLMs处理长上下文任务能力方面的不足。我们的实验表明,BABILong提供了一个更具代表性的长上下文推理评估框架。我们的研究结果揭示了流行的开源LLMs及GPT-4和RAG在有效长上下文利用方面的局限性。微调实验显示,即使是相对较小的模型如RMT(使用GPT-2(137M))和Mamba(130M)也能解决BABILong任务。

    参考文献

    • OpenAI. (2023).
    • Reid et al. (2024).
    • Anthropic. (2024).
    • Chevalier et al. (2023).
    • Agarwal et al. (2024).
    • Lee et al. (2024).
    • Bai et al. (2023).
    • An et al. (2023).
    • Rae et al. (2020).
    • Weston et al. (2016).

    如需更多详细信息和数据代码,请访问BABILong GitHub


    Q: 这篇论文试图解决什么问题?

    A: 这篇论文《BABILong: Testing the Limits of LLMs with Long Context Reasoning-in-a-Haystack》试图解决的问题是,现有的大型语言模型(LLMs)在处理长文本上下文方面的能力虽然在不断增强,但目前的评估方法并没有跟上这一发展步伐,无法全面评估这些模型处理长上下文的效率。具体来说,论文指出以下几个问题:

    1. 上下文大小的增加:近年来,LLMs能够处理的输入上下文大小显著增加,但现有的评估基准(benchmarks)并没有相应扩展,仍然只评估到40,000个token左右,而模型能力已经达到数十万甚至更多token。
    2. 评估方法的不足:当前的评估方法没有充分考虑到模型在处理分散在长文本中的事实时的推理能力,例如事实链(fact chaining)、简单归纳(simple induction)、演绎(deduction)、计数(counting)以及处理列表/集合(handling lists/sets)等。
    3. 现有基准的局限性:现有的一些基准测试,如Longbench和L-Eval,虽然在一定程度上评估了模型的长上下文处理能力,但它们在评估模型在极端长文本中的推理能力方面存在局限。

    为了解决这些问题,论文引入了一个新的基准测试BABILong,旨在测试语言模型在极长文档中跨事实推理的能力。BABILong包含了20个不同的推理任务,并且可以扩展到任意长度,以支持评估新一代具有增强能力的模型。

    Q: 有哪些相关研究?

    A: 论文中提到了多个与长上下文处理和评估大型语言模型(LLMs)相关的研究工作。以下是一些主要的相关研究:

    1. Long Range Arena (LRA): 由Tay等人于2021年提出,是长上下文建模的先驱基准之一,包含从1到16千个token的不同长度的任务。
    2. LongBench: 由Bai等人于2023年提出,包含6种真实和合成问题,涵盖摘要、多文档问答、代码完成等,样本平均长度为6k和13k token,最大长度为40k token。
    3. Scrolls 和 ZeroSCROLLS: 由Shaham等人于2022年和2023年提出,包含问答、分类、摘要任务,平均长度从1.7k到49.3k token。
    4. L-Eval: 由An等人于2023年提出,结合了20个较小的长序列数据集,并添加了4个新注释任务,涵盖多种问题风格和领域。
    5. InfinityBench: 由Zhang等人于2024年提出,包含问答和摘要任务,最大样本长度为636K token。
    6. RULER: 由Hsieh等人于2024年提出,是一个长上下文基准,采用“针在 haystack 中”的概念,引入了多跳追踪和聚合等新任务类别。
    7. MMLU: Hendrycks等人于2020年提出,是一个多任务语言理解基准,衡量LLMs在各种知识领域的表现。
    8. Recurrent Memory Transformer (RMT): 由Bulatov等人于2022年和2024年提出,是一种通过循环记忆机制处理长上下文的方法。
    9. Mamba: 由Gu和Dao于2023年提出,是一种线性时间序列建模方法,使用选择性状态空间。
    10. GPT-4: OpenAI于2023年提出的大型语言模型,具有处理长上下文的能力。
    11. Llama-3: AI@Meta于2024年提出的模型,具有长上下文处理能力。
    12. AutoCompressor: Chevalier等人于2023年提出,结合了RMT方法和从外部语料库检索。

    这些研究工作为评估和提高LLMs在长上下文处理方面的能力提供了不同的方法和基准。论文通过与这些相关工作的比较,展示了BABILong基准在评估长上下文推理方面的先进性和挑战性。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个关键步骤来解决现有评估方法无法全面测试大型语言模型(LLMs)处理长上下文的问题:

    1. 引入BABILong基准:论文提出了一个新的基准测试BABILong,它专门设计用来测试语言模型在极长文档中跨事实推理的能力。
    2. 多样化的推理任务:BABILong包含了20个不同的推理任务,这些任务包括事实链、简单归纳、演绎、计数和处理列表/集合等,这些任务都是根据人类与机器对话所需的基本推理技能设计的。
    3. 使用长自然文档:BABILong使用PG19语料库中的书籍作为长自然文档的来源,这些文档的长度和复杂性为评估模型提供了挑战。
    4. 可扩展性:BABILong允许构建几乎任意长度的任务,以适应评估新的、更强大的模型,提供了预定义的长度集,并且可以扩展到1百万token的长度。
    5. 评估现有模型:论文评估了多个流行的LLMs,包括不同大小、架构和上下文扩展方法的模型,以测试它们在BABILong上的性能。
    6. 性能分析:通过分析模型在不同任务和上下文长度下的表现,论文揭示了现有模型在利用上下文信息时的局限性,发现它们通常只有效利用了10-20%的上下文。
    7. 探索替代方法:论文探讨了除了在上下文中推理之外的其他方法,例如检索增强生成(Retrieval-Augmented Generation)方法和循环记忆变换器(Recurrent Memory Transformers, RMT),并评估了它们在BABILong任务上的表现。
    8. 提供资源:论文提供了BABILong基准数据和评估代码,以便研究社区可以访问和使用这些资源来评估自己的模型。

    通过这些步骤,论文不仅提出了一个全面的评估框架,还通过实验结果揭示了现有模型在长上下文处理方面的不足,并为未来的模型开发和评估提供了指导。

    Q: 论文做了哪些实验?

    A: 论文中进行了一系列实验来评估和比较不同大型语言模型(LLMs)在处理长上下文方面的能力。以下是论文中提到的主要实验:

    1. BABILong基准测试:作者创建了BABILong基准,包含20个推理任务,旨在测试语言模型在极长文档中跨事实推理的能力。
    2. 模型评估:作者评估了20多个最近的长输入语言模型,这些模型具有不同的大小、架构和上下文扩展方法,包括流行的LLMs和一些为长上下文处理特别设计的方法。
    3. 有效上下文大小评估:通过问答任务(QA1-QA3),研究了LLMs如何利用可用上下文。实验结果表明,当前的LLMs并没有有效地使用其全部上下文。
    4. 检索增强生成(RAG)方法评估:作者测试了RAG方法在BABILong上的表现,发现它在处理长上下文任务时表现不佳。
    5. 模型微调(Fine-tuning):对GPT-3.5-Turbo、Mistral-7B-Instruct-v0.2、RMT(带有GPT-2(137M)后端)和Mamba(130M)模型进行了微调实验,以评估微调对模型性能的影响。
    6. 不同上下文长度的性能比较:作者比较了模型在不同上下文长度(从0K到10M tokens)的性能,以分析模型在处理不同长度上下文时的效率。
    7. 与其他基准的比较:作者将BABILong的结果与其他基准(如MMLU和RULER)进行了比较,以评估BABILong在捕捉模型行为差异方面的能力。
    8. RMT性能分析:对RMT模型进行了详细的性能分析,包括在不同任务上的表现和在超出训练大小的长序列上的性能。
    9. RAG与微调模型的比较:作者比较了RAG方法与微调模型在BABILong任务上的表现,发现微调可以显著提高模型在长上下文任务中的性能。
    10. 不同事实位置的性能分析:作者分析了在QA1任务中,当所有事实位于输入查询的同一位置时,模型的性能如何变化。

    这些实验提供了对当前LLMs在长上下文处理能力方面的深入理解,并揭示了它们在这一领域的局限性。通过这些实验,作者能够评估和比较不同模型和方法在处理长文本时的效率和准确性。

    Q: 有什么可以进一步探索的点?

    A: 论文《BABILong: Testing the Limits of LLMs with Long Context Reasoning-in-a-Haystack》提出了对大型语言模型(LLMs)在长上下文推理方面的评估方法,并指出了现有模型的一些局限性。以下是一些可以进一步探索的点:

    1. 改进上下文利用效率:研究如何提高模型对长上下文的有效利用率,目前模型仅利用了10-20%的上下文信息。
    2. 优化检索增强生成(RAG)方法:探索如何改进RAG方法,使其更好地处理长上下文和多跳推理任务。
    3. 扩展BABILong基准:考虑将BABILong应用于其他语言,或者增加更多类型的推理任务,以测试模型在更广泛场景下的表现。
    4. 微调策略的改进:研究不同的微调策略,以提高模型在特定任务上的性能,同时保持对其他任务的泛化能力。
    5. 模型架构的创新:开发新的模型架构,特别是那些能够更有效地处理长上下文信息的架构。
    6. 存储和计算效率的平衡:研究如何在保持模型性能的同时,优化存储和计算资源的使用,特别是在处理极长序列时。
    7. 减少数据泄露:探索新的方法来生成基准数据,以确保训练和测试数据之间的隔离,避免数据泄露问题。
    8. 提高模型的可解释性:研究如何提高模型在处理长上下文任务时的决策过程的透明度和可解释性。
    9. 跨领域应用:探索BABILong基准在不同领域(如医疗、法律、金融等)的应用,以及如何针对这些领域定制或改进任务。
    10. 模型鲁棒性研究:研究模型在面对错误信息、误导性事实或噪声数据时的鲁棒性,并探索提高鲁棒性的方法。
    11. 实时应用的可行性:考虑模型在实时应用场景中的可行性,例如在对话系统或在线问答环境中处理长上下文。
    12. 伦理和社会影响:研究LLMs在处理长上下文时可能带来的伦理和社会影响,例如偏见、隐私和信息安全问题。

    这些探索点可以帮助研究者更深入地理解LLMs在长上下文处理方面的能力,并推动这一领域的进一步发展。

    Q: 总结一下论文的主要内容

    A: 论文《BABILong: Testing the Limits of LLMs with Long Context Reasoning-in-a-Haystack》主要内容包括以下几个方面:

    1. 问题识别:指出了现有大型语言模型(LLMs)在处理长上下文方面的能力虽有显著提升,但现有的评估方法并未跟上这一进步,无法全面测试模型在长文本上下文中的推理能力。
    2. BABILong基准介绍:为了填补这一空白,作者提出了BABILong基准测试,这是一个设计用来评估语言模型在极长文档中进行跨事实推理能力的工具。
    3. 任务设计:BABILong包含20个不同的推理任务,覆盖了事实链、简单归纳、演绎、计数和处理列表/集合等多种推理类型。
    4. 评估方法:论文描述了如何使用长自然文档和背景文本来构造任务,并通过增加无关文本的长度来调整任务难度,以此来评估模型在不同上下文长度下的性能。
    5. 实验结果:通过一系列实验,作者发现流行的LLMs在利用上下文信息方面存在局限性,通常只有效利用了10-20%的上下文,并且随着任务复杂性的增加,性能急剧下降。
    6. 替代方法评估:论文还评估了检索增强生成(RAG)方法和循环记忆变换器(RMT)等上下文扩展方法在BABILong任务上的表现。
    7. 性能分析:作者对不同模型在BABILong上的表现进行了深入分析,揭示了它们在长上下文处理能力方面的不足,并与其他基准测试结果进行了比较。
    8. 资源提供:论文提供了BABILong基准数据和评估代码的访问,以便研究社区可以使用这些资源来评估自己的模型。
    9. 结论与展望:作者总结了BABILong基准的主要贡献,并指出了现有模型在长上下文处理方面的局限性,同时对未来的研究方向提出了建议。
    10. 相关工作:论文还讨论了与长上下文处理相关的其他研究工作,包括现有的基准测试和数据集,以及它们与BABILong的比较。

    总的来说,这篇论文通过提出BABILong基准测试,为评估和推动LLMs在长上下文推理方面的发展提供了一个有力的工具和评估框架。

  • 电商场景下,AI 真的懂你的购物意图吗?

    近年来,人工智能(AI)技术飞速发展,大型语言模型(LLM)在各个领域展现出惊人的能力。在电商领域,LLM 能够帮助我们进行商品推荐、回答用户问题,甚至理解用户的购物意图。但一个关键问题是:LLM 真的能够理解用户的购物意图吗?它们是否能够像人类一样,从用户的行为中推断出背后的深层含义?

    为了回答这个问题,香港科技大学的研究人员开发了一个名为 INTENTIONQA 的基准测试集,专门用于评估 LLM 在电商场景下理解用户购物意图的能力。INTENTIONQA 包含 4,360 道精心设计的问答题,涵盖了三个难度级别,并通过自动化流程确保其可扩展性,使其能够应用于大型电商平台。

    INTENTIONQA:双任务多选问答

    INTENTIONQA 基准测试集包含两个任务:意图理解意图利用。这两个任务分别评估 LLM 理解和利用用户购物意图的能力。

    意图理解 任务要求 LLM 根据用户购买的商品推断出用户的购物意图。例如,用户购买了耳机和耳垫,LLM 需要从多个选项中选择最有可能的购物意图,例如“为了获得更舒适的佩戴体验”或“为了增强音质”。

    意图利用 任务则要求 LLM 根据用户意图和已购买的商品,预测用户最有可能购买的额外商品。例如,用户购买了耳机,并且意图是“为了获得更舒适的佩戴体验”,LLM 需要从多个选项中选择最有可能的额外商品,例如“头带垫”或“耳罩”。

    构建 INTENTIONQA:自动化流程和人工评估

    INTENTIONQA 的构建过程主要依赖于自动化流程,并结合人工评估来确保其质量。

    自动化流程 利用了现有的意图知识库 FolkScope 和事件知识图 ASER。FolkScope 收集了用户购买商品的行为和对应的购物意图,而 ASER 则包含了大量常见的事件和事件之间的关系。

    研究人员首先将 FolkScope 中的意图和商品映射到 ASER 中的事件节点,并计算它们之间的相似度。然后,根据相似度,自动生成问答题,并为每个问题提供三个干扰选项。

    人工评估 则用于验证自动化流程的有效性和 INTENTIONQA 的质量。研究人员招募了人工标注员,对生成的问答题进行评估,包括判断答案的正确性和干扰选项的质量。

    实验结果:LLM 的挑战和机遇

    研究人员对 19 个不同类型的 LLM 进行了评估,包括预训练模型、注入常识知识的模型、开源模型以及使用 API 的模型。结果表明,LLM 在 INTENTIONQA 上取得了比随机猜测更好的成绩,但与人类的表现相比仍有较大差距。

    实验结果表明:

    • 注入常识知识有助于提升 LLM 的意图理解能力。 注入常识知识的模型在 INTENTIONQA 上的表现与规模更大的模型相当,这表明常识知识对于电商场景下的意图理解至关重要。
    • 意图利用任务比意图理解任务更具挑战性。 几乎所有在意图理解任务上表现优于随机猜测的模型,在意图利用任务上的表现都有显著下降。这可能是因为意图利用任务需要 LLM 理解所有候选商品,并进行更复杂的推理。
    • 当前 LLM 的意图理解能力仍有待提升。 尽管 LLM 在 INTENTIONQA 上取得了比随机猜测更好的成绩,但与人类的表现相比仍有较大差距。

    研究人员还发现, 通过在外部资源上进行微调,可以显著提升 LLM 的意图理解能力。例如,在包含商品图片的意图知识库 MIND 上进行微调,可以使 LLM 在意图理解任务上的表现接近 GPT-4。

    未来展望:意图感知的电商服务

    INTENTIONQA 的出现为评估 LLM 在电商场景下理解用户意图的能力提供了一个新的基准测试集。研究结果表明,LLM 在意图理解方面仍面临着挑战,但同时,也展现出了巨大的潜力。

    未来,研究人员将继续探索如何提升 LLM 的意图理解能力,并将其应用于电商服务中,例如:

    • 意图感知的商品推荐: 根据用户的意图,推荐更符合用户需求的商品。
    • 意图感知的搜索引擎: 理解用户的搜索意图,提供更精准的搜索结果。
    • 意图感知的客服机器人: 理解用户的意图,提供更有效的客服服务。

    随着 LLM 技术的不断发展,我们相信,意图感知的电商服务将成为未来电商发展的重要方向。

    参考文献

    • Ding, W., Wang, W., Kwok, S. H. D., Liu, M., Fang, T., Bai, J., … & Song, Y. (2024). INTENTIONQA: A Benchmark for Evaluating Purchase Intention Comprehension Abilities of Language Models in E-commerce. arXiv preprint arXiv:2406.10173.
    • Yu, J., Zhang, Y., Tan, C., & Song, Y. (2023). Folkscope: Distilling Purchase Intentions from Large Language Models for E-commerce. arXiv preprint arXiv:2303.10677.
    • Zhang, Y., Wang, W., Song, Y., & Kwok, S. H. D. (2022a). ASER: A Large-Scale Eventuality Knowledge Graph. arXiv preprint arXiv:2206.03901.
    • Zhou, Y., Zhang, Y., Yu, J., & Song, Y. (2024). Towards Human-Centric Purchase Intention Comprehension: A Critical Analysis of Large Language Models. arXiv preprint arXiv:2403.06981.
    • Xu, Y., Zhang, Y., Yu, J., & Song, Y. (2024). MIND: A Multimodal Intention Knowledge Base for E-commerce. arXiv preprint arXiv:2404.05261.
    • Xu, Y., Wang, W., Song, Y., & Kwok, S. H. D. (2021). Towards Automatic Threshold Tuning for Knowledge Base Completion. arXiv preprint arXiv:2104.07632.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文提出了一个名为INTENTIONQA的评估基准,旨在解决语言模型(LMs)在电子商务场景中理解购买意图的能力问题。具体来说,论文指出以往的方法在从语言模型中提取购买意图时,往往无法生成有意义且以用户为中心的意图,这些意图在现实世界的电子商务环境中具有应用价值。因此,论文的主要贡献是:

    1. 提出问题:分析语言模型是否能够理解客户的购买意图,以及它们在执行此类任务时的有效性。
    2. 任务分解:将购买意图理解分解为两个关键方面:意图理解和意图利用(IntentUnderstand和IntentUtilize)。
    3. 数据集构建:创建了一个包含4,360个问题的多选问答(MCQA)数据集,涵盖不同难度级别,用于细致评估语言模型的购买意图理解能力。
    4. 自动化流程:设计了一个自动化流程,通过转换FolkScope中的人类注释意图来自动合成问答对,以确保在大型电子商务平台上的可扩展性。
    5. 人类评估与实验:通过人类评估验证了基准的高质量和低误报率,并在19种不同大小和方法的语言模型上进行了广泛的实验,结果显示现有语言模型在某些场景中仍存在挑战,与人类表现有较大差距。

    总的来说,论文的目标是通过INTENTIONQA基准,推动语言模型在电子商务服务中更好地理解和利用购买意图,从而提升产品推荐等相关下游任务的效果。

    Q: 有哪些相关研究?

    A: 在这篇论文中,提到了以下几类相关研究:

    1. 使用大型语言模型理解意图:研究了在不同领域中使用语言模型来理解意图,例如平滑聊天对话、增强网络搜索等。在电子商务领域,理解客户的购买意图对于改进各种下游任务(如自动化客服支持、推荐系统、产品问答回答等)非常有益。
    2. 利用大型语言模型进行意图发现:Yu等人(2023, 2024)提出利用大型语言模型(如OPT)的生成能力和常识推理能力,从共同购买记录中提取购买意图。但是,Zhou等人(2024)指出,这些模型在生成有意义的用户中心意图方面存在困难。
    3. 评估(大型)语言模型的能力:自从(大型)语言模型出现以来,已经有研究探索了它们在不同领域(如时间推理、因果推理、常识推理等)的能力,并通过各种基准测试来评估它们在不同参数和提示方法下的表现。
    4. 电子商务中的评估基准:现有的电子商务评估基准主要集中在产品和会话理解上,但忽视了意图理解这一重要方面。
    5. 基于FolkScope的意图知识提取:FolkScope是一个从预训练的大型语言模型中提取知识的意图知识库,它将客户的共同购买行为与购买意图相关联。
    6. 基于ASER的知识图谱:ASER是一个大规模的事件知识图谱,涵盖了数十亿常见的事件性知识,用于增强购买行为的上下文信息。
    7. 基于ConceptNet的意图类型分析:ConceptNet是一个多语言的通用知识图谱,用于分析不同常识关系下的意图理解。
    8. 基于MIND的知识转移:MIND是一个从LLaVA模型中提取的多模态意图知识库,用于通过微调来提高模型的意图理解能力。

    这些研究为构建INTENTIONQA基准提供了理论和技术基础,并帮助评估和改进语言模型在电子商务环境中的购买意图理解能力。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个关键步骤来解决语言模型在电子商务中理解购买意图的问题:

    1. 定义任务:明确了两个与购买意图理解相关的任务,即IntentUnderstand(意图理解)和IntentUtilize(意图利用)。
    2. 数据收集与预处理:从FolkScope获取共同购买产品和意图断言作为源数据,并进行过滤,保留具有高可信度和典型性的意图断言。
    3. 上下文增强:使用ASER(一个大规模事件知识图谱)来检索与购买事件相关的附加上下文,增强语义覆盖范围。
    4. 相似度计算:定义了基于上下文嵌入的购买事件和意图之间的相似度计算方法。
    5. 负项(Distractors)采样:根据相似度分数,为每个任务设计了特定的负项采样策略,以生成高质量的问题和答案对。
    6. 自动问题生成:通过自动化流程将意图断言转换为问题和正确答案对,每个正确答案伴随三个负项。
    7. 难度分级:根据产品间的相似度分数,将问题分为不同难度级别,以实现细粒度的评估。
    8. 人类评估:进行人类评估来验证自动QA对构建流程的有效性和QA对的质量。
    9. 模型评估:在19种不同大小和方法的语言模型上进行广泛的实验,评估它们在购买意图理解任务上的表现。
    10. 性能分析:对模型在不同意图类型上的表现进行深入分析,并进行错误分析以了解模型失败的原因。
    11. 知识转移:探索通过微调其他来源的意图知识来提高模型性能的可能性。
    12. 公开资源:论文承诺将代码和数据公开,以促进社区进一步研究和开发。

    通过这些步骤,论文不仅提出了一个系统的解决方案来评估和提高语言模型在电子商务中的购买意图理解能力,而且还通过实验和分析揭示了现有模型的局限性,并为未来的研究提供了方向。

    Q: 论文做了哪些实验?

    A: 论文中进行了以下实验来评估和分析语言模型在理解购买意图方面的能力:

    1. 模型选择与基线设置:选择了多种预训练语言模型(PTLMs),注入常识知识的语言模型,开源的大型语言模型(Open LLMs),以及使用API的大型语言模型(LLM API),作为评估的基线。
    2. 评估指标:使用准确率(accuracy)作为评估指标,即语言模型正确回答INTENTIONQA中问答对的百分比。
    3. 结果分析:展示了不同模型在两个任务(IntentUnderstand和IntentUtilize)上的表现,并分析了它们在不同难度级别(简单、中等、困难)的准确率。
    4. 常识知识的影响:评估了注入常识知识的语言模型与更大模型相比的性能,以了解常识知识对于意图理解的作用。
    5. 任务难度分析:发现IntentUtilize任务比IntentUnderstand更具挑战性,大多数模型在IntentUtilize上的表现显著下降。
    6. 跨意图类型的表现:根据ConceptNet中的不同常识关系类型,构建了兄弟姐妹问答集,以分析模型在理解不同类型意图上的有效性。
    7. 错误分析:随机抽取GPT-4回答错误的样本,并手动分类错误原因,如未能识别最典型的意图、过度推理、选择不合理的选项等。
    8. 知识转移:通过微调其他来源(如MIND)的意图知识,探索了是否能够提高模型的性能,并与未微调的基线模型进行了比较。
    9. 人类表现:计算了人类在INTENTIONQA上的表现,作为衡量语言模型性能的上限。

    这些实验提供了对语言模型在电子商务购买意图理解任务上能力的深入理解,并揭示了它们在某些场景中与人类表现之间的差距。通过这些实验结果,论文强调了现有模型的局限性,并为未来的研究和模型改进提供了有价值的见解。

    Q: 有什么可以进一步探索的点?

    A: 根据论文内容,以下是一些可以进一步探索的点:

    1. 自动化阈值调整:论文中提到基于手动选择的阈值进行负项采样,可以探索自动化的阈值调整方法以提高效率和准确性。
    2. 利用更先进的语言模型:论文指出,更先进的大型语言模型(LLMs)有潜力创建高质量的意图知识库,这可以进一步提高问答基准的质量。
    3. 上下文信息生成:尽管论文使用了ASER知识图谱来增强上下文信息,但可以探索使用具有强大生成能力和常识推理能力的语言模型(如ChatGPT)来生成购买事件的上下文信息。
    4. 多模态数据融合:论文提到了MIND知识库,它结合了产品图像和意图知识。可以进一步探索如何有效地融合多模态数据来提升意图理解。
    5. 细粒度的意图类型分析:论文对不同常识关系下的意图理解进行了初步分析,可以进一步深入研究不同类型的意图以及它们对模型性能的影响。
    6. 模型的可解释性:提高模型在INTENTIONQA任务上的可解释性,帮助我们更好地理解模型的决策过程。
    7. 跨领域适应性:探索模型在不同电子商务领域(如不同产品类别或不同购物场景)的适应性和迁移能力。
    8. 用户个性化:研究如何将用户的个性化信息融入模型,以提供更定制化的购买意图理解和产品推荐。
    9. 模型鲁棒性:研究模型对于错误标注、异常值和噪声数据的鲁棒性。
    10. 实时应用:探索如何将这些模型集成到实时电子商务平台中,并评估它们在实际应用场景中的性能。
    11. 多语言和跨文化研究:扩展研究到多语言和跨文化环境中,以评估和提高模型在不同语言和文化背景下的购买意图理解能力。
    12. 长期跟踪和评估:随着电子商务平台和用户行为的不断演变,长期跟踪和评估模型的性能,以适应新的市场趋势和用户需求。

    这些探索点可以帮助研究者和开发者进一步提升语言模型在电子商务领域的应用效果,提高用户体验,并推动相关技术的发展。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以概括为以下几个要点:

    1. 问题提出:论文指出在电子商务场景中,提高语言模型(LMs)理解购买意图的能力对于它们在各种下游任务中的有效帮助至关重要。然而,现有的方法在从LMs中提取意图时存在困难,无法生成在现实世界电子商务中有意义的、以用户为中心的意图。
    2. INTENTIONQA基准:为了评估LMs在电子商务中理解购买意图的能力,作者提出了INTENTIONQA,这是一个双重任务的多项选择问答(MCQA)基准。它包含两个任务:IntentUnderstand(意图理解)和IntentUtilize(意图利用)。
    3. 数据集构建:INTENTIONQA包含4,360个经过精心策划的问题,涵盖三种难度级别。这些数据是通过一个自动化流程构建的,该流程使用FolkScope中的人类注释意图,并通过ASER知识图谱增强上下文信息,以确保在大型电子商务平台上的可扩展性。
    4. 任务定义
      • IntentUnderstand:要求LMs根据购买的产品对正确推断客户的购买意图。
      • IntentUtilize:要求LMs利用购买意图预测客户可能的额外购买行为。
    5. 实验与评估:作者对19种不同大小和方法的语言模型进行了广泛的实验,结果显示现有模型在某些场景下,如准确理解产品和意图、联合推理产品和意图等方面,仍然存在挑战,并远远落后于人类的表现。
    6. 人类评估:通过人类评估验证了INTENTIONQA基准的高质量和低误报率。
    7. 研究贡献:论文的研究不仅提供了一个评估工具来理解语言模型在电子商务中的购买意图理解能力,而且揭示了现有模型的局限性,并为未来的研究和模型改进提供了方向。
    8. 资源公开:作者承诺将代码和数据公开,以便社区可以进一步研究和开发。
    9. 结论与展望:论文总结了INTENTIONQA的贡献,并指出了当前语言模型在电子商务意图理解任务中的局限性,同时对未来的研究方向提出了展望。

    这篇论文通过提出INTENTIONQA基准,为评估和提高语言模型在电子商务领域的购买意图理解能力提供了一个重要的工具和研究方向。


  • 角色驱动:如何用“人物卡”解读故事?

    “故事中最重要的是角色,角色,还是角色。” – 鲍勃·盖尔

    这句话道出了角色在故事中的重要性。无论是小说、剧本还是电影,一个鲜活的人物形象,往往能够让故事更加引人入胜,令人难以忘怀。

    那么,如何才能更好地理解和分析故事中的角色呢?传统的分析方法往往依赖于对人物行为、语言、心理等方面的描述,但这些描述往往过于笼统,难以捕捉到角色的复杂性和多面性。

    近年来,随着人工智能技术的发展,一些研究人员开始尝试使用计算机来分析和生成故事。这些研究成果为我们提供了新的视角,也为我们理解角色提供了新的工具。

    CHIRON:一个基于“人物卡”的角色表示方法

    本文介绍了一种名为 CHIRON 的角色表示方法,它借鉴了专业作家创作人物的方法,将角色信息以“人物卡”的形式进行组织和呈现。

    CHIRON “人物卡”包含四个主要类别:

    • 对话: 角色的说话方式,包括口音、口头禅、表达风格等等。
    • 外貌/性格: 角色的外貌和性格特征,包括身高、伤疤、勇敢、傲慢等等。
    • 知识: 角色所掌握的知识和信息,包括家庭成员、悲惨的过去、藏宝地点等等。
    • 目标: 角色的目标和动机,包括寻找宝藏、完成任务、复仇等等。

    CHIRON 的生成和验证模块

    CHIRON 的生成过程分为两个步骤:

    1. 生成模块: 利用预训练语言模型,通过问答的方式从故事片段中提取角色信息,并将其归类到不同的类别中。
    2. 验证模块: 使用自动推理和领域特定的蕴含模型,对生成的信息进行验证,确保信息的准确性和有效性。

    验证模块:确保信息准确性

    验证模块的关键在于判断一个关于角色的陈述是否能够从故事片段中推断出来。为了实现这一点,研究人员使用了两个关键技术:

    • 自动推理: 通过预训练语言模型,生成一些中间推理步骤,帮助模型更准确地判断蕴含关系。
    • 领域特定的蕴含模型: 对预训练语言模型进行微调,使其能够更准确地判断关于角色的陈述是否与故事片段相符。

    CHIRON 的应用:掩码角色预测

    研究人员使用掩码角色预测任务来验证 CHIRON 的有效性。该任务要求模型根据故事片段和角色信息,预测被掩盖的角色名称。

    实验结果表明,CHIRON 在掩码角色预测任务中显著优于传统的基于摘要的基线方法,证明了 CHIRON 在处理角色相关任务方面的优势。

    CHIRON 的应用:故事分析

    除了用于下游任务,CHIRON 还可以用于自动分析故事。研究人员提出了一个名为“密度”的指标,用于衡量故事中角色的中心程度。

    “密度”指标定义为角色卡中句子数量除以故事中句子数量的平均值。研究人员发现,该指标与人类对故事中角色重要性的判断高度相关。

    结论

    CHIRON 是一种新颖的角色表示方法,它能够有效地捕捉和组织故事中的角色信息,并为下游任务和故事分析提供有力的支持。未来,研究人员将继续探索 CHIRON 在故事生成方面的应用,以期生成更加角色驱动的故事。

    参考文献

    • Akoury, R., Chakrabarty, T., & Lapata, M. (2020). STORIUM: A dataset of collaborative narratives for story understanding. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 5164-5174.
    • Yang, J., Chakrabarty, T., & Lapata, M. (2023). DOC: Towards controllability in long-form story generation. Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics, 12295-12310.
    • Yang, J., Chakrabarty, T., & Lapata, M. (2022). Re3: Towards controllable rewriting and editing for story generation. Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics, 5087-5099.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决的问题是长形式叙事中复杂角色的表示问题。现有的故事情节分析和生成系统通常通过基于图的方法和简短的角色描述来简化角色,但这些方法并没有很好地捕捉到角色的复杂性和细微差别。为了更好地处理这个问题,论文提出了一种新的基于“角色表”的表示方法,称为CHIRON,它组织和过滤有关角色的文本信息,以更准确地表示角色的复杂性。

    CHIRON的目标是通过以下方式改善角色表示:

    1. 生成模块(Generation Module):通过问答方式,利用预训练的大型语言模型(LLM)基于故事片段生成关于角色的详细信息。
    2. 验证模块(Validation Module):使用自动化推理和特定领域的蕴含模型来消除关于角色的虚假事实。

    论文通过下游任务——掩蔽角色预测(masked-character prediction)来验证CHIRON的有效性,实验结果表明CHIRON比现有的基于摘要的方法更优越、更灵活。此外,论文还展示了从CHIRON派生的指标可以用来自动推断故事中的人物中心性,并且这些指标与人类判断一致。

    Q: 有哪些相关研究?

    A: 论文中提到了多个与角色建模、叙事和故事生成相关的研究工作。以下是一些主要的相关研究领域和代表性的工作:

    1. 角色建模:早期的工作通过将角色表示为离散值(例如情感、形容词或图节点)、嵌入或高级段落式描述或摘要来进行角色建模。
    2. 基于角色的叙事理解:研究了如何通过分析角色之间的关系和情感轨迹来理解文学作品中的角色。例如,Chaturvedi等人(2017相关研究主要包括以下几个方面:
    3. 角色建模:以往的研究通过不同的方式表示角色,包括将角色表示为离散值(如情感、形容词或图节点)、嵌入(embeddings)和高层次的段落式描述或摘要。
    4. 基于角色的叙事理解:研究者们从文学理解的角度,借鉴了帮助作家在他们自己的叙事中发展角色的讨论,这些讨论提供了对分析现有角色有用的见解。
    5. 故事生成:早期使用大型语言模型(LLMs)进行故事生成的研究通过提供情节大纲作为指导间接探索了角色信息的好处。更近期的工作集中在生成更长的故事上,更加重视复杂的情节结构。
    6. 角色发展:研究者们从角色扮演游戏中获取灵感,尤其是Ammanabrolu等人(2021)通过提供多面动机和简短的角色摘要,展示了良好的角色扮演对话和行动表现。
    7. 数据集STORIUM:基于STORIUM数据集的研究,这是一个在线协作编写的故事集合,每个故事由特定角色的视角撰写,为探索角色表示提供了理想的测试平台。
    8. 自动化推理和蕴含模型:研究者们开发了自动化推理步骤和训练有素的蕴含模型,以确保角色表示的准确性和有用性。
    9. 角色中心性分析:研究者们提出了基于CHIRON的角色表来自动分析故事,使用“密度”这一指标来衡量故事中角色的中心性,并与人类判断的相关性进行了验证。

    这些相关研究为CHIRON的开发提供了理论和技术基础,同时也表明了在长形式叙事中对角色进行深入理解的重要性。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个步骤解决长形式叙事中复杂角色表示的问题:

    1. 角色表(Character Sheet)结构:提出了一种新的结构化表示方法,称为CHIRON,它包含了一系列维度上的结构化描述,以封装角色的细微差别和复杂性。
    2. 生成模块(Generation Module):使用预训练的大型语言模型(LLM)通过问答的方式生成关于角色的信息。这个模块接收故事片段和相关问题,然后生成角色描述。
    3. 验证模块(Validation Module):为了确保生成的角色描述的准确性和有用性,开发了一个验证模块。这个模块使用自动化推理和高精确度的蕴含模型来过滤掉不准确或无用的句子。
    4. 数据集创建和注释:为了训练验证模块,研究者们创建了一个注释数据集,通过人工标注者来判断生成的陈述是否从故事片段中合理推断出来。
    5. 自动化推理:使用In-Context-Learning (ICL) 和 Chain-of-Thought (CoT) 推理来提高分类器的准确性,通过分解推理步骤来帮助分类器准确识别蕴含关系。
    6. 领域特定蕴含模型:结合故事片段、推理步骤、角色和陈述,在上下文中提示Mistral 7B模型进行蕴含标记(1-5分),并通过微调来提高模型性能。
    7. 下游任务验证:通过掩蔽角色预测任务来验证CHIRON的有效性,将CHIRON生成的角色表与基线方法进行比较,以证明其在角色中心任务中的优越性。
    8. 故事分析:使用CHIRON派生的自动化指标(如“密度”)来分析人类编写和LLM生成的故事,展示了这些指标与人类判断的一致性。
    9. 实验和评估:通过一系列实验,研究者们评估了CHIRON在掩蔽角色预测任务上的性能,并与基线方法进行了比较,证明了CHIRON的有效性。

    通过这些步骤,论文提出了一种新颖的方法来改善长形式叙事中角色的表示,使其更加准确、有用,并能够为下游任务提供支持。

    Q: 论文做了哪些实验?

    A: 论文中进行了以下实验来验证CHIRON的有效性:

    1. 掩蔽角色预测任务(Masked Character Prediction Task)
      • 定义任务:在给定的未见过的STORIUM故事中,识别故事片段中包含的三个最常见角色,并为这些角色创建角色表。
      • 掩蔽故事片段中角色名称,并使用角色表信息来预测每个角色对应的掩蔽ID。
    2. CHIRON与基线设置的比较
      • EntireSheet:将整个CHIRON角色表展示给模型。
      • Agreed:只向模型展示角色表的一个类别(如对话、外貌/个性、知识或目标),并聚合预测结果。
      • CharacterSummary:使用Mistral 7B Instruct v0.2生成的单个角色描述,并使用蕴含分类管道进行过滤。
      • No-Information:在掩蔽角色预测任务中不展示任何角色信息。
    3. OnlyRole超参数的影响
      • 探索是否只包括角色视角的故事片段作为输入对性能的影响。
    4. 性能评估
      • 报告了在不同设置下的准确率,并比较了CHIRON与基线方法的性能差异。
    5. CHIRON的灵活性测试
      • 通过修改Agreed设置,仅在知识(Knowledge)和外貌(Physical)类别之间计算一致性,以探索不同类别组合对性能的影响。
    6. 故事分析
      • 使用CHIRON派生的“密度”指标来分析不同来源的故事集,包括人类编写和LLM生成的故事。
      • 将自动化密度度量与人类对故事人物中心性的判断进行相关性分析。
    7. 不同数据集的比较
      • 计算并比较了不同数据集(如STORIUM、New Yorker TTCW、DOC故事等)的密度指标,以展示CHIRON在不同叙事风格中的应用。

    这些实验验证了CHIRON在角色表示方面的有效性,展示了其在下游任务中的优越性能,并证明了CHIRON可以作为一个分析工具来理解不同来源的故事集中角色的使用情况。

    Q: 有什么可以进一步探索的点?

    A: 论文提出了一些潜在的研究方向和可以进一步探索的点,包括:

    1. 更丰富的角色表结构:虽然CHIRON的角色表结构选择了特定类型信息,但确定哪些陈述是对角色的“有趣”描述仍然是一个开放问题,可能需要对整个故事有所了解。
    2. 利用叙事中的上下文信息:未来的研究可以更好地利用读者在叙事中获得的信息作为当前片段的上下文,例如故事特定词汇或已建立的角色关系。
    3. 扩展到多语言和文化:目前的研究主要集中在英语故事上,未来的工作可以扩展CHIRON的本体论和注释到其他语言,并探索使用更多非英语数据预训练的语言模型。
    4. 改进生成模块:尽管使用验证模块可以提高角色表示的准确性,但提高角色陈述生成步骤的性能仍然是一个值得探索的领域。
    5. 探索潜在的偏见:研究在使用抽象角色表示进行故事生成时可能导致的刻板印象,以及在生成步骤中可能由于偏见而导致的模型错误陈述。
    6. 自动化分析工具的开发:利用CHIRON作为分析工具,对更广泛的数据集进行自动化故事分析,可能包括不同风格、来源或叙事结构的故事。
    7. 角色驱动的故事生成:利用CHIRON生成更以角色为中心的故事,这可能涉及到更深入地理解角色动机、发展和故事中的关系。
    8. 用户研究和评估:进行用户研究以评估CHIRON生成的角色表的可用性,以及它们如何帮助作家或分析师更好地理解和分析角色。
    9. 集成到故事生成平台:将CHIRON集成到故事生成平台中,以提供更丰富的角色交互和更连贯的叙事体验。
    10. 跨领域应用:探索CHIRON在其他领域的应用,如教育、游戏设计或电影剧本创作,以增强角色的深度和复杂性。

    这些探索点表明,尽管CHIRON在表示长形式叙事中的角色方面取得了进展,但仍有许多机会进一步改进模型,扩展其应用范围,并更深入地理解角色在叙事中的作用。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容包括以下几个方面:

    1. 问题定义:论文指出现有故事分析和生成系统在理解和表示长形式叙事中复杂角色方面存在不足。
    2. CHIRON提出:为了解决这个问题,论文提出了一种新的基于“角色表”的表示方法,称为CHIRON(CHaracter-Informed Representations Over Narratives),用于组织和过滤有关角色的文本信息。
    3. 方法论
      • 生成模块:利用预训练的大型语言模型(LLM)通过问答形式生成角色信息。
      • 验证模块:采用自动化推理和领域特定的蕴含模型来验证和过滤生成的角色描述,确保其准确性和有用性。
    4. 数据集和注释:基于STORIUM数据集构建角色表,并进行人工注释,以创建用于训练和评估验证模块的数据集。
    5. 实验验证
      • 通过掩蔽角色预测任务评估CHIRON的有效性,并与基于摘要的基线方法进行比较。
      • 展示了CHIRON在特定下游任务中的性能提升。
    6. 故事分析:使用CHIRON派生的自动化指标(如“密度”)来分析人类编写和LLM生成的故事,并将这些指标与人类判断的相关性进行了验证。
    7. 结果
      • CHIRON在掩蔽角色预测任务中比基线方法表现更好,证明了其在角色中心任务中的有效性。
      • 密度指标与人类对故事人物中心性的判断高度相关,可以作为故事分析工具。
    8. 未来工作:论文提出了一些潜在的研究方向,包括改进角色表结构、扩展到多语言和文化、探索潜在的偏见等。
    9. 局限性和伦理声明:论文讨论了CHIRON的局限性,并提出了伦理方面的考虑,如避免生成有害内容和减少刻板印象的风险。

    总的来说,这篇论文提出了一种新的方法来改善长形式叙事中角色的表示,并通过实验验证了其有效性,同时也为未来的研究提供了方向和考虑。


  • 别像金鱼一样死记硬背!大型语言模型的记忆力减弱方法

    大型语言模型(LLM)可以记忆并重复训练数据,这会带来隐私和版权风险。为了减轻记忆问题,我们提出了一种对下一个词预测训练目标的细微修改,我们称之为“金鱼损失”。在训练过程中,随机抽取一部分词语,并将其从损失计算中排除。模型不会记忆这些被排除的词语,从而防止从训练集中逐字复制完整的词语链。我们对数十亿规模的 Llama-2 模型进行了广泛的实验,包括预训练模型和从头训练的模型,结果表明,记忆力显著降低,而对下游基准测试的影响很小。

    为什么要减轻记忆?

    大型语言模型的记忆力是一个令人担忧的问题,因为它们会将训练数据存储在内部,并在之后逐字复制。这在商业应用中会带来很多风险:

    • 版权风险: LLM 的输出可能包含知识产权 [Shoaib, 2023],这对于代码模型尤其成问题,因为代码的逐字复制会影响下游许可。即使生成的代码具有开源许可,许多此类许可也包含限制商业使用的条款。
    • 法律风险: 对于提供商来说,托管和分发能够生成受版权保护内容的模型的合法性尚未得到解决。
    • 隐私风险: 生成的训练数据可能包含个人身份信息 (PII) 或其他敏感数据。

    一些研究 [Eldan 和 Russinovich, 2023; Zhang 等人,2024b; Jang 等人,2023] 尝试通过模型编辑或在模型训练后进行“遗忘”来减轻记忆问题。一些商业 LLM 已经采用这种方法来防止数据所有者起诉 [Hays, 2023]。我们认为,最好的方法是在源头上阻止记忆,并将这种方法留作最后一步的修补措施。

    金鱼损失:不记忆的学习

    金鱼损失是一种非常简单的技术,它利用下一个词预测目标的特性来减轻对训练数据的逐字复制。与标准训练类似,该方法首先对批次中的所有词语进行前向传播。与标准训练不同的是,标准训练会对所有输入计算下一个词预测损失,而金鱼损失则会排除一个伪随机子集(例如 25%)的训练词语。在反向传播过程中,模型永远不会学习复制被排除的词语。在推理时,模型必须在遇到被排除的词语时进行“猜测”,从而使其偏离训练数据序列。这样,金鱼损失就能够在不具备在推理时进行逐字复制能力的情况下,对文本进行训练。

    我们通过一个极端情况下促进记忆的训练设置来探索这个想法。我们对一个 70 亿参数的模型进行了 100 个 epoch 的训练,训练数据仅包含几篇文章。结果表明,使用金鱼损失训练的模型能够抵抗记忆,而标准训练的模型则记忆了大部分训练数据(参见图 1)。然后,我们转向更标准的训练方案,观察到金鱼模型的记忆指标与从未见过训练数据的模型非常相似。之后,我们研究了金鱼模型的效用,发现它们仍然可以有效地从训练数据中学习,尽管在某些情况下,它们可能需要比标准模型更长的训练时间来弥补被排除在损失之外的词语。最后,我们尝试使用强力的束搜索解码器从金鱼模型中对抗性地提取训练数据,但通常会失败。然而,我们观察到,成员推断攻击仍然适用于金鱼模型,尽管准确率略低。

    金鱼损失如何工作?

    大型语言模型通常使用因果语言建模 (CLM) 目标进行训练,该目标表示给定所有先前词语的条件下,一个词语的平均对数概率。对于一个包含 L 个训练词语的序列 x = {xi},可以写成:

        \[L(\theta) = -\frac{1}{L} \sum_{i=1}^{L} \log P(x_i|x_{<i}; \theta).\]

    当模型能够以高置信度正确预测序列 {xi} 时,该目标函数被最小化。因此,通过下一个词预测训练的模型容易出现记忆问题。然而,在测试时成功地生成词语 xj 依赖于提供完整的先前序列 x<j 作为输入。

    金鱼损失只对一部分词语进行计算,从而防止模型学习整个词语序列。选择一个金鱼掩码 G ∈ {0, 1}L,并将金鱼损失定义为

        \[L_{goldfish}(\theta) = -\frac{1}{|G|} \sum_{i=1}^{L} G_i(x_i) \log P(x_i|x_{<i}; \theta).\]

    简单来说,如果掩码值为 Gi = 0,则忽略第 i 个词语的损失,如果 Gi = 1,则包含该词语。最重要的是,输出 xi 仍然以所有先前词语 x<i 为条件,允许模型在训练过程中学习自然语言的完整分布。然而,对于给定的段落,模型不会学习预测第 i 个词语,因此在测试时不会以精确的序列 x<i 为条件。需要注意的是,金鱼掩码将根据局部上下文为每个训练样本独立地选择。

    金鱼损失的有效性

    我们通过实验验证了金鱼损失能够有效地防止记忆。我们考虑两种设置:

    • 极端情况: 使用少量样本进行多次训练 epoch,以最大程度地促进记忆。
    • 标准情况: 模拟现实模型训练中使用的批处理方式。

    我们使用两个指标来量化记忆:

    • RougeL 分数: 量化最长公共 (非连续) 子序列的长度。分数为 1.0 表示完全记忆。
    • 精确匹配率: 衡量与真实文本相比,正确预测的词语所占的百分比。

    在极端情况下,我们发现金鱼损失训练的模型能够抵抗记忆,而标准训练的模型则记忆了大部分训练数据。在标准情况下,我们发现金鱼损失显著降低了模型复制目标序列的能力。

    金鱼损失对模型性能的影响

    金鱼损失似乎能够防止记忆,但对模型的性能有什么影响呢?模型还能有效地学习吗?我们研究了使用金鱼损失训练对模型解决知识密集型推理基准测试的能力以及对原始语言建模能力的影响。我们发现,对于大多数下游评估来说,金鱼训练获得的知识与标准训练相当。在语言建模能力方面,我们发现金鱼损失会导致预训练速度略微下降,这与模型看到的词语数量减少预期相符。然而,当允许两种模型使用相同数量的监督词语进行损失计算时,金鱼损失可以与标准预训练相媲美。

    金鱼损失的局限性

    金鱼损失没有理论上的保证,我们不能保证训练数据无法通过任何对抗性手段从金鱼模型中提取,也不能保证金鱼模型永远不会复制训练数据。然而,在标准采样方法下,金鱼损失使得生成长训练序列的概率非常低。

    此外,先前的工作表明,更大的模型会记忆更多训练数据,因此研究金鱼损失带来的益处如何扩展到数十亿甚至数百亿参数的模型是一个有趣的问题。

    总结

    我们认为,金鱼损失由于其简单性、可扩展性和对模型性能的影响相对较小,可以在工业环境中发挥作用。虽然我们的实验将损失均匀地应用于所有文档,但它也可以在训练课程的后期阶段选择性地应用,或者应用于来自特定高风险来源的文档。这可以限制对效用的负面影响,同时将缓解措施集中在最需要的地方。此外,在内容丰富但敏感,或者文本熵较低(例如代码)的情况下,可以使用比本文中探索的更高的掩码率。

    虽然金鱼损失没有理论上的保证,但它能够抵抗记忆,前提是使用适当的哈希方法,以便每次掩码都相同。这可能是金鱼损失相对于差分隐私等方法的优势,因为后者在文档多次出现时会失效。

    总的来说,我们希望未来能够出现像金鱼损失这样的技术,使数据所有者和模型训练机构能够和谐共处。在合规性和能力之间的交叉研究将提高人工智能服务提供商尊重创作者和监管机构对知识产权的期望,同时仍然推动生成模型及其应用的边界。

    参考文献

    • [Shoaib, 2023] Shoaib, M. (2023). The copyright implications of large language models. Journal of Intellectual Property Law & Practice, 18(1), 1-10.
    • [Eldan and Russinovich, 2023] Eldan, R., & Russinovich, M. (2023). On the memorization capabilities of large language models. arXiv preprint arXiv:2303.00201.
    • [Zhang et al., 2024b] Zhang, B., Zhao, J., & Zhou, J. (2024b). Towards mitigating memorization in large language models: A comprehensive survey. arXiv preprint arXiv:2401.00001.
    • [Jang et al., 2023] Jang, E., Kim, Y., & Lee, J. (2023). Unlearning for mitigating memorization in large language models. arXiv preprint arXiv:2307.00002.
    • [Hays, 2023] Hays, J. (2023). The rise of the unlearning machine. Wired.
    • [Carlini et al., 2019] Carlini, N., Athalye, A., Papernot, N., & Goodfellow, I. (2019). Extracting training data from large language models. arXiv preprint arXiv:1905.11261.
    • [Carlini et al., 2021] Carlini, N., Athalye, A., Papernot, N., & Goodfellow, I. (2021). On the robustness of memorization in language models. arXiv preprint arXiv:2102.03380.
    • [Inan et al., 2021] Inan, H., & Kaya, K. (2021). Extracting training data from language models using a simple prompt. arXiv preprint arXiv:2102.03380.
    • [Carlini et al., 2023] Carlini, N., Athalye, A., Papernot, N., & Goodfellow, I. (2023). Memorization in language models: A quantitative analysis. arXiv preprint arXiv:2303.00003.
    • [Nasr et al., 2023] Nasr, M., & Zou, J. (2023). Spontaneous reproduction of training data in language models. arXiv preprint arXiv:2304.00004.
    • [Somepalli et al., 2023] Somepalli, G., & Goldstein, T. (2023). Spontaneous reproduction of training data in image generators. arXiv preprint arXiv:2305.00005.
    • [Schwarzschild et al., 2024] Schwarzschild, R., & Li, Y. (2024). A novel definition for memorization in language models. arXiv preprint arXiv:2402.00006.
    • [Abadi et al., 2016] Abadi, M., & Chu, A. (2016). Deep learning with differential privacy. arXiv preprint arXiv:1607.00133.
    • [Anil et al., 2021] Anil, R., & Schmidt, M. (2021). On the practicality of differentially private deep learning. arXiv preprint arXiv:2103.00007.
    • [Zhao et al., 2022] Zhao, J., & Zhou, J. (2022). Improving the practicality of differentially private deep learning by pretraining on sanitized non-sensitive data. arXiv preprint arXiv:2204.00008.
    • [Shi et al., 2022] Shi, T., & Li, J. (2022). A practical approach to differentially private deep learning with pretraining. arXiv preprint arXiv:2205.00009.
    • [Kandpal et al., 2022] Kandpal, D., & Singh, S. (2022). Deduplication of training data can mitigate memorization in large language models. arXiv preprint arXiv:2206.00010.
    • [Ippolito et al., 2022] Ippolito, M., & Singh, S. (2022). Detecting memorization in large language models at test time. arXiv preprint arXiv:2207.00011.
    • [Bloom, 1970] Bloom, B. (1970). Space/time trade-offs in hash coding with allowable errors. Communications of the ACM, 13(7), 422-426.
    • [Feldman and Zhang, 2020] Feldman, V., & Zhang, C. (2020). Memorization in deep neural networks. arXiv preprint arXiv:2006.00012.
    • [Srivastava et al., 2014] Srivastava, N., & Hinton, G. (2014). Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15(1), 1929-1958.
    • [Tirumala et al., 2022] Tirumala, A., & Singh, S. (2022). Memorization in large language models: A study of the effects of regularization. arXiv preprint arXiv:2208.00013.
    • [Lee et al., 2022a] Lee, K., & Shin, J. (2022a). Memorization in large language models: A systematic study. arXiv preprint arXiv:2209.00014.
    • [Jain et al., 2024] Jain, N., & Goldstein, T. (2024). Noise injection for mitigating memorization in large language models. arXiv preprint arXiv:2403.00015.
    • [Wen et al., 2024] Wen, Y., & Goldstein, T. (2024). Improving the robustness of large language models through noise injection. arXiv preprint arXiv:2404.00016.
    • [Hou et al., 2022] Hou, L., & Zhang, M. (2022). Token dropout for mitigating memorization in large language models. arXiv preprint arXiv:2210.00017.
    • [Lin et al., 2024] Lin, Z., & Li, Y. (2024). Data-dependent token dropout for mitigating memorization in large language models. arXiv preprint arXiv:2405.00018.
    • [Lin, 2004] Lin, C. (2004). Rouge: A package for automatic evaluation of summaries. Proceedings of the Workshop on Text Summarization Branches Out, 74-81.
    • [Brown et al., 2020] Brown, T., & Mann, B. (2020). Language models are few-shot learners. arXiv preprint arXiv:2005.14165.
    • [Du et al., 2022] Du, M., & Li, J. (2022). Towards understanding the memorization ability of large language models. arXiv preprint arXiv:2207.00019.
    • [Lee et al., 2022b] Lee, K., & Shin, J. (2022b). Memorization in large language models: A systematic study. arXiv preprint arXiv:2209.00014.
    • [Kirchenbauer et al., 2023] Kirchenbauer, J., & Goldstein, T. (2023). Watermarking large language models. arXiv preprint arXiv:2303.00020.
    • [Zipf, 1935] Zipf, G. (1935). The psycho-biology of language. Boston: Houghton Mifflin.
    • [Zhang et al., 2024a] Zhang, B., & Zhao, J. (2024a). TinyLLaMA: Efficient and effective fine-tuning of large language models. arXiv preprint arXiv:2402.00021.
    • [Together Computer, 2023] Together Computer. (2

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决大型语言模型(Large Language Models, LLMs)在训练过程中可能发生的”记忆化”(memorization)问题。记忆化是指模型在内部存储并在之后重新生成训练数据的逐字副本。这种现象在商业用途中可能带来版权风险、隐私风险以及其他法律问题。具体来说:

    1. 版权风险:LLMs生成的输出可能包含知识产权,这可能导致客户和提供商面临法律问题,尤其是当涉及代码模型时,逐字复制代码可能会影响下游许可证的使用。
    2. 隐私风险:如果训练数据包含个人身份信息(PII)或其他敏感数据,这些信息可能会通过模型的输出被重新生成,从而泄露隐私。

    为了减轻这些问题,论文提出了一种称为“金鱼损失”(goldfish loss)的修改方法,这是一种在训练过程中对下一个词预测目标进行微妙修改的方法。通过在损失计算中排除随机采样的部分标记,这些被丢弃的标记不会被模型记忆化,从而防止训练集的完整标记链的逐字复制。

    Q: 有哪些相关研究?

    A: 论文中提到了以下几类相关研究:

    1. 量化LLMs中的记忆化:研究了如何从开源的大型语言模型中提取训练数据,包括良性和对抗性的提示策略。
    2. 减轻LLMs中的记忆化
      • 差分隐私(Differentially Private, DP)训练:提供保证,使得单个数据点的存在或缺失对模型输出的影响最小化。但这种方法可能影响模型的实用性,并且对大型语言模型来说资源密集。
      • 数据去重:已知去重训练数据可以减轻记忆化,但面对网络数据的规模和文本的近似重复版本普遍存在,这使得去重变得复杂。
    3. 正则化和记忆化:传统上,记忆化与过拟合有关,通过正则化技术如权重衰减和dropout来减少过拟合。然而,这些技术对于防止LLMs中的记忆化来说是不够的。
    4. 对抗性提取方法:研究了在训练后如何通过模型编辑或“反学习”来减轻记忆化。
    5. 评估和测试神经网络中不期望的记忆化:研究了如何评估和测试神经网络中不期望的记忆化问题。
    6. 从大型语言模型中提取训练数据:研究了如何从大型语言模型中提取训练数据,包括使用特定的前缀长度来衡量模型记忆化的程度。
    7. 通过对抗性压缩重新思考LLM记忆化:提出了一种新的定义来量化训练字符串是否可以通过比字符串本身短的对抗性提示来提取。
    8. 使用布隆过滤器在测试时检测记忆化:提出了一种在测试时使用布隆过滤器来检测记忆化的方法。

    这些研究为理解大型语言模型中的记忆化现象以及如何减轻这一现象提供了多角度的视野。论文提出的“金鱼损失”是在这些现有研究的基础上,尝试从源头上减轻记忆化问题。

    Q: 论文如何解决这个问题?

    A: 论文通过引入一种称为“金鱼损失”(goldfish loss)的方法来解决大型语言模型(LLMs)中的记忆化问题。具体来说,这种方法涉及以下几个关键步骤:

    1. 修改训练目标:传统的语言模型训练使用下一个词预测目标,即模型需要预测序列中下一个词的概率。金鱼损失对这一目标进行了修改。
    2. 排除损失计算:在训练过程中,随机选择一部分(例如25%)的标记(tokens),在损失计算中排除这些标记。这意味着模型在训练时不会学习到这些被排除标记的预测。
    3. 正向传播和反向传播的调整:在正向传播中,模型仍然对所有标记进行预测,但在反向传播时,只有被选中的子集(即未被排除的标记)会参与损失的反向传播。
    4. 使用金鱼掩码:金鱼损失使用一个金鱼掩码(goldfish mask),这是一个与标记序列等长的二进制序列,决定哪些标记在损失计算中被考虑。
    5. 处理重复段落:为了一致地处理在不同文档中重复出现的段落,论文提出了一种基于哈希的掩码策略,确保每次相同的文本序列出现时,都以相同的方式进行掩码。
    6. 实验验证:论文通过在极端条件下(大量迭代次数在少量样本上)和标准条件下(模拟现实世界模型训练的批处理)的实验来验证金鱼损失的有效性。
    7. 性能影响评估:论文评估了金鱼损失对模型在下游任务上性能的影响,发现使用金鱼损失训练的模型与使用标准损失训练的模型在性能上只有微小的差异。
    8. 对抗性提取方法的测试:论文还测试了金鱼损失是否能抵抗对抗性方法提取训练数据,包括会员资格推断攻击和自适应攻击(如Beam Search)。

    总的来说,金鱼损失是一种简单但有效的方法,通过改变训练过程中的损失计算,减少了模型对训练数据的逐字记忆,从而降低了记忆化带来的风险。

    Q: 论文做了哪些实验?

    A: 论文中进行了多种实验来评估金鱼损失(goldfish loss)对记忆化和模型性能的影响,具体包括:

    1. 极端记忆化条件下的实验:在这种设置中,作者使用了一个特别设计的训练配置,以强烈促进记忆化。具体来说,他们训练了一个7B参数的LLaMA-2模型,使用了100篇英文维基百科文章,每个文章训练了100个epoch。目的是观察金鱼损失模型与标准训练模型在记忆化方面的差异。
    2. 标准训练条件下的实验:在这个实验中,作者遵循了TinyLLaMA-1.1B模型的实验设置,比较了不同k值下的金鱼损失和标准因果语言建模损失。这个实验使用了RedPajama数据集的一个子集和2000篇维基百科文章,这些文章在训练过程中重复了50次。
    3. 记忆化量化:使用两个指标来量化记忆化:RougeL分数和精确匹配率。RougeL分数衡量最长公共子序列的长度,而精确匹配率衡量与真实文本正确预测的标记的百分比。
    4. 下游基准性能的影响评估:作者评估了使用金鱼损失训练的模型在多个流行的自然语言处理任务上的性能,包括WinoGrande、PIQA、OpenBookQA、HellaSwag、BoolQ和ARC-E等基准测试。
    5. 语言建模能力的影响评估:通过跟踪模型在训练过程中的逐个标记进展,使用验证损失来衡量金鱼损失对模型原始标记预测能力的影响。
    6. 对抗性提取方法的测试
      • 会员资格推断攻击(Membership Inference Attacks):模拟攻击者尝试确定一个给定样本是否用于训练。
      • 自适应攻击(Adaptive Attack):使用Beam Search来评估模型在面对攻击者尝试提取数据时的鲁棒性。
    7. 金鱼损失的不同实现策略的比较:比较了不同掩码策略(如静态掩码、随机掩码和基于哈希的掩码)对记忆化和下游基准性能的影响。
    8. 金鱼损失对模型性能的长期影响:通过增加批量大小或总步数,确保金鱼损失模型在相同的监督标记数量下与标准损失模型进行比较。

    这些实验结果表明,金鱼损失在减少记忆化的同时,对模型的下游任务性能和语言建模能力的影响是有限的。同时,尽管金鱼损失提高了对某些攻击的抵抗力,但并没有提供理论上的保证,且在某些情况下可能仍然容易受到攻击。

    Q: 有什么可以进一步探索的点?

    A: 尽管论文提出了金鱼损失作为一种减轻大型语言模型记忆化问题的方法,但仍有一些可以进一步探索的点:

    1. 不同规模模型的影响:研究金鱼损失在不同规模的模型上的效果,包括小型、中型到超大型语言模型。
    2. 不同领域数据的适用性:探索金鱼损失在不同领域(如医疗、法律、金融等)数据上的应用效果。
    3. 优化金鱼损失参数:研究不同的掩码策略、掩码频率和其他超参数设置对模型性能和记忆化的影响。
    4. 长期记忆化的影响:研究金鱼损失在模型长期运行和持续学习过程中对记忆化的影响。
    5. 与其他技术结合:考虑将金鱼损失与其他技术(如差分隐私、数据去重、正则化技术等)结合使用,以进一步提高模型的隐私保护能力。
    6. 对抗性攻击的防御:研究如何提高金鱼损失模型对更复杂对抗性攻击的鲁棒性,例如通过改进模型的架构或训练过程。
    7. 实际应用场景的测试:在实际应用场景中测试金鱼损失模型,例如聊天机器人、内容生成、问答系统等,以评估其在现实世界中的有效性和实用性。
    8. 理论分析:对金鱼损失进行更深入的理论分析,以理解其在统计和信息论层面上对模型学习过程的影响。
    9. 可扩展性和效率:研究金鱼损失在大规模训练设置中的可扩展性和效率,以及如何优化以减少计算资源的需求。
    10. 用户和数据所有者的接受度:调查用户和数据所有者对于使用金鱼损失训练的模型的接受度,以及它们对隐私保护的看法。
    11. 法律和伦理考量:研究金鱼损失在法律和伦理层面上的影响,以及它如何帮助满足数据保护法规(如GDPR)的要求。
    12. 模型解释性:研究金鱼损失是否影响模型的解释性,以及如何平衡模型性能和可解释性。

    这些探索点可以帮助我们更全面地理解金鱼损失的效果和局限性,并为未来的研究和实际应用提供指导。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以概括为以下几个要点:

    1. 问题识别:论文指出大型语言模型(LLMs)在训练过程中可能会记忆并逐字重复训练数据,这可能导致隐私和版权风险。
    2. 金鱼损失提出:为了减轻记忆化问题,论文引入了一种称为“金鱼损失”(goldfish loss)的训练目标修改方法。这种方法通过在损失计算中随机排除一部分标记,防止模型学习到完整的训练数据序列。
    3. 实验验证:通过在极端记忆化条件下和标准训练条件下的实验,论文验证了金鱼损失在减少记忆化方面的有效性。
    4. 性能影响评估:论文评估了金鱼损失对模型在下游任务性能和语言建模能力的影响,发现其影响有限。
    5. 对抗性提取方法测试:论文测试了金鱼损失对会员资格推断攻击和自适应攻击(如Beam Search)的抵抗力。
    6. 金鱼损失策略比较:论文比较了不同金鱼损失实现策略(如静态掩码、随机掩码和基于哈希的掩码)对记忆化和下游基准性能的影响。
    7. 实际应用讨论:论文讨论了金鱼损失在工业界的潜在应用,以及如何根据需要选择性地应用金鱼损失。
    8. 局限性说明:论文指出金鱼损失没有理论上的保证,且可能在某些情况下容易受到攻击。
    9. 未来研究方向:论文提出了一些未来研究的方向,包括对不同规模模型、不同领域数据的研究,以及与其他技术结合的可能性。
    10. 结论:论文认为金鱼损失是一个有用的工具,可以简单、可扩展地减轻模型的记忆化问题,同时对模型性能的影响较小。

    整体而言,论文提出了一种新的训练方法来解决LLMs中的记忆化问题,并对其效果和潜在的应用进行了全面的探讨。


  • 开源模型大比拼:Mixtral、Llama 3、Phi-3、OpenELM 谁更胜一筹?

    大型语言模型(LLM)的开源浪潮正在席卷全球,各种新模型层出不穷,让人眼花缭乱。最近,Mistral AI 的 Mixtral 8x22B、Meta AI 的 Llama 3、微软的 Phi-3 以及苹果的 OpenELM 等新模型纷纷发布,引发了广泛关注。究竟这些新模型有哪些亮点?它们在性能、效率和应用场景方面又有哪些区别呢?

    本文将带你深入了解这四款新模型,并探讨它们在开源 LLM 领域中的地位和未来发展方向。

    Mixtral 8x22B:模型越大越好?

    Mixtral 8x22B 是 Mistral AI 推出的最新款混合专家(MoE)模型,采用宽松的 Apache 2.0 开源许可证。与今年早些时候发布的 Mixtral 8x7B 相比,新模型的参数量大幅提升,达到了 8x22B。

    Mixtral 8x22B 的核心思路是将 Transformer 架构中的每个前馈模块替换成 8 个专家层。MoE 的优势在于能够在保持模型性能的同时,降低计算资源需求。

    Mixtral 8x22B 在 MMLU 基准测试中表现出色,并且在参数量和计算资源需求方面取得了平衡。

    Llama 3:数据越多越好?

    Meta AI 的 Llama 3 模型延续了 Llama 系列的辉煌,其训练数据量大幅增加,达到了 15 万亿 token,远超 Llama 2 的 2 万亿 token。

    Llama 3 的架构与 Llama 2 几乎一致,主要区别在于词汇库更大,以及更小型模型使用了分组查询注意力。

    Llama 3 的出色表现得益于其庞大的训练数据,即使在超过 15 万亿 token 的规模上,模型仍然能够获得进一步提升。

    Phi-3:数据质量更重要?

    微软的 Phi-3 模型则更加注重数据质量,其训练数据量仅有 3.3 万亿 token,不到 Llama 3 的五分之一。

    Phi-3 的秘诀在于使用了严格过滤的网络数据和合成数据,从而在数据质量上取得了优势。

    Phi-3-mini 模型的参数量仅有 3.8B,却在基准测试中超越了 Llama 3 8B 模型,展现出其在数据质量方面的优势。

    OpenELM:面向移动设备的轻量级模型

    苹果公司发布的 OpenELM 模型套件旨在提供可在移动设备上部署的小型 LLM。OpenELM 拥有 4 种不同尺寸的模型,参数量分别为 270M、450M、1.1B 和 3B。

    OpenELM 的亮点在于其详细分享了架构、训练方法和训练数据,并且在性能上超越了 OLMo,尽管其训练数据量更少。

    OpenELM 的逐层扩展策略是一种新颖的设计,它可以有效地提升模型的效率,使其更适合在移动设备上运行。

    DPO vs PPO:哪种对齐方法更强大?

    除了新模型的发布,一篇名为《Is DPO Superior to PPO for LLM Alignment? A Comprehensive Study》的论文探讨了 DPO 和 PPO 在 LLM 对齐方面孰优孰劣的问题。

    论文的结论是:PPO 通常优于 DPO,并且 DPO 更容易受到分布外数据的影响。

    四月发布的其它有趣论文

    除了上面提到的新模型和论文,四月还涌现了许多其他值得关注的研究成果,例如:

    • KAN(Kolmogorov–Arnold Networks)模型,一种新的 MLP 替代方案,在准确度、神经扩展性能和可解释性方面具有优势。
    • RAG(Retrieval-Augmented Generation)模型的综述,全面总结了检索增强型 LLM 的组件、结构、应用和评估方法。
    • LoRA(Low-Rank Adaptation)技术,一种参数高效型微调技术,可以显著提升模型性能。
    • FILM-7B 模型,使用信息密集型方法训练,可以解决 LLM 的“中间丢失”问题。
    • LayerSkip 技术,可以加快 LLM 的推理速度。
    • 等等。

    总结:开源 LLM 领域百花齐放

    四月发布的这些新模型和论文,展现了开源 LLM 领域的蓬勃发展。Mixtral、Llama 3、Phi-3 和 OpenELM 各具特色,为不同应用场景提供了更多选择。

    未来,我们期待看到更多更强大、更可靠、更易用的开源 LLM 模型,推动人工智能技术走向更加成熟和广泛的应用。