Transformers documentation

GPT-Sw3

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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 fint

Recursos

A implementação utiliza o GPT2Model acoplado ao nosso GPTSw3Tokenizer. 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] ou pip install sentencepiece

GPTSw3Tokenizer

classe transformers.GPTSw3Tokenizer

< >

( 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ão False) — Indica se o texto de entrada deve ser convertido para minúsculas durante a tokenização.
  • remove_space (bool, opcional, padrão False) — 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ão False) — 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á ’<pad>’ ou ’<unk>’, 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á ’<unk>‘.
  • 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 o SentencePieceProcessor.__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

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple(str)

Parâmetros

  • save_directory (str) — O diretório no qual salvar o vocabulário.
  • filename_prefix (str, opcional) — Um prefixo opcional para adicionar ao nome dos arquivos salvos.

Retorna

tuple(str)

Caminhos para os arquivos salvos.

Salve o vocabulário sentencepiece (copie o arquivo original) para um diretório.

Update on GitHub