Pull to refresh
130
-1
Alexander Kapitanov @hukenovs

Data Scientist, ex. FPGA engineer

Send message

GigaAM: класс открытых моделей для обработки звучащей речи

Level of difficultyMedium
Reading time10 min
Views5.8K

Салют, Хабр! Ранее мы в SberDevices анонсировали предобученную на русском языке модель GigaAM (Giga Acoustic Model) и её дообученные состояния под распознавание речи (GigaAM-CTC) и определение эмоций (GigaAM-Emo). Сегодня же делимся с сообществом весами моделей и примерами использования.

Приглашаем под кат погрузиться в self-supervised learning для звучащей речи и оценить возможности предобученных моделей!

Читать далее
Total votes 23: ↑26.5 and ↓-3.5+30
Comments17

Quantization Deep Dive, или Введение в современную квантизацию

Level of difficultyMedium
Reading time16 min
Views13K

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее
Total votes 83: ↑82 and ↓1+81
Comments13

Как мы научили YandexGPT пересказывать видео

Level of difficultyMedium
Reading time14 min
Views14K

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

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

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

История о том, как организовать соревнование по компьютерному зрению без правильных ответов

Level of difficultyMedium
Reading time18 min
Views1.8K

В прошлом году наша научная группа организовала международное соревнование по рендерингу ночных изображений на конференции CVPR. Это, на минуточку, одна их трех самых престижных профильных международных конференций в году. Задача участника — создать алгоритм, который будет генерировать/рендерить по необработанному (RAW) изображению самое эстетически красивое изображение ночной сцены. Красота оценивалась независимо профессиональным фотографом и обычными пользователями.

Но получилось ли у участников покорить их сердца?

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

О чем говорят руки. 2 место на соревновании Kaggle + код решения

Level of difficultyMedium
Reading time13 min
Views5.2K

Приветствую всех читателей! Меня зовут Артем Топоров, и сегодня я хочу поделиться с вами своим опытом участия в соревновании по распознаванию жестового языка, организованном компанией Google. На этом соревновании, собравшем 1139 команд со всего мира, нам удалось занять 2 место. Расскажу как мы вместе с Николаем Форратом и Xun Zhao разработали ML алгоритм для мобильных устройств, едва не заняли первое место и при чем тут спектрограммы. Вы можете использовать наш код, так как он распространяется под лицензией Apache 2.0.

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

Распознавание и перевод жестовых языков: обзор подходов

Level of difficultyMedium
Reading time11 min
Views1.8K

Всем привет! В статье «Slovo и русский жестовый язык» мы рассказывали, как решаем задачу распознавания изолированных жестов, в статье «Русский жестовый язык: первое место в американском бенчмарке» делились результатами решения, а в статье «GigaChat и русский жестовый язык» речь шла о реализации прототипа общения с генеративной языковой моделью GigaChat. В этой статье речь пойдет о распознавании и переводе жестового языка и передовых подходах для их решениях. 

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments1

Апскейл, который смог

Reading time15 min
Views70K
Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.
Читать дальше →
Total votes 164: ↑162 and ↓2+160
Comments78

Увеличь это! Современное увеличение разрешения в 2023

Level of difficultyMedium
Reading time26 min
Views24K

Почти 4 года назад вашим покорным слугой была опубликована статья Увеличь это! Современное увеличение разрешения, которая набрала +376 хабролайков и 176 тысяч просмотров. Но прогресс на месте не стоит! Новые нейросетевые методы жгут! Их результаты прекрасны и великолепны. 1,5 года назад на хабре была неплохая статья Апскейл, который смог (+160), в которой были показаны плюсы новых алгоритмов.

Но всегда ли все прекрасно? Конечно нет! 

Мой любимый пример фантастических способностей нейросетевых алгоритмов выше. В шарике отражается наша лаборатория. Бюст Зевса был взят в датасет, чтобы оценить работу нейросетей с полутенями, но результат «обработки полутеней» сильно превзошел ожидания. Во-первых, мудрые голубые глаза и покрасневшие губы! Во-вторых, Зевс теперь причесан! В-третьих, его борода стала короче и тоже аккуратно подстрижена! Наконец, Зевс теперь выглядит ощутимо моложе и… человечнее! О, жители Олимпа, согласитесь, это просто божественно! 

Почему нам таки есть что сказать по теме? За последние годы мы создали 3 бенчмарка Video Super-Resolution под разные кейсы использования, которые на данный момент занимают первые 3 (из 14) места в соответствующем разделе на сайте paperswithcode.com.

Подобная деятельность безмерно актуальна, поскольку если 4 года назад на GitHub было меньше 200 репозиториев Super-Resolution, то сейчас их там больше 900 и разобраться в этом море исходников стало совсем непросто.

Естественно, при создании бенчмарков у нас было много чудных примеров. Более того, сейчас мы целенаправленно создаем датасет артефактов нейросетевых алгоритмов апскейла.

Кому интересно посмотреть, какие забавные косяки бывают у новых алгоритмов, а также как выглядят наилучшие результаты, которые даже меня, занимающегося темой 14+ лет, удивляют — добро пожаловать под кат!

Много прекрасных картинок Super-Resolution
Total votes 118: ↑117 and ↓1+116
Comments84

YOLO-World: распознавание произвольного числа объектов с высокой точностью и скоростью

Level of difficultyMedium
Reading time5 min
Views10K

Всем привет! Буквально несколько дней назад была представлена новая модель семейства Yolo. Ее основная фишка заключается в том, что в отличие от своих старших братьев, она способна распознавать на изображении фактически любые объекты (которые интересуют человека) без предварительного обучения и делает все это в real-time режиме! Звучит неплохо, не так ли?

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

Читать далее
Total votes 22: ↑20 and ↓2+18
Comments10

4 миллиарда операторов if

Level of difficultyMedium
Reading time7 min
Views111K

Просматривая недавно соцсети, я наткнулся на этот скриншот. Разумеется, его сопровождало множество злобных комментариев, критикующих попытку этого новичка в программировании решить классическую задачу computer science: операцию деления с остатком.

В современном мире, где ИИ постепенно заменяет программистов, отнимая у них работу и совершая переворот в том, как мы подходим к рассуждениям о коде, нам, возможно, следует быть более открытыми к мыслям людей, недавно пришедших в нашу отрасль? На самом деле, показанный выше код — идеальный пример компромисса между временем и задействованной памятью. Мы жертвуем временем и в то же время памятью и временем компьютера! Поистине чудесный алгоритм!

Поэтому я решил изучить эту идею проверки чётности числа при помощи одних сравнений, чтобы понять, насколько хорошо она работает в реальных ситуациях. Я сторонник высокопроизводительного кода, поэтому решил реализовать это на языке программирования C, потому что он и сегодня остаётся самым быстрым языком в мире с большим отрывом от других (благодаря гению Денниса Ричи).

Читать далее
Total votes 376: ↑359 and ↓17+342
Comments153

Ортографическая проекция в фотографии и прочие интересные фокусы с объективами

Level of difficultyMedium
Reading time30 min
Views22K

С тем как работает фотоаппарат мы знакомимся еще со школьной программы. Однако привычное нам из школьного курса сведение объектива к "тонкой линзе" на самом деле не отвечает на массу практических вопросов. Например как удается создавать объективы с ортографической проекцией применяемые в системах технического зрения?

Да-да, такие тоже бывают не только в компьютерной графике, но и в фотографии: попробуйте-ка это объяснить оперируя исключительно в терминах "тонкой линзы". Размер изображения предмета в таких системах (почти) не зависит от того на каком расстоянии от объектива они находятся и это весьма удобно для измерения размеров предмета. В этой статье мы поговорим о том как этого удается добиться, как работает автофокус и пленоптические камеры и о многих других интересных вещах

Так как же работает объектив?
Total votes 162: ↑161 and ↓1+160
Comments38

MiVOLO: новая State-of-the-Art нейросеть с открытым исходным кодом для определения пола и возраста по фотографии

Level of difficultyMedium
Reading time12 min
Views4.5K

Привет, Хабр!

Хочу рассказать вам нашу историю о том, как изначально рутинная рабочая задача закончилась созданием открытой state-of-the-art нейросети, научной работой и новым датасетом.

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

Оптика в техническом зрении. Лекция 1: Объектив

Level of difficultyEasy
Reading time14 min
Views15K

Привет, Хабр!

Меня зовут Андрей, я – оптик и инженер-конструктор оптических приборов в одном лице.

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

Из таких кусочков, выложенных в удобном для обучения порядке, и появился этот курс. Изначально я писал его для внутреннего обучения джунов отдела нейросетей, начинающих работать с распознаванием изображений. Я поместил в него ровно то, с чем CV-разработчики сталкиваются на практике при сборке макетов и работе с объективами. Не больше и не меньше.

Читать далее
Total votes 56: ↑54 and ↓2+52
Comments82

Система распознавания шрифта Брайля. Читаем написанное белым по белому

Reading time13 min
Views12K

В 2018 году мы взяли из детдома в семью слепую девочку Анжелу. Тогда я думал, что это чисто семейное обстоятельство, никак не связанное с моей профессией разработчика систем компьютерного зрения. Но благодаря дочери через два года появилась программа и интернет-сервис для распознавания текстов, написанных шрифтом Брайля - Angelina Braille Reader.

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

Ниже расскажу о том, как делалась эта разработка и с какими трудностями пришлось столкнуться. Более развернутое описание приведено в публикациях [1,2].

Возможно, кто-то захочет внести в проект свой вклад.

Читать далее
Total votes 149: ↑148 and ↓1+147
Comments26

Миссия выполнима: как Smart Engines обучила нейросеть распознавать все страницы паспорта РФ и находить подделки

Level of difficultyEasy
Reading time8 min
Views15K

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

Читать далее
Total votes 24: ↑22 and ↓2+20
Comments54

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views38K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Total votes 173: ↑173 and ↓0+173
Comments28

Прунинг нейронных сетей (фитнес бывает полезен не только людям)

Reading time15 min
Views12K

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

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

Поехали!

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

Редукция нейронных сетей при помощи вариационной оптимизации

Reading time13 min
Views11K
Привет, Хабр. Сегодня я бы хотел развить тему вариационной оптимизации и рассказать, как применить её к задаче обрезки малоинформативных каналов в нейронных сетях (pruning). При помощи неё можно сравнительно просто увеличить «скорострельность» нейронной сети, не перелопачивая её архитектуру.

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

Датацентрический и моделецентрический подходы в машинном обучении

Reading time12 min
Views5.1K
image

Код и данные — фундамент ИИ-системы. Оба эти компонента играют важную роль в разработке надёжной модели, но на каком из них следует сосредоточиться больше? В этой статье мы сравним методики, ставящие в центр данные, либо модель, и посмотрим, какая из них лучше; также мы поговорим о том, как внедрять датацентрическую инфраструктуру.
Читать дальше →
Total votes 2: ↑2 and ↓0+2
Comments1

Невыжившие в IT

Reading time7 min
Views194K

Этот текст я пишу из лучших побуждений, безо всякой иронии, снобизма и насмешки. Хочу сберечь время и нервы тем, кто поддался на «войти в айти» и прямо сейчас учится сортировать массивы, парсить строки и верит в «да-да, этим ты и будешь заниматься на работе».

Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.

Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.

Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.

Читать далее
Total votes 362: ↑349 and ↓13+336
Comments445
1
23 ...

Information

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

Specialization

Specialist
Lead
Machine learning
Neural networks
Computer vision
OpenCV
Pytorch
Deep Learning
TENSORFLOW
Big data
Algorithms and data structures
Data Analysis