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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была добавлена в Hugging Face Transformers 12.12.2022.

GPT-Sw3

Обзор

Модель GPT-Sw3 была впервые предложена в статье Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish авторов Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren.

С момента публикации первой статьи авторы расширили свою работу и обучили новые модели на своих новых корпусах объёмом 1,2 ТБ, получивших название The Nordic Pile.

GPT-Sw3 — это набор крупных предобученных трансформерных языковых моделей с архитектурой только декодера, разработанных AI Sweden в сотрудничестве с RISE и WASP WARA for Media and Language. GPT-Sw3 обучен на наборе данных, содержащем 320 млрд токенов на шведском, норвежском, датском, исландском, английском языках, а также на программном коде. Предобучение модели выполнялось с использованием цели каузального языкового моделирования (CLM) на базе реализации NeMo Megatron GPT.

Эта модель была предоставлена 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

< >

( 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__() . Python-обёртка для SentencePiece может использоваться, в том числе, для настройки:
    • enable_sampling: Включает субсловарную регуляризацию.

    • nbest_size: Параметры выборки для униграмм. Недействительно для BPE-Dropout.

      • nbest_size = {0,1}: выборка не выполняется.
      • nbest_size > 1: выборка из результатов nbest_size.
      • nbest_size < 0: предполагается, что nbest_size бесконечен, и выборка выполняется из всех гипотез (решётки) с использованием алгоритма forward-filtering-and-backward-sampling.
    • alpha: Параметр сглаживания для выборки униграмм и вероятность отбрасывания (dropout) операций слияния для BPE-dropout.

  • sp_model (SentencePieceProcessor) — Процессор SentencePiece, используемый для каждого преобразования (строки, токены и ID).
  • whitespaces (set) — Символы пробельных знаков, которые заменяются при нормализации пробелов на этапе предобработки.
  • non_printing_characters_re (Pattern) — Скомпилированное регулярное выражение для удаления непечатаемых символов на этапе предобработки.

Создайте токенизатор GPTSw3. Основан на SentencePiece.

Этот токенизатор наследуется от 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

< >

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

Параметры

  • save_directory (str) — Каталог, в котором сохраняется словарь.
  • filename_prefix (str, необязательный) — Необязательный префикс, добавляемый к именам сохраняемых файлов.

Возвращает

tuple(str)

Пути к сохранённым файлам.

Сохраните словарь sentencepiece (скопируйте исходный файл) в каталог.

Update on GitHub