Size: a a a

Natural Language Processing

2021 May 18

K

Ksenia in Natural Language Processing
Да, там все просто
источник

K

Ksenia in Natural Language Processing
После места, где loss.backward() вставить обнуление градиентов
источник

K

Ksenia in Natural Language Processing
В моем конкретно случае выглядело так: model.encoder.embed_tokens.weight.grad[INDICES_TO_KEEP].data.zero_()
источник

K

Ksenia in Natural Language Processing
и ошибка была в том, что я индексировала сам тензор, а не матрицу градиентов, супер дурацкая
источник

K

Ksenia in Natural Language Processing
Но если целый слой замораживать, то конечно надо при сборе модели requires_grad=False ставить, это в сто раз эффективнее
источник

RS

Ruslan Sabirov in Natural Language Processing
Добрый вечер!
Есть у кого пример тренировки GAN, где моделями являются transformers из huggingface?
Хочется понять, как избежать двойного бекпропа (первый лосс MLM, второй от GAN mini-max game) у Генератора в рамках одного шага
источник
2021 May 19

DD

David Dale in Natural Language Processing
О, кстати, а кто вообще умеет пропускать градиент через генератор языковой модели?
Я читал про RL методы (и это кажется тяжеловесным) и про gumbel softmax (и я так и не понял, насколько это работает для текстов).
Поделитесь своим опытом (и по возможности ссылками на годные имплементации)?
источник

KA

Katya Artemova in Natural Language Processing
У Леши Зайцева из Сколтеха есть статья про атаки на классификацию текстов с использованием gumbel softmax
источник

A

App in Natural Language Processing
Hello dear all, I am facing the issue in word sense disambiguation model (python). But, there was issue with padding, which I was fixed, but model accuracy was coming low.
Kindly give any suggestions.
источник

K

Ksenia in Natural Language Processing
Too little info to start with :/ what model? What library? What dataset?
источник

DD

David Dale in Natural Language Processing
Нашёл их репозиторий: https://github.com/fursovia/dilma. Выглядит релевантно, спасибо!
источник

KS

Konstantin Smith in Natural Language Processing
В SDK Pullenti есть некоторый инструментарий для этого. 1) Если по простому, то термины можно добавить в словарь TerminsCollection и искать вхождения их в тексте. Так мы найдём словосочетания с учётом морфологии. 2) Если использовать спец. анализатор KeyAnalyzer для выделение ключевых словосочетаний, то можно так отождествить случаи типа "ПРОДУКТОВЫЙ МАГАЗИН" = "МАГАЗИН ПРОДУКТОВ".  3) Есть спец. анализатор для выделения определений из текста DefinitionAnalyzer (из разных вариантов типа "Под адвокатской деятельностью понимается деятельность, направленная ..." => "АДВОКАТСКАЯ ДЕЯТЕЛЬНОСТЬ = деятельность, направленная...". А вообще если полноценно решать такую задачу на Pullenti, то придётся ещё кое-что дописывать.
источник

FF

Futorio Franklin in Natural Language Processing
Когда мы тренируем трансформер методом whole word masking, то закрываем токен и все его сабтокены [MASK] токеном. Какой токен тогда предсказывает модель, первый?
источник

FF

Futorio Franklin in Natural Language Processing
Не очень понимаю как построен процесс обучения
источник

SancheZz Мов in Natural Language Processing
Сек2сек жеж
источник

DD

David Dale in Natural Language Processing
Если говорить про encoder-only модели типа BERT, то там вставляется столько MASK токенов, сколько было исходно токенов в слове, и предсказываются они все. Если мы говорим про seq2seq модели типа T5, то один MASK может замещать сколько угодно токенов, но декодер восстанавливает их все по очереди.
источник

FF

Futorio Franklin in Natural Language Processing
А если точнее про берт, то там после последнего слоя экодера, как по матрице seq, hidden_dim считается несколько [MASK] токенов?
источник

FF

Futorio Franklin in Natural Language Processing
Я так понимаю на выходе стоит полносвязный слой, который hidden_dim переводит в vocab_sizе, туда нужно последовательно передавать  замаскированные токены?
источник

FF

Futorio Franklin in Natural Language Processing
А я понял, он за раз вычисляет для всей последовательности логиты и потом сравнивается с изначальной последовательностью
источник

FF

Futorio Franklin in Natural Language Processing
И на месте [MASK] токена должен стоять id замаскированного токена
источник