• Как новые квантовые алгоритмы решили нелинейные уравнения

    • Перевод
    Иногда компьютеру легко спрогнозировать будущее. Простые явления, например, когда сок стекает по стволу дерева, прямолинейны и фиксируются в нескольких строках кода при помощи линейных дифференциальных уравнений. Но в нелинейных системах взаимодействия могут влиять сами на себя: когда воздушные потоки протекают по крыльям реактивного самолёта, поток воздуха изменяет молекулярные взаимодействия, которые, в свою очередь, изменяют воздушный поток, и так далее. Эта петля обратной связи порождает хаос, где небольшие изменения в начальных условиях позже приводят к крайне изменчивому поведению, что делает прогнозы практически невозможными, каким бы мощным ни был компьютер.


    Приятного чтения!
  • В 40 я всё ещё разработчик?

    • Перевод
    Если вам кажется, что 40 — это уже слишком, вы ошибаетесь. Представьте: вы рано приходите в офис. Бросаете рюкзак и отправляетесь на кухню. Вы полночи уговаривали детей уснуть, и они рано разбудили вас. Теперь вам нужен кофе. С кружкой кофе в руке вы замечаете, что на кухне разговаривают три разработчика. Сейчас 9 утра. Они просто пришли пораньше, — решаете вы. Но замечаете на них ту же одежду, что и вчера. Они были здесь всю ночь. Вот чёрт! Что-то не получилось?! И что теперь?! CEO, улыбаясь до ушей, проносится мимо вас. Она перескакивает к группе, даёт ребятам пять и издаёт победный вопль.

    «Ребята, вы его добили», — произносит она.

    Ваша первая мысль: «Я никак не мог остаться прошлой ночью». Случилась предсказуемая неприятность, иногда жизнь так складывается, дети делали уроки. А вы ощущаете себя объектом шуток. В банду вы не попали, потому что не можете протянуть всю ночь. Многие из нас переживают этот ужасный кошмар. Страшно уйти с работы по старости. Индустрия посвятила молодых людей в рыцари — стюарды технологий? Естественно сомневаться в себе и думать, сможете ли вы заниматься своим делом. Руководство вознаграждает героические ночные усилия, но как насчёт продуктивного труда? Что насчёт опыта, который привносите вы? Вы хотите потягаться с молодёжью, но не за счёт своей семьи. Но как тягаться с ними, спящими в офисе?

    Что ж, есть хорошие новости. Исключительное мастерство не ограничивается возрастом. Но это не освобождает сорокалетних инженеров от проблем. В подобных ситуациях я выживал не раз и провёл небольшое исследование.


    Приятного чтения!
  • 10 полезных книг: от разработчиков и для разработчиков

    • Перевод
    Чтение книг — по-прежнему прекрасный способ открыть нечто новое или научиться чему-то, особенно если вы разработчик, чтобы оставаться востребованным в изменчивой индустрии.
    В этой подборке я представлю 10 фантастических книг для разработчиков, которые написали разработчики. Здесь не будет привычных общепринятых книг, которые вы найдете в любой подборке «мастрид для программистов», в этой статье — вручную отобранные сокровища от экспертов с проверенным послужным списком.


    Приятного чтения!
    • +17
    • 13,4k
    • 7
  • Строим надёжную конкурентность с FSP и моделированием процессов

    • Перевод

    Делаем систему параллелизма надёжнее


    Сегодня посмотрим как смоделировать программу с конкурентностью на FSP. Сначала давайте разберемся, зачем вообще нужна конкурентность. Вот что можно сделать с её помощью:

    • Повысить производительность многопроцессорного железа, это и называется параллелизм;
    • Увеличить пропускную способность приложения (вызову ввода-вывода нужно блокировать только один поток);
    • Сделать приложение отзывчивее за счёт выполнения основных задач параллельно фоновым (высокоприоритетный поток для запросов пользователей);
    • Структурировать программу, повысив её эффективность (взаимодействующие со средой программы управляют несколькими действиями и обрабатывают несколько событий).


    Сгенерированная инструментом LTSA диаграмма состояний
    Приятного чтения!
  • Самые востребованные IT-профессии 2021 года

      Привет, Хабр! Мы уже долгое время следим за динамикой развития IT-профессий на мировом рынке. И сейчас решили сделать топ специальностей, которые будут особенно актуальны в 2021 году. Список составлен на основе роста зарплат на глобальном рынке, востребованности специалистов отрасли и динамики развития профессии в целом. И сразу скажем, в список вошло только 10 профессий. Это не значит, что другие профессии хуже — просто они растут чуть медленнее. Итак, поехали!


      Приятного чтения!
    • Как преобразовать аудиоданные в изображения

      • Перевод
      • Tutorial

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


      Закройте глаза и прислушайтесь к звукам вокруг вас. Независимо от того, находитесь ли вы в переполненном офисе, уютном доме или на открытом пространстве, на природе, вы можете понять, где находитесь, по звукам вокруг вас. Слух — одно из пяти основных чувств человека. Звук играет важную роль в нашей жизни. Это значит, что организация и использование значений аудиоданных с помощью глубокого обучения — важный для ИИ процесс в понимании нашего мира. Кроме того, ключевая задача обработки звука — дать компьютерам возможность отличать один звук от другого. Эта возможность позволит вычислительным машинам выполнять самые разные задачи: от обнаружения износа металла на электростанциях до мониторинга и оптимизации топливной экономии автомобилей.

      Сегодня, специально к старту нового потока курса по машинному обучению делюсь с вами статьей, в которой авторы, в качестве примера определяют вид птиц по их пению. Они находят в записях, сделанных в естественных условиях, фрагменты с пением птиц, и классифицируют виды. Преобразовав аудиоданные в данные изображений и применив модели компьютерного зрения, авторы этой статьи получили серебряную медаль (как лучшие 2 %) на соревновании Kaggle Cornell Birdcall Identification.


      Приятного чтения!
      • +20
      • 3,3k
      • 6
    • Искусство компонентов. Пишем карточку контакта Facebook Messenger

      • Перевод
      Вполне возможно оценить компонент и сказать, что он легко пишется на HTML и CSS. Соглашусь, это легко, когда вы работаете, только чтобы практиковаться, но в реальном проекте всё по-другому. Идеальный адаптивный компонент, который вы только что создали, быстро перестаёт работать, когда сталкивается с реальным контентом настоящего проекта. Почему? Потому, что, пока вы рассуждаете о разработке компонента, вы можете упустить крайние случаи. Сегодня, специально к старту нового потока нашего курса по веб-разработке, поделюсь переводом статьи, в которой показан простой на первый взгляд компонент, за которым стоит огромная работа. Ради реалистичности это будет пример прямо из Facebook Messenger.


      Приятного чтения!
      • +20
      • 2,8k
      • 6
    • 12 платформ соревнований по Data Science и искусственному интеллекту для развития ваших навыков в 2021 году

      • Перевод
      Data Science требует использования статистических методов и алгоритмов машинного обучения для работы с большим объёмом данных, и для того чтобы делать это эффективно, вам потребуется много практики. Отличная возможность попрактиковаться — соревнования по Data Science. Они служат платформой для изучения лучших практик, получения отзывов и повышения квалификации. Это также отличный способ расширить возможности творить и границы в области науки о данных. Я делал подобный список и в прошлом году, поэтому подумал, что это будет хорошее время, чтобы обновить его на 2021 год.


      Приятного чтения!
      • +27
      • 3,5k
      • 1
    • Как обучать огромные модели машинного обучения на случайных GPU

      • Перевод
      Вы можете спросить: почему эти полумагические модели машинного обучения работают так хорошо? Короткий ответ: эти модели чрезвычайно сложны и обучаются на огромном количестве данных. На самом деле, Lambda Labs недавно подсчитала, что для обучения GPT-3 на одном GPU потребовалось бы 4,6 миллиона долларов — если бы такое было возможно.

      Такие платформы, как PyTorch и Tensorflow, могут обучать эти огромные модели, потому что распределяют рабочую нагрузку по сотням (или тысячам) GPU одновременно. К сожалению, этим платформам требуется идентичность графических процессоров (они должны иметь одинаковую память и вычислительную производительность). Но многие организации не имеют тысячи одинаковых GPU. Малые и средние организации покупают разные компьютерные системы, что приводит к неоднородной инфраструктуре, которую нелегко адаптировать для вычисления больших моделей. В этих условиях обучение моделей даже среднего размера может занимать недели или даже месяцы. Если не принять меры, университеты и другие небольшие организации рискуют потерять конкурентоспособность в погоне за разработкой новых, лучших моделей машинного обучения. Но это можно исправить.

      В этом посте представлена предыстория и практические шаги по обучению BERT с нуля в университете с использованием пакета HetSeq. Это адаптация популярного пакета PyTorch, которая предоставляет возможность обучать большие модели нейронных сетей на гетерогенной инфраструктуре.


      Приятного чтения!
    • Анимации градиентного спуска и ландшафта потерь нейронных сетей на Python

      • Перевод
      • Tutorial
      Во время изучения различных алгоритмов машинного обучения я наткнулся на ландшафт потерь нейронных сетей с их горными территориями, хребтами и долинами. Эти ландшафты потерь сильно отличались от выпуклых и гладких ландшафтов потерь, с которыми я столкнулся при использовании линейной и логистической регрессий. Здесь мы создадим ландшафты потерь нейронных сетей и анимированного градиентного спуска с помощью датасета MNIST.


      Рисунок 1 — Ландшафт потерь свёрточной нейронной сети с 56 слоями (VGG-56, источник)
      Приятного чтения!
      • +39
      • 5,8k
      • 2
    • Как быть билингвом в Data Science

      • Перевод
      В этой статье я хочу продемонстрировать R Markdown — удобную надстройку для программирования вашего проекта как на R, так и на Python, позволяющую программировать некоторые элементы вашего проекта на двух языках и управлять объектами, созданными на одном языке, с помощью другого языка. Это может быть полезно потому, что:

      1. Позволяет писать код на привычном языке, но при этом использовать функции, существующие только в другом языке.
      2. Позволяет напрямую сотрудничать с коллегой, который программирует на другом языке.
      3. Даёт возможность работать с двумя языками и со временем научиться свободно владеть ими.


      Приятного чтения!
      • +26
      • 4,2k
      • 3
    • Нейросети в большом городе. Разбираемся, как они помогают идентифицировать людей, и запускаем собственную нейросеть

        Алгоритмы по детекции лиц плотно вошли в нашу жизнь, хотя и не все это замечают. Началось всё в 2015 году со сферы развлечений. Shapchat купил стартап Looksery, в котором разрабатывали AR-фильтры. Приложение распознавало лицо человека на фотографии и накладывало на него весёлые рожицы. Чуть позже, в начале 2016 года, Facebook купил белорусский стартап MSQRD и запустил маски в Facebook Stories. Но это можно считать только обкаткой таких технологий.

        В этой статье можно прочитать, как используются системы идентификации, узнать про слабые места компьютерных алгоритмов, а также попробовать запустить нейронную сеть по детекции и идентификации лиц на собственном компьютере.


        Приятного чтения!
      • Как НЕ сделать многопользовательскую игру в реальном времени за 30 дней

        • Перевод

        Или как добиться большего на следующем вашем хакатоне


        Некоторое время назад я принимал участие в ежегодном игровом мероприятии Itch.io Game Off 2020, участники которого за ноябрь делали игру на определённую тему. Тема этого года, Moonshot, привела к созданию более 500 амбициозных, в основном космических, игр, которые вы можете увидеть здесь.

        Услышав о мероприятии в октябре, я рассказал о нём своему брату и его жене, и мы решили объединиться в команду. Мы ни в коем случае не разработчики игр, но наши личные навыки хорошо дополняли друг друга. Жена брата, художник, сосредоточилась бы на создании ресурсов для игры. Тем временем мой брат, аниматор, ставший программистом, и я, программист, сконцентрировались на создании игры.

        Как только стала известна тема, мы сразу же начали мозговой штурм, чтобы придумать идею, которая, в духе темы игрового соревнования, будет весёлой, амбициозной и желательно космической.
        У нас было несколько идей, но одна заставила нас возбуждённо кивать во всеобщем согласии, это была идея игры Bad Asstronauts. Посыл игры была таким:

        Bad Asstronauts — это динамичная многопользовательская мобильная игра, в которой игроки на вооружённых космических кораблях рыщут по космосу в поисках ценных ресурсов, накапливаемых кораблями на их родных планетах. Игроки всё время должны защищать свой тайник с ресурсами от уничтожения противниками.

        Изначально выбранное для статьи название было таким: «Создание многопользовательской игры в реальном времени за 30 дней». Видя, как мы разрабатываем игру, я хотел поделиться с вами некоторым опытом, который мы извлекли за эти 30 дней, создавая игру в условиях ограниченного времени.


        Приятного чтения!
        • +20
        • 5,6k
        • 3
      • Как экономить память и удваивать размеры моделей PyTorch с новым методом Sharded

        • Перевод
        Модели глубокого обучения улучшаются с увеличением количества данных и параметров. Даже с последней моделью GPT-3 от Open AI, которая использует 175 миллиардов параметров, нам ещё предстоит увидеть плато роста количества параметров.

        Для некоторых областей, таких как NLP, рабочей лошадкой был Transformer, который требует огромных объёмов памяти графического процессора. Реалистичные модели просто не помещаются в памяти. Последний метод под названием Sharded  [букв. ‘сегментированный’] был представлен в Zero paper Microsoft, в котором они разработали метод, приближающий человечество к 1 триллиону параметров.

        Специально к старту нового потока курса по Machine Learning, делюсь с вами статьей о Sharded в которой показывается, как использовать его с PyTorch сегодня для обучения моделей со вдвое большей памятью и всего за несколько минут. Эта возможность в PyTorch теперь доступна благодаря сотрудничеству между командами FairScale Facebook AI Research и PyTorch Lightning.


        Приятного чтения!
        • +25
        • 3,5k
        • 3
      • Визуализация пересечений и перекрытий с помощью Python

        • Перевод

        Изучение вариантов решения одной из самых сложных задач визуализации данных


        Преобладающая задача в любом анализе данных — сравнение нескольких наборов чего-либо. Это могут быть списки IP-адресов для каждой целевой страницы вашего сайта, клиенты, которые купили определённые товары в вашем магазине, несколько ответов из опроса и многое другое.

        В этой статье воспользуемся Python для изучения способов визуализации перекрытий и пересечений множеств, наших возможностей, а также их преимуществ и недостатков.


        Диаграмма Венна
        Приятного чтения!
      • В поисках искусственного здравого смысла

        • Перевод
        19 июля 2020 года была опубликована запись в блоге под названием «Чувствуете себя непродуктивным? Может, стоит перестать задумываться». В этой статье о самосовершенствовании в 1000 слов объясняется, что чрезмерное обдумывание — враг творчества, и даётся совет быть внимательнее:

        «Чтобы что-то сделать, возможно, нам нужно меньше думать. Это кажется нелогичным, но я считаю, что иногда наши мысли могут мешать творческому процессу. Иногда мы можем работать лучше, когда «отключаемся» от внешнего мира, сосредотачиваясь на том, что перед нами».

        Пост был написан GPT-3, огромной нейронной сетью Open AI с 175 миллиардами параметров, обученной почти полутриллиону слов. Студент Калифорнийского университета в Беркли Лиам Порр просто написал заголовок и позволил алгоритму написать текст. «Забавный эксперимент», чтобы посмотреть, сможет ли ИИ обмануть людей. Действительно, GPT-3 ударил по нервам: этот пост достиг первого места на Hacker News.

        Итак, с сегодняшним ИИ есть парадокс. Хотя некоторые из работ GPT-3, возможно, удовлетворяют критерию теста Тьюринга, убеждая людей в том, что с ними общается человек, но он явно терпит неудачу на простейших заданиях. Исследователь искусственного интеллекта Гэри Маркус попросил GPT-2, предшественника GPT-3, закончить такое предложение:

        «Что происходит, когда вы складываете растопку и поленья в камин, а затем бросаете несколько спичек? Обычно начнётся…»

        «Огонь» — вот что немедленно закричит любой ребёнок. Но ответ GPT-2: «Ick»

        Эксперимент не удался. Дело закрыто?


        Приятного чтения!
      • 6 принципов эффективной визуализации данных

        • Перевод

        Ключевые принципы создания полезных и информативных графиков


        Визуализация данных является важным этапом в процессе постижения науки о данных. Здесь вы представляете свои результаты и сообщаете о них в графическом формате, который является интуитивно понятным и лёгким для понимания.

        Визуализация данных требует большой работы, большой труд по очистке и анализу уходит на перегонку и превращение грязных данных в красивые графики и диаграммы. Но даже с подготовленными данными всё равно приходится придерживаться определённых принципов или методологий, чтобы создать полезную, информативную графику.

        Тем не менее при написании этой статьи я черпал вдохновение в книге Эдварда Тафта «Beautiful Evidence», которая содержит шесть принципов, посвящённых тому, как сделать графики данных полезными. Именно эти принципы отделяют полезные графики от бесполезных.

        Эта статья также в значительной степени вдохновлена книгой Роджера Д. Пенга «Exploratory Data Analysis in R» Она доступна бесплатно на Bookdown, и вы можете прочитать её, чтобы узнать больше о EDA.

        Давайте ближе познакомимся с этими принципами.


        Пример визуализации данных на Our World in Data
        Приятного чтения!
      • Заброшенный сайд-проект, который превратился в бизнес с доходом в 700 млн долларов в год

        • Перевод

        20-летний путь Бена Честната, основателя MailChimp


        Ему было 26 лет, когда его уволили и он основал студию веб-дизайна.

        Я был предупрежден за месяц, так что у меня было время спланировать дальнейшую жизнь.

        После увольнения в 2000 году Бен Честнат занялся тем, что знал лучше всего, — разработкой веб-сайтов. За эти годы он создал около двух тысяч рекламных баннеров для своего бывшего работодателя, газеты Cox. Он точно знал, как создавать интерактивные объекты в Интернете.

        И я подумал… Что ж, это наш шанс открыть компанию. Мой деловой партнёр и я просто нашли клиентов. Мы пошли стучаться в двери по коридору от нашего офиса. И у нас появились оплачиваемые проекты. Мы получили проекты на 13 000 и 32 000$. Даже до получения лицензии на бизнес.

        К сожалению, для управления студией веб-дизайна ваше умение говорить по телефону куда важнее вашего мастерства в дизайне. Студии часто привлекают самый причудливый бизнес, где мнения клиентов заменяют реальные ключевые показатели эффективности, а успокаивающий голос может быть важнее движения продукта. Естественно, группа интровертов и внимательных дизайнеров под названием Rocket Science Group не смогла добиться успеха в среде, где внешность важнее сущности.


        Приятного чтения!
      • Человеческое эго и стремления — движущие силы инженерных решений

        • Перевод
        Вы думаете, что выбираете технологию потому, что она подходит требованиям? Вы можете ошибаться.

        Давайте начнём с примера, который, возможно, вдохновлён реальной ситуацией. Команде необходимо подобрать брокера событий. Претендента два — Kafka и Pulsar.

        Разработчик А имеет значительный опыт с Kafka в реальных ситуациях. Упоминают сложность при масштабировании Kafka и поручаются Pulsar. Разработчик B — сторонник Kafka, так как технология стала стандартом индустрии и имеет сильную поддержку в целом. Но у команды мало опыта работы с ней. Оба согласны в том, что в обозримом будущем изменений рабочей нагрузки нет и два этих решения соответствуют требованиям. Но остальные члены команды не так самоуверенны.

        После проведённых на встрече часов и сравнения с сеткой технических критериев пункт за пунктом команда выбрала Kafka. Все согласились с тем, что принятие этого решения вполне обоснованно, обоснование задокументировали, и команда приступила к внедрению.

        Но раскрыты ли истинные мотивы выбора?


        Приятного предновогоднего чтения!
        • +18
        • 2,8k
        • 5
      • Как с помощью Data Science «перезагрузить» завод после незапланированного отключения

        • Перевод
        Остановка нефтегазовых заводов — это миллионы долларов убытков. К сожалению, остановка обычно неизбежна, поскольку существует большое количество технологического оборудования и инструментов, которые могут выйти из строя без предупреждения. Инженеры по эксплуатации и техническому обслуживанию должны оставаться до поздней ночи, чтобы найти основную причину отказа оборудования и как можно скорее вернуть его в строй. В этом посте приводим 2 решения для поиска основных причин незапланированных остановок на нефтегазоперерабатывающем заводе.


        Приятного чтения!
        • +20
        • 3,7k
        • 5

      Самое читаемое