Search
Write a publication
Pull to refresh
15
2.6
Send message

LIME for ECG Time Series Dataset Example

Level of difficultyMedium
Reading time8 min
Views827

LIME (Local Interpretable Model-Agnostic Explanations) — популярный модет в решении задачи интерпретации. Он основан на простой идее — приблизить прогнозы сложного оценщика (например, нейронной сети) простым — обычно линейной/логистической регрессией.

Применить LIME можно из коробки при помощи одноименной библиотеки [lime]. Однако, при применении LIME к, в частности, к временным рядам возникают особенности. Поэтому в чистом виде lime для TimeSeries не всегда легко применить. И в этом туториале мы сделаем приближенение метода самостотельно! :)

Читать далее

Что же такое TPU

Level of difficultyEasy
Reading time14 min
Views14K

В последнее время я много работал с TPU и мне было интересно наблюдать такие сильные различия в их философии дизайна по сравнению с GPU.

Главная сильная сторона TPU — это их масштабируемость. Она достигается благодаря и аппаратной (энергоэффективности и модульности), и программной стороне (компилятору XLA).

Общая информация

Если вкратце, то TPU — это ASIC компании Google, делающий упор на два фактора: огромную производительность перемножения матриц + энергоэффективность.

Их история началась в Google в 2006 году, когда компания впервые начала размышлять о том, что же ей стоит реализовывать: GPU, FPGA или специализированные ASIC. В те времена было лишь несколько областей применения, в которых требовалось специализированное оборудование, поэтому было решено, что потребности компании можно удовлетворить при помощи незадействованных вычислительных ресурсов (compute) CPU её крупных датацентров. Но в 2013 году ситуация изменилась: функция голосового поиска Google начала использовать нейросети, и по расчётам для её реализации потребовалось бы гораздо больше compute.

Перенесёмся в настоящее: сегодня TPU лежат в основе большинства ИИ-сервисов Google. Разумеется, сюда включены обучение и инференс Gemini и Veo, а также развёртывание моделей рекомендаций (DLRM).

Давайте начнём разбирать внутренности TPU с самого нижнего уровня.

Читать далее

Разбираемся с суффиксами квантования LLM: что на самом деле значат Q4_K_M, Q6_K и Q8_0

Level of difficultyMedium
Reading time7 min
Views11K

Привет!
Задумывались, какую версию квантованной LLM выбрать: Q4_K_M, Q6_K или Q8_0? Насколько Q6_K хуже справляется с задачами по сравнению с Q8_0? И что вообще означают все эти буквы в суффиксах?

Примечание: это адаптированный перевод моей статьи на Medium. Перевод был сделан при помощи мозга, а не нейросетей или Google Translate.

Узнать чуть больше про квантование LLM

Распределённый инференс и шардирование LLM. Часть 2: скрипт vLLM, Ray Serve для вывода API и настройка KubeRay Cluster

Level of difficultyHard
Reading time14 min
Views3.8K

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

В первой части статьи мы подготовили всё необходимое для развёртывания распределённого инференса с Ray Serve и vLLM. Сегодня этим и займёмся. Мы напишем скрипт vLLM, используем Ray Serve, чтобы предоставить внешний HTTP API, а также настроим KubeRay Cluster и развернём в нём Gemma 3.

Вперёд!

Распределённый инференс и шардирование LLM. Часть 1: настройка GPU, проброс в Proxmox и настройка Kubernetes

Level of difficultyHard
Reading time14 min
Views9.5K

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

Эта статья в трёх частях — результат моего опыта в решении этой задачи. Внутри вас ждёт пошаговое руководство по реализации бюджетного распределённого инференса с использованием Ray Serve, vLLM, Kubernetes, Proxmox и других технологий. В первой части мы разберём настройку GPU и его проброс в Proxmox, развернём Kubernetes-кластер, установим GPU Operator и KubeRay Operator.

Поехали!

Как я обучал LoRA на стиле South Park для Flux: сбор кадров через MPV, особенности FluxGym и эксперименты с рангами

Level of difficultyMedium
Reading time10 min
Views3.5K

Генеративные нейросети уже изменили мир цифрового искусства, но настоящая магия начинается, когда ты сам берешь их под контроль. Сегодня расскажу о своем эксперименте по обучению LoRA на стиле South Park — от сбора датасета до финальной модели. Поделюсь реальным опытом, техническими нюансами и самое главное — что конкретно сработало, а что оказалось пустой тратой времени.

Меня зовут Илья, я основатель онлайн-нейросети для создания изображений ArtGeneration.me, техноблогер и нейро-евангелист.

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

Но стиль человека-паука показался мне слишком сложным для первого эксперимента такого рода. Решил сначала потренироваться на чем-то попроще. И тут удачно подвернулась спешл-серия South Park! Стиль South Park простой, узнаваемый, многие его любят (включая меня). На Civitai уже была одна LoRA South Park, так что я подумал — если смог кто-то другой, то и я смогу!

Спойлер: всё оказалось гораздо сложнее, чем я думал. Но обо всём по порядку.

Читать далее

Как перестать кидать Jupyter-ноутбуки по почте: гид по работе с данными и моделями для ML-инженеров

Reading time13 min
Views3.9K

Привет, Хабр! На связи команда LLM-dev из Точки. Как несложно догадаться, наша основная миссия — учить и улучшать внутреннюю LLM и модели, связанные с ней. Для этого нужно очень-очень много текстовых данных, которые надо где-то хранить и как-то уметь с ними работать. А ещё нужно ставить эксперименты, которые надо как-то трекать и воспроизводить, писать и отлаживать много кода, и делать всё это в команде. 

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

Читать далее

Эффективный пакетный инференс моделей. Опыт инженеров VK

Level of difficultyMedium
Reading time11 min
Views1.4K

Привет, Хабр!  На связи Артём Петров, я занимаюсь разработкой ПО в центре технологий VK. Хочу рассказать о важной задаче обработки больших объёмов данных с использованием нескольких экземпляров одной и той же модели машинного обучения. Этот процесс называется batch inference («пакетный инференс») и позволяет значительно повысить производительность системы, особенно когда речь идёт о таблицах большого размера.

Читать далее

Как я победил в RAG Challenge: от нуля до SoTA за один конкурс

Level of difficultyMedium
Reading time23 min
Views36K

Когда новичок пытается построить свою первую вопросно-ответную LLM систему, он быстро узнаёт, что базовый RAG - это для малышей и его нужно "прокачивать" модными техниками: Hybrid Search, Parent Document Retrieval, Reranking и десятки других непонятных терминов.
Глаза разбегаются, наступает паралич выбора, ладошки потеют.

А что, если попробовать их все?
Я решил потратить на подготовку к соревнованию 200+ часов и собственноручно проверить каждую из этих методик.
Получилось настолько удачно, что я выиграл конкурс во всех номинациях.

Теперь рассказываю, какие техники оказались полезными, а какие нет, и как повторить мой результат.

Читать далее

Всё, что я узнал о запуске локальных языковых моделей

Level of difficultyEasy
Reading time19 min
Views29K

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

В статье подробно разобраны разные виды LLM, их особенности и сценарии использования. Какие модели лучше подходят для программирования? Какие эффективнее справляются с переводами, генерацией текста или анализом больших объемов данных? Автор статьи Chris Wellons* протестировал популярные открытые модели — Mistral, Qwen, DeepSeek-Coder, Mixtral, Llama 3.1 и другие, — чтобы понять их сильные и слабые стороны. Также автор делится опытом и практическими советами, которые помогут вам запустить и использовать LLM на собственном оборудовании. Хотите разобраться, какую модель выбрать под свои задачи и как эффективно запустить её на локальном оборудовании? Тогда приступим!

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

50 исследований на тему нейросетей, которые помогут вам стать ИИ-инженером от бога

Reading time9 min
Views20K

В этом дайджесте мы собрали 50 знаковых научных работ в области ИИ за последние годы. Подборка охватывает десять ключевых направлений разработки нейросетей: от промтинга и проектирования бенчмарков до файнтюнинга и компьютерного зрения. 

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

Читать далее

RAG (Retrieval-Augmented Generation): основы и продвинутые техники

Level of difficultyMedium
Reading time9 min
Views16K

В этом посте мы поговорим подробно про RAG на каждом его этапе, его модификации и его перспективные направления развития на момент написания статьи.

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 3)

Level of difficultyMedium
Reading time28 min
Views3.1K

Это перевод статьи от Philipp Acsany

В этой третьей части серии вы узнаете, как:

Работать с несколькими таблицами с взаимосвязанной информацией в базе данных
Создавать связи «один ко многим» в базе данных
Управлять связями с помощью SQLAlchemy
Сериализовать сложные схемы данных со связями с помощью Marshmallow
Отображать связанные объекты в клиентском интерфейсе

Читать далее

Неувядающая классика или «чёрный ящик»: кто кого в битве за прогноз. Глава первая

Reading time16 min
Views1.7K

После перерыва продолжаю цикл статей про одно из самых интересных направлений в статистике и науке о данных — прогнозировании временных рядов (или рядов динамики, как их первоначально называли в учебниках по эконометрике). Эта работа будет не в стиле перевода с моими комментариями, а полноценное исследование на тему эффективности прогнозных моделей: мы с вами разработаем и сравним две модели прогнозирования временных рядов — традиционную статистическую модель — реализацию модели ARIMA с сезонной компонентой и экзогенными переменными под названием SARIMAX и рекуррентную модель глубокого обучения на основе слоя LSTM. Выясним, какая их них наиболее эффективно справится с климатическими данными, которые подготовил для своей книги Франсуа Шолле «Глубокое обучение с Keras», второе издание которой вышло в 2023 году. Второе издание значительно переработано в ногу со временем, и я настоятельно рекомендую изучить эту книгу как начинающим аналитикам данных, так и бывалым представителям науки о данных с багажом знаний о временных рядах.

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

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

Читать далее

Нейронные оптимизаторы запросов в реляционных БД (Часть 1)

Level of difficultyMedium
Reading time15 min
Views8.5K

В 1970-х годах известный программист Эдгар Кодд разработал математически выверенную теорию организации данных в виде таблиц (реляций). С тех пор утекло немало воды — появилось большое количество различных коммерческих и open-source реляционных систем управления базами данных (РСУБД). Скоро стало понятно, что эффективное получение данных из базы — задача далеко не тривиальная. Если говорить прямо, она нелинейная и в общем случае NP-сложная.

Когда SQL-запрос становится немного сложнее: SELECT * FROM table, у нас появляется огромная вариативность его исполнения внутри системы — и не всегда понятно, какой из возможных вариантов эффективнее как по памяти, так и по скорости. Чтобы сократить огромное количество вариантов до приемлемого, обычно используются так называемые эвристики — эмпирические правила, которые придуманы человеком для сокращения пространства поиска на несколько порядков. Понятное дело, эти правила могут отсечь и сам оптимальный план выполнения запроса, но позволяют получить хоть что-то приемлемое за адекватное время.

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

Читать далее

Нейросети для генерации изображений: обзор популярных сервисов

Reading time8 min
Views13K

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

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

Приятного прочтения (:

Читать далее

Как развивалась технология экстремального сжатия LLM: от QuIP до AQLM с PV-tuning

Reading time4 min
Views11K

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

Модели выкладываются в формате float16, где на один вес выделяется 16 бит. Два года назад человечество научилось хорошо сжимать нейросети до 4 бит с помощью таких методов, как GPTQ. Но на этом исследователи не остановились, и сейчас актуальная задача — сжатие моделей до 2 бит, то есть в 8 раз. 

Недавно исследователи Yandex Research совместно с коллегами из IST Austria и KAUST предложили новый способ сжатия моделей в 8 раз с помощью комбинации методов AQLM и PV-tuning, который уже доступен разработчикам и исследователям по всему миру — код опубликован в репозитории GitHub. Специалисты также могут скачать сжатые с помощью наших методов популярные опенсорс-модели. Кроме того, мы выложили обучающие материалы, которые помогут разработчикам дообучить уменьшенные нейросети под свои сценарии.

О том, как исследователи пришли к сегодняшним результатам, мы расскажем на примере двух «конкурирующих» команд и их state-of-the-art алгоритмов сжатия — QuIP и AQLM. Это короткая, но увлекательная история «противостояния» исследователей, в которой каждые пару месяцев случаются новые повороты, появляются оптимизации и оригинальные подходы к решению проблем.

Читать далее

17 продвинутых RAG-техник: как превратить прототип LLM-приложения в готовое решение

Reading time18 min
Views14K

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

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

Как метко подметил Мэтт Тёрк: если в 2023 году мы боялись, что GenAI нас погубит, то в 2024-м мечтаем хоть как-то приручить его и запустить в "мелкосерийное производство".

Если вы уже успели создать свои первые LLM-приложения и готовы вывести их на новый уровень, эта статья для вас. Мы рассмотрим 17 продвинутых RAG-техник, которые помогут избежать типичных ошибок и превратить ваш прототип в мощное и стабильное решение.

Пристегните ремни, мы отправляемся в увлекательное путешествие по миру AGI! Вместе мы:

Поймем, как система отличает ценную информацию от информационного шума;

Разберемся, как правильно подготовить данные для LLM;

Выясним, можно ли строить цепочки из нескольких LLM;

Поймем, как направлять запросы через разные компоненты системы.

Приятного прочтения(:

Читать далее

Подборка ресурсов для начинающих дизайнеров интерфейсов

Level of difficultyEasy
Reading time3 min
Views5.3K

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

Я — Анна, продуктовый дизайнер в компании Ozon, занимаюсь проектированием интерфейсов сайта и приложения компании, также являюсь ревьюером курсов «Дизайнер интерфейсов» и «Веб-дизайнер». Когда я начинаю работать над продуктом, я обращаюсь к разным ресурсам, ссылками на которые поделюсь в этой статье.

Читать далее

Архитектура RAG: полный гайд

Level of difficultyHard
Reading time13 min
Views56K

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

Итак зачем нужен RAG?

Читать далее

Information

Rating
1,676-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity