Можно ли использовать модель mT5 на Huggingface для машинного перевода?

The Модель предварительно обучена на корпусе mC4, охватывающем 101 язык:

Африкаанс, албанский, амхарский, арабский, армянский, азербайджанский, баскский, белорусский, бенгальский, болгарский, бирманский, каталанский, кебуанский, чичева, китайский, корсиканский, чешский, датский, голландский, английский, эсперанто, эстонский, филиппинский, финский, французский, Галисийский, грузинский, немецкий, греческий, гуджарати, гаитянский креольский, хауса, гавайский, иврит, хинди, хмонг, венгерский, исландский, игбо, индонезийский, ирландский, итальянский, японский, яванский, каннада, казахский, кхмерский, корейский, курдский, киргизский , лаосский, латинский, латышский, литовский, люксембургский, македонский, малагасийский, малайский, малаялам, мальтийский, маори, маратхи, монгольский, непальский, норвежский, пушту, персидский, польский, португальский, пенджабский, румынский, русский, самоанский, шотландский гэльский, Сербский, шона, синдхи, сингальский, словацкий, словенский, сомалийский, сото, испанский, сунданский, суахили, шведский, таджикский, тамильский, телугу, тайский, турецкий, украинский, урду, узбекский, вьетнамский, валлийский, западно-фризский, коса, идиш , Йоруба, Зулу.

Может ли он выполнять машинный перевод?

Многие пользователи пробовали что-то подобное, но не удалось создать перевод:

      from transformers import MT5ForConditionalGeneration, T5Tokenizer

model = MT5ForConditionalGeneration.from_pretrained("google/mt5-small")

tokenizer = T5Tokenizer.from_pretrained("google/mt5-small")

article = "translate to french: The capital of France is Paris."

batch = tokenizer.prepare_seq2seq_batch(src_texts=[article], return_tensors="pt")
output_ids = model.generate(input_ids=batch.input_ids, num_return_sequences=1, num_beams=8, length_penalty=0.1)

tokenizer.decode(output_ids[0])

[вне]:

      >>> <pad> <extra_id_0></s>

Как заставить модель МТ5 выполнять машинный перевод?

1 ответ

Может ли он выполнять машинный перевод?

Из документа:

Примечание. mT5 предварительно обучался только на mC4, за исключением контролируемого обучения . Следовательно, эту модель необходимо доработать, прежде чем ее можно будет использовать в последующих задачах.

следовательно, нет, он не может выполнять машинный перевод «из коробки».

См. также https://github.com/huggingface/transformers/issues/8704 .

Как заставить модель МТ5 выполнять машинный перевод?

Нет, он не может выполнять машинный перевод «из коробки». Но вы можете точно настроить модель на параллельных данных.

Существует несколько моделей MT, настроенных и опубликованных на https://huggingface.co/models?pipeline_tag=translation&amp;amp;sort=downloads&amp;amp;search=mt5 .

Но если вы хотите настроить mT5 на собственных данных, вот пример справочного кода: https://github.com/ejmejm/multilingual-nmt-mt5/blob/main/nmt_full_version.ipynb

Другие вопросы по тегам