Transformers documentation
GPT-Sw3
Эта модель была добавлена в 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
< 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 )
Параметры
- 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
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
Сохраните словарь sentencepiece (скопируйте исходный файл) в каталог.