Всем привет, я Алан, разработчик-исследователь в MTS AI. В команде фундаментальных исследований мы занимаемся исследованием LLM, реализацией DPO и валидацией наших собственных языковых моделей. В рамках этих задач у нас возникла потребность в генерации большого количества данных с помощью LLM. Такая генерация обычно занимает много времени. Однако за последний год, с ростом популярности LLM, стали появляться различные инструменты для развертывания таких моделей. Одной из самых эффективных библиотек для инференса языковых моделей является библиотека vLLM. В статье показывается, как с помощью асинхронных запросов и встроенных особенностей vLLM можно увеличить скорость генерации примерно в 20 раз. Приятного чтения!
User
InstantID: Создание персонализированных изображений по одному фото. И лучший бесплатный генератор нейро-аватарок
Друзья, всем привет, вышла в свет новая удивительная технология, на гите она подписана как InstantID : Zero-shot Identity-Preserving Generation in Seconds. Но по факту это самый крутой генератор аватарок в мире, который по одной лишь вашей фотографии может создать персонализированное изображение с вашим лицом в любом стиле по текстовому запросу используя SDXL модели Stable Diffusion. Так что к концу этой статьи, у вас так же как и у меня будет десяток новых аватарок и совершенно бесплатно.
В статье много красивых и тяжелых картинок.
Как обучить нейросеть рисовать в стиле любого художника
Прошло 3 года с момента когда я обучал StyleGAN на панельках и мне стало интересно что там сейчас с генерацией картинок. А там - ого - можно дообучить целый stable diffusion на любом стиле любого художника! Как? А вот щас расскажу
Stable Diffusion: text-to-person
Многие из вас сталкивались со Stable Diffusion
и знают, что с помощью этой нейросети можно генерировать разнообразные изображения. Однако не всем интересно создавать случайные картинки с кошкодевочками, пускай даже и красивыми, и всем прочим. Согласитесь, было бы гораздо интереснее, если бы можно было обучить нейросеть создавать изображения... нас самих? Или наших любимых актёров и музыкантов? Или наших почивших родственников? Конкретных людей, в общем, а не какие-то собирательные образы из того, что было заложено при обучении нейросети. И для достижения этой цели нам потребуется обучить некую модель. Этим мы и займёмся, пытаясь определить наиболее оптимальный воркфлоу и максимально его автоматизировать.
Визуальное RPG с долговременной памятью, генерируемое из 3 нейросетей и LLamы
Языковые модели (NLP) сейчас активно развиваются и находят себе всё больше интересных применений. Начиналась же их эпоха с классики жанра — D&D. Это настольная игра, где несколько друзей или просто знакомых синхронно галлюцинируют, представляя себя командой героев в некоем вымышленном мире. Прав же во внутриигровых выборах тот, кто выкинул большее число на игральной кости. Судить сейчас об их мотивации у меня нет никакого желания, да и статья вообще-то не об этом.
Важно только понимать, что движущей силой сюжета в их сессиях является лишь один из игроков, называемый Dungeon Master. Когда только начали появляться первые GPT-модели, одной из первых хотелок гиков оказалось желание сварить из нейросетей автоматического Dungeon Masterа.
Так и появился AIDungeon — уникальная для своего времени (2019 год) вещь, которая не сильно потеряла в популярности и по сей день. Однако, если вы любите смотреть глубже, то играть в него вам быстро надоест. Я же в своей серии из нескольких статей (посвящённых GPT) стараюсь показать простому обывателю механизм безболезненного использования нейросетевых моделей в простых проектах при помощи Python и Hugging Face Transformers.
Декларативное построение диаграмм
Код может быть красивым сам по себе, но графическое представление не помешает.
Стабильная диффузия для самых маленьких. Или строим свою собственную ярмарку с хороводом и скоморохами
Волшебный сказ с лубочными картинками.
Далеко ли, близко ли, высоко ли, низко ли, а летает нонче в небе жар-птица павлин из самого из города Муничинска. И где перо она потеряет, там картинки лубочные множатся, да не на бересте, а на бумаге белёной, да все больше с девками грудастымя вида неблагонравного, да воинами суровыми из земель былинных. Вельми старательно те лубки выведены, хотя с перстами иногда и перебор случается. Смотрит народ на картинки те и только губами причмокивает, да крестятся православные на земные чудеса удивляючись.
Старожилам однако ведомо, что не трогала длань человечая тех листов с рисунками странными. Добрый дух вложили создатели в птицу-жар павлина заморского, да размаху не пожалеючи, пожелали чтоб кажнее пёрышко наделилося силою сказочной. Каждый может перо то волшебное подобрать на лугу или в заводи и сдружиться с тем духом загадочным, да с поклоном и с помощью техники рисовать те картинки лубочные
Дисклеймер: Не беспокойтесь. С Wednesday все в порядке. Пострадала только косичка и потом, мы же с вами знаем что это не её кровь.
Cнова про llvm
Исследования любого приложения достаточно рутинный и длительный процесс. Без использования инструментов и автоматизации разобрать даже самые простые алгоритмы написанные на некоторых языках программирования практически невозможно. (Go рантайм без символов). Справиться с этой тяжелой задачей и предоставить набор инструментов могут следующие приложения:
- Hopper
- IDA Pro
- Ghidra
- radare2
- rizin
Список включает только те, которые постоянно на слуху и известны во всём мире. Попробуем разобраться в нашей статье с тем как эти приложения могут разбирать ассемблерные листинги и строить псевдокод. Можно ли найти проект, который будет давать возможность просто создавать изменение ассемблерного листинга без написания сложных парсеров?
Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]
Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.
Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Применение биполярных транзисторов с микроконтроллерами
В современном цифровом мире микроконтроллерам часто требуется выполнять какие-то действия в физическом мире людей с помощью различных механических, оптических, акустических и других внешних устройств. Транзисторы призваны согласовать микроконтроллер с исполнительными устройствами. В статье рассмотрим применение биполярных транзисторов в ключевых режимах.
Прошивка Wi-Fi-модуля Realtek и разработка Intel 8051-кейлоггера с применением технологии RealWoW
Zynq. Передача данных между процессорным модулем и программируемой логикой
Есть ли параллелизм в произвольном алгоритме и как его использовать лучшим образом
Параллелизации обработки данных в настоящее время применяется в основном для сокращения времени вычислений путем одновременной обработки данных по частям на множестве различных вычислительных устройств с последующим объединением полученных результатов. Параллельное выполнение позволяет “обойти” сформулированный лордом Рэлеем в 1871 г. фундаментальный закон, согласно которому (в применимости к тепловыделению процессоров) мощность их тепловыделения пропорциональна четвертой степени тактовой частоты процессора (увеличение частоты вдвое повышает тепловыделение в 16 раз) и фактически заменить его линейным от числа параллельных вычислителей – при сохранении тактовой частоты). Ничто не дается даром – задача выявления (обычно скрытого для непосвящённого наблюдателя, [1]) потенциала параллелизма в алгоритмах не является "лежащей на поверхности", а уж эффективность его (параллелизма) использования – тем более.
Экосистема Low-Code решений
Просто невероятно, какое множество инструментов появилось в последнее время для почти мгновенного создания бизнес приложений.
Я бы хотел рассмотреть, что это за инструменты, как именно они помогают, и какие выглядят наиболее многообещающе.
Ищем уязвимости в UC Browser
Введение
В конце марта мы сообщали, что обнаружили скрытую возможность загрузки и запуска непроверенного кода в UC Browser. Сегодня разберём подробно, как эта загрузка происходит и как хакеры могут использовать её в своих целях.
Некоторое время назад UC Browser рекламировали и распространяли очень агрессивно: его устанавливали на устройства пользователей с помощью вредоносных программ, распространяли с различных сайтов под видом видеофайлов (т. е. пользователи думали, что качают, например, порноролик, а получали вместо него APK с этим браузером), использовали пугающие баннеры с сообщениями о том, что браузер устарел, уязвим и всё в таком духе. В официальной группе UC Browser в VK есть тема, в которой пользователи могут пожаловаться на недобросовестную рекламу, там много примеров. В 2016 году была даже видеореклама на русском языке (да, реклама браузера, блокирующего рекламу).
На момент написания статьи у UC Browser набралось более 500 000 000 установок в Google Play. Это впечатляет — больше только у Google Chrome. Среди отзывов можно увидеть достаточно много жалоб на рекламу и редиректы на какие-то приложения в Google Play. Это и стало поводом к исследованию: мы решили посмотреть, не делает ли UC Browser что-то нехорошее. И оказалось, что таки делает!
Пишем простой модуль Magisk для Android
Введение
Одним вечером я устал менять TTL после перезагрузки устройства и подумал как можно было бы делать это автоматически. Android же Linux и на нем должен быть аналог systemd или он сам. В процессе исследований мой взор пал на Magisk.
На удивление разработать модуль для него было очень просто.
Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти
Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK).
Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не рассмотрены. Они просты и их можно посмотреть в репозитории GitHub:
Vector
IShape
Collision
Весь код из поста хранится в репозитории GitHub:
https://github.com/jthomperoo/gjk-ts-implementation
Пост написан на основании этой статьи и рекомендованного в ней видео:
Введение
GJK — это алгоритм, предназначенный для определения пересечения двух выпуклых фигур. Он прост и реализуется при помощи обобщённой «вспомогательной функции», позволяющей использовать более общий подход — аналогичным образом можно обрабатывать многоугольники и фигуры, состоящие из кривых, например, эллипсы.
Тarantool Cartridge: шардирование Lua-бекенда в три строчки
У нас в Mail.ru Group есть Tarantool — это такой сервер приложений на Lua, который по совместительству ещё и база данных (или наоборот?). Он быстрый и классный, но возможности одного сервера всё равно не безграничны. Вертикальное масштабирование тоже не панацея, поэтому в Tarantool есть инструменты для горизонтального масштабирования — модуль vshard [1]. Он позволяет шардировать данные по нескольким серверам, но придётся повозиться, чтобы его настроить и прикрутить бизнес-логику.
Хорошие новости: мы собрали шишек (например [2], [3]) и запилили очередной фреймворк, который заметно упростит решение этой проблемы.
Тarantool Cartridge — это новый фреймворк для разработки сложных распределённых систем. Он позволяет сфокусироваться на написании бизнес-логики вместо решения инфраструктурных проблем. Под катом я расскажу, как этот фреймворк устроен и как с его помощью писать распределённые сервисы.
Почему сериал «Чернобыль» настолько плохо описал ядерную энергию
Нет, чернобыльская радиация не навредила вашему ребёнку
Статья Майкла Шелленбергера – известного автора и колумниста, пишущего про энергию и окружающую среду.
С начала мини-сериала «Чернобыль» от HBO, рассказывающего о ядерной катастрофе 1986 года, журналисты расхваливали его за точность воспроизведения фактов и событий, даже несмотря на то, что его создатели допустили некие творческие вольности.
«Первое, что нужно понять насчёт мини-сериала „Чернобыль“ от HBO, — писал журналист из The New York Times, — то, что довольно многое является выдумкой. Однако другое, и более важное его свойство: это не так уж и важно». Журналист отметил ту же неточность, что и я в прошлой статье на ту тему: «жертвы радиации часто по какой-то причине оказываются испачканными кровью».
Однако «базовые вещи HBO показала правильно»,- пишет он, а именно то, что Чернобыль – «это больше тема лжи, предательства и прогнившей политической системы, чем вопросы того, хорошая или плохая ядерная энергия в принципе».
Камеры глубины — тихая революция (когда роботы будут видеть) Часть 1
Недавно я описывал, благодаря чему роботы завтра начнут НАМНОГО лучше соображать (пост про аппаратное ускорение нейросетей). Сегодня разберем, почему роботы скоро будут НАМНОГО лучше видеть. В ряде ситуаций намного лучше человека.
Речь пойдет про камеры глубины, которые снимают видео, в каждом пикселе которого хранится не цвет, а расстояние до объекта в этой точке. Такие камеры существуют уже больше 20 лет, однако в последние годы скорость их развития выросла многократно и уже можно говорить про революцию. Причем многовекторную. Бурное развитие идет по следующим направлениям:
- Structured Light камеры, или камеры структурного света, когда есть проектор (часто инфракрасный) и камера, снимающая структурный свет проектора;
- Time of Flight камеры, или камеры, основанные на измерении задержки отраженного света;
- Depth from Stereo камеры — классическое и, пожалуй, наиболее известное направление построения глубины из стерео;
- Light Field Camera — они же камеры светового поля или пленоптические камеры, про которые был отдельный подробный пост;
- И, наконец, камеры, основанные на Lidar-технологиях, особенно свежие Solid State Lidars, которые работают без отказа примерно в 100 раз дольше обычных лидаров и выдают привычную прямоугольную картинку.
Кому интересно, как это будет выглядеть, а также сравнение разных подходов и их текущее и завтрашнее применение — добро пожаловать под кат!
Information
- Rating
- Does not participate
- Registered
- Activity