Обложка канала

Spark in me - Internet, data science, math, deep learning, philosophy. Страница 26

2440 @snakers4

Канал про интересные мне темы - интернет - статистика - наука о данных Без рекламы и буллшита.

  • Spark in me - Internet, data science, math, deep learning, philosophy

    Silero VAD Update

    Added:

    - Language classifier

    Now we have 3 heads:

    - Language classifier
    - Spoken number detector
    - VAD with variable audio chunk length

    All models work in 4 languages, but VAD in theory should work in other similar languages

    https://github.com/snakers4/silero-vad
  • Spark in me - Internet, data science, math, deep learning, philosophy

    Writing TB Logs to S3 in PyTorch

    Looks like TensorboardX supports writing to S3 and TB itself natively supports writing to S3 (anyone tried GCS?).

    I am not sure whether the PyTorch writer supports S3, but judging by these threads (1 and 2) it should work if you handle your ENV variables properly:

    The torch.utils.tensorboard implementation uses a writer in core TensorBoard that supports GCS and S3 if TF is installed and S3 if not installed. 

    I did not know this, this is very cool!

    #deep_learning
  • Spark in me - Internet, data science, math, deep learning, philosophy

    Which type of content did you fail to see or would like to see more of? (please comment in this thread)
  • Реклама

  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

    2020 DS / ML Digest 14

    Highlights
    :

    - We have released a VAD
    - New speech datasets
    - English spell-checking dictionaries
    - AMP guide from Nvidia
    - WSL 2 GPU Support is Here
    - 3080 Ti Confirmed
    - MPNet for language modelling

    Please like / share / repost!

    https://spark-in.me/post/2020_ds_ml_digest_14

    #digest
  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

    whatever it means
  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

    mT5: A massively multilingual pre-trained text-to-text transformer
    Linting Xue, Noah Constant, Adam Roberts, Mihir Kale, Rami Al-Rfou, Aditya Siddhant, Aditya Barua, Colin Raffel
    Статья: https://arxiv.org/abs/2010.11934
    Код: https://github.com/google-research/multilingual-t5

    Ещё одна свежая работа про большой масштаб. Гугл без лишней шумихи и ажиотажа выпустил многоязычный вариант своего T5 — mT5.

    T5 (https://arxiv.org/abs/1910.10683) вообще почему-то малоупоминаемая работа, и мы сами грешны, почти про него не писали. Исправляемся.

    Ещё год назад Гугл сделал огромную работу. Собрал огромный датасет “Colossal Clean Crawled Corpus” (C4) на 750Gb. Собрал большой полный трансформер (энкодер+декодер) и предобучил его в unsupervised или скорее self-supervised режиме с denoising objective похожей на бертовский MLM, только здесь заменяются не отдельные токены, а небольшие спаны. Полученная модель потом файн-тюнилась на задачи из GLUE/SuperGLUE, SQuAD, WMT и т.п.

    Интересно, что модель эта — полноценный seq2seq, то есть даже задачи классификации сводились к генерации текстовой метки класса, например, “entailment”, “contradiction” или “neutral” на MNLI, а задачи регрессии к выдаче строки вида “2.6”. Назвали эту модель “Text-to-Text Transfer Transformer” или сокращённо T5 (до T-800 или T-1000 ещё далековато).

    Огромность работы заключалась в том, что исследователи проверили кучу гипотез: какая objective лучше, какая структура модели, сколько токенов в обучении надо, как модель скейлится по разным измерениям и т.п. и выбрали лучшие варианты. Получили в разных местах SoTA, как водится.

    Обучили и выложили (https://github.com/google-research/text-to-text-transfer-transformer#released-model-checkpoints) модели разных размеров: 60M, 220M, 770M, 3B, 11B параметров (напомню, самый большой GPT-2 в тот момент был 774M, а 1.5B открыли уже после этой статьи https://openai.com/blog/gpt-2-1-5b-release/ в ноябре 2019).

    Обратите внимание, Гугл сразу выложил обученную модель на 11B параметров! И при этом не кричали как OpenAI. И вообще до сих пор довольно скромно про это рассказывали.

    Так вот, на днях пришёл черёд мультиязычной модели, mT5. Для неё тоже собрали датасет (теперь он называется mC4), с поддержкой 107 языков (из них правда 6 языков это вариации основного, но латиницей, что забавно среди них есть ru-Latn). Русский, кстати, на втором месте в этом датасете, набрали на 713B токенов! Ну и вообще нам на самом деле есть чем гордиться с русским языком, в вебе он второй после английского: https://en.wikipedia.org/wiki/Languages_used_on_the_Internet#Content_languages_for_websites.

    Датасет выложен: https://www.tensorflow.org/datasets/catalog/c4#c4multilingual_nights_stay

    Далее на этом датасете обучили mT5 по лучшим рецептам из T5 (точнее даже из T5.1.1). Тщательно выбирали параметры сэмплинга языков, чтобы редкие обучились, но не переобучились. По модели особо не мудрствовали, старались следовать родным рецептам. По ходу дела поэкспериментировали с разными ablations, описали эффекты, выбрали лучшие параметры.

    Так же опубликовали (https://github.com/google-research/multilingual-t5#released-model-checkpoints) набор моделей: 300M, 600M, 1B, 4B и 13B (у mT5 больший словарь по сравнению с чисто английским T5, так что увеличение размера моделей отсюда).

    Тестировали на задачах из XTREME benchmark, так же получили SoTA и побили идейно близкие модели типа mBERT, XLM/XLM-R.

    В общем это мегакруто. У нас теперь есть набор моделей разного размера (до реально очень больших, которые не так-то просто гонять будет) с поддержкой 101 языка и готовых к файнтюнингу на более-менее любые seq2seq задачи. Респект Гуглу!
  • Spark in me - Internet, data science, math, deep learning, philosophy

    Speeding Up Your PyTorch Networks for CPU Inference

    Key ingredients:

    - PyTorch native network
    - CPU inference / deploy
    - JIT, ONNX, int8 quantization

    Some notes on how much you can speed up your networks mostly out of the box with very few tweaks. These conclusions hold for very small networks (1M params, 10-30 layers, and medium-sized networks (20M params, 20-40 layers):

    - Just using JIT can give you up to a 30% boost. With smaller batch-sizes (and feature map sizes) there is a smaller boost - 5-10%. Boost saturates with a certain batch-size / feature map size;

    - Just using int8 quantization can give you up to a 30% boost. Same caveats as with JIT;

    - Same with JIT+ int8, total speed ups up to 50%, also more equal speed ups for small batches and feature maps;

    - Using ONNX however is generally faster than PyTorch out-of-the-box, but it is most pronounced for small feature-maps, e.g. you can get a 40% speed-up for small batch and zero speed-up for a large batch;

    - ONNX + int8 does not seem to work in PyTorch now. We have not tried porting networks manually from ONNX to quantized ONNX;

    We are not comparing apples to apples here, but ONNX inference with quantization seems the most promising provided its wide support of back-ends.

    #deep_learning
  • Spark in me - Internet, data science, math, deep learning, philosophy

    GitHub Discussions

    Microsoft, among many other enterprise-y things, launched GitHub discussions, which to my amazement does not suck.

    95% of popular ML projects are on GitHub and most of them currently have 3 types of issues:

    (0) Semi-automated or structured team communication
    (1) Questions / ideas / collaboration by the community
    (2) If authors have not invested enough time in proper usability and docs - sometimes you have to read / search all of the issues manually

    Given enough development and effort by the community, probably this thing can solve (2) and tap into the crowd knowledge that gets lost with time.

    Apparently it also looks like a stab at things like discourse, but free and integrated with your repo and you code. But discourse is probably used by 1% of projects. Too often you see a nice project with a mess or tumbleweeds in the issues tab.

    One final question of course - when will Microsoft use it as a means of censorship as all large American companies inevitably do.
  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Реклама

  • Spark in me - Internet, data science, math, deep learning, philosophy

    Russian EE Models Sizing (Russian) Extended

    A more in-depth explanation, hosted on Habr (several older posts on Silero blog combined into one Habr post)

    - https://habr.com/ru/post/531524/
  • Spark in me - Internet, data science, math, deep learning, philosophy

  • Spark in me - Internet, data science, math, deep learning, philosophy

    Trying Out New Ampere GPUs and MIG (RU) Играемся с Новыми GPU на базе Ampere от Nvidia и пробуем MIG https://habr.com/ru/post/530986/ Please like / share / repost! #hardware #deep_learning