wangyuxinwhy / uniem

unified embedding model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

finetuneๆ—ถๆŠฅ้”™ argument after ** must be a mapping, not NoneType

yhygta opened this issue ยท comments

commented

๐Ÿ› bug ่ฏดๆ˜Ž

ๆ‚จๅฅฝ๏ผŒ็…ง็€ๅฎ˜็ฝ‘็š„ๆ•™็จ‹๏ผŒไฝฟ็”จไบ†่‡ชๅทฑ็š„ๆ•ฐๆฎ้›†๏ผŒfinetuneๆ—ถๆŠฅ้”™ argument after ** must be a mapping, not NoneType
ๆ„Ÿ่ฐขๅคงไฝฌไปฌ็œ‹็œ‹๏ผŒๅ‰ไธ€ไธชissueไธๅฐๅฟƒๅ…ณ้—ญไบ†
ไปฃ็ ๅฆ‚ไธ‹๏ผš

import pandas as pd
from uniem.finetuner import FineTuner
df3_raw = """{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"็บข้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๅฆฅๅธƒ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"็กซ้…ธๆ–ฐ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"็ฐ้ป„้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๆ›ฒ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๅคๆ–นๆ–ฐ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๅบ†ๅคง้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๅ…‹ๆž—้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"้ป„ๆ›ฒ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"้’้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๅœŸ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"้˜ฟๅฅ‡้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๆž—ๅฏ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"ๆฐฏ้œ‰็ด ", "label":"0.0"}
{"sentence1":"้‡‘้œ‰็ด ", "sentence2":"่žบๆ—‹้œ‰็ด ", "label":"0.0"}"""
df3 = pd.read_json(df3_raw, lines=True)
finetuner = FineTuner('moka-ai3/m3e-base/', dataset=df3.to_dict('records'))
finetuner.run(epochs=1)

Python Version

3.10

finetuner.run(epochs=1, batch_size=6)

่ฟ™ๆ˜ฏ็”ฑไบŽไธ€ไธช่พน็•Œๆกไปถๅฏผ่‡ด็š„ bug๏ผŒๅ› ไธบไฝ ็š„ๅพฎ่ฐƒๆ•ฐๆฎ้›†ๅคชๅฐไบ†๏ผŒ็ป„ไธๆˆไธ€ไธช batch ๏ผŒ็ป“ๆžœ drop_last ๆŠŠ่ฟ™ไธช batch ็›ดๆŽฅ drop ๆŽ‰ไบ†๏ผŒๆ‰‹ๅŠจ่ฐƒๅฐ batch_size ๅฏไปฅ่งฃๅ†ณ่ฟ™ไธช้—ฎ้ข˜๏ผŒๅฐฑๅƒไธŠ้ข็š„ไปฃ็ ไธ€ๆ ทใ€‚ไน‹ๅŽ็š„็‰ˆๆœฌๆˆ‘ไผšๅขžๅŠ ๆ›ดๆ˜“ๆ‡‚็š„้”™่ฏฏไฟกๆฏใ€‚

commented

ๅฅฝ็š„๏ผŒๆ„Ÿ่ฐขๅคงไฝฌ๏ผŒไธŠ้ข็š„่ฟ™ๆ ทๅฏไปฅ็”จไบ†

commented

from datasets import load_dataset
from uniem.finetuner import FineTuner
dataset = load_dataset('/opt/dl/llm/langchain-ChatGLM/m3ef/ft4/',encoding="GBK")
finetuner = FineTuner('/media/root/_data01/ai/embeddings/m3e-base/', dataset=dataset)
finetuner.run(epochs=1, output_dir='finetuned-model-riddle', batch_size=5)

commented

ft4.csvๆ”พๅœจft4ๆ–‡ไปถๅคนไธ‹๏ผŒๅ†…ๅฎนๅฆ‚ไธ‹๏ผš

commented

sentence1,sentence2,label
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,็บข้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๅฆฅๅธƒ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,็กซ้…ธๆ–ฐ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,็ฐ้ป„้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๆ›ฒ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๅคๆ–นๆ–ฐ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๅบ†ๅคง้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๅ…‹ๆž—้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,้ป„ๆ›ฒ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,้’้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๅœŸ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,้˜ฟๅฅ‡้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0
้‡‘้œ‰็ด ๆ€Žไนˆ็”จ,ๆž—ๅฏ้œ‰็ด ็š„ไฝฟ็”จๆ–นๆณ•,0

commented

ไฝ†ๆ˜ฏๆˆ‘ๆŠŠไธŠ้ข้‚ฃไธชcsvๆ–‡ไปถๅญ˜ไธ‹ๆฅ๏ผŒไปฅ่ฟ™ไธชไปฃ็ ๏ผˆhttps://github.com/wangyuxinwhy/uniem/issues/34#issuecomment-1623492087๏ผ‰ๆฅๅš๏ผŒไผšๆŠฅ้”™TypeError: must be real number, not NoneType

่ƒฝๆŠŠๆŠฅ้”™็š„ไฟกๆฏ่ดดไธ€ไธ‹ๅ—๏ผŸ็Žฐๅœจ่ฟ™ไธชๆŠฅ้”™็œ‹ไธๅ‡บๆฅๅ•ฅใ€‚

ๅฆๅค–๏ผŒๅพฎ่ฐƒๆ˜ฏๅŸบไบŽๅฏนๆฏ”ๅญฆไน ็š„๏ผŒไฝ†ไฝ ็š„ label ้ƒฝไธบ 0 ๏ผŒๆ˜ฏๆฒกๆœ‰ๅŠžๆณ•่ฟ›่กŒๅฏนๆฏ”็š„ใ€‚้œ€่ฆๆทปๅŠ ไธ€ไบ›ๆญฃไพ‹

commented

ๅฅฝ็š„๏ผŒๆ„Ÿ่ฐขๆ้†’ๅ“ˆ๏ผŒๆˆ‘ๆ˜ฏๅ‘็ŽฐX้œ‰็ด ๅœจLLMไผšๆททๅœจไธ€่ตท๏ผŒๆ˜ฏๅธŒๆœ›ๅœจembedding้‡Œ้ข่ƒฝๅˆ†ๅผ€๏ผŒๆ‰€ไปฅๅ†™ไบ†0๏ผŒ่ฟ™็งๆƒ…ๅ†ตไธ‹ๆˆ‘ๆƒณๅขžๅคงๅŒบๅˆ†ๅบฆ๏ผŒ่ฏท้—ฎ่ฏฅๆ€Žไนˆๅค„็†ๅ‘ข๏ผŸ

commented

ๆŠฅ้”™ไฟกๆฏๅฆ‚ไธ‹๏ผš
0it [7:30:19, ?it/s]
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/code.py:90 in runcode โ”‚
โ”‚ โ”‚
โ”‚ 87 โ”‚ โ”‚ โ”‚
โ”‚ 88 โ”‚ โ”‚ """ โ”‚
โ”‚ 89 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 90 โ”‚ โ”‚ โ”‚ exec(code, self.locals) โ”‚
โ”‚ 91 โ”‚ โ”‚ except SystemExit: โ”‚
โ”‚ 92 โ”‚ โ”‚ โ”‚ raise โ”‚
โ”‚ 93 โ”‚ โ”‚ except: โ”‚
โ”‚ :1 in โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/uniem/fin โ”‚
โ”‚ etuner.py:220 in run โ”‚
โ”‚ โ”‚
โ”‚ 217 โ”‚ โ”‚ โ”‚ save_on_epoch_end=save_on_epoch_end, โ”‚
โ”‚ 218 โ”‚ โ”‚ ) โ”‚
โ”‚ 219 โ”‚ โ”‚ accelerator.print(f'Start training for {epochs} epochs') โ”‚
โ”‚ โฑ 220 โ”‚ โ”‚ trainer.train() โ”‚
โ”‚ 221 โ”‚ โ”‚ โ”‚
โ”‚ 222 โ”‚ โ”‚ accelerator.wait_for_everyone() โ”‚
โ”‚ 223 โ”‚ โ”‚ accelerator.print('Training finished') โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/uniem/tra โ”‚
โ”‚ iner.py:49 in train โ”‚
โ”‚ โ”‚
โ”‚ 46 โ”‚ โ”‚ โ”‚ self.model.train() โ”‚
โ”‚ 47 โ”‚ โ”‚ โ”‚ self.progress_bar.on_epoch_start() โ”‚
โ”‚ 48 โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โฑ 49 โ”‚ โ”‚ โ”‚ for batch_index, batch in enumerate(self.train_dataloader) โ”‚
โ”‚ 50 โ”‚ โ”‚ โ”‚ โ”‚ with self.accelerator.accumulate(self.model): โ”‚
โ”‚ 51 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ self.optimizer.zero_grad() โ”‚
โ”‚ 52 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ batch_output = self.model(**batch) โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/accelerat โ”‚
โ”‚ e/data_loader.py:378 in iter โ”‚
โ”‚ โ”‚
โ”‚ 375 โ”‚ โ”‚ dataloader_iter = super().iter() โ”‚
โ”‚ 376 โ”‚ โ”‚ # We iterate one batch ahead to check when we are at the end โ”‚
โ”‚ 377 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 378 โ”‚ โ”‚ โ”‚ current_batch = next(dataloader_iter) โ”‚
โ”‚ 379 โ”‚ โ”‚ except StopIteration: โ”‚
โ”‚ 380 โ”‚ โ”‚ โ”‚ yield โ”‚
โ”‚ 381 โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/torch/uti โ”‚
โ”‚ ls/data/dataloader.py:633 in next โ”‚
โ”‚ โ”‚
โ”‚ 630 โ”‚ โ”‚ โ”‚ if self._sampler_iter is None: โ”‚
โ”‚ 631 โ”‚ โ”‚ โ”‚ โ”‚ # TODO(pytorch/pytorch#7675 โ”‚
โ”‚ 632 โ”‚ โ”‚ โ”‚ โ”‚ self._reset() # type: ignore[call-arg] โ”‚
โ”‚ โฑ 633 โ”‚ โ”‚ โ”‚ data = self._next_data() โ”‚
โ”‚ 634 โ”‚ โ”‚ โ”‚ self._num_yielded += 1 โ”‚
โ”‚ 635 โ”‚ โ”‚ โ”‚ if self._dataset_kind == _DatasetKind.Iterable and \ โ”‚
โ”‚ 636 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ self._IterableDataset_len_called is not None and โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/torch/uti โ”‚
โ”‚ ls/data/dataloader.py:677 in _next_data โ”‚
โ”‚ โ”‚
โ”‚ 674 โ”‚ โ”‚
โ”‚ 675 โ”‚ def _next_data(self): โ”‚
โ”‚ 676 โ”‚ โ”‚ index = self._next_index() # may raise StopIteration โ”‚
โ”‚ โฑ 677 โ”‚ โ”‚ data = self._dataset_fetcher.fetch(index) # may raise StopIt โ”‚
โ”‚ 678 โ”‚ โ”‚ if self._pin_memory: โ”‚
โ”‚ 679 โ”‚ โ”‚ โ”‚ data = _utils.pin_memory.pin_memory(data, self._pin_memor โ”‚
โ”‚ 680 โ”‚ โ”‚ return data โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/torch/uti โ”‚
โ”‚ ls/data/_utils/fetch.py:54 in fetch โ”‚
โ”‚ โ”‚
โ”‚ 51 โ”‚ โ”‚ โ”‚ โ”‚ data = [self.dataset[idx] for idx in possibly_batched_i โ”‚
โ”‚ 52 โ”‚ โ”‚ else: โ”‚
โ”‚ 53 โ”‚ โ”‚ โ”‚ data = self.dataset[possibly_batched_index] โ”‚
โ”‚ โฑ 54 โ”‚ โ”‚ return self.collate_fn(data) โ”‚
โ”‚ 55 โ”‚
โ”‚ โ”‚
โ”‚ /home/epetai01/anaconda3/envs/cg2_310/lib/python3.10/site-packages/uniem/dat โ”‚
โ”‚ a.py:106 in call โ”‚
โ”‚ โ”‚
โ”‚ 103 โ”‚ โ”‚ texts = [record.sentence1 for record in records] โ”‚
โ”‚ 104 โ”‚ โ”‚ texts_pair = [record.sentence2 for record in records] โ”‚
โ”‚ 105 โ”‚ โ”‚ labels = [record.label for record in records] โ”‚
โ”‚ โฑ 106 โ”‚ โ”‚ labels = torch.tensor(labels, dtype=torch.float32) โ”‚
โ”‚ 107 โ”‚ โ”‚ โ”‚
โ”‚ 108 โ”‚ โ”‚ text_ids = self.tokenizer( โ”‚
โ”‚ 109 โ”‚ โ”‚ โ”‚ texts, โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
TypeError: must be real number, not NoneType

็œ‹่ตทๆฅๆ˜ฏๆœ‰ไธ€ไธชๆ ทๆœฌ็š„ๆ ‡็ญพๆ˜ฏ None ๏ผŒไฝ ๅฏไปฅๆ‰“ๅฐ dataset ไธญ็š„ๅ…จ้ƒจๆ ทๆœฌ๏ผŒๆฃ€ๆŸฅไธ€ไธ‹ๆ˜ฏไธๆ˜ฏๆœ‰ๆ ทๆœฌ็š„ๆ ‡็ญพๆ˜ฏ Noneใ€‚

commented

็กฎๅฎžๆ˜ฏๆœ‰None๏ผŒๆ„Ÿ่ฐขๅคงไฝฌ่งฃ็ญ”