Обновить
-7
0

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

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

Как в ИТМО разрабатывают подвижный экзоскелет из титана для серийного производства

Время на прочтение8 мин
Охват и читатели4.8K

В одной из лабораторий факультета систем управления и робототехники ИТМО разрабатывают экзоскелет из титана, который можно будет производить серийно. Пока проект на стадии 3D-печатного макета, но уже сейчас он выделяется на фоне аналогичных разработок своей подвижностью ― почти не сковывает движения. А будущий прототип из титана не потеряет в подвижности, зато ― по прочностному расчету ― поможет работать с весом до 80 кг. В этой статье рассказываем, откуда появился и как развивается проект.

Читать далее

Реализация глобальных индексов в распределённой системе

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели4.3K

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

Читать далее

Как мы обуздали ПОТОК данных со сварочных аппаратов

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

Мы – это специалисты Технопарка «Университетские технологии», в структуре которого есть производственная лаборатория с парком разнообразного сварочного оборудования. Здесь проводится подготовка и проверка практических навыков сварщиков, отработка различных технологических процессов сварки, разработка перспективных способов сварки и т.д. Поскольку мы идём в ногу со временем, на базе лаборатории не так давно было принято решение о разворачивании полигона передовых аппаратно-цифровых решений для оптимизации и мониторинга производственных, главным образом, сварочных процессов. Полигон станет площадкой тестовой эксплуатации аппаратно-цифровых решений для отработки новых идей и их внедрения на промышленных предприятиях новых регионов России. Это также открывает перспективные направления по подготовке специалистов, занятых цифровизацией промышленных предприятий и адаптации имеющихся в распоряжении аппаратно-цифровых решений для конкретных производственных задач.

Читать далее

Архитектура Xорошего Кода Прошивки (Массив-Наше Всё)

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели5.9K

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

В этом тексте я написал о некоторых подходах к организации кода для микроконтроллеров.

Основная идея - массив наша основная скрепа.

Главные достоинства представленной архитектуры - это простота поддержки, сопровождения и масштабирования кодовой базы.

Читать далее

Механический квантовый компьютер

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

Квантовые компьютеры постепенно мигрировали от «натуральных» квантовых объектов типа ионов и quantum dots к «искусственным» объектам типа трансмонов, где роль атомных переходов выполняют собственные частоты колебаний LC контуров. К таким контурам прикручены коаксиальные кабели для возбуждения системы, считывания их состояния и регулирования их свойств. Они все еще являются квантовыми объектами и работают при низкой температуре.


Мне стало интересно, а можно ли создать прототип квантового компьютера на основе больших «классических» механических объектов. Я демонстрирую квантовый компьютер сделанный из связанных маятников.


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

Векторные БД vs Точность — часть 2

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.7K

В первой части из тестов стало понятно, что в векторном поиске с терминами что-то не так. И точность достаточно низкая для корректной работы RAG (retrieval augmentation generation). Давайте попробуем гибридный поиск и посмотрим, что из этого получится.

Читать далее

Опыт дистилляции моделей распознавания речи

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели2.6K

Небольшая история про наш опыт дистилляции моделей для распознавания речи. Как у нас получилось уменьшить модель в 160 раз и не проиграть по качеству.

Читать далее

Написание тестов для асинхронного кода с помощью XCTest

Время на прочтение6 мин
Охват и читатели1.7K


Если вы когда-нибудь думали о проведении юнит-тестирования в Xcode, вы наверняка обращали внимание на XCTest. Это довольно простой фреймворк на Objective-C и Swift. Однако тестирование асинхронного кода всегда было немного сложным из-за таких конструкций, как делегаты и коллбэки (функции обратного вызова).

В этой статье мы начнём с рассмотрения классического способа тестирования асинхронного кода, чтобы убедиться, что мы все на одной волне относительно плюсов и минусов классического асинхронного теста. После этого мы рассмотрим, как async / await кардинально меняет способ написания юнит-тестов для асинхронного кода, и как он может повлиять на то, что тесты оказываются успешными и неудачными.
Читать далее

Квантовый интернет

Время на прочтение10 мин
Охват и читатели12K


Разговоры о будущем были бы неполными без упоминания квантовых технологий, которые должны, по заявлению ученых, буквально перевернуть с ног на голову вычисления, передачу данных, кодирование информации и многое другое. На данный момент вокруг квантовых технологий роится великое множество теорий, которые, к сожалению, не были проверены на практике. Одной из таких теорий является квантовый интернет, которые должен позволить обмениваться данными, передаваемыми с помощью фотонов в разных квантовых состояниях. Ученым из Гарвардского университета (США) удалось на практике доказать эту теорию, используя существующую оптоволоконную сеть в районе Бостона, чтобы продемонстрировать самое длинное в мире расстояние между двумя узлами квантовой памяти. Как именно ученым это удалось, что для этого потребовалось, и как результаты опытов помогут развитию квантовой передаче данных? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →

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

Время на прочтение13 мин
Охват и читатели12K

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

Мы, люди, без проблем различаем значения и категории. Это свидетельствует о нашем интуитивном понимании окружающего мира. Но когда дело касается компьютеров, эта, казалось бы, простая задача превращается в неоднозначную проблему. Подобные трудности подчёркивают необходимость надёжного распознавания именованных сущностей (named entity recognition, NER) — механизма, при помощи которого мы учим машины понимать различные лингвистические нюансы.

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

Большие языковые модели гораздо линейнее, чем мы думали

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели23K

Хабр, привет! Это снова Антон Разжигаев, аспирант Сколтеха и научный сотрудник лаборатории Fusion Brain в Институте AIRI, где мы продолжаем углубляться в изучение языковых моделей. В прошлый раз мы выяснили, что эмбеддинги трансформеров-декодеров сильно анизотропны. На этот раз я бы хотел рассказать об их удивительной линейности, ведь нашу статью про обнаруженный эффект («Your Transformer is Secretly Linear») несколько дней назад приняли на международную конференцию ACL!

Читать далее

Распознавание капчи при помощи CNN модели

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.7K

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

Хочу поделиться своим опытом предобработки картиной с капчей и созданием модели, которая может определить, что же за символы в этой картинке. Код с архитектурой модели и обучением тоже будет, но основной упор часть с предобработкой картинок, поскольку это самая сложная часть. Также стоит упомянуть о допущениях, которые делались для упрощения задачи: использовались только латинские буквы (без цифр), все буквы в верхнем регистре, все капчи состоят из четырех символов (это самое серьезное допущение).

Нажмите, чтобы подвердить, что вы не робот

Город в бутылке — движок Raycasting всего на 256 байт

Время на прочтение8 мин
Охват и читатели21K

Привет любителям микро-кодирования. Вот вам кое-что невероятное: крошечный движок raycasting (метод “бросания лучей”) и генератор городов, который помещается в отдельный 256-байтовый HTML-файл.

Читать далее

Двоичный поиск против вероятностного

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.7K

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

В любом учебном плане по Computer Science есть курс алгоритмов. Моим был CS 102, и одним из пунктов, который объяснялся в нём досконально, было то, что поиск — это, по сути, задача O(log2(N)) при условии, если данные отсортированы. За свою карьеру я многократно встречался с этим в том или ином виде — если сортируешь информацию и сохраняешь её, то стоит ожидать, что для поиска потребуется время O(log2(N)). В общем случае мы соглашаемся на время поиска O(log2(N)), потому что оказывается, что можно перебрать большой объём данных с логарифмическим коэффициентом масштабирования. Эта система работает, потому что мы уже почти автоматически сортируем всё заранее.

Но что если мы добавим дополнительные ограничения на наши данные, которые позволят нам выполнять поиск за константное время?

Будет ли эта статья историей о необязательной оптимизации? Да, будет. В этом конкретном случае поиск будет занимать гораздо меньше времени, чем чтение с диска. Мы говорим о величинах менее чем 0,1% от суммарного времени. Будет ли эта статья историей о преждевременной оптимизации? Нет, не будет. Это бы подразумевало, что мы не осознаём, что время тратится не на то. Эта статья — история о заманчивости алгоритма константного времени.

Читать далее

Compiler Explorer — уникальный проект для исследования компилируемого кода

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели18K
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer, который я в дальнейшем будут называть CE.

CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран:

Предупреждение: вы забираетесь в «кроличью нору», на которую можете потратить несколько часов своего времени.


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

CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502.

То есть теперь для просмотра результата работы компилятора достаточно открыть godbolt.org и скопировать туда блок кода.

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

Delta-Rle-Huffman (DRH) Texture Format

Время на прочтение8 мин
Охват и читатели5K

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

Внимание! В статье много картинок.

Кому интересно, добро пожаловать под кат!

Наука против возраста: как перепрограммировать организм

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.6K

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

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

Читать далее

Алгоритмы, вдохновлённые природой

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели7.9K

В последние годы в нашей повседневной речи плотно закрепилось словосочетание «нейронные сети». Этот термин означает набор методов и программных решений из машинного обучения, дискретной математики и информатики. Но про что совсем часто забывают — он происходит из нейробиологии. Несмотря на очевидное название, нейросети — это не набор операторов IF и ELSE, а модели, вдохновлённые нервной системой живых организмов. Их эффективность в пору, когда у нас есть такие генеративные модели как GigaChat и Kandinsky, наглядно видна каждому. 

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

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

Читать далее

Разбираем KAN по полочкам

Время на прочтение4 мин
Охват и читатели12K

Недавно аспиранты из MIT выпустили очень интересную статью про концептуально новый подход к проектированию наверное самого базового "кирпичика" нейронок - полносвязного слоя.

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

Читать далее

Новый прорыв приближает умножение матриц к идеалу

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели51K

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

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

Возьмем, к примеру, умножение матриц или массивов чисел. В 1812 году французский математик Жак Филипп Мари Бине разработал базовый набор правил, которым мы до сих пор обучаем студентов. Это работает прекрасно, но другие математики нашли способы упростить и ускорить процесс умножения матриц.

Читать далее

Информация

В рейтинге
6 602-й
Зарегистрирован
Активность