Обновить
120.23

Natural Language Processing *

Компьютерный анализ и синтез естественных языков

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

Нейронные сети врываются в медицину

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

Доброго времени суток habr, на связи Николай Иванов, студент-магистр 1 курса Сколтеха факультета Data Science. С почином, так как это моя первая, и, надеюсь, не последняя статья на habr. С того момента как я познакомился с областью Deep Learning прошло уже около двух лет. С самого начала мне была интересна область обработки естественного языка (Natural Laguage Processing, NLP), о некоторых задачах которой и результатах я попробую рассказать в этой статье. В мае 2023 года начался мой путь в Sber AI Lab в замечательном центре медицины. Мой рассказ будет в какой-то степени сравнением того что было сделано до меня и того, какие идеи мы развили, что получилось, а что не получилось. Хочу сослаться на замечательную статью Даниила (https://habr.com/ru/articles/711700/), который использовал модель RuBioBERTa для задач из MedBench. Я же буду использовать другое решение, посмотрим, чем оно лучше, чем хуже и вообще насколько подходит для NLP-задач в медицине.


Немного оффтопа

Я очень рад, что каждый месяц появляются новые, более сложные и интересные архитектуры, реализующие смелые идеи, которые двигают вперёд области Deep Learning, NLP и Computer Vision (CV), но сколько из них реально используются в прикладных задачах? Вот оценка внедрения AI решений по странам (на основании отчёта IBM Global AI Adoption Index 2022):

Читать далее

Kandinsky 2.2 — новый шаг в направлении фотореализма

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

2023 год можно смело называть годом бурного развития генеративного искусственного интеллекта. Это касается не только привычной нам модальности изображений (Kandinsky 2.1, Stable Diffusion XL, IF, Шедеврум и др.), но и текстовой (ChatGPT, LLaMA, Falcon и др.), и даже модальности видео (GEN-2, CogVideo и др.). При этом ни в одном из направлений выделить объективного лидера почти невозможно — все команды стараются равномерно двигаться вперёд и повышать качество синтеза. Текстовые чат‑боты научились взаимодействовать с внешними системами посредством плагинов, синтез изображений вышел на уровень фотореалистичных генераций, длина генерируемых видео постепенно увеличивается с сохранением сюжетной связности между кадрами. И такой прогресс обусловлен уже не только наращиванием вычислительных мощностей, но и большим числом неординарных архитектурных решений, которые позволяют добиваться лучшего качества.

С момента выхода Kandinsky 2.1 (4 апреля 2023 года) прошло чуть больше трёх месяцев, и вот сегодня мы анонсируем новую версию модели в линейке 2.X. И если архитектурно модель не претерпела кардинальных изменений, то в части расширения функционала получила существенное развитие. В первую очередь, мы сделали упор на повышение качества генераций и их разрешении, а также новых возможностях синтеза изображений.

Читать далее

Как использовать метод Дэвида-Скина для агрегации разметки. Разбираем по шагам

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

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

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

Читать далее

Эволюция метрик качества машинного перевода — Часть 1

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

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

Читать далее

Фильтруй базар! Как мы параллельный русско-башкирский корпус чистили

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели4.4K

Чтобы обучать нейросети понимать и генерировать человеческие языки, нужно много качественных текстов на нужных языках. «Много» – не проблема в эпоху интернета, но с качеством бывают сложности. В этом посте я предлагаю использовать BERT-подобные модели для двух задач улучшения качества обучающих текстов: исправление ошибок распознавания текста из сканов и фильтрация параллельного корпуса предложений. Я испробовал их на башкирском, но и для других языков эти рецепты могут оказаться полезны.

Читать далее

Как поговорить с компьютером, если у вас не поехала крыша

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

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

Читать далее

DeepPavlov «из коробки» для задачи NLP на Python

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

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

Сегодня с вами участник профессионального сообщества NTA Пётр Гончаров.

В этом посте я разобрал последовательность действий, выполненных при решении задачи автоматизированного анализа текстовой информации в публикациях на Хабре для составления отчётов: парсинга сайта и использования «из коробки» инструментов библиотеки DeepPavlov для поиска ответов на вопросы в заданном контексте.

Погрузиться глубже

Смысловая капча. Применение семантического анализатора Real AI для реализации капчи

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

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

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

Читать далее

Геолоцировать пользователя по Tweet-у: машинное обучение, часть I

Время на прочтение4 мин
Охват и читатели1.7K

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

Самое интересное из всего этого спрятано за проблемами объемов данных, опечатками и жаргонизмами, кластеризацией и выбором наиболее подходящих покемонов (Large Language Models, в смысле). Под самым интересным я подразумеваю задачу определения местоположения пользователя по тексту. Каждый — от финансовых регуляторов до независимых журналистов — хочет залезть в Твиттер какого-нибудь мошенника и определить, где он прячется. 

Если есть спрос, появится и предложение. Эта серия постов будет посвящена креативным решениям по изменениям подходов, описанных в паре десятков научных статей. Мы начнем с маленьких изменений в датасетах, будем тестить разные алгоритмы фильтрации и кластеризации, языковые модели и надстройки. Расскажем, как учили модели определять отличия между «Я живу в Нью-Йорке» и «Нью-Йорк — лучший город на планете».

Читать далее

AIsaacChat: ИИ чатбот на основе ruT5

Время на прочтение5 мин
Охват и читатели3K

AIsaacChat — это мобильное приложение, которое может общаться, выполнять простые текстовые инструкции и генерировать картинки. 

2023 год стал годом нового бума обработки естественного языка. В магазинах мобильных приложений можно найти огромное количество продуктов с ИИ. В основном под капотом подобные приложения обращаются к API компании OpenAI (chatGPT), и с технической точки зрения реализовать это довольно несложно. Идея создания AIsaacChat была в том, чтобы оно обращалось с языковой модели, которую мы дообучим с помощью своих ресурсов.

Второй причиной создания стала идея объединить в одном приложении генерацию картинок и текста. Очевидно, что таких приложений много, разница состоит в том, что AIsaac может понимать ваши намерения. Что это означает для пользователя? Вы можете задавать Айзеку команды в произвольной форме (“можешь резко нарисовать дом в стиле Ван Гога”), и он поймет, что именно вы от него хотите: сгенерировать текст или картинку. 

Читать далее

Заставляем трансформеров отвечать на вопросы

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

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

Меня зовут Владислав Малеев, я участник профессионального сообщества NTA.

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

Что ответили трансформеры

Что делает ChatGPT… и почему это работает?

Уровень сложностиСредний
Время на прочтение75 мин
Охват и читатели186K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее

Продолжая писать в то самое время, когда технологии поломали все социальные договоренности в сети

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

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

Читать далее

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

Идеальный препроцессинговый пайплайн для NLP-моделей

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

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

Читать далее

Сравнение нейросетей для перевода

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

С помощью GPT-4 можно решать самые разнообразные задачи по преобразованию текста, включая перевод на разные языки.

Мне стало интересно, кто переводит лучше: GPT-4 или специализированные нейронки для перевода, такие как Google Translate и DeepL?

Сегодня мы сравним качество перевода от различных нейросетей на 24 языковых парах.

Читать далее

Пишем первый ML-пайплайн на Airflow: подробный туториал

Время на прочтение13 мин
Охват и читатели28K

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

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

План:

1. Примеры применения Airflow в проектах с машинным обучением.

2. Знакомство с Airflow: основные понятия и инструменты.

3. Написание тасок для загрузки данных и получения предсказания модели.

4. Запуск Airflow локально через Docker Compose.

5. Знакомство с веб-интерфейсом Airflow.

Код доступен на GitHub.

Читать далее

Как сделать голосового бота техподдержки и не разочароваться?

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

Привет, Хабр! Меня зовут Алексей Борщов и я занимаюсь проектированием голосовых диалоговых систем в компании Just AI. Как вы уже догадались по заголовку, речь сейчас пойдет о процессе создания голосового бота техподдержки, который может быть использован как для внутрикорпоративной, так и для внешней (клиентской) поддержки. И начнем мы с очевидного вопроса – а зачем он вообще нужен?

Читать далее

PromptGPT: оптимизируем промт для GPT-4

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

Допустим, нам нужно решить задачу NLP, в которой мы принимаем и возвращаем текст (seq2seq). Существует великое множество таких задач, например: генерация текста/кода, перевод/стилизация, суммаризация, коррекция текста, распознавание именованных сущностей, даже классификацию текста можно свести к seq2seq.

Если нам нужно очень быстро написать высококачественное решение и у нас есть возможность платить за API, тогда нам подойдет использование GPT-4 API.

При решении seq2seq-задачи с использованием GPT-4 API нам нужно будет составить промт, который состоит из системного сообщения и набора примеров для модели (few-shot learning). Туториал по GPT-4 API можно найти в моей предыдущей статье.

Далее возникает задача измерения качества модели и оптимизации промта:

1. Непонятно, как изменение системного сообщения влияет на результат

2. Неясно, как подбирать примеры

3. Чем длиннее промт, тем дороже использование модели. Хочется найти минимальную длину промта, при которой качество нас устраивает

Вдобавок, можно использовать либо GPT-3.5, либо GPT-4 (если у вас есть к ней доступ). GPT-4 гораздо дороже. Хочется понять, даст ли GPT-4 достаточный буст к качеству, который оправдает ее цену.

Я написал небольшой тул, который измеряет качество модели на различных промтах и позволяет выбрать оптимальный: https://github.com/einhornus/prompt_gpt. В этой статье я сначала расскажу, как он работает, а потом покажу процесс оптимизации промта на конкретном примере - на задаче коррекции грамматики из своей предыдущей статьи.

Читать далее

Бесплатные фронтенды к ChatGPT

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


Специалист без доступа к ChatGPT сегодня сродни бухгалтеру XX века без компьютера. Конечно, он может работать, но не так эффективно.

Ещё немного, и владение ChatGPT станет почти обязательным требованием квалифицированного сотрудника по многим специальностям. Поэтому печально, что разработчики OpenAI ограничили тестирование инструмента только пользователями с зарубежными SIM-картами. В этой ситуации у нас три выхода:

  1. Съездить в соседнюю страну и приобрести SIM-карту (например, в Польше она стоит 5 злотых у оператора Play24, без абонентской платы, и многократно пригодится в будущем, так что это полезная инвестиция).
  2. Купить «одноразовую» виртуальную симку на одном из полулегальных сервисов, чтобы получить SMS (без гарантии, потому что эту симку тысячи раз перепродают).
  3. Воспользоваться сторонним фронтендом, который даёт доступ к ChatGPT из России без VPN и СМС.

На третьем пункте и остановимся. Любопытно, что созданием таких фронтендов занялись в основном русскоязычные разработчики, потому что на западе у всех есть доступ к оригиналу, а вот в РФ это проблема. Статья о регистрации ChatGPT на левую симку стала самой популярной на Хабре за последние несколько лет, если не подводит память (1,2 млн просмотров).
Читать дальше →

RUDOLPH: освещая дорогу к AGI

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

Как можно описать последние два года в области машинного обучения и искусственного интеллекта? Пожалуй, подойдет словосочетание «расцвет генеративных моделей». Очень ярко прослеживается тренд и на развитие мультимодальности (и особенно активно развиваются бимодальные модели, работающие на стыке модальностей текстов и изображений). Если нашумевшая модель ChatGPT, построенная на основе архитектуры InstructGPT и принципах Reinforcement Learning with Human Feedback, работает только в текстовой модальности и может отвечать на текстовые вопросы различной степени сложности, то её последователь GPT-4 работает уже в двух модальностях, текст и изображение, но выдает только текстовый ответ. Похожим образом работают и модели FlamingoFROMAGeKosmos-1MiniGPT-4LLaVa. Можно заметить, что большинство моделей «однонаправлены», то есть либо переводят текст в соответствующее ему изображение, либо генерируют текстовый ответ по мультимодальному запросу.

Тем не менее, кажется, что модель, которая сможет работать с модальностями (в нашем случае, текстами и изображениями) равноценно и симметрично (то есть по факту решать zero-shot или после файнтюнинга все задачи на стыке двух модальностей, в том числе и генеративные) сможет более правильно оценивать совместные вероятности «токенов» текста и изображения и за счёт этого более качественно решать каждую из задач в отдельности (описывать изображения, генерировать изображения по тексту, отвечать на вопросы по тексту, отвечать на вопросы по изображениям, распознавать рукописный текст итд). Назовём такую способность модели гиперзадачностью (hyper-tasking).

Чтобы проверить гипотезу, сформулированную выше, мы задумались над модификацией генеративной модели Kandinsky 1.0 (ruDALL-E 12B), а именно над изменением процесса обработки входной последовательности. Результатом наших экспериментов стала модель RUDOLPH (RUssian Decoder On Language Picture Hyper-tasking), которая представляет собой авторегрессионную модель, способную решать разные типы задач в текстово-визуальном домене.

Читать далее

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