Transformers documentation
GPT-Sw3
Este modelo foi contribuído para o Hugging Face Transformers em 12/12/2022.
GPT-Sw3
Visão geral
O modelo GPT-Sw3 foi proposto pela primeira vez em Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish, por Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson e Magnus Sahlgren.
Desde aquele primeiro artigo, os autores estenderam seu trabalho e treinaram novos modelos em seus novos corpora de 1,2 TB, denominados The Nordic Pile.
GPT-Sw3 é uma coleção de grandes modelos de linguagem transformer pré-treinados, apenas de decodificador, desenvolvidos pela AI Sweden em colaboração com o RISE e o WASP WARA para Mídia e Linguagem. O GPT-Sw3 foi treinado em um conjunto de dados contendo 320B tokens em sueco, norueguês, dinamarquês, islandês, inglês e código de programação. O modelo foi pré-treinado utilizando um objetivo de modelagem de linguagem causal (CLM) com a implementação NeMo Megatron GPT.
Este modelo foi contribuído por AI Sweden Models.
Exemplo de uso
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 fintRecursos
- Guia da tarefa de classificação de texto
- Guia de tarefas de classificação de tokens
- Guia da tarefa de modelagem de linguagem causal
A implementação utiliza o
GPT2Modelacoplado ao nossoGPTSw3Tokenizer. Consulte a documentação do GPT2Model para referência da API e exemplos.Observe que o sentencepiece é necessário para usar nosso tokenizer e pode ser instalado com
pip install transformers[sentencepiece]oupip install sentencepiece
GPTSw3Tokenizer
classe 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 )
Parâmetros
- vocab_file (
str) — arquivo SentencePiece (geralmente com a extensão .spm) que contém o vocabulário necessário para instanciar um tokenizador. - do_lower_case (
bool, opcional, padrãoFalse) — Indica se o texto de entrada deve ser convertido para minúsculas durante a tokenização. - remove_space (
bool, opcional, padrãoFalse) — Indica se o texto deve ser removido de espaços em branco durante a tokenização (removendo espaços excedentes antes e depois da string). - keep_accents (
bool, opcional, padrãoFalse) — Indica se os acentos devem ser mantidos durante a tokenização. - pad_token (
str, opcional) — O token usado para preenchimento, por exemplo, ao agrupar sequências de comprimentos diferentes. Se não for fornecido, o padrão será ’’ ou ’ ’, dependendo do tamanho do modelo. - unk_token (
str, opcional) — O token desconhecido. Um token que não está no vocabulário não pode ser convertido em um ID e é definido como este token em vez disso. Se não for fornecido, o padrão será ’‘. - eos_token (
str, opcional) — O token de fim de sequência visto durante o pré-treinamento. Se não for fornecido, o padrão será ’<|endoftext|>’ - bos_token (
str, opcional) — O token de início de sequência que pode ser usado para tarefas de pós-processamento e que não foi visto durante o pré-treinamento. Se não for fornecido, o valor padrão será ’’ ou ’<|endoftext|>’, dependendo do tamanho do modelo. - sp_model_kwargs (
dict, opcional) — Será passado para oSentencePieceProcessor.__init__()método. O wrapper em Python para SentencePiece pode ser usado, entre outras coisas, para definir:-
enable_sampling: Ativa a regularização de subpalavras. -
nbest_size: Parâmetros de amostragem para unigramas. Inválido para BPE-Dropout.nbest_size = {0,1}: Nenhuma amostragem é realizada.nbest_size > 1: amostra dos resultados do nbest_size.nbest_size < 0: assume que nbest_size é infinito e amostra de todas as hipóteses (lattice) usando o algoritmo de filtragem para frente e amostragem para trás (forward-filtering-and-backward-sampling).
-
alpha: Parâmetro de suavização para amostragem de unigramas e probabilidade de dropout para operações de mesclagem no BPE-dropout.
-
- sp_model (
SentencePieceProcessor) — O processador SentencePiece usado em todas as conversões (string, tokens e IDs). - whitespaces (
set) — Os espaços em branco que são substituídos na normalização de espaços em branco durante o pré-processamento. - non_printing_characters_re (
Pattern) — A expressão regular compilada para remover caracteres não imprimíveis no pré-processamento.
Construa um tokenizador GPTSw3. Baseado no SentencePiece.
Este tokenizer herda de PreTrainedTokenizer, que contém a maioria dos métodos principais. Os usuários devem consultar essa superclasse para obter mais informações sobre esses métodos.
Exemplo de uso:
>>> 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)
Salve o vocabulário sentencepiece (copie o arquivo original) para um diretório.