Как стать автором
Поиск
Написать публикацию
Обновить
99.49

Natural Language Processing *

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

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

Как на самом деле определять автора с помощью компьютера?

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

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

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

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

Читать далее

От текста к краткому изложению: библиотека Sumy

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

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

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

Читать далее

Оценка LLM с большим окном контекста

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

Всем привет!

Мы в команде фундаментальных исследований MTS AI занимаемся исследованиями в области обработки естественного языка и компьютерного зрения, а также строим свои фундаментальные языковые модели. Недавно у нас получилось достичь уровня gpt-4 на собственном ограниченном датасете большого контекста. Расскажем, как нам это удалось.

Читать далее

LIBRA: Long Input Benchmark for Russian Analysis

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

Мы разработали бенчмарк LIBRA, который включает в себя 21 адаптированный набор данных для тщательного изучения способности LLM понимать длинный контекст. Помимо самих данных для оценки, мы опубликовали кодовую базу и лидерборд для сравнения моделей.

Читать далее

Использование ответов OpenAI API в формате JSON: Введение

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

Тема использования JSON в ответах OpenAI API звучала в анонсах примерно год назад и до некоторой степени описана в документации. В частности, Сэм Альтман на презентации одного из крупных релизов говорил о том что о такой фиче активно просили разработчики. Однако с тех пор мне не удалось найти целостных описаний решений, сценариев и паттернов, которые выглядели бы как практически полезные и на основе которых можно было бы быстро составить целостное понимание. Те материалы, которые попадались мне до сих пор, показались мне довольно абстрактными, недостаточно целостными, оторванными от реальности, иногда перегруженными техническими подробностями, за которыми теряется общая картина.

Вчера (6 августа) OpenAI выпустила обновление этого функционала и вместе с ним заметно обновила и дополнила документацию в этой части. С одной стороны, в новой версии документации стало больше конкретных и наглядных примеров. С другой, - в дополнение к понятию Function calling добавилось еще новое понятие Structured Outputs, которое для начинающего пользователя на первых шагах может усложнить понимание.

В этой статье я хотел на небольшом примере дать краткий поверхностный обзор того как, на мой взгляд, можно задействовать JSON-ответы для конкретной задачи. Сразу скажу, что мой пример оказался крайне примитивным (чуть сложнее чем "Hello, World!"). Я старался достичь наглядности за счет демонстрации всего цикла от идеи "продукта", до его рабочего прототипа. Свою задачу я реализовал в трех вариантах (по мере возрастания сложности): "Чат без Function calling", "Чат с Function calling" и "Assistant Function calling". Возможно, кто-то найдет для себя в этом что-то полезное.

Читать далее

Семантический поиск (homemade)

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

Основой семантического поиска может являться ML задача Sentence Similarity, а если быть еще конкретнее, то это Semantic Textual Similarity. Модели, обученные под эту задачу, способны оценивать насколько близки предложения по своему смыслу. Всё, что нам дальше остается, так это засунуть модель в некоторую поисковую систему...

Но тут давайте по порядку

Не любой In-context learning одинаково полезен

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

Промпт-инжиниринг (Prompt engineering) - широко используемая техника для улучшения качества генерации LLM. Few-shot learning и Chain-of-thought - основные техники современного промпт-инжиниринга.

Оказывается, не любые Few-shot prompting и Chain-of-thought одинаково полезны и могут принести свои биасы в генерацию модели и испортить всю магию от их применения. 

Читать далее

Уход к дообучению моделей? Исследователи и технологии Character.ai выкуплены Google

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

Компания Google и стартап Character.ai объявили о сотрудничестве. В рамках достигнутых соглашений Google получит неэксклюзивные права на технологии больших языковых моделей Character.ai, а исполнительный директор стартапа Ноам Шазир и второй сооснователь Даниэль Де Фрейтас начнут работать в подразделении DeepMind. Сама Character.ai собирается поробовать перейти на дообучение открытых моделей.

Читать далее

RLHF. История становления идеи — 3. Supervised finetune, Протокольный сбор обратной связи, Batch RL

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

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

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

Во второй - сравнили Offline RL и Online RL, увидели их ограничения, попробовали имитировать Online RL через self-play и непрерывную обратную связь от среды через Reward Modelling. А еще первый раз задумались о сборе непротиворечивой но достаточно полной обратной связи от человека.

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

Читать далее

OpenSource на поле против OpenAI:  Function Calls здесь и сейчас для самых маленьких… ресурсов

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

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

Читать далее

Эффективные запросы к ChatGPT и подобным моделям: Полное руководство по идеальной формуле

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

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

Читать далее

Вызов функций с помощью LLM

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

Всем привет, меня зовут Алан, я разработчик-исследователь из команды фундаментальных исследований MTS AI. Мы изучаем возможности генеративного ИИ, и видим, что большие языковые модели отлично справляются с различными текстовыми задачами, но мы можем расширить их функционал. Например, пока что LLM не может правильно посчитать логарифм, узнать погоду или какую-то другую информацию. Как решить эту задачу? Нужно научить модель пользоваться внешними инструментами/функциями. В этой статье мы поговорим о вызове функций с помощью больших языковых моделей, рассмотрим некоторые проприетарные и открытые модели, связанные исследования, а затем проведем небольшой эксперимент с отправкой электронной почты при помощи LLM.

Читать далее

Мобильный AI на рабочем месте. Ищем реальную ценность

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

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

И эта мысль навела меня на размышления об искусственном интеллекте вообще. Я не понимал причину шума вокруг AI все эти годы. Можно понять специалистов по Natural Language Processing или компьютерному зрению, у которых реально возросла эффективность алгоритмов благодаря глубинному обучению. Остальным-то что с этого?

Читать далее

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

Долой рандом, или ищем лучшие настройки для аугментации текстов

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

Всем привет. На связи Игорь Буянов, старший разработчик в MTS AI. Этот пост — текстовый вариант моего доклада, с которым я выступал в прошлую пятницу на Pycon 2024. Расскажу о том, как мы оптимизировали параметры аугментаций для текстовых данных и что из этого получилось. Текст рассчитан на широкий круг читателей, поэтому если вы слышите про аугментации впервые — не пугайтесь, разберемся.

Читать далее

Используем LLM, чтобы найти «бриллианты» в тексте

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

Привет всем! Меня зовут Александр Григорьев и я продуктовый аналитик в Innovative People. 

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

Спустя время у меня и моих коллег накопилось несколько вопросов:

Читать далее

Turbo ML Conf 2024 — по следам

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

В формате разбора содержания докладов я, автор канала @borismlsec, приведу три интереснейших из тех, что мне довелось посетить на конференции Turbo ML 2024. Они привлекли меня не только как дата саентиста, но и как сотрудника вендора решений по кибербезопасности. И по каждому докладу в конце я расскажу, почему.

Читать далее

Как оживить Кандинский матрицами вращений для генерации видео — модель Splitter (часть 2-я)

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

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

Во второй части двигаемся к решению задачи на основе машинного обучения через:
- формализацию функции потерь;

- построение базовой модели Splitter, по сути, обучаемой матрицы вращений;

- построение алгоритма обучения на векторизованном датасете из 200-500 роликов.

И посмотрим первые результаты.

Читать далее

RLHF. История становления идеи — 2. Offline RL, Self-play, Reward Model

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

Продолжаем разбирать внутренние детали пайплайна RLHF (обучение с подкреплением на основе обратной связи от человека). Это крайне популярный и широко используемый способ повысить согласованность языковой модели. Разбираем части пайплайна RLHF с точки зрения исторической ретроспективы, чтобы понять, как сформировалась идея, которая сегодня лежит в основе самых популярных LLM.

Прошлый раз мы поговорили об LLM, предобучении на больших данных и KL‑контроле.

В этой части разбираемся с тем, какую обратную связь и как собирать, какую технику обучения использовать - Offline или Online RL, можно ли как то обойти ограничения Offline и Online RL и одновременно использовать преимущества обоих подходов, пробуем self-play и учимся имитировать человеческую обратную связь с помощью модели вознаграждений (Reward Model).

Читать далее

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

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

Всем привет!

Меня зовут Дима Савелко, я лид команды нейро-сети.рф.

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

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

Читать далее

Наш опыт применения AI-технологий для классификации документов для подачи в суд

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

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

Читать далее