Search
Write a publication
Pull to refresh
60
0
Илья Шутов @i_shutov

Data Science

Send message

T-one — открытая русскоязычная потоковая модель для телефонии

Level of difficultyHard
Reading time14 min
Views8.7K

Всем привет! Я Андрей, ML-разработчик из команды распознавания речи в Т-Банке. Мы занимаемся полным циклом разработки: сбором и разметкой данных, проведением экспериментов по обучению моделей, интеграцией в продакшен.

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

Акустическая модель является по-настоящему потоковой, легковесной, производительной и обгоняет по качеству более крупные открытые офлайн-модели в телефонии.

В статье расскажу, как устроена потоковая модель распознавания, как и на чем ее обучали и как ее можно использовать.

Читать далее

От React всё так же веет безумием, но все об этом молчат

Level of difficultyEasy
Reading time11 min
Views44K

Недавно работал над хобби-проектом, который описал в другой своей статье. В процессе его реализации у меня возникло желание чиркануть пару абзацев о том, почему React — отстой, но в итоге я не смог удержаться и решил высказаться по полной…

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

Читать далее

Прощайте, базы данных, да здравствуют векторные базы данных

Level of difficultyEasy
Reading time11 min
Views95K

Революция в области искусственного интеллекта переформатирует все отрасли нашей жизни, с одной стороны обещая невероятные инновации, а с другой ー сталкивая нас с новыми вызовами. В безумном потоке изменений эффективная обработка данных становится приоритетом для приложений, на основе больших языковых моделей, генеративного ИИ и семантического поиска. В основе этих технологий лежат векторные представления (embeddings, дальше будем называть их Эмбеддинги), сложные представления данных, пронизанные критической семантической информацией.

Эти вектора, созданные LLMs, охватывают множество атрибутов или характеристик, что делает управление ими сложной задачей. В области искусственного интеллекта и машинного обучения эти характеристики представляют различные измерения данных, необходимые для обнаружения закономерностей, взаимосвязей и базовых структур. Для удовлетворения уникальных требований к обработке этих вложений необходима специализированная база данных. Векторные базы данных специально созданы для обеспечения оптимизированного хранения и запросов векторов, сокращая разрыв между традиционными базами данных и самостоятельными векторными индексами, а также предоставляя ИИ-системам инструменты, необходимые для успешной работы в этой среде нагруженной данными.

Читать далее

Конфаундинг, или как аналитику попасть в ловушку

Level of difficultyMedium
Reading time17 min
Views4.1K

Вы построили свою модель: p-value в порядке, R² впечатляет, вот только эффект — мнимый. Причина? Иногда вы упустили какую-то переменную. Иногда добавили лишнюю. Иногда включили ту, которая полностью поменяла ваш вывод. Настало время познакомиться с самым изощрённым убийцей аналитических выводов — конфаундингом.

Читать далее

Он победил LLM RAG: реализуем BM25+ с самых азов

Level of difficultyEasy
Reading time18 min
Views19K

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

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

Код доступен в Google Collab.

Читать далее

Шпаргалка: fixture в pytest

Level of difficultyMedium
Reading time15 min
Views37K

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

Читать далее

gRPC vs REST, что выбрать для нового сервера?

Reading time11 min
Views130K

Всем приветы. А вы писали новый сервер с нуля? Какие технологии использовали? А рассматривали какие-либо варианты кроме старого доброго REST ? А что есть еще что-то ? С такими вопросами я когда-то пришел к своему лиду.  Да, для меня было открытием, что можно использовать не только REST для обмена сообщениями между сервером и клиентом. Ах да, конечно я знал про SOAP, но использовать его уж очень не хотелось. Оказалось, что можно попробовать использовать Thrift или например gRPC. От Thrift пришлось отказаться по ряду причин, которые не сильно важны в данной статье. Кстати, возможно Thrift это именно то что вам нужно. 

Так что же такое gRPC и в чем его отличие от, уже ставшего классическим, REST? Лучше ли gRPC? Может gRPC это снова хипстерская технология, которую все скоро забудут?

   Не для кого ни секрет, что REST доминирует в современном мире API, особенно, когда речь идет о веб-приложениях и инфраструктурах, на основе микросервисов. Мало кто даже вспомнит, про то что микросервисы могут общаться по другому. Это наверное самый популярный ответ на собеседовании. Да если добавить еще feign клиента из Spring, то получается совсем красота и минимальные трудо затраты. Но для определенного набора сценариев использования, модель gRPC начала играть небольшую, но важную роль. Давайте попробуем разобраться, когда же нам стоит использовать REST, а когда gRPC.

Read more gRPC vs REST

Вперед в будущее: Wayland против X11

Level of difficultyMedium
Reading time38 min
Views63K

Доброго времени суток, дорогие читатели! Сегодня я затрону одну интересную тему — графические дисплейные сервера и протоколы в Linux. В этой статье я расскажу вам о архитектуре X11 и Wayland, историю их создания и наконец-то сделаем вывод: Иксы на мороз, или вейланд на помойку?


Еще в далеком 2016 году вышла Fedora 25 с окружением GNOME 3.22 на базе дисплейного сервера Wayland. А в RHEL 10 выкинут X11 на мороз. Релиз RHEL 10 намечен на 2025 год, CentOS Stream 10 — на 2024 год. Для обеспечения работы приложений, требующих X11, будет использоваться XWayland. Таким образом, в 2029 году (к моменту окончания первого этапа поддержки RHEL 9) стоит ожидать появление первого аппаратного обеспечения, не поддерживающего X11.


И как я думаю — будущее за Wayland. Но пока X11 является стандартом. Давайте разберем это!


Читать дальше →

Исторический момент: ChatGPT обрёл «суперсилу Wolfram»

Level of difficultyMedium
Reading time18 min
Views34K

Четвёртая версия ChatGPT одних заставила пищать от восторга, а других повергла в уныние. Кто-то уже нашёл этой системе множество творческих применений, а кто-то пророчит, что эта нейросеть лишит работы кучу людей. Теперь возможности ChatGPT стали ещё шире: систему интегрировали с Wolfram | Alpha, легендарным движком для вычисления ответов в самых разных областях знания. Мы перевели для вас огромную подробную статью об этом от одного из разработчиков Wolfram | Alpha.

Читать далее

Марвин Мински «The Emotion Machine»: Глава 1 «Настроения и Эмоции»

Reading time7 min
Views4.8K
Отец искусственного интеллекта размышляет о том, как сделать машину, которая бы гордилась нами. Марвин Мински был довольно жестким ученым и то, что он своим «скальпелем познания» исследует тему чувств и эмоций, что же делает нас людьми, довольно интересно и полезно. Книга — отличный образец того, как «ИТишным подходом» попробовать осмыслить «человеческое»: ценности, идеалы, любовь, боль, здравый смысл.

image
Предыдущий параграф

§1-3 Настроения и Эмоции

«Если кто-либо попытается найти как называется каждая из них (эмоций), для которых человеческое сердце является местом нахождения, каждая раса людей нашла имена для некоторых оттенков чувств, в то время, как другие расы оставили некоторые оттенки без внимания… все виды группировок возможны, из-за выбора базисного чувства, на котором основываются все остальные. Вопрос в том, действительно ли эффект поиска оттенков эмоций является результатом случайной группировки, или этот процесс подходил конкретным целям лучше всего? „
— Уильям Джеймс в Принципах Психологии (Principles of Psychology ) (текст имеется лишь в оригинальном труде на стр. 485)
Иногда вы находитесь в состоянии, при котором окружающий мир кажется весёлым и ярким. В другое время (конечно, при условии, что ничего не изменилось) всё кажется скучным и мрачным, а ваши друзья говорят, что вы впали в депрессию. Почему у нас есть такие состояния разума – говоря иначе настроения, чувства, или диспозиции – и что вызывает этот странный эффект? Вот некоторые фразы, которые дают словари для определения слова «эмоция»:

  • Субъективный опыт сильного переживания.
  • Состояние психического возбуждения или беспокойства.
  • Психическая реакция, связанная с состоянием тела.
  • Более субъективное, чем сознательное влечение.
  • Часть сознания, которое включает в себя чувства.
  • Нерациональный аспект рассуждений.
Читать дальше →

Хуже потопа, страшнее пожара: как подготовить свои бэкапы к визиту вируса-шифровальщика

Reading time18 min
Views20K

Десятилетиями бэкапы защищали нас в первую очередь от физического выхода из строя оборудования и случайной порчи данных. Хорошая система резервного копирования (СРК) должна была пережить пожар, потоп, а потом оперативно дать возможность бизнесу продолжить нормальную работу. Но появилась другая беда, которая намного вероятнее потопа и от которой не спасают несгораемые перекрытия и физическое разнесение площадок в разные города.

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

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

Читать далее

git bisect: путешествие по времени и багам

Reading time5 min
Views26K

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ?? Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик.

Сегодня я хочу поговорить про git bisect , инструмент, который помогает найти момент, когда появился баг. Считаю, что Middle+ разработчики должны иметь его в своем арсенале. Это перевод оригинальной статьи.

Читать далее

О динамическом программировании на пальцах

Level of difficultyEasy
Reading time9 min
Views57K

Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?

Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!

Усаживайтесь поудобнее, леди и джентльмены!

Вперед!

Ю. Шмидхубер: «Прекрасно быть частью будущего искусственного интеллекта»

Reading time7 min
Views11K


В последние дни сентября в Амстердаме проходила конференция по графическим технологиям GTC EUROPE 2016. Профессор Юрген Шмибдхубер представлял свою презентацию, как научный директор IDSIA, швейцарской лаборатории, где он с коллегами занимается исследованиями в области искусственного интеллекта.

Главный тезис выступления — настоящий искусственный интеллект изменит все уже в скором времени. По большей части статья, которую вы сейчас читаете, подготовлена по материалам презентации профессора Шмидхубера.
Читать дальше →

50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение

Reading time18 min
Views27K

Всем привет! A/B тестирование уже давно стало стандартом в проверке гипотез и улучшении продуктов в X5. Но, как ни странно, многие из «модных» техник, которые применяются в A/B тестировании, на самом деле, не что иное, как вариации старой доброй линейной регрессии. 

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

Чтобы разобраться в этом, для начала вспомним основы линейной регрессии, после чего перейдём к различным статистическим методам снижения дисперсии и покажем, как они сводятся к линейной регрессии. Затем объединим все техники вместе и на примере покажем, как они работают на практике.

Читать далее

Интегральные резисторы или О чем молчат в спорах про проектные нормы

Level of difficultyMedium
Reading time20 min
Views15K

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

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

Правильно, ничего! Но есть нюансы.

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Level of difficultyEasy
Reading time11 min
Views35K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

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

Git. Скачем между ветками как древесные лягушки

Level of difficultyEasy
Reading time6 min
Views33K

Статей на тему много, но, видимо, недостаточно. Последние 10 лет в 4-х разных компаниях время от времени слышу от коллег:

— Не могу пошарить экран с кодом, у меня другая ветка сейчас.

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

— Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать.

Читать далее

Transformer в картинках

Reading time14 min
Views152K

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity