Как стать автором
Обновить
9
0

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

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

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

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

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

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

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

Дескрипторы в Python

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

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

Дескриптор — это объектовый атрибут с поведением, определяемым методами в его классе. Если просто — это способ, с помощью которого объект может контролировать доступ к его атрибутам, используя специально определенные методы __get__, __set__, и __delete__. Если говорить еще проще — дескрипторы позволяют задавать точки доступа к атрибутам объекта, добавляя дополнительную логику, когда атрибут читается, записывается или удаляется.

В этой статье поговорим подробней про дескрпиторы.

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

Нужен ли продакт в ML-команде? Мнение изнутри

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

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

Раньше после определения потребностей пользователя я приходила к команде разработки с готовой задачей и дизайн-макетами. А после разработки забирала готовый продукт, чтобы отдать его в A/B-тест.

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

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

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

Серебряной пули не ждите, но пара интересных мыслей должна найтись!

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

Как графы знаний и LLM могут друг другу помочь

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

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

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

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

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

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

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

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

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

Смысл жизни с точки зрения программиста-буддиста

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

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

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

Читать далее
Всего голосов 69: ↑60 и ↓9 +51
Комментарии 128

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

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

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

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

Одинаковые деньги имеют разную субъективную ценность

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

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

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

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

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

Мозг часто выкидывает подобные штуки, когда речь идёт о личных финансах.
Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 29

Магическое ускорение работы моделей с помощью дистилляции

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

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

Эти вопросы вполне применимы и в области машинного обучения. Для обучения модели диффузии требуется много данных и вычислительной мощности, а затем для создания изображений требуется значительное количество вычислений и серьезное оборудование. Исследователи (у которых обычно нет денег и на доширкак) задали очень хороший вопрос - можно ли достичь тех же результатов с меньшими усилиями?

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

[ТОП-28] Нейросети, боты и сайты, которые помогут раздеть девушку по фото

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

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

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

Метод конечных элементов своими руками

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

Метод конечных элементов (МКЭ) применяют в задачах упругости, теплопередачи, гидродинамики — всюду, где нужно как-то дискретизировать и решить уравнения сплошной среды или поля. На Хабре было множество статей с красивыми картинками о том, в каких отраслях и с помощью каких программ этот метод приносит пользу. Однако мало кто пытался объяснить МКЭ от самых основ, с простенькой учебной реализацией, желательно без упоминания частных производных через каждое слово.

Мы напишем МКЭ для расчёта упругой двумерной пластины на прочность и жёсткость. Код займёт 1200 строк. Туда войдёт всё: интерактивный редактор, разбиение модели на треугольные элементы, вычисление напряжений и деформаций, визуализация результата. Ни одна часть алгоритма не спрячется от нас в недрах MATLAB или NumPy. Код будет ужасно неоптимальным, но максимально ясным.

Размышление над задачей и написание кода заняли у меня неделю. Будь у меня перед глазами такая статья, как эта, — справился бы быстрее. У меня её не было. Зато теперь она есть у вас.

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

api2app — быстрое создание графического интерфейса для API

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

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

При помощи api2app можно быстро создать графический интерфейс для API. Его можно использовать для тестирования или демонстрации работы вашего API. Созданным приложением можно поделиться со всеми желающими или использовать по приватной ссылке.

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

Анатомия игры: отражение

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


Продолжаем разбирать устройство игр с небольшими вкраплениями практики. Сегодня на повестке — отражение в зеркале. Нет, не свое собственное, а отражение в зеркальных поверхностях внутри 3D-движков, в частности — в играх. Разберем, какие бывают отражения, как они реализуются и как именно сделать отражение в редакторах движка.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 12

Python и чистая архитектура…

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

Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по заветам Роберта Мартина мы не должны зависеть от инструмента(зачастую под этим понимают фреймворк или библиотеку), однако это порождает множество ошибок и просто небольших неточностей в проектировании сервисов и даже выборе языка программирования.

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

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

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг)

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

Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).
В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет индустрию. Какие задачи стало проще решать. Какие продукты появились в последнее время и появятся в будущем.
И можно ли уже выгнать на мороз лишних "ресерчеров"?!

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

Как работают трансформеры: разбираем математику

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

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

Как вы увидите, математика модели не так уж сложна. Сложность возникает из-за количества этапов и количества параметров. Перед прочтением этой статьи я рекомендую прочитать пост Illustrated Transformer (или читать их параллельно) [перевод на Хабре]. Это отличный пост, объясняющий модель трансформера интуитивным (и наглядным!) образом, поэтому я не буду объяснять то, что уже объяснено в нём. Моя цель заключается в том, чтобы объяснить, как работает модель трансформера, а не что это такое. Если вы хотите углубиться в подробности, то изучите известную статью Attention is all you need [перевод на Хабре: первая и вторая части].

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

Как найти все корни системы 2x2?

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

Рассмотрим систему из двух уравнений F_1(x,y) =0,\;F_2(x,y)=0, обладающую свойством покоординатной монотонности: с ростом x функции F_1,F_2 также растут. Задача состоит в нахождении всех корней системы.

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

CodebaseGPT = ChatGPT для целого программного проекта

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

CodebaseGPT — это приложение, которое позволяет разработчикам "общаться" с полной кодовой базой программного проекта.

Главная особенность CodebaseGPT заключается в том, что он создает краткие описания каждого файла проекта и предоставляет эти описания LLM в первом системном промпте. Таким образом, модель имеет обобщенную информацию обо всем проекте в своем контексте на каждом этапе общения с пользователем.

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

Обзор решений на основе 3D Gaussian Splatting

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

Спустя полгода после выхода публикации 3D Gaussian Splatting лавина препринтов на его основе накрыла область 3D-реконструкции. Какие задачи теперь решаются проще, и как именно Gaussian Splatting помогает в приложениях реального времени?

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

Искусственный интеллект для игры Точки

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

Кратко о правилах: игроки поочерёдно ставят точки двух цветов в перекрестия линий. Цель — окружить точки соперника замыканием вокруг них непрерывной цепи своих точек.

Читать далее
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 22

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность