Залипательная игра-демо от google https://research.google.com/semantris/
Идея простая, вам показывают список слов, одно выделяют, нужно подобрать наиболее 'близкое' слово к выделенному (не однокоренное). Такая игра в ассоциации.
У меня получилось занять 5-е место с третей попытки https://research.google.com/semantris/?m=a<=3euu-jwV4iuSPhy
#fun
Идея простая, вам показывают список слов, одно выделяют, нужно подобрать наиболее 'близкое' слово к выделенному (не однокоренное). Такая игра в ассоциации.
У меня получилось занять 5-е место с третей попытки https://research.google.com/semantris/?m=a<=3euu-jwV4iuSPhy
#fun
Google
Semantris
Semantris is a word association game powered by machine learning.
Тут в новостях проскочил анонс о том, что MS выложили в open source алгоритм векторного поиска используемый в bing. Почему-то не ожидал ничего нового, но всё же проверил.
Про библиотеку можно прочитать тут https://github.com/microsoft/SPTAG и это распределенная реализация approximate nearest neighborhood search.
В общем немного о том, в чём заключается идея семантического поиска (https://en.wikipedia.org/wiki/Semantic_search - поиск, который учитывает смысл фразы, а не только ключевые слова)
Тексты/документы нужно преобразовать в вектора, которые будут выражать смысл текста в числах. При том не случайным образом, а чтобы похожие тексты располагались рядом в пространстве. (см. идеи word2vec, glove или контекстуальные эмбеддинги)
Каждый текст мы преобразуем в такой вектор.
Запрос пользователя будет преобразовываться тоже в вектор, а дальше дело за малым: нужно найти наиболее близкие вектора в пространстве.
Как вы понимаете самая сложная часть, это построить вектора и именно это влияет на качество поиска.
Вторая задача, когда у нас документов много, то искать наиболее похожие документы задача тоже не просто. Для поиска надо выбрать правильную структуру данных, для этого подходят разные модификации kd-tree.
Резюмируя сказанное библиотека от microsoft всего лишь ещё одна реализация ANN, только распределённая. Если интересно какие реализации есть ещё, смотрите сравнение алгоритмов http://ann-benchmarks.com/. Я предпочитаю https://github.com/spotify/annoy.
#algorithms #search
Про библиотеку можно прочитать тут https://github.com/microsoft/SPTAG и это распределенная реализация approximate nearest neighborhood search.
В общем немного о том, в чём заключается идея семантического поиска (https://en.wikipedia.org/wiki/Semantic_search - поиск, который учитывает смысл фразы, а не только ключевые слова)
Тексты/документы нужно преобразовать в вектора, которые будут выражать смысл текста в числах. При том не случайным образом, а чтобы похожие тексты располагались рядом в пространстве. (см. идеи word2vec, glove или контекстуальные эмбеддинги)
Каждый текст мы преобразуем в такой вектор.
Запрос пользователя будет преобразовываться тоже в вектор, а дальше дело за малым: нужно найти наиболее близкие вектора в пространстве.
Как вы понимаете самая сложная часть, это построить вектора и именно это влияет на качество поиска.
Вторая задача, когда у нас документов много, то искать наиболее похожие документы задача тоже не просто. Для поиска надо выбрать правильную структуру данных, для этого подходят разные модификации kd-tree.
Резюмируя сказанное библиотека от microsoft всего лишь ещё одна реализация ANN, только распределённая. Если интересно какие реализации есть ещё, смотрите сравнение алгоритмов http://ann-benchmarks.com/. Я предпочитаю https://github.com/spotify/annoy.
#algorithms #search
GitHub
GitHub - microsoft/SPTAG: A distributed approximate nearest neighborhood search (ANN) library which provides a high quality vector…
A distributed approximate nearest neighborhood search (ANN) library which provides a high quality vector index build, search and distributed online serving toolkits for large scale vector search sc...
AutoDarw это такой редактор, в котором вы можете нарисовать любые каракули, а он вам предложит выбрать один из рисунков. https://www.autodraw.com/
Конечно пользы от этого редактора не много, а алгоритм тоже не сложный за этим стоит, но вот если развить идею и например и так диаграммы разные рисовать... Мне кажется это могло бы быть полезно. Берёшь графический планшет, рисуешь от руки разные блоки и в результате получаешь готовую красивую диаграмму. Может уже что-то есть такое?
#future
Конечно пользы от этого редактора не много, а алгоритм тоже не сложный за этим стоит, но вот если развить идею и например и так диаграммы разные рисовать... Мне кажется это могло бы быть полезно. Берёшь графический планшет, рисуешь от руки разные блоки и в результате получаешь готовую красивую диаграмму. Может уже что-то есть такое?
#future
Autodraw
Fast drawing for everyone. AutoDraw pairs machine learning with drawings from talented artists to help you draw stuff fast.
Некоторое время назад был на конференции Voxxeddays, в основном вокруг java технологий, вот нашёл время сделать небольшую заметку.
Из того, что запомнилось:
GraalVM (https://www.graalvm.org/) - круто, если нужно выжать из java максимум производительности. К слову грааль не только про java, вот python интересно посмотреть https://www.graalvm.org/docs/reference-manual/languages/python/
Bayesian Optimization - twitter успешно использует BO для тюнинга параметров JVM
https://projectreactor.io/ - с усложнением про реактивное программирование (https://www.reactivemanifesto.org/) слышно всё чаще. Project Reactor очень простой в использовании фреймворк, направленный на максимальную эффективность (по умолчанию запускается на https://netty.io/ сервере)
http://rsocket.io/ - ещё одна технология, которую взял на заметку, опять связана с реактивным программированием и призвана решить проблемы https://grpc.io/.
Было на самом деле много интересного про сериализацию, облачные технологии, kubernetes, но про это я рассказывать не буду.
#java #conference
Из того, что запомнилось:
GraalVM (https://www.graalvm.org/) - круто, если нужно выжать из java максимум производительности. К слову грааль не только про java, вот python интересно посмотреть https://www.graalvm.org/docs/reference-manual/languages/python/
Bayesian Optimization - twitter успешно использует BO для тюнинга параметров JVM
https://projectreactor.io/ - с усложнением про реактивное программирование (https://www.reactivemanifesto.org/) слышно всё чаще. Project Reactor очень простой в использовании фреймворк, направленный на максимальную эффективность (по умолчанию запускается на https://netty.io/ сервере)
http://rsocket.io/ - ещё одна технология, которую взял на заметку, опять связана с реактивным программированием и призвана решить проблемы https://grpc.io/.
Было на самом деле много интересного про сериализацию, облачные технологии, kubernetes, но про это я рассказывать не буду.
#java #conference
www.graalvm.org
GraalVM
GraalVM is an advanced JDK with ahead-of-time Native Image compilation.
Недавно гугл опубликовал best practices для работы с jupyter notebook https://cloud.google.com/blog/products/ai-machine-learning/best-practices-that-can-improve-the-life-of-any-developer-using-jupyter-notebooks - наиболее популярным инструментом для проведения DS экспериментов. От части это реклама сервиса https://cloud.google.com/ai-platform-notebooks/, но в целом текст полезный и в основном советы выглядят логичным и мы у себя на проекте организовали похожим образом, что тоже приятно.
Из статьи узнал о https://github.com/jupyter/nbdime - решает проблему, как в git выглядит сравнение jupyter ноутбуков, дополнительно https://github.com/jupyterlab/jupyterlab-git позволяет упростить сравнение ноутбуков. Жаль для visual studio code нет нормального плагина для nbdime.
В статье говорится про параметризацию ноутбуков и запуск и для этого можно использовать https://papermill.readthedocs.io/en/latest/ , ещё есть статья от netflix как они ведут работу с ноутбуками https://medium.com/netflix-techblog/scheduling-notebooks-348e6c14cfd6
Почему-то раздел *Log all experiments* очень абстрактный, там явно нужно добавить ссылку на https://mlflow.org/ - аналогов много, но лично мне mlflow нравится своей простотой.
Если вы только начинаете организовывать работы ML команды, то без сомнения следует уделить время на автоматизацию и воспроизводимость экспериментов, иначе вас ждёт notebook hell. Хорошо организованная работа с экспериментами позволит сосредоточить усилия команды над задачей, а воспроизводимость результатов поможет избежать ошибок.
#jupyter #best #practice #process
Из статьи узнал о https://github.com/jupyter/nbdime - решает проблему, как в git выглядит сравнение jupyter ноутбуков, дополнительно https://github.com/jupyterlab/jupyterlab-git позволяет упростить сравнение ноутбуков. Жаль для visual studio code нет нормального плагина для nbdime.
В статье говорится про параметризацию ноутбуков и запуск и для этого можно использовать https://papermill.readthedocs.io/en/latest/ , ещё есть статья от netflix как они ведут работу с ноутбуками https://medium.com/netflix-techblog/scheduling-notebooks-348e6c14cfd6
Почему-то раздел *Log all experiments* очень абстрактный, там явно нужно добавить ссылку на https://mlflow.org/ - аналогов много, но лично мне mlflow нравится своей простотой.
Если вы только начинаете организовывать работы ML команды, то без сомнения следует уделить время на автоматизацию и воспроизводимость экспериментов, иначе вас ждёт notebook hell. Хорошо организованная работа с экспериментами позволит сосредоточить усилия команды над задачей, а воспроизводимость результатов поможет избежать ошибок.
#jupyter #best #practice #process
Google Cloud Blog
Jupyter Notebook Manifesto: Best practices that can improve the life of any developer using Jupyter notebooks | Google Cloud Blog
Our best practices for Jupyter Notebook at Google can help you transfer your notebooks from experimental to production-ready.
Если вы не знаете как потратить вечер субботы летом, у меня есть для вас идея: 13-го июля проводим первый в Гомеле митап посвящённый Data Science, я участвую в организации, можно задавать мне вопросы. Мероприятие пробное, но обещает быть интересным. Если вы не занимаетесь непосредственно машинным обучением, вы можете найти для себя полезную информацию, и не забывайте, что ценность митапа в большей степени не в докладах, а в возможности поговорить с разными людьми, разным опытом
https://communities.by/events/machine-learning-community-meetup-1
Пожалуйста, нажимайте кнопку регистрации, знание о количестве участников поможет нам лучше организовать пространство.
#ml #event #gomel
https://communities.by/events/machine-learning-community-meetup-1
Пожалуйста, нажимайте кнопку регистрации, знание о количестве участников поможет нам лучше организовать пространство.
#ml #event #gomel
Последнее время был занят помощью в организации Data Science митапа в Гомеле, несмотря на маленький город, собралось >60 человек. Не всё получилось лучшим образом, но были заинтересованные люди, а значит попробуем ещё.
Видео опубликовали здесь https://www.youtube.com/playlist?list=PLSDzAu8GsZhmqjFFnwBJl2T-3KRyQSJmx
И создали чатик для общения/вопросов https://t.me/ds_gomel_chat
Если кто-то хочет выступить или как-то заитересован в теме, можете писать в лс🙂.
#events
Видео опубликовали здесь https://www.youtube.com/playlist?list=PLSDzAu8GsZhmqjFFnwBJl2T-3KRyQSJmx
И создали чатик для общения/вопросов https://t.me/ds_gomel_chat
Если кто-то хочет выступить или как-то заитересован в теме, можете писать в лс🙂.
#events
YouTube
Gomel Data Science Meetup #1 - YouTube
Nvidia довольно много делают для Data Science, недавно для себя открыл этот каталог моделей https://ngc.nvidia.com/catalog/model-scripts Не могу сказать, что там идеальный код, но с этим можно работать, например там есть оптимизированный BERT помещающийся в одну GPU https://ngc.nvidia.com/catalog/model-scripts/nvidia:bert_for_tensorflow
#nvidia #models
#nvidia #models
Bayesian Noise
Все, кто пишет код, знают, как хороший инструмент позволяет повысить эффективность работы. Вот интересный экспериментальный проект https://kite.com/ который призван ускорить разработку умным автодополнением кода, такой вот intellisense с использованием machine…
я уже писал про похожее и вот теперь мы дождались использования GPT-2 для автодополениние код https://tabnine.com/blog/deep . До этого мы видели генерацию текста и музыки с этой же архитектурой. По мне это не плохое дополнение к IDE, типичного copypaste программиста :) И я не вижу в этом ничего плохого, большая часть индустрии нуждается в выполнении типичных задач, единственное что меня беспокоит - это качество train сета.
upd:
Увы начать использоваться не получится, она платная, а платить за такую сырую штуку я не советую, подождём бесплатной. Можем свою такую натренить, пишите, кому интересно ;)
#future #intellisense
upd:
Увы начать использоваться не получится, она платная, а платить за такую сырую штуку я не советую, подождём бесплатной. Можем свою такую натренить, пишите, кому интересно ;)
#future #intellisense
Меня часто спрашивают что нужно изучить, чтобы создавать свои нейронные сети. Помимо знаний в математике вам понадобится какой-нибудь deep learning фреймворк. Появление tensoflow упростило исследования и позволило внедрять их в продакшен. PyTorch - это новая "звезда", и темпы распространения в сообществе разработчиков действительно удивляют. Он проще tf и если вы не изучали ничего, то pytorch покажется вам проще и логичнее. График взят с твита https://twitter.com/RitchieNg/status/1155026908855226369/photo/1 #dl #ml #tf #pytorch
А эта новость порадовала. Веселый вопрос о фотолаборатории «Странные вещи» становится все более популярным: «Какова цель этой« красной комнаты »?» https://amp.businessinsider.com/stranger-things-darkroom-question-meme-2019-7
Очередной показательный пример, как всё быстро развивается и шутки про иконку дискеты на кнопке сохранить уже давно не шутки. Если говорить о цифровой фотографии, то "Первый экспериментальный бесплёночный фотоаппарат, основанный на фотоэлектрическом преобразовании, создал в 1975 году инженер компании Eastman Kodak Стивен Сассон (англ. Steven Sasson). Применявшаяся в нём ПЗС-матрица имела разрешение 0,01 мегапикселя, а запись данных происходила на компакт-кассету" (wiki)
Так что от прототипов до реального внедрения всё же проходит много времени.
#future
Очередной показательный пример, как всё быстро развивается и шутки про иконку дискеты на кнопке сохранить уже давно не шутки. Если говорить о цифровой фотографии, то "Первый экспериментальный бесплёночный фотоаппарат, основанный на фотоэлектрическом преобразовании, создал в 1975 году инженер компании Eastman Kodak Стивен Сассон (англ. Steven Sasson). Применявшаяся в нём ПЗС-матрица имела разрешение 0,01 мегапикселя, а запись данных происходила на компакт-кассету" (wiki)
Так что от прототипов до реального внедрения всё же проходит много времени.
#future
Business Insider
A hilarious question about a photography darkroom on 'Stranger Things' is going viral: 'What is the purpose of this 'red room'?'
For millions of people who grew up with smartphones and the internet, the concept of a photography darkroom is antiquated and unknown.
BERT (Pre-training of Deep Bidirectional Transformers) одна из мощнейших языковых моделей в настоящее время, но достаточно быстр её обошли по бенчмаркам разные улучшенные модели XLNet, KERMIT, ERNIE.
Чуваки поняли что обычный BERT сильно недоучен и добавили несколько простых лучений, назвали это RoBERTa (Robustly optimized BERT approach) и опять получили SOTA результаты по основным бенчмаркам.
По ссылке краткое резюме и ссылка на статью
https://blog.inten.to/papers-roberta-a-robustly-optimized-bert-pretraining-approach-7449bc5423e7
#nlp #sota #bert
Чуваки поняли что обычный BERT сильно недоучен и добавили несколько простых лучений, назвали это RoBERTa (Robustly optimized BERT approach) и опять получили SOTA результаты по основным бенчмаркам.
По ссылке краткое резюме и ссылка на статью
https://blog.inten.to/papers-roberta-a-robustly-optimized-bert-pretraining-approach-7449bc5423e7
#nlp #sota #bert
Medium
[papers] RoBERTa: A Robustly Optimized BERT Pretraining Approach
Hardly a month comes without a new language model announces to surpass the good old (oh my god, it’s still 9-months old) BERT in one…
Узнал недавно про один простой модуль позволяющий ускорить первичный EDA (exploratory data analysis) данных.
Машинное обучение во многом про поиск интересных зависимостей в данных. Работа над новой задачей начинается с построения разных графиков и диорам, чтобы понять с чем мы имеем дело. Используя pandas-profiling можно получить достаточно много.
Github проекта: https://github.com/pandas-profiling/pandas-profiling
Я подготовил Kaggel Kernel, где можно покликать и посмотреть, что можно получить совсем без усилий: https://www.kaggle.com/nesterione/examples-pandas-profiling
#tool #ml
Машинное обучение во многом про поиск интересных зависимостей в данных. Работа над новой задачей начинается с построения разных графиков и диорам, чтобы понять с чем мы имеем дело. Используя pandas-profiling можно получить достаточно много.
Github проекта: https://github.com/pandas-profiling/pandas-profiling
Я подготовил Kaggel Kernel, где можно покликать и посмотреть, что можно получить совсем без усилий: https://www.kaggle.com/nesterione/examples-pandas-profiling
#tool #ml
О, теперь гугл тренирует нейронные сети играть в футбол https://ai.googleblog.com/2019/06/introducing-google-research-football.html пока в компьютерный, но очень жду, что ребята из boston dynamics объединится с гугл и проведут матч по футболу, который я бы с удовольствием посмотрел :)
#future
#future
research.google
Introducing Google Research Football: A Novel Reinforcement Learning Environment
Posted by Karol Kurach, Research Lead and Olivier Bachem, Research Scientist, Google Research, Zürich The goal of reinforcement learning (RL) is ...
Bayesian Noise
BERT (Pre-training of Deep Bidirectional Transformers) одна из мощнейших языковых моделей в настоящее время, но достаточно быстр её обошли по бенчмаркам разные улучшенные модели XLNet, KERMIT, ERNIE. Чуваки поняли что обычный BERT сильно недоучен и добавили…
NLP на столько активно развивается, что не успел я опубликовать про RoBERTa, как baidu опубликовали свою модель, которая по их словам обходит все текущий (естественно лучше всего на китайском работает)
http://research.baidu.com/Blog/index-view?id=121
#nlp #sota
http://research.baidu.com/Blog/index-view?id=121
#nlp #sota
Статья от DeepMind о том, как они построили систему детектирования острого повреждения почек (acute kidney injury), позволяющую за 48ч до приступа предупредить врача. https://deepmind.com/blog/predicting-patient-deterioration/
Статья совсем нетехническая. Её задача изменить мышление о том, как должна работать медицина. Иногда мы думаем, но почему мы до сих пор стоим в очередях, если можно всё автоматизировать, провязать с другими сервисами и максимально упростить и ускорить обслуживание.
Поверьте, далёким от технологий людям все эти новые подходы кажутся колдовством каким-то и они готовы сжечь вас на костре, когда ты предлагаешь автоматизировать работу врача (прошу заметить, что пока никто и не пытается заменить врачей, автоматизируют рутинную работу или улучшают средства детектирования болезней). Небольшими шагами можно сдвигать устоявшуюся парадигму о том, как должна работать медицина.
Было бы странно, если бы бухгалтера пользовались счётами, когда уже сделали калькулятор.#future
Статья совсем нетехническая. Её задача изменить мышление о том, как должна работать медицина. Иногда мы думаем, но почему мы до сих пор стоим в очередях, если можно всё автоматизировать, провязать с другими сервисами и максимально упростить и ускорить обслуживание.
Поверьте, далёким от технологий людям все эти новые подходы кажутся колдовством каким-то и они готовы сжечь вас на костре, когда ты предлагаешь автоматизировать работу врача (прошу заметить, что пока никто и не пытается заменить врачей, автоматизируют рутинную работу или улучшают средства детектирования болезней). Небольшими шагами можно сдвигать устоявшуюся парадигму о том, как должна работать медицина.
Было бы странно, если бы бухгалтера пользовались счётами, когда уже сделали калькулятор.#future
Недавно был опубликован проект PyTorch-Transformers https://github.com/huggingface/pytorch-transformers, где "из коробки" доступны самые мощные (на данный момент) языковые модели: BERT, GPT, GPT-2, Transformer-XL, XLNet, XLM, кстати их не только для текстов можно использовать, помните MuseNet, которая использует GPT-2.
Проект очень интересный и пока я ждал выходных, чтобы проверить, SpaCy (ещё одна из передовых библиотек для NLP) адоптировали проект и теперь без лишних усилий можно использовать и дообучать такие мощные модели — это хорошая новость для production. Ребята из Explosion не перестают удивлять своей оперативностью, в целом работать со SpaCy удобно.
https://explosion.ai/blog/spacy-pytorch-transformers
GitHub: https://github.com/explosion/spacy-pytorch-transformers
#tool #spacy #nlp #pytorch
Проект очень интересный и пока я ждал выходных, чтобы проверить, SpaCy (ещё одна из передовых библиотек для NLP) адоптировали проект и теперь без лишних усилий можно использовать и дообучать такие мощные модели — это хорошая новость для production. Ребята из Explosion не перестают удивлять своей оперативностью, в целом работать со SpaCy удобно.
https://explosion.ai/blog/spacy-pytorch-transformers
GitHub: https://github.com/explosion/spacy-pytorch-transformers
#tool #spacy #nlp #pytorch
GitHub
GitHub - huggingface/transformers: 🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX. - huggingface/transformers
Я несколько раз упоминал о гайдах от google о машинном обучении (https://t.me/bayesian_noise/163), мне нравится их подход всё с озов, но достаточно глубоко по каждой теме https://developers.google.com/machine-learning/ - сейчас обнаружил, что были добавлены ещё несколько разделов.
Их базовый курс (crash-course) мне не нравится, на coursera от того же яндекса курсы полезнее, а вот остальные материалы советую смотреть,
problem-framing - о постановке задачи машинного обучения, о том, как правильно понять, какая модель нужна для решения проблемы бизнеса.
data-prep - про подготовку данных - практические советы, как собирать данные
clustering - о кластеризации данных и как проверять результаты
recommendation - как строить рекомендательные системы
testing-debugging - очень полезная тема для промышленного использования, которая редко освещается
Обязательно взгляните на словарик терминов, просто пролистав его, вы не плохо расширите представление о ML https://developers.google.com/machine-learning/glossary/
#google #course
Их базовый курс (crash-course) мне не нравится, на coursera от того же яндекса курсы полезнее, а вот остальные материалы советую смотреть,
problem-framing - о постановке задачи машинного обучения, о том, как правильно понять, какая модель нужна для решения проблемы бизнеса.
data-prep - про подготовку данных - практические советы, как собирать данные
clustering - о кластеризации данных и как проверять результаты
recommendation - как строить рекомендательные системы
testing-debugging - очень полезная тема для промышленного использования, которая редко освещается
Обязательно взгляните на словарик терминов, просто пролистав его, вы не плохо расширите представление о ML https://developers.google.com/machine-learning/glossary/
#google #course
Telegram
Bayesian 𐌽oise
Неоднократно ссылался на гайды от гугл про машинное обучение, уж очевидно, что им есть что рассказать о ML и больших данных. Нашёл время и прочёл очередную серию статей https://developers.google.com/machine-learning/problem-framing - про постановку задач…
Однажды мы устраивали мозговой штурм, искали какой-нибудь интересный проект, где можно было бы применить компьютерное зрение. В итоге в шутку (или нет) обсуждали робота, который будет ходить по грядкам и давить колорадских жуков (кому в детстве доводилось работать на грядках, поймут всю боль) И вот сейчас я вижу ролик про самоездящего робота огородника https://twitter.com/ErikSolheim/status/1157169348013768709 - не так далеко от нашей идеи.
#future #fun
#future #fun
Twitter
Erik Solheim
Wow. This solar powered robot will weed your field for you. So innovative, let’s get moving! https://t.co/i4n7hLz4f0
Узнал про Квартет Энскомба — это четыре набора числовых данных, у которых простые статистические свойства идентичны, но их графики существенно отличаются (https://en.wikipedia.org/wiki/Anscombe%27s_quartet). Идея его в том, чтобы показать полезность графиков, обычна хорошая визуализация позволяет лучше понять данные или найти зависимости.
В дополнение ссылка на небольшую инструкцию по визуализации данных в pandas (это такая небольшая библиотека для python для работы с табличными данными — excel для программистов)
https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html
#vizualization #charts
В дополнение ссылка на небольшую инструкцию по визуализации данных в pandas (это такая небольшая библиотека для python для работы с табличными данными — excel для программистов)
https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html
#vizualization #charts
Wikipedia
Anscombe's quartet
four data sets with the same descriptive statistics, yet very different distributions