Kobart model on huggingface transformers
Project description
KoBART-Transformers
- SKT에서 공개한 KoBART를 편리하게 사용할 수 있게 transformers로 포팅하였습니다.
Install (Optional)
BartModel
과PreTrainedTokenizerFast
를 이용하면 설치하실 필요 없습니다.
pip install kobart-transformers
Tokenizer
PreTrainedTokenizerFast
를 이용하여 구현되었습니다.PreTrainedTokenizerFast.from_pretrained("hyunwoongko/kobart")
와 동일합니다.
>>> from kobart_transformers import get_kobart_tokenizer
>>> # from transformers import PreTrainedTokenizerFast
>>> kobart_tokenizer = get_kobart_tokenizer()
>>> # kobart_tokenizer = PreTrainedTokenizerFast.from_pretrained("hyunwoongko/kobart")
>>> kobart_tokenizer.tokenize("안녕하세요. 한국어 BART 입니다.🤣:)l^o")
['▁안녕하', '세요.', '▁한국어', '▁B', 'A', 'R', 'T', '▁입', '니다.', '🤣', ':)', 'l^o']
Model
BartModel
을 이용하여 구현되었습니다.BartModel.from_pretrained("hyunwoongko/kobart")
와 동일합니다.
>>> from kobart_transformers import get_kobart_model, get_kobart_tokenizer
>>> # from transformers import BartModel
>>> kobart_tokenizer = get_kobart_tokenizer()
>>> model = get_kobart_model()
>>> # model = BartModel.from_pretrained("hyunwoongko/kobart")
>>> inputs = kobart_tokenizer(['안녕하세요.'], return_tensors='pt')
>>> model(inputs['input_ids'])
Seq2SeqModelOutput(last_hidden_state=tensor([[[-0.4488, -4.3651, 3.2349, ..., 5.8916, 4.0497, 3.5468],
[-0.4096, -4.6106, 2.7189, ..., 6.1745, 2.9832, 3.0930]]],
grad_fn=<TransposeBackward0>), past_key_values=None, decoder_hidden_states=None, decoder_attentions=None, cross_attentions=None, encoder_last_hidden_state=tensor([[[ 0.4624, -0.2475, 0.0902, ..., 0.1127, 0.6529, 0.2203],
[ 0.4538, -0.2948, 0.2556, ..., -0.0442, 0.6858, 0.4372]]],
grad_fn=<TransposeBackward0>), encoder_hidden_states=None, encoder_attentions=None)
For Seq2Seq Training
- seq2seq 학습시에는 아래와 같이
get_kobart_for_conditional_generation()
을 이용합니다. BartForConditionalGeneration.from_pretrained("hyunwoongko/kobart")
와 동일합니다.
>>> from kobart_transformers import get_kobart_for_conditional_generation
>>> # from transformers import BartForConditionalGeneration
>>> model = get_kobart_for_conditional_generation()
>>> # model = BartForConditionalGeneration.from_pretrained("hyunwoongko/kobart")
Updates Notes
version 0.1
pad
토큰이 설정되지 않은 에러를 해결하였습니다.
from kobart import get_kobart_tokenizer
kobart_tokenizer = get_kobart_tokenizer()
kobart_tokenizer(["한국어", "BART 모델을", "소개합니다."], truncation=True, padding=True)
{
'input_ids': [[28324, 3, 3, 3, 3], [15085, 264, 281, 283, 24224], [15630, 20357, 3, 3, 3]],
'token_type_ids': [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]],
'attention_mask': [[1, 0, 0, 0, 0], [1, 1, 1, 1, 1], [1, 1, 0, 0, 0]]
}
version 0.1.3
get_kobart_for_conditional_generation()
를__init__.py
에 등록하였습니다.
version 0.1.4
- 누락되었던
special_tokens_map.json
을 추가하였습니다. - 이제
pip install
없이 KoBART를 이용할 수 있습니다.
Reference
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file kobart_transformers-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: kobart_transformers-0.1.4-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64e873958c85c81b69cc3bc8b9aa8a1fc39bdc3a61428ad6938eadf2b5d2062d |
|
MD5 | c02ad535475194e959138448a4665665 |
|
BLAKE2b-256 | 6641218da0e05f10b2ead251b6344bf76c725054ab2a6f5d17886e1ba0d96e35 |