Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Маленький и быстрый BERT для русского языка

Время на прочтение9 мин
Количество просмотров62K

BERT – нейросеть, способная неплохо понимать смысл текстов на человеческом языке. Впервые появившись в 2018 году, эта модель совершила переворот в компьютерной лингвистике. Базовая версия модели долго предобучается, читая миллионы текстов и постепенно осваивая язык, а потом её можно дообучить на собственной прикладной задаче, например, классификации комментариев или выделении в тексте имён, названий и адресов. Стандартная версия BERT довольно толстая: весит больше 600 мегабайт, обрабатывает предложение около 120 миллисекунд (на CPU). В этом посте я предлагаю уменьшенную версию BERT для русского языка – 45 мегабайт, 6 миллисекунд на предложение. Она была получена в результате дистилляции нескольких больших моделей. Уже есть tinybert для английского от Хуавея, есть моя уменьшалка FastText'а, а вот маленький (англо-)русский BERT, кажется, появился впервые. Но насколько он хорош?

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

Быстрый денойз аудио в высоком качестве

Время на прочтение2 мин
Количество просмотров3.4K

Не всегда можно записать аудио в идеальной тишине
Не всегда можно записать аудио в идеальной тишине


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

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

Яндекс.Спам

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров28K

Как Яндекс в очередной раз рассылает спам и врет пользователям. С логами, картинками и прочими пруфами
Читать дальше →
Всего голосов 122: ↑114 и ↓8+130
Комментарии104

Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки»

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров8.2K

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

На связи участники профессионального сообщества NTA Рощупкин Богдан, Сахоненко Егор и Алёшин Максим.

В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает.

Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile().

Заглянуть под капот
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Идиоматическая обработка ошибок в Rust

Время на прочтение7 мин
Количество просмотров4.8K

Вы забудете о необработанных исключениях, если научитесь обращаться с ошибками, как это принято в Rust


Обработка ошибок – важнейшая часть любого языка программирования, а в Rust предлагается для этого уникальный мощный подход. Rust, в отличие от многих других языков программирования, не предлагает исключений, а предоставляет перечисление Result. У разработчика нет иного выхода, кроме как обрабатывать все ошибки согласованно и предсказуемо. Поэтому ошибки становится проще идентифицировать и диагностировать.

Поскольку в Rust не предусмотрены исключения, любая функция обязана возвращать либо значение, либо "панику". Когда функция паникует, процесс сразу же завершается и предоставляет вызывающей стороне конкретную обратную связь. Чисто технически можно отлавливать случаи паники в Rust при помощи catch_unwind, но постоянно так делать не рекомендуется. Вместо этого в Rust предлагается перечисление Result; пользуясь им, разработчик вынужден обрабатывать все ошибки сам.

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

image
Читать дальше →
Всего голосов 19: ↑16 и ↓3+17
Комментарии6

TechArena Ireland: как готовился хакатон

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров647

На прошлых выходных (23-24 сентября) Huawei проводил хакатон TechArena Ireland в Дублине. Несколько сотен зарегистрировались, больше сотни пришло. Организация потребовала немало времени и сил на подготовку места, рекламы, и прочего. (Я не буду перечислять в переводе всех пострадавших :) Они все упомянуты в англоязычном посте на LinkedIn и Medium.)

Я отвечал за подготовку задания, оценки решений и подобных мелочей. Вот как это выглядело.

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

В Австралии собираются сажать за «хищение зарплаты»

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров16K

Правительство Австралии подготовило законопроект, согласно которому:

— за «хищение зарплаты» грозит до 10 лет тюрьмы и штраф $7.8 млн;
— разработаны меры по обеспечению одинаковой оплаты за одинаковую работу;
— водители-экспедиторы смогут обращаться в трудовую инспекцию с просьбой повышения зарплаты и улучшения условий труда;
— временные работники после 6 месяцев могут требовать от работодателя оформить их как постоянных.

«Недоплачивать людям дешевле: да, это так. Рабство, вероятно, ещё дешевле», — заявил министр труда Тони Берк.

Читать далее
Всего голосов 43: ↑34 и ↓9+37
Комментарии194

Наручные атомные часы стали ближе. Определение координат без GPS

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров29K

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

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

Но сейчас перед человечеством стоит скорее обратная задача: мы хотим обеспечить точную навигацию по местности без GPS, и для этого нужны ещё более точные атомные часы, чем для работы GPS. Зная скорость и направление движения любого объекта, часы нового поколения обеспечат позиционирование с точностью до метра/сантиметра (в зависимости от их точности, а также точности других датчиков). В общем, главная задача теперь — решить проблему зависимости от спутниковой навигации, которая не всегда доступна.
Читать дальше →
Всего голосов 64: ↑55 и ↓9+66
Комментарии130

Как я статистику git парсил

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров28K

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

Спустя четыре месяца (испытательный закончился) у многих закрались подозрения, что на самом деле парень ничего не делает. Но как доказать это со стороны объективно? Решили посмотреть историю коммитов. Оказалось, он почти не коммитил (последний месяц вообще перестал), а на совещаниях ссал в уши ездил по ушам. Парень продолжил работать на прошлой работе и был преподом на курсах. Такой вот overemployed, с двумя зарплатами по ставке синьора.

Ему предложили перевестись в другой отдел. Менеджеру все сошло с рук. Часть разрабов сидела с лицами «‎а что так можно было?»‎. А я понял, что нельзя так просто взять и посмотреть статистику коммитов.

Велосипед через 3, 2, 1...
Всего голосов 78: ↑72 и ↓6+86
Комментарии50

Как обойти капчу: нейросеть на Tensorflow,Keras,python v числовая зашумленная капча

Время на прочтение7 мин
Количество просмотров47K
Тема капч не нова, в том числе для Хабра. Тем не менее, алгоритмы капч меняются, как и алгоритмы их решения. Поэтому, предлагается помянуть старое и прооперировать следующий вариант капчи:



попутно понять работу простой нейросети на практике, а также улучшить ее результаты.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии25

Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1

Время на прочтение12 мин
Количество просмотров93K

Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место, которое в последствии превратилось в проект Easyworkstation. Эта штука уже несколько лет полностью заменяет мне и еще нескольким десяткам пользователей привычное компьютерное кресло и рабочий стол.

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

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

А теперь ретроспектива
Всего голосов 300: ↑300 и ↓0+300
Комментарии206

Proxmox 7.1: всё выше и выше

Время на прочтение3 мин
Количество просмотров52K

Без особой помпы вышла новая версия Proxmox Virtual Environment - 7.1. Эта опенсорс-платформа виртуализации, построенная на базе Debian, KVM, LXC, Ceph, давно зарекомендовала себя. Авторы, кстати, говорят о более чем полумиллионе хостов, где она развернута.

Новая версия Proxmox Virtual Environment несёт несколько новых функциональных возможностей и множество улучшений для задач управления через веб-интерфейс: поддержка Windows 11, включая TPM, улучшенный мастер создания ВМ/контейнера, возможность устанавливать политики сохранения резервных копий для каждого задания резервного копирования в графическом интерфейсе, а также новый демон-планировщик, поддерживающий более гибкие расписания.

Вот подборка основных моментов (и видео с показом):

Хочу знать!
Всего голосов 10: ↑10 и ↓0+10
Комментарии34

Программирование устройств на основе модуля ESP32

Время на прочтение26 мин
Количество просмотров214K
Микроконтроллер — это интегральная схема, способная выполнять программы. Сегодня на рынке представлено множество таких моделей от самых разных производителей. Цены на эти устройства продолжают падать. Однокристальные чипы находят широкое применение в самых разнообразных сферах: от измерительных приборов до изделий развлечений и всевозможной домашней техники. В отличие от персональных компьютеров микроконтроллер сочетает в одном кристалле функции процессора и периферийных устройств, содержит оперативную память и постоянное запоминающее устройство в для хранения кода и данных, однако обладает значительно мешьшими вычислительными ресурсами. ESP32 — это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. Платы с ESP32 обладают хорошей вычислительной способностью, развитой периферией и при этом весьма популярны ввиду низкой цены в диапазоне 7$ – 14$: Aliexpress, Amazon.

image
Читать дальше →
Всего голосов 25: ↑23 и ↓2+28
Комментарии5

А снег идет, или делаем новогоднюю гирлянду с детьми на микроконтроллерах Raspberry Pi Pico

Время на прочтение13 мин
Количество просмотров7.2K

Что делать, когда обычные гирлянды надоели, а пора встречать Новый год с детьми? Можно создать эффект снегопада и другие эффекты с помощью адресных светодиодов NeoPixels, добавить ИК-пульт для управления выбором эффектов, их скоростью и яркостью и, при желании, мини-дисплей для отображения текущих параметров. Так мы займем время до праздников и создадим свое устройство для украшения елки и не только елки.


Нам понадобятся микроконтроллер Raspberry Pi Pico (около 4$) или его разновидности на чипе RP2040, простейший ИК-пульт (дешевле 1$ вместе с приемником, батарейкой и белым светодиодом в комплекте) и соединенные последовательно адресные ленты WS2812B (10 светодиодов на метр, напряжение 5V, стоимость около 1$/метр). Также можно подключить миниатюрный I2C или SPI дисплей (1-3$), если таковой найдется под рукой. Код MicroPython реализует 5 разных эффектов, доступных при нажатии кнопок 1 — 5 на ИК пульте, а также обеспечивает управление яркостью гирлянды (кнопками вверх и вниз) и скоростью эффектов (кнопками вперед и назад).


Читать дальше →
Всего голосов 14: ↑13 и ↓1+16
Комментарии27

Курсы Computer Science клуба в 2021 году: верификация, фотограмметрия, статистика, логика, теория игр и другие

Время на прочтение2 мин
Количество просмотров6.2K

Все курсы Computer Science клуба в 2021 году проходили в онлайн режиме. Мы собрали для вас подборку видеозаписей лекций, которые выложены на нашем youtube канале.

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

Бутлоадер с AES-128 и EAX на AVR Assembler в 1024 байта

Время на прочтение23 мин
Количество просмотров80K

Или как я перестал бояться и полюбил ассемблер

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

Хорошая мера защиты — обновления программного обеспечения. Китайские клоны автоматически отмирают после каждой новой прошивки, а лояльные пользователи получают нашу любовь, заботу и новые возможности. Робин Гуды при таком раскладе, естественно, достанут свои логические анализаторы, HEX-редакторы и начнут ковырять процесс прошивки с целью ублажения русско-китайского сообщества.

Хоть у нас и не было проектов, которые требуют подобных мер защиты, было понятно: заняться этим надо, когда-то это пригодится. Погуглено — не найдено, придумано — сделано. В этой статье, я расскажу, как уместить полноценное шифрование в 1 килобайт и почему ассемблер — это прекрасно. Много текста, кода и небольшой сюрприз для любителей старого железа.
Читать дальше →
Всего голосов 152: ↑151 и ↓1+150
Комментарии75

LAppS сервер приложений для микросервисной архитектуры

Время на прочтение10 мин
Количество просмотров4.8K

image


Предыстория


20-го декабря прошлого года я ушёл в отпуск, на целых 2 недели. Чем заняться в отпуске? Правильно, — кодом. Кодом, которым некогда заниматься в рабочее время. Последние несколько лет мне кодить приходилось очень мало. Руки стосковались. Какой код пишут в отпуске? Не знаю как вы, а я пишу велосипеды. Зачем? Причин может быть много, но основная, — мне интересно. Я люблю C++ и Lua. Я ещё и bash и awk люблю. Не закидывайте камнями, это личное, так получилось. JavaScript я не очень люблю (хотя последние 2 года если что-то и кодил то на JS), и это тоже личное.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии3

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность