Transformers documentation
GPT-Sw3
이 모델은 2022-12-12에 Hugging Face Transformers에 기여되었습니다.
GPT-Sw3
개요
GPT-Sw3 모델은 Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren이 작성한 Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish에서 처음 제안되었습니다.
첫 번째 논문 이후로 저자들은 작업을 확장하여, The Nordic Pile이라는 이름의 새로운 1.2TB 코퍼스로 새로운 모델을 학습시켰습니다.
GPT-Sw3는 AI Sweden이 RISE 및 WASP WARA for Media and Language와 협력하여 개발한 대규모 decoder-only 사전 학습 transformer 언어 모델 모음입니다. GPT-Sw3는 스웨덴어, 노르웨이어, 덴마크어, 아이슬란드어, 영어 및 프로그래밍 코드를 포함하는 320B 토큰의 데이터셋으로 학습되었습니다. 해당 모델은 NeMo Megatron GPT 구현을 활용하여 causal language modeling(CLM) 목적 함수를 사용해 사전 학습되었습니다.
이 모델은 AI Sweden Models에서 기여했습니다.
사용 예시
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-356m")
model = AutoModelForCausalLM.from_pretrained("AI-Sweden-Models/gpt-sw3-356m", device_map="auto")
input_ids = tokenizer("Träd är fina för att", return_tensors="pt").to(model.device)["input_ids"]
generated_token_ids = model.generate(inputs=input_ids, max_new_tokens=10, do_sample=True)[0]
print(tokenizer.decode(generated_token_ids))
Träd är fina för att de är färgstarka. Men ibland är det fint리소스
구현에는
GPT2Model과GPTSw3Tokenizer가 함께 사용됩니다. API 참고 사항 및 예제는 GPT2Model 문서를 참조하세요.토크나이저를 사용하려면 sentencepiece가 필요하며,
pip install transformers[sentencepiece]또는pip install sentencepiece로 설치할 수 있습니다.
GPTSw3Tokenizer
클래스 transformers.GPTSw3Tokenizer
< source >( vocab_filedo_lower_case = Falseremove_space = Falsekeep_accents = Falsepad_token = Noneunk_token = Noneeos_token = Nonebos_token = Nonesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
매개변수
- vocab_file (
str) — 토크나이저를 인스턴스화하는 데 필요한 어휘를 포함하는 SentencePiece 파일(일반적으로 .spm 확장자를 가짐). - do_lower_case (
bool, 선택 사항, 기본값False) — 토큰화할 때 입력을 소문자로 변환할지 여부. - remove_space (
bool, 선택 사항, 기본값False) — 토큰화 시 텍스트를 제거할지 여부(문자열 앞뒤의 불필요한 공백을 제거). - keep_accents (
bool, 선택, 기본값False) — 토큰화할 때 발음 기호를 유지할지 여부입니다. - pad_token (
str, 선택 사항) — 패딩에 사용되는 토큰입니다. 예를 들어 길이가 다른 시퀀스를 배치할 때 사용됩니다. 지정하지 않으면 모델 크기에 따라 ’’ 또는 ’ ’가 기본값으로 사용됩니다. - unk_token (
str, 선택) — 미지의 토큰입니다. 어휘에 없는 토큰은 ID로 변환할 수 없으므로 이 토큰으로 설정됩니다. 지정하지 않으면 기본값은 ’‘. 입니다. - eos_token (
str, 선택) — 사전 학습 과정에서 사용되는 시퀀스 종료 토큰입니다. 제공되지 않으면 기본값으로 ’<|endoftext|>’가 사용됩니다. - bos_token (
str, 선택 사항) — 하위 작업에 사용할 수 있는 시퀀스 시작 토큰으로, 사전 학습 과정에서 확인되지 않았습니다. 제공되지 않으면 모델 크기에 따라 기본값이 ’’ 또는 ’<|endoftext|>’로 설정됩니다. - sp_model_kwargs (
dict, 선택 사항) — 다음 메서드에 전달됩니다.SentencePieceProcessor.__init__()SentencePiece의 Python 래퍼 를 사용하여 다음을 설정할 수 있습니다:-
enable_sampling: 서브워드 정규화를 활성화합니다. -
nbest_size: unigram의 샘플링 파라미터입니다. BPE-Dropout에는 사용할 수 없습니다.nbest_size = {0,1}: 샘플링이 수행되지 않습니다.nbest_size > 1: nbest_size 결과에서 샘플링합니다.nbest_size < 0: nbest_size가 무한하다고 가정하고, forward-filtering-and-backward-sampling 알고리즘을 사용하여 모든 가설(lattice)에서 샘플링합니다.
-
alpha: unigram 샘플링의 smoothing parameter 및 BPE-dropout의 merge 작업 dropout 확률
-
- sp_model (
SentencePieceProcessor) — 모든 변환(문자열, 토큰 및 ID)에 사용되는 SentencePiece 프로세서입니다. - whitespaces (
set) — 전처리 단계의 공백 정규화에서 치환되는 공백 문자입니다. - non_printing_characters_re (
Pattern) — 전처리에서 비인쇄 가능 문자를 제거하기 위한 컴파일된 정규식입니다.
SentencePiece 기반의 GPTSw3 토크나이저를 구성합니다.
이 토크나이저는 대부분의 주요 메서드를 포함하는 PreTrainedTokenizer를 상속합니다. 해당 메서드에 대한 자세한 내용은 이 상위 클래스를 참고하세요.
사용 예시:
>>> from transformers import GPTSw3Tokenizer
>>> tokenizer = GPTSw3Tokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-126m")
>>> tokenizer("Svenska är kul!")["input_ids"]
[1814, 377, 3617, 63504]save_vocabulary
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
…