Pull to refresh
0
0
Send message

О шаблонах в С++, чуть сложнее

Reading time40 min
Views31K

После недавней статьи о шаблонах С++ для начинающих осталось жгучее желание показать что-нибудь похожее, но на практическом примере, да так, чтобы и порог входа был не высоким, и чтобы скучно не было. А так как в голове крутится задача перевода чего бы то ни было в строку, то этим и предлагаю заняться всем, кто хочет потрогать компилятор за шаблоны.

Потрогать здесь
Total votes 50: ↑50 and ↓0+50
Comments30

Извлекаем суть новости. Опыт Яндекса

Reading time7 min
Views11K
Привет! Меня зовут Илья Гусев, я занимаюсь машинным обучением в команде Яндекс.Новостей. У каждого новостного сюжета на сервисе есть своя страница, где собраны новости об одном и том же событии из разных источников. Сегодня мы рассмотрим построение краткой выжимки, дайджеста сюжета. В такой выжимке, состоящей из фрагментов новостных документов, содержится основная информация о событии. Очевидно, почему дайджест полезен для пользователя — мы выводим на экран сюжета самое важное о событии. С похожими задачами сталкиваются многие инженеры: например OpenAI недавно опубликовала статью про реферирование книг. Поэтому я надеюсь, что описанный ниже подход будет вам полезен.

Как и всё в Новостях, построение такой выжимки должно быть полностью автоматическим. До внедрения выжимки текстовая часть сюжета выглядела так:



Теперь она выглядит так:


Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments18

Нейросети для Natural Language Inference (NLI): логические умозаключения на русском языке

Reading time9 min
Views17K

NLI (natural language inference) – это задача автоматического определения логической связи между текстами. Обычно она формулируется так: для двух утверждений A и B надо выяснить, следует ли B из A. Эта задача сложная, потому что она требует хорошо понимать смысл текстов. Эта задача полезная, потому что "понимательную" способность модели можно эксплуатировать для прикладных задач типа классификации текстов. Иногда такая классификация неплохо работает даже без обучающей выборки!

До сих пор в открытом доступе не было нейросетей, специализированных на задаче NLI для русского языка, но теперь я обучил целых три: tiny, twoway и threeway. Зачем эти модели нужны, как они обучались, и в чём между ними разница – под катом.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments3

Как симулировать плохую сеть под Linux, macOS и Windows

Reading time3 min
Views22K

Clumsy 0.2

Все распределённые системы — базы данных, мобильные приложения, корпративные SaaS и так далее — следует разрабатывать с учётом сбоев. Например, компания Stripe во время тестов убивала случайные инстансы — и смотрела, что произойдёт. Компания Netflix рандомно уничтожала инстансы прямо в продакшне с помощью программы Chaos Monkey (проект Simian Army).

Симуляция сбоев — необходимое средство тестирования. Проблема в том, что ситуации не делятся только на чёрное и белое, Есть огромная «серая» зона, где сбои явно не выражены, а проявляются в плохих условиях сети: ненадёжное соединение, узкий канал, потери пакетов, высокая задержка, дубликаты пакетов и так далее.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments6

30 миллиардов параметров: реально ли обучить русский GPT-3 в «домашних» условиях?

Reading time17 min
Views30K

Не так давно Сбер, а затем и Яндекс объявили о создании сверхбольших русских языковых моделей, похожих на GPT-3. Они не только генерируют правдоподобный текст (статьи, песни, блоги и т. п.), но и решают много разнообразных задач, причем эти задачи зачастую можно ставить на русском языке без программирования и дополнительного обучения — нечто очень близкое к «универсальному» искусственному интеллекту. Но, как пишут авторы Сбера у себя в блоге, «подобные эксперименты доступны только компаниям, обладающим значительными вычислительными ресурсами». Обучение моделей с миллиардами параметров обходится в несколько десятков, а то сотен миллионов рублей. Получается, что индивидуальные разработчики и маленькие компании теперь исключены из процесса и могут теперь только использовать обученные кем-то модели. В статье я попробую оспорить этот тезис, рассказав о результатах попытки обучить модель с 30 миллиардами параметров на двух картах RTX 2080Ti.

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments41

Устройство поисковых систем: базовый поиск и инвертированный индекс

Reading time24 min
Views24K

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

В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments6

Теория инвестиций для начинающих, часть 1

Reading time16 min
Views69K
Эдвард Мэтью Ворд. Пузырь Компании Южных морей. 1847 г. Галерея Тейт, Лондон.

В какие ценные бумаги вкладывать деньги? Как накопить на пенсию? Кто такие ETF’ы и почему все с ними носятся? Зачем покупать акции, если рынок может упасть? Такие вопросы я слышу от студентов и коллег, когда читаю лекции о деривативах. В принципе, неудивительно. Деривативы — это что-то далёкое из мира больших банков, а личные инвестиции намного ближе к телу.

Можно было бы ответить коротко: «Покупайте индексные фонды, это хорошо!» К сожалению, такой ответ не объясняет, почему это хорошо. Если бы я услышал его 15 лет назад, когда ещё не интересовался финансами, то он не нашёл бы отклика в моём сердце. Пришлось прослушать не один курс лекций, чтобы осознать, какая экономическая теория стоит за этим советом, и начать применять его на практике.

Собственно, моя статья — не столько инвестиционный совет (хотя я и расскажу о личном опыте и даже посчитаю свою «альфу»), сколько обзорный курс по теории инвестиций. Полезно знать, какие модели придумали предыдущие поколения, и в каких терминах можно думать об инвестициях. Если из теории следует, что имеет смысл покупать индексные ETF’ы, чтобы копить на пенсию — так и быть, расскажу и об этом.

Не секрет, что в финансах много математики. Я постарался соблюсти баланс. Я считаю, что интуитивное понимание главных экономических идей важнее, чем конкретная формула. Даже если вы пропустите вообще все формулы, то вы всё равно поймёте суть и получите полезные знания. С другой стороны, если вы хотели бы размять мозги не ахти какой сложной математикой, то у вас будет такая возможность.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments18

Ультимативное сравнение embedded платформ для AI

Reading time22 min
Views24K
Нейронные сеточки захватывают мир. Они считают посетителей, контролируют качество, ведут статистику и оценивают безопасность. Куча стартапов, использование в промышленности.
Замечательные фреймворки. Что PyTorch, что второй TensorFlow. Всё становиться удобнее и удобнее, проще и проще…
Но есть одна тёмная сторона. Про неё стараются молчать. Там нет ничего радостного, только тьма и отчаяние. Каждый раз когда видишь позитивную статью — грустно вздыхаешь, так как понимаешь что просто человек что-то не понял. Или скрыл.
Давайте поговорим про продакшн на embedded-устройствах.

Total votes 43: ↑43 and ↓0+43
Comments57

Международная математическая олимпиада 2020 (решаем в комментах)

Reading time2 min
Views13K
image

На этой неделе (16-26 сентября) в Санкт-Петербурге (виртуально) стартовала 61-я международная математическая олимпиада, в ней принимают участие 622 школьника из 114 стран.

Первая такая олимпиада прошла в 1959 году в Румынии, и тогда в ней принимали участие представители всего семи стран.

Россию представляет команда из шести старшеклассников.

На решение 6 задач школьникам отводится 2 дня по 4,5 часа. Пока идет оценка результатов, предлагаю вам попробовать решить задачи и обсудить в комментах.

image

Результаты прошлых лет.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments18

YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO

Reading time9 min
Views77K
Darknet YOLOv4 быстрее и точнее, чем real-time нейронные сети Google TensorFlow EfficientDet и FaceBook Pytorch/Detectron RetinaNet/MaskRCNN.

Эта же статья на medium: medium
Код: github.com/AlexeyAB/darknet
Статья: arxiv.org/abs/2004.10934
Обсуждение YOLOv4-tiny 1770 FPS: www.reddit.com/r/MachineLearning/comments/hu7lyt/p_yolov4tiny_speed_1770_fps_tensorrtbatch4
Обсуждение: www.reddit.com/r/MachineLearning/comments/gydxzd/p_yolov4_the_most_accurate_realtime_neural


Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов.

Нашей целью было разработать алгоритм обнаружения объектов для использования в реальных продуктах, а не только двигать науку вперед. Точность нейросети YOLOv4 (608x608) – 43.5% AP / 65.7% AP50 Microsoft-COCO-testdev.

62 FPS – YOLOv4 (608x608 batch=1) on Tesla V100 – by using Darknet-framework
400 FPS – YOLOv4 (320x320 batch=4) on RTX 2080 Ti – by using TensorRT+tkDNN
32 FPS – YOLOv4 (416x416 batch=1) on Jetson AGX Xavier – by using TensorRT+tkDNN


Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments37

Web2Text: глубокое структурированное извлечение содержимого web-страницы

Reading time17 min
Views4.7K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof.


Веб-страницы являются ценным источником информации для многих задач обработки естественного языка и поиска информации. Эффективное извлечение основного содержимого из этих документов имеет важное значение для производительности производных приложений. Чтобы решить эту проблему, мы представляем новую модель, которая выполняет классификацию и маркировку текстовых блоков на странице HTML как шаблонных блоков, или блоков содержащих основной контент. Наш метод использует Скрытую Марковскую модель поверх потенциалов, полученных из признаков объектной модели HTML-документа (Document Object Model, DOM) с использованием сверточных нейронных сетей (Convolutional Neural Network, CNN). Предложенный метод качественно повышает производительность для извлечения текстовых данных из веб-страниц.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments2

Шпаргалка по аббревиатурам C++ и не только. Часть 1: C++

Reading time20 min
Views54K
Когда-то я собеседовался на должность C++ разработчика в одну приличную и даже известную контору. Опыт у меня тогда уже кое-какой был, я даже назывался ведущим разработчиком у тогдашнего своего работодателя. Но на вопросы о том, знаком ли я такими вещами, как DRY, KISS, YAGNI, NIH, раз за разом мне приходилось отвечать «Нет».

Собеседование я с треском провалил, конечно. Но упомянутые аббревиатуры потом загуглил и запомнил. По мере чтения тематических статей и книг, подготовок к собеседованиям и просто общения с коллегами я узнавал больше новых вещей, забывал их, снова гуглил и разбирался. Пару месяцев назад кто-то из коллег небрежно упомянул в рабочем чате IIFE в контексте C++. Я, как тот дед в анекдоте, чуть с печки не свалился и опять полез в гугл.


Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments29

Information

Rating
Does not participate
Location
Юрмала, Латвия, Латвия
Registered
Activity