使用 Mistral-7B-v0.1(基本模式)进行事实检索

Fact retrieval using Mistral-7B-v0.1 (base mode)

提问人:Deepak Tatyaji Ahire 提问时间:11/16/2023 最后编辑:Deepak Tatyaji Ahire 更新时间:11/17/2023 访问量:47

问:

上下文

我使用 Github 上的 Chinese-LLaMA-Alpaca 存储库中提供的脚本预训练了 mistral(基础模型)。Mistral-7B-v0.1pretrain_chinese_llama_lora.ipynb

我使用50行包含事实的文本(地点,人物,历史和地理事实)训练了文本完成任务的基础模型。

表示单个实体(如地点、人,....)事实的线条不是连续的。例如:

<fact #1 about New York>

<fact #1 about John Doe>

<fact #2 about John Doe>

<fact #1 about a river and geography>

<fact #2 about New York>

... 
... 
...

<fact #3 about New York>

现在,我的目标是在为文本完成任务预训练模型后,检索有关使用文本完成提示的所有事实。New York

我的观察

我看到,即使在使用多样化波束搜索解码后,该模型也无法检索与纽约相关的所有事实/上下文。

我尝试了什么?

推理的代码片段如下:

with torch.no_grad():
    outputs = pt_model.generate(**model_input, max_new_tokens=100, repetition_penalty=1.15,
                                    num_beams=15, num_beam_groups=15, diversity_penalty=2.0,
                                    num_return_sequences=15)
    model_output = tokenizer.batch_decode(outputs, skip_special_tokens=True)

为什么我没有使用数据库/ RAG

  1. 我有 1000 多个 PDF 数据,我显然无法浏览并创建数据库脚本来存储我感兴趣的实体的事实。
  2. RAG 可能会根据相似性搜索诱导出相似(不确切)的事实,这是我想避免的。
  3. 我想进一步微调这个模型,以便根据我的特定用例进行问答。因此,我需要尽可能多地检索事实。
算法 信息检索 大语言 预训练模型 波束搜索

评论

0赞 r000bin 11/18/2023
对于预训练,你真的意味着你从头开始训练模型吗?所以除了你的 50 行文字之外,它没有看到任何其他内容?
0赞 Deepak Tatyaji Ahire 11/18/2023
不,先生,不是从头开始。刚刚训练了基础模型。
0赞 r000bin 11/20/2023
进一步的训练或微调LLM可能会导致“灾难性的遗忘”。你试过几次学习吗?只需在相同的上下文中通过 50 个示例即可解决您的问题,如下所示: promptingguide.ai/techniques/fewshot
0赞 Deepak Tatyaji Ahire 11/21/2023
@r000bin我认为你是对的。我进行了预训练(第 2 阶段预训练 - 使用 PEFT 的 CLM。链接 - github.com/ymcui/Chinese-LLaMA-Alpaca/wiki/Pretraining-Script) 并将模型另存为检查点。我进一步在另一个pdf上预训练了这个检查点。现在,该模型无法回答与第一个 pdf 相关的问题。

答: 暂无答案