Giter VIP home page Giter VIP logo

kobart's People

Contributors

bage79 avatar haven-jeon avatar seoneun avatar seujung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kobart's Issues

pip 설치 시 에러: Command errored out with exit status 128

$ pip install git+https://github.com/SKT-AI/KoBART#egg=kobart --no-cache-dir -U turicreate

과 같이 설치 시도 시 아래와 같이 나타납니다(어느 OS에서든 비슷). 도움을 주실 수 있을까요?

WARNING: Discarding git+https://github.com/SKT-AI/KoBART#egg=kobart. Command errored out with exit status 128: git clone -q https://github.com/SKT-AI/KoBART /private/var/folders/7d/8j9vj0c541z7y9gs0_3hdsrr0000gn/T/pip-install-89_v3_4e/kobart_aa1496bd8fd04a869d9a9e1e3fbe5782 Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement kobart (unavailable)
ERROR: No matching distribution found for kobart (unavailable)

[FEATURE] migrate model, tokenizer, and dataset storage to `AWS S3`

🚀 Feature

model, tokenizer, dataset 저장소 변경

Motivation

안정적인 관리, 다운로드 속도 보장을 위해, 스토리지를 변경합니다.

Pitch

  • azure, dropbox, github 등에 저장된 파일들을 aws s3 로 업로드
  • download 함수를 aws 용으로 변경

Additional context

[FEATURE] koBART-large 배포 여부

🚀 Feature

koBART-large 배포

Motivation

현재 릴리즈는 BART-base 기반인것으로 보입니다. BART의 경우 base 뿐만 아닌 large 모델도 있는 것으로 알고 있습니다.
한국어 데이터셋에 대해 pretrain된 large 크기 모델 또한 가능하다면 공개해주신다면 성능 향상에 도움이 될 것으로 생각합니다.

Pitch

BART-large 모델 구현 혹은 huggingface에서 불러 온 다음 한국어 데이터 셋에 대해 학습

Additional context

Multi-GPU

안녕하세요! 😄

좋은 코드 정말 감사합니다 덕분에 한국어 large-scale model에 대해 열심히 공부하고 있습니다ㅎㅎ

혹시 NSMC benchmark classification task 코드인 nsmc.py 코드에서

multi-gpu 사용 세팅은 어떻게 해야되는지 여쭤볼 수 있을까요?

--gpus의 숫자를 단순히 바꾸면 오류가 나고,

(AttributeError: Can't pickle local object 'get_cosine_schedule_with_warmup..lr_lambda')

pytorch에서 일반적으로 사용하는 방법으로 수정하고 싶은데 디버거 모드로 찍어봐도 어려움이 있어서 이슈 남깁니다

감사합니다!

KoBART summarization fine-tuning시 에러 발생

안녕하세요 좋은 모델 배포해주셔서 감사합니다.

KoBART summarization을 이용하기 위해 설치 후 fine tuning을 하기 위해 Read.me에 안내된 아래의 코드를 실행했습니다.

[use cpu]
python train.py  --gradient_clip_val 1.0 --max_epochs 50 --default_root_dir logs  --batch_size 4 --num_workers 4

하지만 Validation sanity check 과정에서 다음과 같은 에러가 발생하였습니다.

INFO:root:Namespace(accelerator=None, accumulate_grad_batches=1, amp_backend='native', amp_level='O2', auto_lr_find=False, auto_scale_batch_size=False, auto_select_gpus=False, batch_size=4, benchmark=False, check_val_every_n_epoch=1, checkpoint_callback=True, checkpoint_path=None, default_root_dir='logs', deterministic=False, distributed_backend=None, fast_dev_run=False, flush_logs_every_n_steps=100, gpus=None, gradient_clip_algorithm='norm', gradient_clip_val=1.0, limit_predict_batches=1.0, limit_test_batches=1.0, limit_train_batches=1.0, limit_val_batches=1.0, log_every_n_steps=50, log_gpu_memory=None, logger=True, lr=3e-05, max_epochs=50, max_len=512, max_steps=None, max_time=None, min_epochs=None, min_steps=None, model_path=None, move_metrics_to_cpu=False, multiple_trainloader_mode='max_size_cycle', num_nodes=1, num_processes=1, num_sanity_val_steps=2, num_workers=4, overfit_batches=0.0, plugins=None, precision=32, prepare_data_per_node=True, process_position=0, profiler=None, progress_bar_refresh_rate=None, reload_dataloaders_every_epoch=False, replace_sampler_ddp=True, resume_from_checkpoint=None, stochastic_weight_avg=False, sync_batchnorm=False, terminate_on_nan=False, test_file='data/test.tsv', tpu_cores=None, track_grad_norm=-1, train_file='data/train.tsv', truncated_bptt_steps=None, val_check_interval=1.0, warmup_ratio=0.1, weights_save_path=None, weights_summary='top')
using cached model
using cached model
using cached model
GPU available: False, used: False
TPU available: False, using: 0 TPU cores
INFO:root:number of workers 4, data length 34242
INFO:root:num_train_steps : 107006
INFO:root:num_warmup_steps : 10700
2021-11-05 10:27:55.060417: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2021-11-05 10:27:55.069132: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

  | Name  | Type                         | Params
-------------------------------------------------------
0 | model | BartForConditionalGeneration | 123 M
-------------------------------------------------------
123 M     Trainable params
0         Non-trainable params
123 M     Total params
495.440   Total estimated model params size (MB)
Validation sanity check:   0%|                                                                   | 0/2 [00:00<?, ?it/s]Traceback (most recent call last):
  File "train.py", line 233, in <module>
    trainer.fit(model, dm)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 460, in fit
    self._run(model)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 758, in _run
    self.dispatch()
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 799, in dispatch
    self.accelerator.start_training(self)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\accelerators\accelerator.py", line 96, in start_training
    self.training_type_plugin.start_training(trainer)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\plugins\training_type\training_type_plugin.py", line 144, in start_training
    self._results = trainer.run_stage()
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 809, in run_stage
    return self.run_train()
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 844, in run_train
    self.run_sanity_check(self.lightning_module)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 1112, in run_sanity_check
    self.run_evaluation()
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\trainer.py", line 967, in run_evaluation
    output = self.evaluation_loop.evaluation_step(batch, batch_idx, dataloader_idx)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\trainer\evaluation_loop.py", line 174, in evaluation_step
    output = self.trainer.accelerator.validation_step(args)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\accelerators\accelerator.py", line 226, in validation_step
    return self.training_type_plugin.validation_step(*args)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pytorch_lightning\plugins\training_type\training_type_plugin.py", line 161, in validation_step
    return self.lightning_module.validation_step(*args, **kwargs)
  File "train.py", line 195, in validation_step
    outs = self(batch)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "train.py", line 185, in forward
    labels=inputs['labels'], return_dict=True)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\transformers\models\bart\modeling_bart.py", line 1295, in forward
    return_dict=return_dict,
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\transformers\models\bart\modeling_bart.py", line 1157, in forward
    return_dict=return_dict,
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\transformers\models\bart\modeling_bart.py", line 748, in forward
    inputs_embeds = self.embed_tokens(input_ids) * self.embed_scale
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\modules\sparse.py", line 126, in forward
    self.norm_type, self.scale_grad_by_freq, self.sparse)
  File "C:\Users\Newrun\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\torch\nn\functional.py", line 1852, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Expected tensor for argument #1 'indices' to have scalar type Long; but got torch.IntTensor instead (while checking arguments for embedding)

정상적으로 작동하게 하기 위해서는 어떻게 해야할까요??ㅜㅜ
감사합니다

Pre-training objectives 관련 질문드립니다.

안녕하세요.
소개페이지에는 Text Infilling에 대한 설명만 있어서 확인차 질문 드립니다.

  • BART논문에서와 같이
    Pre-training objective를 Text Infilling + Sentence Shuffling 조합으로 training 시킨게 맞는지요?

  • 그리고 혹시 데이터 중 Other corpus(0.27B)에 해당하는 데이터에 대한
    조금 더 자세한 항목이나 비율 정보를 알려주실 수 있으실까요?
    모두의 말뭉치에서 대화, 뉴스 외에 어떤 데이터를 이용하셨는지, 각 데이터의 개략적인 비율은 어떻게 되는지 궁금합니다.

좋은 모델 공개해주셔서 정말 감사합니다.

BartForSequenceClassification이 올바르게 동작하지 않습니다.

🐛 Bug

BartForSequenceClassification 이 제대로 동작하지 않습니다. Tutorial에서 model만 살짝 바꿨는데 에러가 나네요.
Original(English) Bart는 잘 동작하는데, KoBART는 안 되네요.. eos token 관련 문제인 것 같은데, 확인 부탁드립니다.

To Reproduce

from transformers import BartTokenizer, BartForSequenceClassification
from kobart import get_pytorch_kobart_model, get_kobart_tokenizer
from transformers.models.bart.modeling_bart import *

tokenizer = BartTokenizer.from_pretrained("facebook/bart-base")
model = BartForSequenceClassification.from_pretrained("facebook/bart-base")

inputs = tokenizer(["Hello, my dog is cute"], return_tensors="pt")
labels = torch.tensor([1]).unsqueeze(0) # Batch size 1
outputs = model(inputs['input_ids'], labels=labels)
print(outputs.logits)

kobart_tokenizer = get_kobart_tokenizer()
ko_model = BartForSequenceClassification.from_pretrained(get_pytorch_kobart_model())

inputs = kobart_tokenizer(['안녕하세요.'], return_tensors='pt')
labels = torch.tensor([1]).unsqueeze(0) # Batch size 1
ko_model(inputs['input_ids'], labels=labels)

버그를 재현하기 위한 재현절차를 작성해주세요.

  1. BART와 KoBART 설치 후 실행

Expected behavior

정상적으로 outputs에 해당하는 값이 나와야 하는데...안 나오네요

Environment

Colab과 Local 모두에서 테스트
Local 환경
Package Version


absl-py 1.0.0
cachetools 5.0.0
certifi 2021.10.8
charset-normalizer 2.0.11
click 8.0.3
colorama 0.4.4
cycler 0.11.0
filelock 3.4.2
fonttools 4.29.1
google-auth 2.6.0
google-auth-oauthlib 0.4.6
grpcio 1.43.0
huggingface-hub 0.4.0
idna 3.3
importlib-metadata 4.10.1
joblib 1.1.0
kiwisolver 1.3.2
Markdown 3.3.6
matplotlib 3.5.1
mkl-fft 1.3.1
mkl-random 1.2.2
mkl-service 2.4.0
nltk 3.6.7
numpy 1.21.2
oauthlib 3.2.0
olefile 0.46
packaging 21.3
Pillow 8.4.0
pip 21.2.2
protobuf 3.19.4
pyasn1 0.4.8
pyasn1-modules 0.2.8
pyparsing 3.0.7
python-dateutil 2.8.2
PyYAML 6.0
regex 2022.1.18
requests 2.27.1
requests-oauthlib 1.3.1
rouge-score 0.0.4
rsa 4.8
sacremoses 0.0.47
setuptools 58.0.4
six 1.16.0
tensorboard 2.8.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.1
tokenizers 0.11.4
torch 1.10.2
torchaudio 0.10.2
torchvision 0.11.3
tqdm 4.62.3
transformers 4.16.2
typing-extensions 3.10.0.2
urllib3 1.26.8
Werkzeug 2.0.2
wheel 0.37.1
wincertstore 0.2
zipp 3.7.0

Additional context

Dropping <unk> token

아래와 같이 토큰을 누락시키는 버그가 존재함.

>>> from kobart import get_kobart_tokenizer
>>> kobart_tokenizer = get_kobart_tokenizer()
>>> kobart_tokenizer.tokenize("ab헣㉿cde")
['▁', 'ab', 'c', 'd', 'e']

KoBART Tokenizer를 사용한 한국어 QA Dataset의 Model Training 질문드립니다.

안녕하세요.
우선 좋은 자료 공유해주셔서 감사드립니다.

현재 KoBART를 사용하여 QA task를 구현하기 위해서, Transformer에서 KoBART Tokenizer와 AutoModelForQuestionAnswering 모델을 사용하여 KorQuAD 1.0 Dataset을 Training 하고 있습니다.
하지만 Training 과정에서 model save를 할 때 다음과 같은 오류가 발생하여 질문 드립니다.

[INFO|configuration_utils.py:329] 2021-04-28 16:20:12,610 >> Configuration saved in models/checkpoint-45000/config.json44998/56471 [5:26:32<1:22:42, 2.31it/s]
[INFO|modeling_utils.py:848] 2021-04-28 16:20:13,520 >> Model weights saved in models/checkpoint-45000/pytorch_model.bin
[INFO|tokenization_utils_base.py:1918] 2021-04-28 16:20:13,521 >> tokenizer config file saved in models/checkpoint-45000/tokenizer_config.json
[INFO|tokenization_utils_base.py:1924] 2021-04-28 16:20:13,521 >> Special tokens file saved in models/checkpoint-45000/special_tokens_map.json
[WARNING|tokenization_gpt2.py:288] 2021-04-28 16:20:13,619 >> Saving vocabulary to models/checkpoint-45000/merges.txt: BPE merge indices are not consecutive. Please check that the tokenizer is not corrupted!
[WARNING|tokenization_gpt2.py:288] 2021-04-28 16:20:13,620 >> Saving vocabulary to models/checkpoint-45000/merges.txt: BPE merge indices are not consecutive. Please check that the tokenizer is not corrupted!
...

model save를 담당하는 코드를 살펴보니 merge.txt를 작성할 때에 bpe_tokens를 뽑아내게 되는데, 이 때에 index와 token_index가 같은 value가 아니게 되는 문제가 발생하는 것 같습니다. 이 오류가 Tokenization 오류인지 혹은 model 자체의 오류인지 혹시 확인 가능할까요?

Training은 이 코드를 통해서 이루어졌습니다.
감사합니다!

pretrain 시 입력값 형태 질문

안녕하세요! 우선 KoBART를 공개해주셔서 감사합니다! 덕분에 편하게 프로젝트를 진행할 수 있게 되었습니다!

친구들과 함께 KoBART를 이용하여 pegasus를 개발하려 하는데, KoBART pretrain 시 구체적인 입력값을 찾지 못해 질문드리게 되었습니다.

물론 이전에도 #2 처럼 이슈를 제기해주신 분이 계신데, 제가 지식이 부족한 탓에 잘 이해가 가지 않아 다시 질문드리게 되었습니다.

제가 이해한 바로는 다음과 같이 여러 문장을 인코더나 디코더에 싣고 계신데 혹시 맞나요?

  • raw text: 이렇게 문장을 입력하면 되나요? 맞는지 궁금합니다.
  • tokenized :
    image

Multi class classification

안녕하세요!!

우선 좋은 코드 제공해 주셔서 감사합니다 :)

ValueError: The highest label in `target` should be smaller than the size of the `C` dimension of `preds`.

nsmc.py 코드로 7가지 클래스 분류를 하려고 합니다. validation step에서 위와 같은 오류가 발생합니다. 다중 클래스 분류를 위한 모델의 output 차원을 변경할 수 있는 방법이 궁금합니다.

감사합니다.

KoBART-translation Demo 전 문의

안녕하세요!
https://github.com/seujung/KoBART-translation 관련 내용이 부족하여 문의하러 오게 되었습니다.
https://github.com/seujung/KoBART-translation 에 따라 train 진행 후 데모를 위해

python get_model_binary.py --hparams ./logs/tb_logs/default/version_0/hparams.yaml --model_binary ./logs/kobart_translation-model_chp/epoch=49-val_loss=9.253.ckpt
까지 한 상황인데요,
해당 명령어의 output으로 ./translation_binary이 나와야한다고 생각했는데, config.jsonpytorch_model.bin 이 나왔습니다.

이후 streamlit run infer.py를 실행하여 Demo page를 열면
image
OSError: Can't load the configuration of './translation_binary'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure './translation_binary' is the correct path to a directory containing a config.json file Traceback: File "/home/lib/python3.8/site-packages/streamlit/script_runner.py", line 332, in _run_script exec(code, module.__dict__) File "/home/KoBART-translation/infer.py", line 12, in <module> model = load_model() File "/home/lib/python3.8/site-packages/streamlit/caching.py", line 604, in wrapped_func return get_or_create_cached_value() File "/home/lib/python3.8/site-packages/streamlit/caching.py", line 588, in get_or_create_cached_value return_value = func(*args, **kwargs) File "/home/KoBART-translation/infer.py", line 8, in load_model model = BartForConditionalGeneration.from_pretrained('./translation_binary') File "/home/lib/python3.8/site-packages/transformers/modeling_utils.py", line 2175, in from_pretrained config, model_kwargs = cls.config_class.from_pretrained( File "/home/lib/python3.8/site-packages/transformers/configuration_utils.py", line 546, in from_pretrained config_dict, kwargs = cls.get_config_dict(pretrained_model_name_or_path, **kwargs) File "/home/lib/python3.8/site-packages/transformers/configuration_utils.py", line 573, in get_config_dict config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs) File "/home/lib/python3.8/site-packages/transformers/configuration_utils.py", line 649, in _get_config_dict raise EnvironmentError(

이와 같이 연결됩니다.

이후로 부터 어떻게 해결해야할지 갈피를 잡지 못해, 도움을 얻고자 문의드립니다. 감사합니다.

가중치 다운로드 서버의 도메인에 문제 발생

안녕하세요, 좋은 모델과 가중치를 배포해 주셔서 감사합니다.
다만 학습 가중치 도메인이 터져 현재 토큰나이저 및 가중치가 다운이 안되는 상황입니다.

dns

혹시 확인해 주실 수 있으신가요?

example 에 있는 nsmc 로 파인튜닝된 모델을 어떻게 사용해야 하나요?

example 에 있는 nsmc.py 를 활용해서 8개 클래스를 분류하는 모델을 파인튜닝 했습니다.
학습 결과로 ckpt 파일과 hparams.yaml 파일을 얻었습니다.

요약 task 할 때는 KoBart summarization git 에서 예제 코드를 얻어서 파인튜닝한 모델을 사용했었는데요.
nsmc 쪽은 사용 예제가 없어서 어떻게 사용해야 하는지 모르겠어서 문의드립니다.

사용 예제나 참고할만한 링크라도 공유해주시면 감사하겠습니다.

AttributeError: module 'torch' has no attribute 'QUInt4x2Storage'

안녕하세요
좋은소스 공유해주셔서 감사합니다

kobart translator 사용중에 해당 이슈가 발생합니다
원인을 찾던중 kobart install 이후에 해당 이슈가 발생하기 시작함을 확인했습니다

Torch == 1.7.1
pytorch-lightning == 1.1.0
python == 3.7.0

>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/anaconda3/envs/test_env/lib/python3.7/site-packages/torch/__init__.py", line 500, in <module>
    _C._initExtension(manager_path())
AttributeError: module 'torch' has no attribute 'QUInt4x2Storage'

어떤 오류인지 확인가능할까요??
좋은 자료 공유해주셔서 감사합니다!

pretrain/finetune시 사용했던 gpu

안녕하세요! 좋은 모델 공개해주셔서 감사합니다!

pretrain 및 finetune 당시 사용하셨던 gpu 스펙을 혹시 공유해주실 수 있으신가요?

감사합니다 :)

Pretrain 시 input구조에 대해서 질문드립니다!

Huggingface의 KoBART 모델쪽을 보니, decoder_input_ids가 입력값을 받지 않을 때는 아래와 같이 구성하는 것으로 확인했는데,

labels: t1, t2, t3,..., tn, eos, pad, pad
decoder_input_ids: eos, t1, t2, t3, 

혹시 pretrain시 decoder_input_ids를 직접 input넣어줄때 넣었는지, 혹은 input_ids, labels만 넣었는지 알 수 있을까요?
추가로 입력시 input_idslabels의 구조에 대해서 정확히 알 수 있을까요

ex)

input_ids = bos, t1, ..., tn, eos, pad, ...(mask포함)
labels = bos, t1, t2, ..., tn, eos, pad, ...
decoder_input_ids(직접 넣어줬다면) = bos, t1, t2, ..., tn, eos

마지막으로, 모델을 공유해주셔서 감사합니다.

데모페이지에 사용된 메소드는 무엇인가요?

데모페이지처럼 기사를 넣으면 요약된 줄거리가 나오는 메소드는 무엇을 써야하나요?

현재 가상환경 설정 및 install은 되어 있는 상태입니다.

`from transformers import BartModel
from kobart import get_pytorch_kobart_model, get_kobart_tokenizer
if name == 'main' :
kobart_tokenizer = get_kobart_tokenizer()
kobart_tokenizer.tokenize("안녕하세요. 한국어 BART 입니다.🤣:)l^o")

model = BartModel.from_pretrained(get_pytorch_kobart_model())
inputs = kobart_tokenizer(['여권에서 서울시장 보선 출마를 공식화한 것은 우 의원이 처음이다. 차기 총선에 불출마하고 모든 것을 걸겠다며 배수진을 쳤다.우 의원은 13일 국회 소통관에서 출마 기자회견을 하고 "이번 선거는 대단히 중요한 선거"라며 "문재인 대통령이 성공한 대통령으로 평가받느냐, 야당의 흠집내기, 발목잡기로 혼란스러운 국정 후반기를 보내야 하느냐를 결정하는 선거"라고 말했다.\
                           '], return_tensors='pt')
model(inputs['input_ids'])

`

어떻게 사용할 수 있는지 코드좀 알려주실수 있을까요?

from kobart import get_kobart_tokenizer
kobart_tokenizer = get_kobart_tokenizer()
kobart_tokenizer.tokenize("안녕하세요. 한국어 BART 입니다.🤣:)l^o")
['▁안녕하', '세요.', '▁한국어', '▁B', 'A', 'R', 'T', '▁입', '니다.', '🤣', ':)', 'l^o']

도무지 이해가 안되네요
3줄까지 작성하고
4줄에 print(kobart_tokenizer) 를 하면 괄호 [] 보기와 같이 나오는게 아닌가요;;

save_pretrained() 에 NotImplemented Error 발생

안녕하세요. 먼저 좋은 모델을 공개해주셔서 감사합니다.

모델의 토크나이저를 사용하는 도중 에러가 발생하여 이슈를 남깁니다.

환경

  • Python 3.6.9
  • Transformers 4.3.3
  • torch 1.7.1+cu110
  • CUDA Version 11.2
  • KoBART 0.4 ( git+https://github.com/SKT-AI/KoBART#egg=kobart 로 pip install 진행)
  • 데이터셋은 자체적으로 구축한 한국어 데이터셋 사용

오류가 발생한 코드

(일부 불필요한 내용은 생략하였습니다)

import kobart
from transformers import AutoTokenizer
if not os.path.exists("./kobart_tokenizer"):
    os.makedirs("./kobart_tokenizer")
dummy_tokenizer = kobart.get_kobart_tokenizer() 
dummy_tokenizer.save_pretrained("./kobart_tokenizer/") # 이곳에서 에러 발생
tokenizer = AutoTokenizer.from_pretrained("./kobart_tokenizer")

오류 내용

Traceback (most recent call last):
  File "misc.py", line 23, in <module>
    dummy_tokenizer.save_pretrained("./kobart_tokenizer/")
  File ".../venv/lib/python3.6/site-packages/transformers/tokenization_utils_base.py", line 1992, in save_pretrained
    filename_prefix=filename_prefix,
  File ".../venv/lib/python3.6/site-packages/transformers/tokenization_utils_fast.py", line 535, in _save_pretrained
    vocab_files = self.save_vocabulary(save_directory, filename_prefix=filename_prefix)
  File ".../venv/lib/python3.6/site-packages/transformers/tokenization_utils_base.py", line 2044, in save_vocabulary
    raise NotImplementedError
NotImplementedError

추가 설명

이 오류는 다음과 같은 코드에서 발생한 pickle 에러를 해결하려던 도중 발견하였습니다.

tokenizer = kobart.get_kobart_tokenizer()
def preprocess(sample):
    global tokenizer
    return tokenizer(sample)

# 생략

def main():
    # 생략
    dataset = dataset.map(preprocess, batched=True)

를 진행할 시, map 이 있는 라인에서 pickling Error가 발생합니다. (에러 내용이 너무 길어 일부 생략하고 마지막 부분만 기입합니다)

File ".../venv/lib/python3.6/pickle.py", line 927, in save_global
    (obj, module_name, name))
_pickle.PicklingError: Can't pickle <class 'transformers.tokenization_utils_fast.PreTrainedTokenizerFast'>: it's not the same object as transformers.tokenization_utils_fast.PreTrainedTokenizerFast

이 문제를 회피하는 방법 중에 하나로, preprocess(sample) 안에서 get_kobart_tokenizer()를 하는 방법이 있었습니다만 매번 토크나이저를 불러오게 되어 굉장히 느리고 비효율적이라고 판단되었습니다.
huggingface에서 제공하는 다른 tokenizer의 경우, 위와 같이 하나의 토크나이저를 미리 선언해둔 후 map에서 사용하여도 아무런 문제가 발생하지 않았습니다.
이를 해결하려고 tokenizer를 일단 불러온 후, save_pretrained() 를 하고 다시 AutoTokenizer.from_pretrained() 로 가져와서 실행해보려던 중 NotImplementedError가 발생하였습니다.
맥락이 다를 수는 있지만 아무래도 not the same object as ...PreTrainedTokenizerFast 부분이, 토크나이저의 일부가 구현되지 않아 생기는 오류일 수 있다는 생각에 이슈에 같이 기입하였습니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.