Можно ли использовать модель mT5 на Huggingface для машинного перевода?
The
Африкаанс, албанский, амхарский, арабский, армянский, азербайджанский, баскский, белорусский, бенгальский, болгарский, бирманский, каталанский, кебуанский, чичева, китайский, корсиканский, чешский, датский, голландский, английский, эсперанто, эстонский, филиппинский, финский, французский, Галисийский, грузинский, немецкий, греческий, гуджарати, гаитянский креольский, хауса, гавайский, иврит, хинди, хмонг, венгерский, исландский, игбо, индонезийский, ирландский, итальянский, японский, яванский, каннада, казахский, кхмерский, корейский, курдский, киргизский , лаосский, латинский, латышский, литовский, люксембургский, македонский, малагасийский, малайский, малаялам, мальтийский, маори, маратхи, монгольский, непальский, норвежский, пушту, персидский, польский, португальский, пенджабский, румынский, русский, самоанский, шотландский гэльский, Сербский, шона, синдхи, сингальский, словацкий, словенский, сомалийский, сото, испанский, сунданский, суахили, шведский, таджикский, тамильский, телугу, тайский, турецкий, украинский, урду, узбекский, вьетнамский, валлийский, западно-фризский, коса, идиш , Йоруба, Зулу.
Может ли он выполнять машинный перевод?
Многие пользователи пробовали что-то подобное, но не удалось создать перевод:
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;sort=downloads&amp;search=mt5 .
Но если вы хотите настроить mT5 на собственных данных, вот пример справочного кода: https://github.com/ejmejm/multilingual-nmt-mt5/blob/main/nmt_full_version.ipynb