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

Choose learning rate for a lot of money

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

Краткий обзор методик обучения визуально-языковых (мультимодальных) моделей

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

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

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

Генеративные 3D-модели

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

Салют, Хабр! На связи Игорь Пасечник — технический лид направления XR RnD SberDevices. Сегодня я хочу рассказать про одно из наших направлений исследований — разработку генеративных моделей для 3D-контента. 

Современные методы генерации 2D-контента, такие, как 2D-диффузионные модели (Kandinsky 3.0, SDXL), уже достигли впечатляющих результатов и несколько лет являются неотъемлемой частью современности, генеративные видео модели также активно развиваются. Кульминацией развития таких подходов, вероятно, станет представленная не так давно модель Sora. Тем не менее большинство из этих моделей до сих пор испытывают проблемы при генерации консистентных 3D-сцен и объектов.

С другой стороны стороны, существует конвенциональная 3D-графика, а также огромная индустрия и множество прикладных областей, включая игры, XR, дизайн, архитектуру, маркетинг, 3D-проектирование, где используются пайплайны на основе 3D-графики и производится контент на их основе. Методы создания 3D-моделей, такие, как ручное моделирование, 3D-сканирование и фотограмметрия, могут быть трудоёмкими, дорогостоящими и требующими специальных навыков. 3D-продакшн в общем виде использует множество инструментов для создания и рендеринга тяжелой фотореалистичной графики, адаптация генеративных 3D-пайплайнов под такие подходы достаточно тяжела из-за множества инструментов, которые такие пайплайны должны поддерживать. Также адаптация больших латентных генеративных 2D-моделей вроде SORA для прикладных задач фотореалистичной графики может стать альтернативой классическми пайплайнам на основе физического моделирования. Тем не менее, на текущий момент пайплайны работы с графикой, использующие базовый набор примитивов, включая меши, PBR-текстуры, простые модели освещения, закрывают множество прикладных задач и также могут быть востребованы у массового пользователя в случае их демократизации.

Читать далее
Всего голосов 32: ↑37.5 и ↓-5.5+43
Комментарии12

OmniFusion 1.1: мультимодальность теперь и на русском

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

В прошлом году на конференции AIJ 2023 мы представили первую версию OmniFusion — мультимодальной языковой модели (LLM), способной поддерживать визуальный диалог и отвечать на вопросы по картинкам. Спустя несколько месяцев мы готовы представить обновление — OmniFusion 1.1 — SoTA на ряде бенчмарков (среди моделей схожего размера) и, более того, модель хорошо справляется со сложными задачами и понимает русский язык! Самое главное — всё выкладываем в открытый доступ: веса и даже код обучения.

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

Читать далее
Всего голосов 18: ↑19 и ↓-1+20
Комментарии29

Как работают text2image модели?

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

Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали! В этой статье будем разбираться, как такие модели работают. Начнем с азов и потихоньку накидаем деталей и техник генерации.

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

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

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

Кто такой YOLO? 🤔

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

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

Варим кашу из нечеткой логики и вариационных автоэнкодеров

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

Пока весь мир затаив дыхание следит за большими языковыми моделями и одни грезят о том, как подсадят всех на свои сервисы LLM, а другие прикидывают как заменить бездушными симулякрами если не зажравшихся айтишников, то хотя бы штукатуров и бухгалтеров, обычным ML‑инженерам, по щиколотку в коричневой жиже машинного обучения, приходится решать приземлемые задачи чем бог послал.

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

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

Как работает multiprocessing в Python под капотом

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

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

Мне захотелось залезть в исходники multiprocessing, разобраться и заодно написать статью. Данная статья в основном рассчитана на новичков в Python и тех, кто хочет подробнее разобраться в том, как именно создаются процессы и пулы в Python и погрузиться в детали реализации.

Читать далее
Всего голосов 17: ↑17.5 и ↓-0.5+18
Комментарии2

GIL в Python: как его будут отключать

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

Python-разработчики, как правило, хорошо знают, что такое и для чего нужен GIL, вопросы по нему встречаются на большинстве собеседований, я и сам люблю их задавать. Но в CPython его скоро не будет. Да, core-разработчики CPython взяли курс на его удаление.

Разберём основные концепции того, как это будет произведено, с обзором соответствующего PEP 703.

Читать далее
Всего голосов 27: ↑27.5 и ↓-0.5+28
Комментарии37

Quantization Deep Dive, или Введение в современную квантизацию

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

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

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

Анонимная P2P-база знаний, где никто не может подделать чужое авторство | Магия асимметричных ключей на практике

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


На днях, как это обычно и бывает перед сном, мой мозг решил, что было бы очень забавно перед экзаменом не спать, а заняться брейнштормом. Как результат я получил слитую сессию и безумное желание сделать свой P2P WEB 228.0 — ну вы знаете…

Вот вы никогда не задумывались, что Tor является весьма экстраординарным способом преодоления трансляторов сетевых адресов? По сути, он позволяет создавать туннель между двумя любыми удалёнными узлами, находящимися за NAT, выдавая им уникальные onion-адреса из очень большого диапазона.

Аналогичную же задачу решает переход на ipv6, но при этом он требует поддержки со стороны самого транслятора, в то время как Tor абсолютно самостоятелен, хоть он и не является настоящим p2p.

Чисто технически (при должном monkey patch`инге) можно даже заставить его работать как пробрасыватель портов для RDP, онлайн-игр и Vиртуальных Pриватных туннелей, которые нынче нельзя называть.
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии32

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

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

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

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

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

AlphaGo Zero совсем на пальцах

Время на прочтение12 мин
Количество просмотров62K
Завтра искусственный интеллект поработит Землю и станет использовать человеков в качестве смешных батареек, поддерживающих функционирование его систем, а сегодня мы запасаемся попкорном и смотрим, с чего он начинает.

19 октября 2017 года команда Deepmind опубликовала в Nature статью, краткая суть которой сводится к тому, что их новая модель AlphaGo Zero не только разгромно обыгрывает прошлые версии сети, но ещё и не требует никакого человеческого участия в процессе тренировки. Естественно, это заявление произвело в AI-коммьюнити эффект разорвавшейся бомбы, и всем тут же стало интересно, за счёт чего удалось добиться такого успеха.

По мотивам материалов, находящихся в открытом доступе, Семён sim0nsays записал отличный стрим:


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

Сразу хочу отметить, что стрим и статья собирались в значительной степени по мотивам дискуссий на closedcircles.com, отсюда и спектр рассмотренных вопросов, и специфическая манера повествования.

Ну, поехали.
Читать дальше →
Всего голосов 65: ↑63 и ↓2+61
Комментарии52

Портретная гармонизация изображений

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

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

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

Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы

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

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

В наше неспокойное время, когда сфера AI стремительно движется вперёд, хочется немного стабильности и уверенности в завтрашнем дне. Как это связано с темой статьи?

Самым прямым образом — алгоритмы прокачивают умение системно мыслить, искать нестандартные пути решения; человека, у которого эти скиллы на высоте, вряд ли заменит ИИ. Так что, тратя бесценное время на алгоритмы, вы занимаетесь очень полезным делом, расслабьтесь и получайте удовольствие) В качестве бонуса к прокачиванию серого вещества вы получите сверхспособность пройти любой алгособес в FAANG и удовлетворить любые потребности пирамиды Маслоу — довольно приятно)

В этой статье мы разберём графовые алгоритмы типо DFS, Флойда–Уоршелла и строковые наподобие Ахо-Корасик.

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

Компилятор за выходные: избавляемся от переменных

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

Вопрос из области ненормального программирования: насколько сложные программы вы сможете написать на питоне, не пользуясь в принципе переменными (а также агрументами функций), за исключением пары глобальных массивов? Правильный ответ: да любой сложности. Если что-то можно сделать на ассемблере, то уж на питоне и подавно! Правда, пусть лучше код вместо меня сгенерирует машина :)

Продолжаем разговор о минималистичном компиляторе, который вполне реально написать за выходные. Задачей стоит транслировать код из придуманного мной языка в x86 ассемблер. Мой компилятор состоит из 611 строк кода, при этом не имеет ни единой зависимости:

ssloy@khronos:~/tinycompiler$ cat *.py|wc -l

611

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

Итак, тема сегодняшнего разговора: генерация кода на питоне без использования переменных.

Читать далее
Всего голосов 43: ↑42 и ↓1+41
Комментарии35

KD+SM Uplift Modeling. Часть 2. T-Learner. Субпопуляции и Дивергенции

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

В предыдущей (вводной) статье мы дали определения и математическое описание базовым понятиям связанным с Uplift моделированием. Рассмотрели принцип работы популярных Uplift моделей и их недостатки, а так же установили, как мы рассчитываем итоговый инкремент \tau, дали определения контрольной Cи тестовой T группам. А так же условились, что же такое воздействиеf на пользователя u_{i}.

Среди проблем с которыми сталкиваются современные Uplif модели, пожалуй, самая серьезная - counterfactual sample pairs problem, рассмотренная так же в предыдущей статье.

Данная статься посвящена как раз нивелированию данной проблемы. Так как мы используем архитектуру KDSM Uplift modeling, то первые две буквы аббревиатуры (KD - Knowledge Distillation) представляют собой название модели, задача которой является создание подмножеств генерального множества, таким образом чтобы минимизировать или же по крайней мери свести к минимуму влияния counterfactual sample pairs problem на результат и точность итоговой модели. Само по себе слово Distillation намекает, что мы будем стремиться стратифицировать множество таким образом, чтобы можно было найти “похожих” друг на друга пользователей u_{i} и u_{j}из C (W=0) и T (W=1) соответственно, объединить их в одно подмножество, чтобы в дальнейшем можно было сделать допущение, что u_{i}и u_{j}представляют из себя уже единого синтетического пользователя u_{k}. Где пользователь u_{i} вместе с его параметрами X_{i}, Y_{i} выполняет роль пользователяu_{k}, с которым мы не взаимодействовали W=0, а пользователь u_{j} вместе с его параметрами X_{j}, Y_{j} выполняет роль пользователя u_{k}, с которым мы провзаимодействовали W=1.

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

Настоящее предназначение OpenAI SORA: как и зачем симулировать «Матрицу» для ChatGPT

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

Ну что, уже успели прочитать восхищения небывалым качеством видео от нейросетки SORA у всех блогеров и новостных изданий? А теперь мы вам расскажем то, о чем не написал никто: чего на самом деле пытается добиться OpenAI с помощью этой модели, как связана генерация видео с самоездящими машинами и AGI, а также при чем здесь культовая «Матрица».

Войти в симуляцию →
Всего голосов 289: ↑285 и ↓4+281
Комментарии120

Алгоритм Monte Carlo Tree Search простыми словами

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

Можно ли научить ИИ играть в настольную игру и выигрывать в ней, если мы сами не знаем как это сделать? Да! И один из способов — использовать алгоритм Monte Carlo Tree Search (MCTS). Он актуален даже сейчас, в эпоху развития нейронных сетей.

У многих людей, в том числе и у меня, поначалу были сложности с пониманием алгоритма, как и с верой в то, что он может хорошо играть. В этой статье хочу рассказать об MCTS максимально просто и помочь разобраться в нем новичкам. В первой главе расскажу об основах, с которыми многие могут быть уже знакомы. Однако считаю, что они действительно важны для понимания. Подробности под катом!
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии2

Язык твой — друг твой. Дообучаем языковые модели, собираем корпуса, делаем книги на малых языках

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

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

Мы научимся:

1. Дообучать мультиязычные языковые модели, переводящие текст в векторное представление (эмбеддинги).

2. Использовать их для выравнивания текстов библиотекой lingtrain-aligner, извлекая из текстов параллельные корпуса.

3. Загружать датасеты и модели на HuggingFace, чтобы это было доступно всем.

4. Создавать из выравнивания параллельные книги для изучения языков.

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

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

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

Parameter-Efficient Fine-Tuning (PEFT): методы LoRA, Prefix tuning, Prompt tuning и Adapters

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

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

PEFT(Parameter-Efficient Fine-Tuning) представляет собой эффективный подход, позволяющий не терять производительность при тонкой настройке модели, снижая при этом требования к памяти и вычислительным мощностям.

В этой статье мы рассмотрим общую концепцию PEFT, его преимущества и основные методы.

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

Информация

В рейтинге
Не участвует
Откуда
Berlin, Berlin, Германия
Зарегистрирован
Активность