BERT – нейросеть, способная неплохо понимать смысл текстов на человеческом языке. Впервые появившись в 2018 году, эта модель совершила переворот в компьютерной лингвистике. Базовая версия модели долго предобучается, читая миллионы текстов и постепенно осваивая язык, а потом её можно дообучить на собственной прикладной задаче, например, классификации комментариев или выделении в тексте имён, названий и адресов. Стандартная версия BERT довольно толстая: весит больше 600 мегабайт, обрабатывает предложение около 120 миллисекунд (на CPU). В этом посте я предлагаю уменьшенную версию BERT для русского языка – 45 мегабайт, 6 миллисекунд на предложение. Она была получена в результате дистилляции нескольких больших моделей. Уже есть tinybert для английского от Хуавея, есть моя уменьшалка FastText'а, а вот маленький (англо-)русский BERT, кажется, появился впервые. Но насколько он хорош?
Пользователь
Быстрый денойз аудио в высоком качестве
Не всегда можно записать аудио в идеальной тишине
Довольно давно мы сделали у себя в целом простой нетребовательный денойз, а выложить модели как-то руки всё не доходили. Решили наконец-то исправить данное недоразумение.
Яндекс.Спам
Как Яндекс в очередной раз рассылает спам и врет пользователям. С логами, картинками и прочими пруфами
Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки»
Привет, Хабр!
На связи участники профессионального сообщества NTA Рощупкин Богдан, Сахоненко Егор и Алёшин Максим.
В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает.
Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile().
Идиоматическая обработка ошибок в Rust
Вы забудете о необработанных исключениях, если научитесь обращаться с ошибками, как это принято в Rust
Обработка ошибок – важнейшая часть любого языка программирования, а в Rust предлагается для этого уникальный мощный подход. Rust, в отличие от многих других языков программирования, не предлагает исключений, а предоставляет перечисление Result. У разработчика нет иного выхода, кроме как обрабатывать все ошибки согласованно и предсказуемо. Поэтому ошибки становится проще идентифицировать и диагностировать.
Поскольку в Rust не предусмотрены исключения, любая функция обязана возвращать либо значение, либо "панику". Когда функция паникует, процесс сразу же завершается и предоставляет вызывающей стороне конкретную обратную связь. Чисто технически можно отлавливать случаи паники в Rust при помощи catch_unwind, но постоянно так делать не рекомендуется. Вместо этого в Rust предлагается перечисление Result; пользуясь им, разработчик вынужден обрабатывать все ошибки сам.
В этом посте будут рассмотрены применяемые в Rust идиоматические паттерны обработки ошибок, и вы в общих чертах поймёте, как это делается. Мы разберём перечисление Result, посмотрим, как с его помощью обрабатываются ошибки в программах Rust, и какие крейты чаще всего используются, чтобы упростить этот процесс.
TechArena Ireland: как готовился хакатон
На прошлых выходных (23-24 сентября) Huawei проводил хакатон TechArena Ireland в Дублине. Несколько сотен зарегистрировались, больше сотни пришло. Организация потребовала немало времени и сил на подготовку места, рекламы, и прочего. (Я не буду перечислять в переводе всех пострадавших :) Они все упомянуты в англоязычном посте на LinkedIn и Medium.)
Я отвечал за подготовку задания, оценки решений и подобных мелочей. Вот как это выглядело.
В Австралии собираются сажать за «хищение зарплаты»
Правительство Австралии подготовило законопроект, согласно которому:
— за «хищение зарплаты» грозит до 10 лет тюрьмы и штраф $7.8 млн;
— разработаны меры по обеспечению одинаковой оплаты за одинаковую работу;
— водители-экспедиторы смогут обращаться в трудовую инспекцию с просьбой повышения зарплаты и улучшения условий труда;
— временные работники после 6 месяцев могут требовать от работодателя оформить их как постоянных.
«Недоплачивать людям дешевле: да, это так. Рабство, вероятно, ещё дешевле», — заявил министр труда Тони Берк.
Наручные атомные часы стали ближе. Определение координат без GPS
Прототип атомных часов CSIC образца 2004 года, источник. К сожалению, реальное устройство с управляющей электроникой оказалось гораздо массивнее
В своё время атомные часы сделали возможным создание спутниковых систем навигации вроде GPS, которые опираются на сверхточные синхронизированные часы.
Но сейчас перед человечеством стоит скорее обратная задача: мы хотим обеспечить точную навигацию по местности без GPS, и для этого нужны ещё более точные атомные часы, чем для работы GPS. Зная скорость и направление движения любого объекта, часы нового поколения обеспечат позиционирование с точностью до метра/сантиметра (в зависимости от их точности, а также точности других датчиков). В общем, главная задача теперь — решить проблему зависимости от спутниковой навигации, которая не всегда доступна.
Как я статистику git парсил
Работаю я в бюрократизированной конторе с плохими процессами. Текучка тут достаточно большая. Люди приходят и уходят. Менеджмент на уровне дна. В какой-то момент в команду докинули нового разработчика (с неясными целями и задачами). Ну вроде парень умный, вроде что-то делает, вроде не просто так.
Спустя четыре месяца (испытательный закончился) у многих закрались подозрения, что на самом деле парень ничего не делает. Но как доказать это со стороны объективно? Решили посмотреть историю коммитов. Оказалось, он почти не коммитил (последний месяц вообще перестал), а на совещаниях ссал в уши ездил по ушам. Парень продолжил работать на прошлой работе и был преподом на курсах. Такой вот overemployed, с двумя зарплатами по ставке синьора.
Ему предложили перевестись в другой отдел. Менеджеру все сошло с рук. Часть разрабов сидела с лицами «а что так можно было?». А я понял, что нельзя так просто взять и посмотреть статистику коммитов.
Как обойти капчу: нейросеть на Tensorflow,Keras,python v числовая зашумленная капча
попутно понять работу простой нейросети на практике, а также улучшить ее результаты.
Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1
Привет, Хабр! Меня зовут Денис Захаров. Я занимаюсь разработкой веб приложений на протяжении уже 14 лет, но история будет не об этом. Расскажу о том, как и почему я создавал эргономичное рабочее место, которое в последствии превратилось в проект Easyworkstation. Эта штука уже несколько лет полностью заменяет мне и еще нескольким десяткам пользователей привычное компьютерное кресло и рабочий стол.
Под катом поведаю, как профессия, проблемы со спиной и любовь мастерить руками довели меня до увольнения с работы, покупки сварочного аппарата и отнюдь не простого пути создания того, что вы видите на картинке.
Надеюсь, статья и блог, который планирую здесь вести, окажутся полезны тем, кто проводит много времени за компьютером. Будем разбирать особенности работы в положении сидя, полулежа, лежа. А также укажем нюансы, в целом связанные с работой в эргономичных позициях. Поговорим, о чем молчат разработчики подобных решений.
Proxmox 7.1: всё выше и выше
Без особой помпы вышла новая версия Proxmox Virtual Environment - 7.1. Эта опенсорс-платформа виртуализации, построенная на базе Debian, KVM, LXC, Ceph, давно зарекомендовала себя. Авторы, кстати, говорят о более чем полумиллионе хостов, где она развернута.
Новая версия Proxmox Virtual Environment несёт несколько новых функциональных возможностей и множество улучшений для задач управления через веб-интерфейс: поддержка Windows 11, включая TPM, улучшенный мастер создания ВМ/контейнера, возможность устанавливать политики сохранения резервных копий для каждого задания резервного копирования в графическом интерфейсе, а также новый демон-планировщик, поддерживающий более гибкие расписания.
Вот подборка основных моментов (и видео с показом):
Программирование устройств на основе модуля ESP32
А снег идет, или делаем новогоднюю гирлянду с детьми на микроконтроллерах Raspberry Pi Pico
Что делать, когда обычные гирлянды надоели, а пора встречать Новый год с детьми? Можно создать эффект снегопада и другие эффекты с помощью адресных светодиодов NeoPixels, добавить ИК-пульт для управления выбором эффектов, их скоростью и яркостью и, при желании, мини-дисплей для отображения текущих параметров. Так мы займем время до праздников и создадим свое устройство для украшения елки и не только елки.
Нам понадобятся микроконтроллер Raspberry Pi Pico (около 4$) или его разновидности на чипе RP2040, простейший ИК-пульт (дешевле 1$ вместе с приемником, батарейкой и белым светодиодом в комплекте) и соединенные последовательно адресные ленты WS2812B (10 светодиодов на метр, напряжение 5V, стоимость около 1$/метр). Также можно подключить миниатюрный I2C или SPI дисплей (1-3$), если таковой найдется под рукой. Код MicroPython реализует 5 разных эффектов, доступных при нажатии кнопок 1 — 5 на ИК пульте, а также обеспечивает управление яркостью гирлянды (кнопками вверх и вниз) и скоростью эффектов (кнопками вперед и назад).
Курсы Computer Science клуба в 2021 году: верификация, фотограмметрия, статистика, логика, теория игр и другие
Все курсы Computer Science клуба в 2021 году проходили в онлайн режиме. Мы собрали для вас подборку видеозаписей лекций, которые выложены на нашем youtube канале.
Бутлоадер с AES-128 и EAX на AVR Assembler в 1024 байта
Или как я перестал бояться и полюбил ассемблер
Однажды летом, я устроился в родном университете программистом микроконтроллеров. В процессе общения с нашим главным инженером (здравствуйте, Алексей!), я узнал, что чипы спиливают, проекты воруют, заказчики кидают и появление китайского клона наших программаторов для автомобильной электроники — лишь вопрос времени, задавить их можно только высоким качеством. При всем этом, в паранойю впадать нельзя, пользователи вряд ли захотят работать с нашими железками в ошейниках со взрывчаткой.
Хорошая мера защиты — обновления программного обеспечения. Китайские клоны автоматически отмирают после каждой новой прошивки, а лояльные пользователи получают нашу любовь, заботу и новые возможности. Робин Гуды при таком раскладе, естественно, достанут свои логические анализаторы, HEX-редакторы и начнут ковырять процесс прошивки с целью ублажения русско-китайского сообщества.
Хоть у нас и не было проектов, которые требуют подобных мер защиты, было понятно: заняться этим надо, когда-то это пригодится. Погуглено — не найдено, придумано — сделано. В этой статье, я расскажу, как уместить полноценное шифрование в 1 килобайт и почему ассемблер — это прекрасно. Много текста, кода и небольшой сюрприз для любителей старого железа.
LAppS сервер приложений для микросервисной архитектуры
Предыстория
20-го декабря прошлого года я ушёл в отпуск, на целых 2 недели. Чем заняться в отпуске? Правильно, — кодом. Кодом, которым некогда заниматься в рабочее время. Последние несколько лет мне кодить приходилось очень мало. Руки стосковались. Какой код пишут в отпуске? Не знаю как вы, а я пишу велосипеды. Зачем? Причин может быть много, но основная, — мне интересно. Я люблю C++ и Lua. Я ещё и bash и awk люблю. Не закидывайте камнями, это личное, так получилось. JavaScript я не очень люблю (хотя последние 2 года если что-то и кодил то на JS), и это тоже личное.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность