/ Модель

Характеристики

Контекст
512 токенов
Параметры
138 млн
Лицензия
MIT
Архитектура
albert · dense

albert-base-japanese-v1

Заполнение пропусковТекст → текст3 профессии

Японская предварительно обученная модель ALBERT для заполнения пропусков в тексте и дообучения под другие задачи.

336скачиваний за 30 дней0лайковвеса обновлены21 дек 2021

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ken11/albert-base-japanese-v1 — предварительно обученная японскоязычная модель ALBERT, разработанная автором репозитория ken11. Она предназначена для подстановки пропущенных токенов и дообучения под прикладные задачи. Архитектура — AlbertForMaskedLM с 137,8 млн параметров; модель принимает текст, использует токенизатор SentencePiece и поддерживает контекст до 512 токенов.

Для предобучения использованы японская Википедия и корпус новостей livedoor. Веса доступны в форматах PyTorch и TensorFlow. При заполнении масок требуется учитывать особенность токенизатора: без дополнительной обработки после токена [MASK] могут появляться лишние токены. Лицензия — MIT.

Сценарии применения

  • подстановка пропущенного слова в японском тексте
  • получение вариантов продолжения для замаскированного фрагмента
  • дообучение японской языковой модели под прикладную задачу

Ограничения

При использовании fill-mask токенизатор может добавлять лишние токены после [MASK], поэтому вывод требует предусмотренной карточкой дополнительной обработки. Для других прикладных задач модель необходимо дообучить.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

albert-base-japanese-v1

日本語事前学習済みALBERTモデルです

How to use

ファインチューニング

このモデルはPreTrainedモデルです
基本的には各種タスク用にファインチューニングして使用されることを想定しています

Fill-Mask

このモデルではTokenizerにSentencepieceを利用しています
そのままでは[MASK]トークンのあとに余計なトークンが混入する問題があるので、利用する際には以下のようにする必要があります

for PyTorch

from transformers import (
    AlbertForMaskedLM, AlbertTokenizerFast
)
import torch


tokenizer = AlbertTokenizerFast.from_pretrained("ken11/albert-base-japanese-v1")
model = AlbertForMaskedLM.from_pretrained("ken11/albert-base-japanese-v1")

text = "大学で[MASK]の研究をしています"
tokenized_text = tokenizer.tokenize(text)
del tokenized_text[tokenized_text.index(tokenizer.mask_token) + 1]

input_ids = [tokenizer.cls_token_id]
input_ids.extend(tokenizer.convert_tokens_to_ids(tokenized_text))
input_ids.append(tokenizer.sep_token_id)

inputs = {"input_ids": [input_ids], "token_type_ids": [[0]*len(input_ids)], "attention_mask": [[1]*len(input_ids)]}
batch = {k: torch.tensor(v, dtype=torch.int64) for k, v in inputs.items()}
output = model(**batch)[0]
_, result = output[0, input_ids.index(tokenizer.mask_token_id)].topk(5)

print(tokenizer.convert_ids_to_tokens(result.tolist()))
# ['英語', '心理学', '数学', '医学', '日本語']

for TensorFlow

from transformers import (
    TFAlbertForMaskedLM, AlbertTokenizerFast
)
import tensorflow as tf


tokenizer = AlbertTokenizerFast.from_pretrained("ken11/albert-base-japanese-v1")
model = TFAlbertForMaskedLM.from_pretrained("ken11/albert-base-japanese-v1")

text = "大学で[MASK]の研究をしています"
tokenized_text = tokenizer.tokenize(text)
del tokenized_text[tokenized_text.index(tokenizer.mask_token) + 1]

input_ids = [tokenizer.cls_token_id]
input_ids.extend(tokenizer.convert_tokens_to_ids(tokenized_text))
input_ids.append(tokenizer.sep_token_id)

inputs = {"input_ids": [input_ids], "token_type_ids": [[0]*len(input_ids)], "attention_mask": [[1]*len(input_ids)]}
batch = {k: tf.convert_to_tensor(v, dtype=tf.int32) for k, v in inputs.items()}
output = model(**batch)[0]
result = tf.math.top_k(output[0, input_ids.index(tokenizer.mask_token_id)], k=5)

print(tokenizer.convert_ids_to_tokens(result.indices.numpy()))
# ['英語', '心理学', '数学', '医学', '日本語']

Training Data

学習には

を利用しています

Tokenizer

トークナイザーはSentencepieceを利用しています
こちらも学習データは同様です

Licenese

The MIT license

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
AlbertForMaskedLM
Ревизия весов
0b768a8

0 моделей