Как стать автором
Обновить
40
80.8
bugman @bugman

Make software to happen

Синтезируем голос бабушки, дедушки и Ленина + новости нашего публичного синтеза

Время на прочтение 9 мин
Количество просмотров 11K
Машинное обучение *Развитие стартапа Звук Natural Language Processing *


На Хабре часто висят в топе: политика и очередные запреты, трактор, ну и конечно сенсационные новости про "очередные достижения AI". Также журналисты маркетологи любят перепечатывать нормальные статьи наподобие этой но под максимально кричащими заголовками в духе "AI поработит мир, ваш голос уже украли".


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


Вопреки этому тренду, в этой статье мы постараемся на пальцах и близко к народу:


  • На реальных примерах показать возможности генерации голоса на малом числе данных или на данных с неидеальным качеством;
  • Немного порассуждать на тему цифровых памятников (это чем-то похоже на интерактивные или трехмерные фотографии), сделанных из голоса человека;
  • Также немного порассуждать на тему того, какую объективную опасность это представляет для общества;

И также мы конечно поделимся новостями нашего публичного синтеза речи.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 21

Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек

Время на прочтение 8 мин
Количество просмотров 30K
Машинное обучение *DIY или Сделай сам Звук Natural Language Processing *Голосовые интерфейсы *

hero_image


В нашей прошлой статье про синтез речи мы дали много обещаний: убрать детские болячки, радикально ускорить синтез еще в 10 раз, добавить новые "фишечки", радикально улучшить качество.


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


  • Снизили размер модели в 2 раза;
  • Научили наши модели делать паузы;
  • Добавили один высококачественный голос (и бесконечное число случайных);
  • Ускорили наши модели где-то примерно в 10 раз (!);
  • Упаковали всех спикеров одного языка в одну модель;
  • Наши модели теперь могут принимать на вход даже целые абзацы текста;
  • Добавили функции контроля скорости и высоты речи через SSML;
  • Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
  • Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;

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


Попробовать модель как обычно можно в нашем репозитории и в колабе.

Читать дальше →
Всего голосов 158: ↑157 и ↓1 +156
Комментарии 99

Распознаём дату и время в естественной речи

Время на прочтение 10 мин
Количество просмотров 13K
.NET *Алгоритмы *C# *Natural Language Processing *Голосовые интерфейсы *


Задача


Привет, Хабр! Увлёкся я навыками для Алисы и стал думать, какую пользу они бы могли принести. На площадке много разных прикольных игр (в том числе мои), но вот захотелось сделать рабочий инструмент, который действительно нужен в голосовом исполнении, а не просто копирует существующего чат-бота с кнопками.


Голос актуален тогда, когда либо руки заняты, либо нужно выполнять много последовательных операций, особенно на экране телефона. Так возникла идея навыка, который по одной команде выделяет из текста указание на дату и время и добавляет событие с этим текстом в Google Calendar. Например, если пользователь скажет Послезавтра в 11 вечера будет красивый закат, то в календарь на послезавтра в 23:00 уходит строка Будет красивый закат.


Под катом описание алгоритма работы библиотеки Hors: распознавателя даты и времени в естественной русской речи. Хорс — это славянский бог солнца.


Github | NuGet

Всего голосов 48: ↑47 и ↓1 +46
Комментарии 35

Neural Network Optimization: океан в капле

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 4.1K
Блог компании Doubletapp Серверная оптимизация *Обработка изображений *Машинное обучение *Искусственный интеллект
Обзор
🤖 Сезон machine learning

Всех приветствую, меня зовут Антон Рябых, работаю в Doubletapp. Вместе с коллегой Данилом Гальпериным мы написали статью про важный этап в процессе обучения нейронных сетей и получения необходимых нам результатов —  оптимизацию модели. Зачем нужно оптимизировать модель, если и так все работает? Но как только вы начнете разворачивать модель на устройстве, которое будет ее обрабатывать, перед вами встанет множество проблем.

Более крупные модели занимают больше места для хранения, что затрудняет их распространение. Более крупные модели требуют больше времени для работы и могут потребовать более дорогого оборудования. Это особенно важно, если вы создаете модель для приложения, работающего в реальном времени.

Оптимизация моделей направлена на уменьшение размера моделей при минимизации потерь в точности и производительности.

Методы оптимизации

Pruning — устранение части параметров нейронной сети.
Quantization — уменьшение точности обрабатываемых типов данных.
Knowledge distillation — обновление топологии исходной модели до более эффективной, с уменьшенным количеством параметров и более быстрым выполнением.
Weight clustering — сокращение количества уникальных параметров в весах модели.
OpenVino, TensorRT — фреймворки, с помощью которых можно оптимизировать модели.

Читать далее
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 3

Приделываем руки к ChatGPT: бот, который исполняет код в рантайме

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 15K
Машинное обучение *Искусственный интеллект
Туториал
🤖 Сезон machine learning

В предыдущей статье я рассказывал, как можно доучить GPT на собственных взглядах и вкусах. Сегодня попробуем дать GPT возможность поработать программистом по‑настоящему — с запуском кода и отладкой без участия человека. Весь код опубликован в репозитарии.

Как многие уже убедились, ChatGPT хорош, но есть некоторые типы задач, с которыми у него возникают трудности:

1. Он не может получать новые актуальные знания из сети.
2. Он не может выполнить какие‑либо действия.
3. У него сложности с алгоритмическими задачами (перевернуть строку, решить уравнение, произвести вычисления с применением численных методов).

И если задача 1 решается с помощью BingChat, то 2 и 3 мы сегодня будем решать в рамках данного туториала.

Основная идея такая: пусть ChatGPT сам решает, может ли он справиться с задачей «в уме» или же это лучше сделать с помощью написания кода на python, а наш сервер сразу же выполняет этот код и снова отдает результат работы ChatGPT, чтобы он мог его интерпретировать и или выдать пользователю окончательный ответ или исправить ошибку в своей программе и попытаться ещё раз.

Дальше много примеров и немного кода...
Всего голосов 54: ↑53 и ↓1 +52
Комментарии 29

Ардуино Тайм трекер додекаэдр

Время на прочтение 11 мин
Количество просмотров 4.3K
Разработка под Arduino *Производство и разработка электроники *Интернет вещей DIY или Сделай сам Электроника для начинающих
Туториал

Во время удаленной работы бывает тяжело сохранить прежнюю производительность. Мне в этом деле помогло отслеживание своего потраченного времени. Для этой цели я сделал себе тайм трекер куб. Каждая сторона куба отвечает за тот или иной вид деятельности. Затем, я понял, что шести сторон куба для меня недостаточно и решил сделать больше. Таким образом, я сделал Тайм трекер додекаэдр с 12 сторонами. В данной статье расскажу, как собрать и запрограммировать свой тайм трекер интегрированный с уже существующей системой, используя его API.
Использование существующего тайм трекера дает нам множество преимуществ, можно использовать веб, десктопную или мобильную версию трекера в любой удобный момент. Нам не требуется задумываться над методом и системой хранения данных про наши записи времени и мы можем использовать уже имеющиеся отчеты данной системы. А наш трекер додекаэдр служит дополнением ко всему этому. Ссылка на github страницу моего проекта, где лежит весь нужный код. Ниже я подробно расскажу, как работать с датчиком наклона, распознать на какой стороне лежит додекаэдр, что такое Toggl Track и как работать с его API для отслеживания времени.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 12

Играючи BASH'им вместе

Время на прочтение 10 мин
Количество просмотров 14K
Кодобред
Туториал
Игра на bash'е с поддержкой мультиплеера, миф или реальность?

image

Истина где-то тут. Разоблачительный текст далее.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 25

Перевод учебника по алгоритмам

Время на прочтение 1 мин
Количество просмотров 163K
Блог компании Образовательные проекты JetBrains Алгоритмы *


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Всего голосов 323: ↑321 и ↓2 +319
Комментарии 109

Будущее игровой индустрии с hi-res 3D сканами людей и Oculus Rift

Время на прочтение 2 мин
Количество просмотров 86K
Разработка игр *
Энтузиаст технологий виртуальной реальности Teddy, известный в определённых кругах адаптацией устройства Razer Hydra для работы с Unity Development Kit, помог другому этузиасту 3D сканирования Ли Перри-Смиту (Lee Perry-Smith), известному в определённых кругах своей студией для мгновенного бесконтактного 3D сканирования людей в высоком разрешении.

В результате получилось интересное демо, раскрывающее потрясающие возможности сотрудничества технологий виртуальной реальности и 3D сканирования (местами 16+).



Хочу 18плюс!
Всего голосов 112: ↑109 и ↓3 +106
Комментарии 70

Мой удобный дом

Время на прочтение 14 мин
Количество просмотров 308K
DIY или Сделай сам
Из песочницы
Относительно недавно здесь был текст про домашнюю автоматику, а в комментариях один товарищ высказал идею, о которой я тоже думаю очень-очень давно. Суть в том, что автоматика должна работать так, чтобы этого, по возможности, вообще не было заметно.

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →
Всего голосов 161: ↑160 и ↓1 +159
Комментарии 97

DLNA-сервер для дома и семьи

Время на прочтение 7 мин
Количество просмотров 835K
IT-инфраструктура *
Из песочницы
Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.

И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.

Читать дальше →
Всего голосов 70: ↑66 и ↓4 +62
Комментарии 65

Как узнать, стоит ли оптимизировать MySQL запросы?

Время на прочтение 4 мин
Количество просмотров 24K
MySQL *
Мне часто задают один и тот же вопрос: как можно находить запросы, которые необходимо оптимизировать. Ведь, скажем, взглянув на отчет pt-query-digest, мы легко найдем медленные запросы или запросы, которые вызывают большую нагрузку на систему — но как мы поймем, существует или нет возможность сделать выполнение этого запроса быстрее? Полный ответ на этот вопрос определенно потребует комплексного анализа, так как существует много путей оптимизации запросов. Однако, существует одна очень полезная метрика, которую вы можете применить — соотношение между количество возвращенных запросом рядов и пройденными рядами.
Читать дальше →
Всего голосов 48: ↑35 и ↓13 +22
Комментарии 22

Жизнь на собственном сервере

Время на прочтение 3 мин
Количество просмотров 19K
Open source *
Покупать готовое устройство для организации домашнего сервера (NAS) может и более простой способ, но точно не самый интересный. А сделать такой сервер можно по разному.

Например, лет 10 назад у меня был старенький системный блок с одним HDD под управлением linux. Его главной задачей было — держать SMB-шару. Позже, с появлением жены, требования к такому серверу изменились: он должен быть маленьким (занимать мало места), не гудеть и не потреблять много электричества. Поэтому систему пришлось менять.



Читать дальше →
Всего голосов 56: ↑39 и ↓17 +22
Комментарии 68

Какой SIP-сервер выбрать: SER, OpenSER, Kamailio, OpenSIPS? Что в них общего и в чем разница?

Время на прочтение 8 мин
Количество просмотров 50K
Разработка систем связи *
У многих администраторов voip-сетей, сталкивающихся с sip-серверами слова ser, openser, kamailio, opensips вызывают по меньшей мере головокружение. Почему их так много? Почему так похожи? Какие активно развиваются, а какие уже нет? Какой в конце-концов выбрать?

Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Комментарии 18

Делаем oracle deploy-скрипт независимым от окружения

Время на прочтение 3 мин
Количество просмотров 3.9K
Oracle *
Из песочницы
Уже не одна правильная статья написана про необходимость и преимущества хранения исходных кодов схем базы данных в системах контроля версий (типа CVS, SVN, TFS и др.), а также ведения deploy – скриптов.
Не стану повторяться, но разберем один специфических аспектов этого процесса.

Не секрет, что нормально поставленный процесс разработки состоит из собственно разработки(Dev), внутреннего тестирования(QA), приёмочного тестирования конечными пользователями (UAT) и, непосредственно, «Production». Детали жизненного цикла могут отличаться в индивидуальных случаях, но это не существенно для темы статьи.

Порой (а в опыте автора – часто) так случается, что окружения, на которых происходят разные этапы этого цикла могут отличаться по тем или иным причинам. Различия могут быть какие угодно. От разных tablespace-ов, до отличий в названиях схем, DBLink-ов и других индивидуальных особенностей. Как эффективно решить эту неприятность мы и рассмотрим в этой статье.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 11

Игры в OLTP

Время на прочтение 23 мин
Количество просмотров 2.7K
Nginx *
В последнее время на Хабре стала популярной тема реализации высокопроизводительных приложений. Решили тоже немножко поэкспериментировать в этом направлении и поделиться текущими результатами наших изысканий.

Подопытный «Hello, world!» представляет собой простейшую OLTP систему:



Требования к производительности и отказоустойчивости являются ключевыми для подобных систем. Поэтому поиск решения поставленной задачи осуществлялся в направлении: C, C++, fastcgi, nginx, lighttpd, oracle. В первую очередь нам было любопытно попробовать различные варианты построения OLTP на данных технологиях, а так же измерить производительность и пиковые нагрузки.

Подробности под катом...
Всего голосов 39: ↑36 и ↓3 +33
Комментарии 31

ГиперБатон: IKEA для сайтов

Время на прочтение 3 мин
Количество просмотров 503
Я пиарюсь
GiperBaton
Когда я готовил эту статью я общался с друзьями, работающими в различных Интернет-студиях.
Не смотря на осенний рост спроса и на изменение ценовых политик заказов у крупных студий стало значительно меньше.

Во многих компаниях, разрабатывающих сайты, в последнее время работы или мало или просто нет. И не смотря на все усилия менеджеров, походы по выставкам, попыткам развивать новые каналы продаж, количество заказчиков резко сокращается. Кто-то выживает обеспечивая аккаунт старым клиентам, кто-то выходит на международные рынки, но практика показывает — рынок стагнирует.
Читать дальше →
Всего голосов 42: ↑20 и ↓22 -2
Комментарии 20

Интернет-магазин промышленного оборудования

Время на прочтение 3 мин
Количество просмотров 988
Я пиарюсь
Начну с того, что больше года назад устроился в компанию занимающуюся продажей промышленного оборудования и комплектующих. Работал я там неполный день, что-то вроде приходящего сотрудника. Вскоре, я предложил начальству разработать интернет-магазин, так как это может увеличить и упростить продажи.
Почему я говорю упростить? Всё из-за того, что есть разные типы оборудования, одни стоят условно 5.000руб, а другие больше 500.000 евро. Вот как раз, дорогое оборудование продавать через интернет сложно, если не сказать невозможно, всё из-за того что такую технику покупают заводы и предприятия, ну и сомо-собой всё идёт через главных инженеров и откаты им, чтоб купили именно у вас, это самая простая схема, чаще всего всё гораздо сложнее.
Читать дальше →
Всего голосов 42: ↑32 и ↓10 +22
Комментарии 24

Запускаем софтверный бизнес в России

Время на прочтение 7 мин
Количество просмотров 1.8K
Я пиарюсь
Много было в последнее время топиков о стартапах, организации команд, разработке ПО и некоторых других вещах, неразрывно связанных с софтверным или интернет-бизнесом. В этой статье я хочу рассказать, что сейчас будет вас ждать, пожелай вы открыть свою компанию по продаже программного обеспечения (ПО, далее софта). Ибо пока полноценных топиков на эту тему я не видел.

Зачем нужен этот топик? Чтобы после прочтения можно было однозначно ответить на вопросы «А оно мне надо?», «Стоит ли переводить проект в разряд стартапа (или наоборот)?», «Как заработать на своем труде в России?» и на ряд других более конкретно. И это только касательно России (если все будет хорошо, то выложу аналогичный топик и относительно международного софтверного бизнеса).

Внимание: вся нижеприведенная информация изложена с позиций минимизации затраченного времени (и увеличения надежности мероприятия) и с учетом отсутствия прописки в городе регистрации юр. лица (и отсутствия рабочего офиса).

Продукт и команда


Перед стартом обязательно имейте хотя бы что-нибудь. Что-нибудь, что приносит деньги. Без денежного потока (пусть даже в 10-20 тысяч рублей) затевать все это бессмысленно (далее будет понятно, почему, но первичные расходы на оформление всей волокиты составляют порядка 30к рублей). Естественно, открывать свое юридическое лицо и оформлять бизнес стоит в том случае, если вы собираетесь расти. И не просто расти, а очень сильно расти. Иметь оборот в 20-30 тысяч рублей можно и не имея никакого юридического лица, а при «нелегальном» обороте в районе 100 тысяч уже могут начаться различные проблемы с государством (и красиво оформить это может уже не получиться).

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

Ладно, вроде у нас есть, что продавать (будь это хоть утилита «Time Machine для Windows»). У нас есть пара человек, которые разделяют ответственность за компанию и готовы работать во имя ее успешности. Что дальше?

Дальше самое интересное.
Читать дальше →
Всего голосов 133: ↑113 и ↓20 +93
Комментарии 146

Английский без дураков: Уроки онлайн бесплатно, вживую, для всех!

Время на прочтение 2 мин
Количество просмотров 4.2K
Я пиарюсь
image

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

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

И это все?! Сейчас, когда на календаре 21 век? А где же интерактив? Где мультимедиа? Где живое, вибрирующее сообщество? Ведь при сегодняшнем уровне интернет-технологий поставить все это на службу делу изучения языка более чем реально! Обнаружив когда-то на месте отечественных сервисов по изучению английского зияющую пустоту, я не стал разводить сантименты, а засел за комп, и через некоторое время на свет появился проект, в котором получило воплощение мое собственное представление о том, каким должен быть сайт в помощь изучающим язык. В двух словах: если традиционные вебсайты напоминают библиотеку, то «Английский без дураков» — учебное заведение.
Читать дальше →
Всего голосов 77: ↑71 и ↓6 +65
Комментарии 66

Информация

В рейтинге
50-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Chief Technology Officer (CTO), Software Architect
Lead
Git
Linux
Docker
Database
High-loaded systems
SQL
English
Software development
Algorithms and data structures
Development of integration solutions