LC1332 / Chat-Haruhi-Suzumiya

Chat凉宫春日, An open sourced Role-Playing chatbot Cheng Li, Ziang Leng, and others.
Apache License 2.0
1.85k stars 164 forks source link

Embedding的词向量与原始数据略有出入 #13

Closed KissMyLady closed 1 year ago

KissMyLady commented 1 year ago

一, 问题描述

问题如下: 2023-08-10_162444

二, 代码

import sys
import os

sys.path.append("..")
sys.path.append("../..")
sys.path.append("../../..")

from src_reform import utils

res = "汤师爷台词_总_0link旁白:汤师爷准备进城上任,碰到张牧之打劫,被迫说自己是汤师爷\n六子:爹,全都找遍了,没钱,没货,也没有银子。人倒是剩俩活的,杀不杀?\n张牧之(戴麻点面具,其他弟兄亦戴着面具)拧钟定时:钱藏在哪儿了,说出来,闹钟响之前说不出来,脑袋搬家。\n汤师爷嚎哭,一脸丧气。\n张牧之:「哭,哭也算时间啊。」\n汤师爷哭声停止,思考。\n一女音起:有什么就说什么嘛\n张牧之:「这位夫人,你是谁?」\n(镜头切至女声来源处)县长夫人:我就是县长夫人啊。\n张牧之:「失敬!失敬!(转头看向汤师爷)那你就是县太爷?」\n汤师爷触电似地摇头。"

text_embedding = utils.get_embedding(model, 
                                     res
                                    )[0].reshape(1, -1)
#
print(text_embedding[0])

三, 数据比对如下

""" 原始数据 : -0.003492023 5630124807

1 次计算: -0.003492023 0973511934, 2 次计算: -0.003492023 0973511934 """

描述: 重新使用模型计算后的词向量embedding与原始数据集的词向量对不上, 具体来说是后10位不相同.

请问下是什么原因?

原始数据

{
    "汤师爷台词_总_0link旁白:汤师爷准备进城上任,碰到张牧之打劫,被迫说自己是汤师爷\n六子:爹,全都找遍了,没钱,没货,也没有银子。人倒是剩俩活的,杀不杀?\n张牧之(戴麻点面具,其他弟兄亦戴着面具)拧钟定时:钱藏在哪儿了,说出来,闹钟响之前说不出来,脑袋搬家。\n汤师爷嚎哭,一脸丧气。\n张牧之:「哭,哭也算时间啊。」\n汤师爷哭声停止,思考。\n一女音起:有什么就说什么嘛\n张牧之:「这位夫人,你是谁?」\n(镜头切至女声来源处)县长夫人:我就是县长夫人啊。\n张牧之:「失敬!失敬!(转头看向汤师爷)那你就是县太爷?」\n汤师爷触电似地摇头。"
    : [
        -0.0034920235630124807, -0.02372254803776741, 0.012618937529623508, -0.007042092736810446, -0.002928749658167362, 0.02098744548857212, -0.00257463613525033, -0.0023302852641791105, -0.023318681865930557, -0.02749897912144661, 0.017419911921024323, 0.01491920743137598, ...
    ]
}
LC1332 commented 1 year ago

哦 这么细的嘛? @todochenxi 来看一下。 我这两天在准备更多数据训练本地模型。可能没时间看这个细节

KissMyLady commented 1 year ago

感谢关注💡💡

todochenxi commented 1 year ago

10位后出现不一致, 大概率是载入精度的问题,这里引用一下gpt老师的回答

a2f554c9fe53369074116eeb78540c2
KissMyLady commented 1 year ago

原来是这个可能性, 之前还以为可能是模型的问题 ,但是一次计算二次计算得出的结果又都是一样的. 谢谢解答, 非常感谢🎯🎯

LC1332 commented 1 year ago

Let me close the issue。