Transformers documentation

GPT-Sw3

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

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á ’’ 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 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