Transformers documentation

BARTpho

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

이 모델은 2021-09-20에 HF papers에 게시되었으며, 2021-10-18에 Hugging Face Transformers에 기여되었습니다.

BARTpho

BARTpho는 대규모 베트남어 시퀀스-투-시퀀스 모델입니다. 워드 기반 버전과 음절 기반 버전을 제공합니다. 이 모델은 BART의 대규모 아키텍처와 그 노이즈 제거 사전 학습을 기반으로 구축되었습니다.

모든 원본 체크포인트는 VinAI 조직에서 찾을 수 있습니다.

이 모델은 dqnguyen이(가) 기여했습니다. BARTpho를 다양한 언어 작업에 적용하는 예제는 오른쪽 사이드바를 확인하세요.

아래 예제는 Pipeline 또는 AutoModel 클래스를 사용하여 텍스트를 요약하는 방법을 보여줍니다.

AutoModel
from transformers import AutoTokenizer, BartForConditionalGeneration


tokenizer = AutoTokenizer.from_pretrained(
    "vinai/bartpho-word",
)
model = BartForConditionalGeneration.from_pretrained(
    "vinai/bartpho-word",
    device_map="auto",
)

text = """
Quang tổng hợp hay gọi tắt là quang hợp là quá trình thu nhận và chuyển hóa năng lượng ánh sáng Mặt trời của thực vật,
tảo và một số vi khuẩn để tạo ra hợp chất hữu cơ phục vụ bản thân cũng như làm nguồn thức ăn cho hầu hết các sinh vật
trên Trái Đất. Quang hợp trong thực vật thường liên quan đến chất tố diệp lục màu xanh lá cây và tạo ra oxy như một sản phẩm phụ
"""
inputs = tokenizer(text, return_tensors="pt").to(model.device)

outputs = model.generate(inputs["input_ids"], num_beams=2, min_length=0, max_length=20)
tokenizer.batch_decode(outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

The input is a single word "Notes". 참고

  • BARTpho는 인코더와 디코더 위에 추가적인 layer-normalization 레이어를 갖춘 BART의 대규모 아키텍처를 사용합니다. BART 전용 클래스는 mBART 전용 클래스로 대체해야 합니다.
  • 이 구현은 monolingual_vocab_file 파일을 통해 토큰화만 처리합니다. 이는 해당 다국어 어휘에서 가져온 베트남어 전용 토큰 유형 부분 집합입니다. 이 토크나이저를 다른 언어에 사용하려면 monolingual_vocab_file을 대상 언어에 특화된 것으로 교체하세요.

BartphoTokenizer

클래스 transformers.BartphoTokenizer

< >

( vocab_filemonolingual_vocab_filebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'sp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )

매개변수

  • vocab_file (str) — 어휘 파일의 경로입니다. 이 어휘는 mBART에서도 사용되는 250K 타입으로 구성된, 다국어 XLM-RoBERTa에서 제공되는 사전 학습된 SentencePiece 모델입니다.
  • monolingual_vocab_file (str) — 단일 언어 어휘 파일의 경로입니다. 이 단일 언어 어휘는 250K 타입의 다중 언어 어휘인 vocab_file에서 추출된 베트남어 특화 타입으로 구성됩니다.
  • bos_token (str, 선택 사항, 기본값은 "<s>") — 사전 학습 시 사용된 시퀀스 시작 토큰입니다. 시퀀스 분류기 토큰으로 사용할 수 있습니다.

    특수 토큰을 사용하여 시퀀스를 구성할 때, 시퀀스의 시작에 사용되는 토큰은 이 토큰이 아닙니다. 사용되는 토큰은 cls_token입니다.

  • eos_token (str, 선택 사항, 기본값은 "</s>") — 시퀀스 종료 토큰입니다. 특수 토큰을 사용하여 시퀀스를 구성할 때, 시퀀스 종료에 사용되는 토큰은 이 토큰이 아닙니다. 시퀀스 종료에 사용되는 토큰은 sep_token입니다.

    특수 토큰을 사용하여 시퀀스를 구성할 때, 시퀀스 끝에는 이 토큰이 사용되지 않습니다. 사용되는 토큰은 sep_token입니다.

  • sep_token (str, 선택, 기본값 "</s>") — 여러 시퀀스로 시퀀스를 구성할 때 사용되는 구분 토큰입니다. 예를 들어 시퀀스 분류의 두 시퀀스나 질의응답의 텍스트와 질문 등에 사용됩니다. 특수 토큰으로 구성된 시퀀스의 마지막 토큰으로도 사용됩니다.
  • cls_token (str, 선택 사항, 기본값 "<s>") — 시퀀스 분류(토큰별 분류가 아닌 전체 시퀀스 분류)를 수행할 때 사용되는 분류기 토큰입니다. 특수 토큰을 사용하여 시퀀스를 구성할 경우 시퀀스의 첫 번째 토큰입니다.
  • unk_token (str, 선택 사항, 기본값 "<unk>") — 미지의 토큰입니다. 어휘에 없는 토큰은 ID로 변환할 수 없으므로, 대신 이 토큰으로 설정됩니다.
  • pad_token (str, 선택 사항, 기본값 "<pad>") — 패딩에 사용되는 토큰입니다. 예를 들어, 길이가 다른 시퀀스를 배치(batching)할 때 사용됩니다.
  • mask_token (str, 선택 사항, 기본값 "<mask>") — 값을 마스킹하는 데 사용되는 토큰입니다. 이는 masked language modeling으로 이 모델을 학습할 때 사용되는 토큰이며, 모델이 예측을 시도하는 대상이 되는 토큰입니다.
  • 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 프로세서입니다.

XLMRobertaTokenizer에서 파생되었습니다. SentencePiece를 기반으로 합니다.

이 토크나이저는 대부분의 주요 메서드를 포함하는 PreTrainedTokenizer를 상속합니다. 해당 메서드에 대한 자세한 내용은 이 상위 클래스를 참고하세요.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

매개변수

  • token_ids_0 (list[int]) — 특별 토큰이 추가될 ID 목록입니다.
  • token_ids_1 (list[int], 선택 사항) — 시퀀스 쌍을 위한 선택적 두 번째 ID 목록입니다.

반환값

list[int]

적절한 특수 토큰이 포함된 입력 ID 목록

시퀀스 분류 작업을 위해 시퀀스 하나 또는 시퀀스 쌍을 연결하고 특수 토큰을 추가하여 모델 입력을 구성합니다. BARTPho 시퀀스는 다음과 같은 형식을 가집니다:

  • 단일 시퀀스: <s> X </s>
  • 시퀀스 쌍: <s> A </s></s> B </s>

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

매개변수

  • token_ids_0 (list[int]) — ID 목록.
  • token_ids_1 (list[int], 선택 사항) — 시퀀스 쌍을 위한 선택적 두 번째 ID 목록입니다.

반환값

list[int]

0으로만 이루어진 리스트.

시퀀스-페어 분류 작업에 사용될 두 시퀀스로부터 마스크를 생성합니다. BARTPho는 토큰 타입 ID를 사용하지 않으므로, 0의 리스트가 반환됩니다.

get_special_tokens_mask

< >

( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]

매개변수

  • token_ids_0 (list[int]) — ID 목록.
  • token_ids_1 (list[int], 선택 사항) — 시퀀스 쌍을 위한 선택적 두 번째 ID 목록입니다.
  • already_has_special_tokens (bool, 선택, 기본값 False) — 토큰 목록이 이미 모델의 특수 토큰으로 포맷되어 있는지 여부입니다.

반환값

list[int]

[0, 1] 범위의 정수 목록: 특수 토큰은 1, 시퀀스 토큰은 0.

특수 토큰이 추가되지 않은 토큰 목록에서 시퀀스 ID를 가져옵니다. 이 메서드는 토크나이저의 prepare_for_model 메서드를 사용하여 특수 토큰을 추가할 때 호출됩니다.

get_vocab

< >

( )

fairseq 어휘 사용을 위해 오버라이드

Update on GitHub