Как стать автором
Обновить
12
0
Иван Ганев @IvanGanev

Веб разработчик

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS

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

В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.

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

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

ИТ-шансон, или как ChatGPT (не) помогает в работе

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

Привет! Этот текст про ChatGPT и ИТ-шансон. Несколько месяцев назад нам на работе подключили ChatGPT 4, как надежный инструмент и помоЧник, и все сразу ринулись его проверять. Выяснилось, что с текстом он обращается на ура, и я решил проверить его «в музыкальном бою».

Недавно наткнулся на мем «Вася Тестировщик — две ходки по канбану». Я взял саму идею, сформировал запрос и попросил ИИ написать текст песни. После доработки напильником получился нетривиальный текст, который привёл меня к написанию целого ИТ-шансон альбома о буднях программистов.

Окунутся в мир шансона и ChatGPT
Всего голосов 35: ↑29 и ↓6 +23
Комментарии 50

Как обучить нейросеть рисовать в стиле любого художника

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

Прошло 3 года с момента когда я обучал StyleGAN на панельках и мне стало интересно что там сейчас с генерацией картинок. А там - ого - можно дообучить целый stable diffusion на любом стиле любого художника! Как? А вот щас расскажу

Читать далее
Всего голосов 36: ↑31 и ↓5 +26
Комментарии 12

CatBoost

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

Добрый день, уважаемые читатели Хабра!

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

Первые шаги CatBoost были сделаны в 2017 году, когда мир уже знал о таких гигантах, как XGBoost и LightGBM. В чем же заключается уникальность CatBoost? Его разработка была направлена на решение специфических проблем, связанных с категориальными данными – той самой головной боли многих специалистов в области машинного обучения. С тех пор CatBoost прошёл долгий путь развития и совершенствования, став не просто эффективным инструментом, но и частью больших исследовательских проектов в различных сферах от финансов до биоинформатики.

CatBoost выделяется на фоне других алгоритмов градиентного бустинга благодаря ряду ключевых особенностей:

Читать далее
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 1

OmniFusion: выходим за границы текста

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

Кто-то ещё сомневается, что в мире машинного обучения происходит революция? Уверен, мы являемся свидетелями преобразования привычного взаимодействия с данными, поиска информации, да и вообще работы как таковой. Ведь умные ассистенты (ChatGPT, GigaChat, Bard) готовы взять на себя даже самые сложные задачи.

Но не всегда возможно сформулировать проблему в виде текстового запроса, иногда требуется информация из других “модальностей” — картинка, звук, 3D и тд. Ниже я разберу какие именно есть способы соединения больших языковых моделей (LLM) с дополнительными форматами данных, а также опишу как устроена наша новая модель OmniFusion.

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

Нормально разбираемся в Нормальном распределении

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

Интуитивное понимание Нормального распределения

Читать далее
Всего голосов 53: ↑51 и ↓2 +49
Комментарии 14

Размываем границы времени и учимся создавать видео — Kandinsky шагает дальше

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

В последние несколько лет активно развиваются генеративные модели, причём синтезировать с хорошим качеством уже сейчас получается и тексты, и аудио, и изображения, и видео, и 3D, и другие модальности. Если говорить про генерацию изображений, то стремительность прогресса в этом направлении обусловлена развитием диффузионного подхода и успехами при обучении больших диффузионных моделей (таких как DALL•E 2/3, Imagen, StableDiffusion, Kandinsky 2.X). Этот тип моделей показывает также отличное качество синтеза видео (ImagenVideo, Make-a-Video, Video LDM, GEN-1, GEN-2, Pika Labs, ZeroScope) и 3D-объектов (DreamFusion, Magic3D). При этом каждый месяц мы можем наблюдать за появлением новых open source (и не только) решений и сервисов, которые обеспечивают очень высокое визуальное качество генераций. 

Несмотря на стремление исследователей в области машинного обучения создать единую модель для синтеза видео, есть не менее элегантные подходы к генерации видеороликов. В этой статье речь пойдёт как раз о таком способе создания анимированных видео на основе модели генерации изображений по тексту — в нашем случае, это, как вы уже успели догадаться, модель Kandinsky 2.2. В деталях изучив направление моделирования различных визуальных эффектов вокруг генеративной модели, которая обладает способностью преобразования изображений (image-to-image) и механизмами дорисовки (inpainting/outpainting), мы разработали решение, которое расширяет границы статичных генераций и даёт возможность синтеза так называемых анимационных видео. В качестве такого фреймворка имплементации различных вариантов анимаций мы взяли широко известный deforum, который хорошо зарекомендовал себя в связке с моделью StableDiffusion. И поверьте, задача скрещивания deforum с Kandinsky была отнюдь не простой. Об этом и поговорим далее!

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

Kornia — библиотека компьютерного зрения

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

Kornia это open source библиотека для решения задач компьютерного зрения. Она использует PyTorch в качестве основного бэкенда и состоит из набора дифференцируемых процедур и модулей. Создатели библиотеки вдохновлялись OpenCV, и поэтому Kornia является его аналогом, но при этом в некоторых моментах превосходит. Главным преимуществом Kornia по сравнению с тем же OpenCV, scikit-image или с Albumentations является возможность обрабатывать изображения батчами, а не по одному изображению и возможность обрабатывать данные на GPU.

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

Почему для MLOps лучше выбирать Open Source, а не проприетарное ПО

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


Самому обеспечивать гибкость и контроль собственного ML-пайплайна — это важно. Команды по машинному обучению могут использовать проприетарные платформы или создавать собственные решения с помощью Open-Source-инструментов. Компании часто представляют проприетарные платформы как более мощные, эффективные и простые в использовании. Но в действительности они часто оказываются более сложными и менее мощными, чем их Open-Source-конкуренты.
Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 3

Мое Знакомство с УИИ или Путешествие в Параллельную Реальность

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

Эта статья представляет собой рассказ о том, как я узнала о существовании параллельной реальности под названием Университет Искусственного Интеллекта (УИИ), плавно переходящий в мини-расследование того, что же на самом деле скрывает за собой это название. В основном рассказ cкомпонован из серии постов в моем телеграм-канале, которые я написала в конце прошлого года под впечатлениями от данного интеллектуального путешествия, с небольшими дополнениями на основании новой полученной с тех пор информации.
Я надеюсь, что рассказ будет полезен новичкам в изучении искусственного интеллекта, чтобы они не потратили сотни тысяч рублей зря, а тем людям, которые занимаются темой давно, доставит удивление и... просто доставит.

Для начала скажу пару слов о себе.
Я работаю в области машинного обучения уже несколько лет, успев потрудиться за это время в нескольких компаниях на разных ролях, связанных с исследованиями и разработкой. Сейчас я работаю в R'n'D команде, где занимаюсь исследованиями в области NLP (Natural Language Processing) и подготовкой публикаций на конференции А*. Думаю, этой информации достаточно в качестве контекста, который поможет читателям лучше прочувствовать глубину моего культурного шока от контакта с феноменом под названием УИИ.

Читать далее
Всего голосов 69: ↑65 и ↓4 +61
Комментарии 24

Bag of tricks для разметки текстовых данных: Часть 1. Четыре способа размечать меньше

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

Привет! Меня зовут Ирина Кротова, я NLP-исследователь из компании MTS AI. Мы не понаслышке знаем, что сбор и разметка данных часто становятся “бутылочным горлышком" в проектах, связанных с машинным обучением. У нас в компании есть постоянная необходимость в разных видах разметки аудио, текста и изображений.

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

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

Измеряй и властвуй: как мы покрытие автоматическими тестами измеряли

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

Привет, Хабр! Меня зовут Марина Петрова, я QA Lead в Cloud. В нашей QA-команде уже более 35 человек, а количество тестируемых продуктов превышает десяток. Мы пишем автоматические тесты для повышения качества продуктов и сокращения времени ручного тестирования. Для эффективной организации этого процесса требуются числовые индикаторы — метрики. Нам хотелось иметь инструмент, в котором аккумулируются данные о метриках в простом и понятном всем виде. Тогда мы предложили инициативу по созданию приложения для автоматического сбора и визуализации метрик покрытия автоматическими тестами.

В этой статье расскажу, какой путь мы прошли, чтобы измерить покрытие функциональности проектов автотестами.

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

Заклинания для Героев машинного обучения

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

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

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

Обработка естественного языка (NLP). Личный опыт — мой первый запуск BERT

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

BERT — Bidirectional Encoder Representations from Transformers

Здесь не будет рассказываться о том, что такое BERT, как это работает и для чего применяется — в сети об этом достаточно информации.

Это статья про личный опыт — как конкретно у меня получилось запустить BERT с чистого Colab по конкретным описаниям.

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

А вы давно заглядывали внутрь ваших зависимостей?

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

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

Последние истории с node‑ipc и CTX заставили задуматься о том, что лежит внутри этих репозиториев. Оказалось, не только легитимный код. Там есть и попытки заработать без особых усилий, просто собирая информацию, и даже полноценные стиллеры. Причем негативных изменений стало больше после известных событий.

За подробностями о сканировании пакетов npm и PyPI добро пожаловать под кат.

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

Как тестировать в Databricks: Nutter Framework

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

Если с тестированием привычных программных продуктов более-менее ясно, то вот с BigData возникает множество вопросов. Если у вас Java - у вас есть как минимум JUnit, а абсолютное большинство фреймворков заботятся о простоте тестирования. Например Spring посвящает этому очень много документации. Тестирование фронтенда тоже хорошо проработано: от Selenium до JestJs. Тестировать блокчейн и смарт-контракты одно удовольствие (хотя бы на Ethereum сети благодаря Truffle Suite)

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

Как же его использовать?
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Нельзя просто так взять и распарсить этот JSON на JavaScript

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

JSON является одним из очень простых, но в то же время эффективных языков для хранения и передачи данных. Он настолько популярен, что, пожалуй, может считаться самым совместимым форматом представления данных в мире.

Одновременно с этим, JavaScript является одним из наиболее популярных языков программирования и применяется практически везде. Также, нужно понимать, что JSON появился напрямую из JavaScript и эти два языка просто созданы друг для друга.

Но что же может пойти не так, спросите Вы? Просто попробуйте распарсить этот JSON-документ…

Давайте парсить
Всего голосов 75: ↑70 и ↓5 +65
Комментарии 60

Представляем Deep Lake, озеро данных для глубокого обучения

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

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

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

Building a GPT-like Model from Scratch with Detailed Theory and Code Implementation

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

Unlock the power of Transformer Neural Networks and learn how to build your own GPT-like model from scratch. In this in-depth guide, we will delve into the theory and provide a step-by-step code implementation to help you create your own miniGPT model. The final code is only 400 lines and works on both CPUs as well as on the GPUs. If you want to jump straight to the implementation here is the GitHub repo.

Transformers are revolutionizing the world of artificial intelligence. This simple, but very powerful neural network architecture, introduced in 2017, has quickly become the go-to choice for natural language processing, generative AI, and more. With the help of transformers, we've seen the creation of cutting-edge AI products like BERT, GPT-x, DALL-E, and AlphaFold, which are changing the way we interact with language and solve complex problems like protein folding. And the exciting possibilities don't stop there - transformers are also making waves in the field of computer vision with the advent of Vision Transformers.

Read more
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 1

Проверяем Архитектурные стили на движке Factorio (часть 1)

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

Добрый день всем, дорогие читатели!

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

Если вы хотя бы чуть-чуть имели неудачу пообщаться с Архитекторами, то знаете, что в их понимании не существует идеальной архитектуры ПО и вся их работа состоит во взвешивании плюсов и минусов того или иного Архитектурного стиля. И поскольку Архитектурных стилей много и каждый имеет свои преимущества (даже Монолит) и недостатки (даже Микросервисы) - работа архитектора состоит в попытках применения данных стилей на конкретный продукт и попыток предугадать, что из этого получит в итоге для бизнес-части.

Как сказал мой добрый друг-программист про Factorio: "Эту игру создали программисты для программистов" и эти слова плотно въелись в мою память. И реально игра в эту игру очень сильно напоминает процесс разработки ПО: можно просто строить как попало и прийти к полностью запутанной и сложнообслуживаемой системе, а можно подойти к вопросу с умом изначально и в итоге получить производительную и легкую в обслуживании систему (Прям как в жизни!)

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer
Senior
JavaScript
React
TypeScript
NextJS
Web development