Skip to content

Commit

Permalink
update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
GanymedeNil committed Mar 10, 2023
1 parent 3a1e011 commit 680e76f
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
43 changes: 42 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,48 @@



# 目录
## 目录

`code` 目录中有本次MSD示例的相关示例代码



## 流程

![](./docs/flow.png)

整个流程非常简单,也没有复杂的地方,相信关注GPT领域的都会看到过如上的流程。

主要就以下几个点:

- 将本地答案数据集,转为向量存储到向量数据
- 当用户输入查询的问题时,把问题转为向量然后从向量数据库中查询相近的答案topK
这个时候其实就是我们最普遍的问答查询方案,在没有GPT的时候就直接返回相关的答案整个流程就结束了
- 现在有GPT了可以优化回答内容的整体结构,在单纯的搜索场景下其实这个优化没什么意义。但如果在客服等的聊天场景下,引用相关领域内容回复时,这样就会显得不那么的突兀。



## 难点

### 查询数据不准确

#### 基于数据的优化

在上面的例子中,我们直接将问题和答案做匹配,有些时候因为问题的模糊性会导致匹配不相关的答案。

如果在已经有大量的问答映射数据的情况下,问题直接搜索问题集,然后基于已有映射返回当前问题匹配的问题集的答案,这样可以提升一定的问题准确性。

#### 基于自训练的Embedding模型

openAI 的Embedding模型数据更多是基于普遍性数据训练,如果你要做问答的领域太过于专业有可能就会出现查询数据不准确的情况。

解决方案是自训练 Embedding 模型,在这里我推荐一个项目 [text2vec](https://github.com/shibing624/text2vec) ,shibing624 已经给出了一个模型基于 `CoSENT + MacBERT +STS-B`[shibing624/text2vec-base-chinese](https://huggingface.co/shibing624/text2vec-base-chinese)

我也在前些日子训练了基于 `CoSENT + LERT + STS-B`的两个模型一个隐层大小是1024的[text2vec-large-chinese](https://huggingface.co/GanymedeNil/text2vec-large-chinese),另一个是768的[text2vec-base-chinese](https://huggingface.co/GanymedeNil/text2vec-base-chinese)。也欢迎比对。

为了做这个Demo我还训练了两个医疗问答相关的模型基于`cMedQQ`数据集,其他与上面的一致分别是[text2vec-cmedqq-lert-large](https://huggingface.co/GanymedeNil/text2vec-cmedqq-lert-large)[text2vec-cmedqq-lert-base](https://huggingface.co/GanymedeNil/text2vec-cmedqq-lert-base)

#### 基于 Fine-tune
目前我自身测试下来,使用问答数据集对GPT模型进行Fine-tune后,问答准确性会大幅提高。你可以理解为GPT通过大量的专业领域数据的学习后成为了该领域专家,然后配合调小接口中`temperature`参数,可以得到更准确的结果。

但 现在 Fine-tune 训练和使用成本还是太高,每天都会有新的数据,不可能高频的进行 Fine-tune。我的一个想法是每隔一个长周期对数据进行 Fine-tune ,然后配合外置的向量数据库的相似查询来补足 Fine-tune 模型本身的数据落后问题。
Binary file added docs/flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 680e76f

Please sign in to comment.