Градиентное погружение
Відкрити в Telegram
Обсуждаем новости, рассказываем про ML с кодом и колабом, выигрываем соревы 🏆 Контакты: @Cucu_LaPraline, @Cene655
Показати більшеКраїна не вказанаТехнології та додатки21 231
4 492
Підписники
Немає даних24 години
Немає даних7 днів
Немає даних30 днів
Архів дописів
CLIP получил обновление 🔥
Помните те модельки, которые можно использовать для понимания связи текста и изображения? Так вот, всего два дня назад были зарелизины RN50x64 и ViT-L/14 💪.
Админы очень рады такому обновлению, так так часто используют клиповские ViT для задач классификации/регрессии, а также верят в качество от OpenAI.
Новость
Что вы знаете о задаче суммаризации?
Знали ли вы что её можно разделить на 2 категории:
- Экстрактивный подход (всякие хитрые и не очень алгоритмы)
- Абстрактивный подход (нейронки)
Если со вторым все понятно, то вот про первый стоит немного поговорить. В отличие нейронок, здесь мы не используем генерацию текста, связи с чем работаем только с предложениями и их усреднёнными векторами(GloVe, Gensim, FastText), а в некоторых случаях с мерами схожести строк.
Так например, вы можете использовать алгоритм TextRank для подбора "ключевых предложений". Помимо этого существуют и другие реализации по типу LexRank, LSA, KL Divergence. Про них можно почитать тут.
Объяснение TextRank/PageRank
Repost from Время Валеры
Поездка в Москву в декабре была крайне удачной, записали много контента. В том числе это интервью с Романом, где поговорили про обучение и карьеру
OLive - ONNX Runtime Go Live
Либа для конвертации моделей в onnx и тюнинг их инференса. Тюнинг заключается в подборе оптимизационных параметров по типу максимальной задержки или же присетов точности. Всего 27 опций. Получается своеобразный гридсерч к которому мы привыкли.
Штука эта ощущается сыроватой, так как у меня не запустился их блокнот с последним коммитом "fix tutorial" 💁
GitHub
Примеры
TriviaQA: Крупномасштабный набор данных для понимания прочитанного и ответов на вопросы
Датасет содержит более 650К пар вопрос-ответ-доказательство для задачи понимания текста и около 110К пар вопрос-ответ для ODQA на английском языке. Его использовали при обучении WebGPT. Для скачивания доступно 3гб инфы.
Авторы добавили лидерборд, на котором топ держат LongT5 и Big Bird
GitHub | Site | Leaderboard
Repost from ̶с̶а̶м̶̶о̶изолента мёбиуса
Хозяйке на заметку: если вам нужно относительно качественно перефразировать предложение, можно сделать это методом back-translation: перевести его русского на английский и назад на русский.
Чтобы не получить на выходе то же самое предложение, можно запретить модели-переводчику воспроизводить n-граммы (токенные), встречавшиеся в исходном предложении.
Кажется, получается дёшево и сердито.
import torch
from transformers import FSMTModel, FSMTTokenizer, FSMTForConditionalGeneration
tokenizer = FSMTTokenizer.from_pretrained("facebook/wmt19-en-ru")
model = FSMTForConditionalGeneration.from_pretrained("facebook/wmt19-en-ru")
inverse_tokenizer = FSMTTokenizer.from_pretrained("facebook/wmt19-ru-en")
inverse_model = FSMTForConditionalGeneration.from_pretrained("facebook/wmt19-ru-en")
model.cuda();
inverse_model.cuda();
def paraphrase(text, gram=4, num_beams=5, **kwargs):
""" Generate a paraphrase using back translation.
Parameter `gram` denotes size of token n-grams of the original sentence that cannot appear in the paraphrase.
"""
input_ids = inverse_tokenizer.encode(text, return_tensors="pt")
with torch.no_grad():
outputs = inverse_model.generate(input_ids.to(inverse_model.device), num_beams=num_beams, **kwargs)
other_lang = inverse_tokenizer.decode(outputs[0], skip_special_tokens=True)
# print(other_lang)
input_ids = input_ids[0, :-1].tolist()
bad_word_ids = [input_ids[i:(i+gram)] for i in range(len(input_ids)-gram)]
input_ids = tokenizer.encode(other_lang, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(input_ids.to(model.device), num_beams=num_beams, bad_words_ids=bad_word_ids, **kwargs)
decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)
return decoded
text = 'Женщина-дайвер исчезла в Черном море во время научных работ на побережье Анапы.'
print(paraphrase(text, gram=3, do_sample=False))
# Женщина-водолаз пропала в акватории Черного моря, когда выполняла исследовательские работы у берегов Анапы.
# Wall time: 699 msВ посте выше приведены слова разработчиков языка. Действительно, их продукт получился интересным, благодаря чему смог обрести популярность в очень узких кругах.
Для Julia существуют инструменты, способные заменить набор среднестатистического питониста-датасаентиста(ну или как минимум заинтересовать его).
Самая интересная фича:
Возможность запуска питоновских библиотек из под Julia.
Т.е. вы можете запускать sklearn и юзать модели в вашем коде, но при этом выполнять обработку больших данных значительнее быстрее нативного питона.
Попробовать это чудо можно без смс и регистрации в онлайне.
Ну а для самых пытливых - годная книжка
Julia
Мы хотим язык с открытым исходным кодом, с либеральной лицензией. Мы хотим скорость C с динамизмом Ruby. Нам нужен гомоиконичный язык с настоящими макросами, как Lisp, но с очевидными, знакомыми математическими обозначениями, такими как в Matlab. Мы хотим что-то такое же удобное для общего программирования, как Python, такое же простое для статистики, как R, такое же естественное для обработки строк, как Perl, такое же мощное для линейной алгебры, как Matlab, и способное склеивать программы вместе как оболочку. Нечто простое в освоении, но при этом радующее самых серьезных хакеров. Мы хотим высокой интерактивности и эффективной компиляции. Мы ведь не слишком многого просим, верно?
Гугл формы
Ну а точнее формат интерактивной работы в колабе
Если вы не первый день в теме дата саенса, то скорее всего встречали его. Простой и полезный формат, помогающий улучшить восприятие кода(скрыть плохой код).
Обычно это простой ввод текста или выбор из списка, но на этом возможности не заканчиваются. Можно работать с датами, числами и булевыми значениями.
Помимо этого существует более расширенных вариант, представленный в виде виджета - ipywidgets.
ipywidgets - пример(нужно запустить)
Доступный пример использования в колабе
CC12M (Conceptual 12M)
Что это такое? Датасет содержащий 12 миллионов пар текст-изображение на английском языке.
Теперь на русском силами одного из админов💪
Kaggle датасет
