Как стать автором
Обновить
4
0.1

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

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

Простая нейронная сеть на C++

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

Всем привет!

При помощи нейронной сети решил проблему классификации фигур на изображениях размера 7 на 7 пикселей. Задача решалась в рамках студенческой лабораторной работы. Статья приводится в качестве руководства для решения подобных академических задач.

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

LLMops: что есть, кроме ChatGPT и как это развернуть

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

Привет, Хабр! Меня зовут Ирина Николаева и я — руководитель R’n’D отдела машинного обучения в компании Raft Digital Solution. Я внедряла различные ML-модели: от анализа временных рядов и Computer Vision до высоконагруженных дата-инженерных сервисов. Эта статья написана по мотивам моего доклада на Highload ++ 2023.
В статье вас ждёт: обзор LLM-моделей, техники работы с ними через призму MLOps, разбор лицензий и требований к железу. А так же трюки с квантизацией и файн-тюнингом «на сладкое». Главный дисклеймер статьи в том, что данные лидербордов и технических требований актуальны на момент выступления на Highload, то есть ноябрь 2023, но не всё из них актуально до сих пор. Но если бы я обновила всю статью, была ли бы это та же самая статья — вопрос риторический, поэтому было принято решение оставить всё как есть.

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

Детекция машин на мобилке в 2023. С какими проблемами мы столкнулись и как решали

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

Как мы распознавали машины с камеры мобильного телефона с помощью TensorFlow-lite, C++, Qt и что из этого вышло.

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

Перенос нейронной сети из PyTorch на Google Coral

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

Всем привет! Меня зовут Антон Расковалов и мы с командой  отдела перспективных исследований «Криптонит» решили проверить, можно ли использовать Google Coral в решении наших задач. Приобретённым опытом делюсь в статье ниже.

Санкции вынуждают пересматривать подходы к организации ИТ-инфраструктуры, в том числе — искать альтернативу облачным ИИ-платформам. Одним из вариантов является использование специализированных ускорителей с нейропроцессорами, которые физически находятся на стороне клиента. Даже на фоне санкционного давления их можно купить на AliExpress и оплатить банковской картой, выпущенной на территории России.

Данная статья посвящена переносу нейронных сетей написанных на одном из самых популярных фрэймворков, PyTorch, на Google.Coral, один из самых "производительных ускорителей"

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

Real-time-распознавание лиц: методы обучения быстрых и точных моделей для работы на мобильных девайсах

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

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

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

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

Используем OpenCL в Python

Время на прочтение6 мин
Количество просмотров32K
В последнее время параллельные вычисления прочно входят в жизнь, в частности, с использованием GPU.

Здесь было много статей на эту тему, поэтому ограничусь лишь поверхностным описанием технологии. GPGPU — использование графических процессоров для задач общего назначения, т.е. не связанных напрямую с рендерингом. Пример — библиотека Nvidia PhysX для расчёта физики в некоторых современных играх. Эта технология выгодна тем, что GPU хороши на параллельном выполнении с множеством потоков. Правда, потоков должно быть много, иначе производительность сильно упадет. Ещё из-за особенностей работы с памятью приходится несколько хитрить с передачей данных из оперативной памяти в видеопамять. Известные реализации: CUDA (Nvidia, только для видеокарт), OpenCL (Khronos Group, для гетерогенных систем) и AMD FireStream. Здесь будет обсуждаться только OpenCL.

Итак, приступим к практике. В качестве языка основной программы выберем Python. Он, конечно, не очень быстр сам по себе, зато отлично работает как «клей» — во многих применениях основной расчёт идёт в OpenCL, а код на Python только «подносит патроны». Существует отличная библиотека PyOpenCL, которой и будем пользоваться.

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии6

Краткая шпаргалка по tmux (менеджеру терминалов)

Время на прочтение1 мин
Количество просмотров423K
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

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

Читать дальше →
Всего голосов 59: ↑53 и ↓6+47
Комментарии50

Как подружить PyTorch и видеокарты AMD с помощью pytorch_dlprim

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


Когда начинаешь изучать или использовать машинное обучение, то думаешь, как приспособить те устройства, которые есть в наличии, чтобы снизить свои траты на вход. И, в частности, обладатели довольно мощных старых карт AMD (типа AMD Fury), на которых легко идут довольно тяжёлые игры типа Cyberpunk 2077 или Atomic Heart, сталкиваются с тем, что эти GPU бесполезны для PyTorch и других фреймворков машинного обучения. Да и самые современные карты AMD 7900-й серии работают с PyTorch только из под Linux. Также есть редкие карты других брендов, типа Intel Arc или китайские, которые хотелось бы использовать для машинного обучения.

Итак, в этой статье я приведу подход, который в некоторых случаях может помочь. Он сыроват, но других работающих вариантов под PyTorch я не нашёл. Итак, речь пойдёт о проекте израильского разработчика Артёма Бейлиса (Тонких) pytorch_dlprim.
Как сумрачный гений плюсов подключает все железки к DL
Всего голосов 39: ↑39 и ↓0+54
Комментарии4

You Only Look Once… But it Sees Everything! Обзор YOLO детекторов. Часть 1

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

Детекция объектов в реальном времени является важнейшей задачей и охватывает большое количество областей, таких как беспилотные транспортные средства, робототехника, видеонаблюдение, дополненная реальность и многие другие. Сейчас такая задача решается с помощью двух типов алгоритмов: one-step алгоритм детекции, например You Only Look Once (YOLO), и two-steps алгоритм, например Faster Region-Based Convolutional Neural Network (Faster R-CNN). Двухстадийный подход имеет ряд недостатков: долгое обучение и инференс, плохое качество детекции маленьких объектов, неустойчивость к различным размерам входных данных. Одностадийный алгоритм детекции подразумевает одновременное выполнение детекции и классификации, что обеспечивает end-to-end обучение с сохранением высоких показателей как точности, так и скорости.

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

Детекция объектов. YOLO. Часть 2

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

Кто такой YOLO? 🤔

Когда пытаешься разобраться в работе YOLO по статьям в интернете, постоянно натыкаешься на примерно такое объяснение: «Алгоритм делит изображение сеткой SxS, где каждому элементу этой сетки соответствует N ббоксов с координатами, предсказаниями классов и тд...». Но лично мне становилось только непонятнее от такого высокоуровнего описания.. Ведь в исследованиях часто всё происходит примерно так: перебирают гипотезы, пока не получат приемлемый результат, а потом уже придумывают красивое описание. Поэтому для ясности хочется в данной статье рассказать, как вообще приходили к идеям, которые ложились в основу YOLOv1 и последующих версий.

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

Yolo на мобильном без постобработки

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

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

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

Сравнение производительности моделей обнаружения объектов YOLO v5, v6 и v7

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

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

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

Анализ производительности моделей YOLOv8

Уровень сложностиСложный
Время на прочтение21 мин
Количество просмотров3K

В данной статье речь пойдёт о замерах производительности и точности работы моделей YOLOv8 на разных устройствах с различными оптимизациями и без них. Большое внимание будет уделено работе Yolo на “слабых устройствах”, таких как Raspberry PI, Orange PI, Jetson Nano, мини ПК. 

Современные задачи робототехники требуют вычислений "на борту", что особенно актуально для автономных систем. Важность данного исследования заключается в том, что оно направлено на решение задачи детекции в режиме реального времени на маломощных устройствах, что открывает новые возможности для использования компьютерного зрения в мобильных и автономных роботах. Будем считать, что FPS обработки изображений  >= 10 пригоден для некоторых задач детекции в реальном времени, но далеко не для всех.

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

Особенности фонетики якутского языка для синтеза речи

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

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

Под котом катом вы узнаете:

Как звучит синтез на якутском языке;
Чем отличается якутский алфавит от русского и какие "дополнительные" звуки там есть;
Как работать с ударениями на якутском языке, с учетом полного отсутствия каких-либо корпусов или словарей;
И, в качестве бонуса, как якутский синтез речи говорит на русском с якутским акцентом;

Читать далее
Всего голосов 38: ↑37 и ↓1+45
Комментарии20

Как подключить мультиметр к компьютеру

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

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

В бюджетных мультиметрах ZT102 и ZT301, которые построены на чипе DTM0660, можно реализовать подключение к компьютеру, но для этого придётся редактировать EEPROM и вносить изменения на печатную плату. Это несложно и Kerry Wong описывал как это сделать на примере мультиметра ennoLogic eM860T.

В тоже время у моего настольного мультиметра Agilent U3402A на задней панели уже есть порт RS232, но на нём указано "используется только для калибровки". Аналогичное предупреждение есть и в инструкции пользователя на русском и английских языках.

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

Ускорение генерации токена LLM в два раза для больших контекстов

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.4K
Помимо ChatGPT и многочисленных конкурентов в облаке с веб-мордами и/или API, существует огромная экосистема для запуска LLM на собственном железе. На Huggingface на любой бюджет найдется модель для скачивания, которая влезет в видеопамять (или в RAM, можно и на CPU запускать, если пользователь терпеливый). Вчера здесь на Хабре была очень неплохая обзорная статья.

Самые популярные open source тулы для локального запуска LLM — llama.cpp и vllm (и их многочисленные обертки). У них немного разные ниши, и дальше я буду писать о llama.cpp. Она поддерживает все возможные комбинации железа и ОС — Linux, MacOS, Windows; x86 CPU, Arm, Apple Silicon CPU & GPU, Nvidia, AMD,… Но автор и мейнтейнер — Георгий Герганов использует для разработки Mac Studio. Почему такой выбор железа?

Производительность генерации каждого токена LLM в одном потоке ограничена вычислительной мощностью в процессе построения KV-кэша (анализ промпта до генерации первого токена), и пропускной способностью памяти при генерации последующих токенов. При этом в обоих случаях очень полезно уметь быстро загружать веса из видеопамяти в ALU видеокарты (или CPU).
Читать дальше →
Всего голосов 10: ↑10 и ↓0+17
Комментарии5

Задача трёх тел (не китайская нефантастика)

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

Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. ссылок на собственно задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трёх тел тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.

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

Насколько быстр Javascript? Симулируем 20 миллионов частиц

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

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.

Читать далее
Всего голосов 109: ↑108 и ↓1+133
Комментарии34

HTTP/3 от А до Я: основные концепции. Часть 1

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

image
Фото Florencia Viadana, Unsplash.com


После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Предыдущие итерации уже доступны как экспериментальная функция, но в 2021 году мы ждём широкого распространения протокола. Что такое HTTP/3? Зачем выпускать его так рано после HTTP/2? Как его можно или нужно использовать? Как он влияет на производительность?

Читать дальше →
Всего голосов 79: ↑78 и ↓1+95
Комментарии48

OpenRPNCalc: делаем бескомпромиссный калькулятор

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

Вообще-то в блогах я обычно выступаю в роли фриковатого научного сотрудника, занудным голосом вещающего про какое-нибудь измерение параметров Стандартной Модели. Но сейчас я попробую совсем другой жанр. Короче говоря, в один прекрасный день я понял, что мне не хватает «железного» научного калькулятора. Пришлось делать самому. 

Но зачем?
Всего голосов 115: ↑110 и ↓5+151
Комментарии117
1
23 ...

Информация

В рейтинге
3 303-й
Откуда
Кызыл, Тува (Тувинская Респ.), Россия
Зарегистрирован
Активность