Обновить
694.74

Машинное обучение *

Основа искусственного интеллекта

Сначала показывать
Порог рейтинга
Уровень сложности

Векторные СУБД и другие инструменты для разработки ML-моделей

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

На фоне развития генеративных и больших языковых моделей набирают обороты векторные базы данных. В прошлый раз в блоге beeline cloud мы обсудили, насколько этот тренд устойчив, а также предложили несколько книг для желающих погрузиться в тему. Сегодня же мы собрали компактную подборку открытых СУБД и поисковых движков, способных помочь в разработке систем ИИ. Обсуждаем такие инструменты, как Lantern, LanceDB, CozoDB, ArcadeDB, Dart Vector DB, Marqo и Orama.

Читать далее

Как работают алгоритмы музыкальных стримингов. Разбираем на примере

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

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

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

Так как они это делают?

Читать далее

Создаем изометрические уровни игры с помощью Stable Diffusion

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

Всем привет. Сегодня я покажу вам, как можно создавать 2.5D уровни в изометрии с помощью быстрого прототипирования техникой grayboxing, и генеративного искусственного интеллекта, а именно Stable Diffusion. Практически весь процесс, описываемый в статье, довольно легко автоматизируется.

Если интересно, добро пожаловать под кат.

Читать далее

Задача Эйнштейна — большой тест LLM нейросетей на логическое мышление

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

Я был вдохновлен ранее вышедшей статьей автора MikeMSN - "Задача Эйнштейна. ChatGPT, YaGPT2, Gigachat, Mistral Large" и решил провести большой тест наиболее популярных LLM нейросетей. Использовал для этого сайт Chatbot Arena, а также свой компьютер, на котором можно запустить локальные LLM нейронные сети.

Читать далее

Как устроен RAPTOR — новый подход для RAG, который понимает контекст сразу всей книги

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

Помните, как на школьных уроках литературы иногда надо было развернуто ответить на вопрос о сюжетной линии героя или каком-то событии книги? Например, объяснить мотивацию и развитие Евгения Онегина. Чтобы ответить на этот вопрос на пятёрку, мало пролистать краткий пересказ романа — придётся прочитать его весь. 

Примерно для этого в 2020 году предложили RAG (retrieval-augmented generation) методы. Есть и другая мотивация для RAG — после обучения LLM на большой базе данных возникает вопрос, что делать с обновлением этой самой базы. Дообучение — не беспроигрышный вариант, так как это не всегда удобно для гигантских объемов данных. В базовом подходе RAG база знаний нарезается на небольшие куски текста, chunks, в 100-1000 слов, которые в виде эмбеддингов хранятся, как правило, в векторной БД, пока не понадобятся. Запросы пользователя дополняются найденными чанками в качестве контекста и выглядят для модели как один большой запрос. 

Так вот, большинство существующих RAG методов способны переварить только небольшое количество достаточно коротких и последовательных чанков. Это ограничивает возможность оперировать крупномасштабным контекстом. Возвращаясь к уроку литературы, если перед тем, как выдать ответ, прочитать несколько последовательных строф романа, этого явно будет недостаточно.  Недавно вышедшая Стэнфордская статья RAPTOR: Recursive Abstractive Processing for Tree-organized Retrieval призвана решить эту проблему. Основная идея заключается в том, чтобы обобщать отдельные куски большого материала, затем обобщать обобщения и так дальше.

Читать далее

Разворачиваем ML модель с использованием ONNX на Android в километре над землей

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

Иногда в жизни программиста возникают интересные задачи. Например, как перенести полученную ML модель, созданную в Python, на Android смартфон. Потому что этот самый смартфон пристегнут к параплану, висящему в километре над землей, а модель должна помогать пилоту лучше искать восходящие потоки.

Интернета в полете при этом обычно нет, так что вариант с доступом к удаленному Python-серверу по API отпадает. Ноутбук с запущенным Jupyter с собой тоже не возьмешь.

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

Читать далее

Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям

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

В Yandex Cloud с сегодняшнего дня открыт доступ к тестированию API YandexART — нейросети для генерации изображений и анимаций, которая лежит в основе приложения Шедеврум. Протестировать API можно в сервисе Foundation Models, в котором доступно несколько моделей машинного обучения, включая YandexGPT для генерации текстов и эмбеддинги для задач семантического поиска. 

Читать далее

Можно ли научить чат-бота всегда говорить правду. Часть 2

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

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

Часть первая тут.

Как пользователи, мы хотим иметь возможность просто загрузить все нужные нам документы в RAG и пользоваться ими без дополнительных настроек. Большинство традиционных подходов RAG также используют полученные документы “как есть”, без проверок, являются ли эти документы релевантными или нет. Более того, современные методы в основном рассматривают полные документы как справочные знания, как во время поиска, так и во время использования. Но значительная часть текста в этих извлеченных документах часто не важна для генерации и только затрудняет поиск релевантной информации. А если результат работы ретривера окажется низкого качества, есть большая вероятность получить галлюцинацию в ответе.

Для решения проблемы можно двигаться в нескольких направлениях.

Читать далее

GigaAM: класс открытых моделей для обработки звучащей речи

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

Салют, Хабр! Ранее мы в SberDevices анонсировали предобученную на русском языке модель GigaAM (Giga Acoustic Model) и её дообученные состояния под распознавание речи (GigaAM-CTC) и определение эмоций (GigaAM-Emo). Сегодня же делимся с сообществом весами моделей и примерами использования.

Приглашаем под кат погрузиться в self-supervised learning для звучащей речи и оценить возможности предобученных моделей!

Читать далее

Объединить большие языковые модели реально с помощью mergekit?

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

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

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

Слияние моделей — это методика, которая объединяет две или более LLM-модели в одну. Это относительно новый и экспериментальный метод создания новых моделей без использования GPU, а значит, недорого. И да, это работает. Причем работает на удивительно хорошо, что в результате дает множество современных моделей на доске лидеров Open LLM.

Сегодня  мы рассмотрим, как работает объединение больших языков моделей с использованием библиотеки mergekit.  Если более конкретно, то мы рассмотрим четыре метода слияния и предоставим примеры конфигураций. Затем мы воспользуемся mergekit для создания собственной модели, Marcoro14-7B-slerp, которая стала самой эффективной моделью на доске лидеров Open LLM (02/01/2024).

Код доступен на GitHub и Google Colab. Кстати, для простого запуска mergekit можно использовать LazyMergekit.

Читать далее

Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением

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

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

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

Читать далее

Анализ новостей с помощью сегментации и кластеризации временных рядов

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

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

Шаг 1. Сбор данных

В качестве источника данных я взяла информационно-новостной ресурс Лента.ру, так как с него легко парсить данные, новости разнообразны и пополняются в большом объеме ежедневно. Для теста я спарсила новости за последний год (март 2023 – март 2024) с помощью питоновских BeautifulSoup и requests.

В коде происходит процедура сбора заголовка, даты и тематики новостей:

Читать далее

Fashion is ML profession! Материалы митапа

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

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

В Lamoda Tech мы создаем продукты, которые решают самые разные задачи пользователей и бизнеса. На митапе 28 марта мы рассказали, какие ML-модели работают у нас в проде и как мы строили эту работу. 

Делимся с вами видео выступлений и презентациями.

Читать далее

Ближайшие события

Как обнаружить галлюцинации в LLM?

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

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

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

Читать далее

Как мы реализовали текстовый поиск за 48 часов

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

В компании Циан (где я, Клюшев Александр, и работаю в роли ML-инженера) проводятся внутренние хакатоны, и один из таких проходил в начале лета 2023. Достаточно давно в компании обсуждали идею по реализации поиска объявлений через текстовую строку, и было принято решение эту идею воплотить в жизнь. В статье я расскажу, как выглядит флоу поиска, какую мы использовали модель и какие результаты получили.

Читать далее

Open Source в российском ИИ: исследование ландшафта

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

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

Это исследователи из NSS Lab ИТМО и создатели сообщества ITMO.OpenSource. Мы считаем, что важно делать не просто науку, а открытую науку, результатами которой можно легко воспользоваться. Поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и разрабатываем научные решения с открытым кодом. Эта статья написана на материале исследования, которое мы презентовали на последнем митапе. В ней поговорим об открытом научном коде, посмотрим, как с ним обстоят дела в разных организациях, и поделимся подборкой репозиториев, которые могут решать различные научные задачи.

Читать далее

Размышления о высококачественных данных, собранных людьми

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


Высококачественные данные — это «топливо» для современных моделей глубокого обучения. Большая часть данных, размеченных под конкретные задачи, создается живыми людьми — аннотаторами, которые занимаются классификацией или проводят RLHF-разметку для LLM alignment. Многие из представленных в этой публикации методов машинного обучения могут помочь улучшить качество данных, но главным остается внимание к деталям и скрупулёзность.

Сообщество разработчиков машинного обучения осознает ценность высококачественных данных, но почему-то складывается впечатление, что «все хотят работать над моделями, а не над данными» (Sambasivan et al. 2021).


Рисунок 1. Два направления обеспечения высокого качества данных.
Читать дальше →

Kandinsky 3.1 — новая быстрая модель генерации изображений по тексту

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

Прошёл ровно год с момента релиза модели Kandinsky 2.1 — именно эта модель принесла известность нашей исследовательской группе Sber AI Research и дала толчок развитию всей линейки моделей Kandinsky. В честь этой даты мы выпускаем новую версию модели Kandinsky 3.1, о которой я расскажу подробнее в этой статье.

Читать далее

Идеи улучшения точности, удобства и скорости языковых моделей

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

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

Технический текст.

Читать 10 идей

Введение в нейросети: что, зачем и как?

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

Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.

Как же нейросети рисуют картинки?

Вклад авторов