-
Notifications
You must be signed in to change notification settings - Fork 400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
能在更多样本训练更准的模型吗 #61
Comments
不可以,数据格式都不一样 |
我试了一下,用一个类 "SuperDataset" 将所有的数据 concat 前后连接起来,是可以实现使用所有数据同时训练的,大致逻辑是: class SuperDataset:
def __init__(self):
self.datasets = []
def add_dataset(self, dataset):
self.datasets.append(dataset)
def __len__(self):
return sum([len(dataset) for dataset in self.datasets])
def __getitem__(self, index):
for dataset in self.datasets:
if index < len(dataset):
return dataset[index]
index -= len(dataset) 然后: datasets = ["STS-B", "ATEC", "BQ", "LCQMC", "PAWSX"]
train_dataset, eval_dataset = [SuperDataset(), SuperDataset()]
for dataset in datasets:
train_dataset.add_dataset(HFCosentTrainDataset(self.tokenizer, dataset, max_len=self.max_seq_length))
eval_dataset.add_dataset(HFTextMatchingTestDataset(self.tokenizer, dataset, max_len=self.max_seq_length)) 最终可以得到91万个sample:
|
写代码适配也行的。点赞 |
我用chinese-lert-base,基于所有的数据集,训练了一个模型在这里:https://huggingface.co/oldhu/text2vec-lert-base-5-tasks 测试的数据如下:
|
嗯,我评估一下。 |
算了一下,avg score: 61.44, 高于当前单任务训练的模型效果的。 考虑了一下,我这两天放出一个通用匹配模型,在更多数据上训练(百万、千万样本)的模型,然后能覆盖更多任务场景,还是不应该局限在这5个评估任务上。 另外,很多同学用 text2vec + langchain + chatglm6b 的技术路线做本地QA问答,此时相似文本召回也对text2vec的精度要求比较高,这里高准的通用模型也更重要。 |
👍👍👍,现在text2vec的主要用户都是用于语义搜索了。更通用的模型肯定是能造福大家的。 另外,off the topic请教一下,如果要做re-rank(cross encoder),现在SOTA的模型和架构是什么? |
请问这个高准的通用模型现在放出了吗? |
另外,对这个结果有一点疑惑,这个是分别在每一个数据集上训练测试的结果吗?
而下面的关于release模型的测试结果是只在STS-B上训练得到的?
最后就是数据集的5个part,可以混合训练吗?
The text was updated successfully, but these errors were encountered: