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

Natural Language Processing *

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

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

От промптов к дообучению: четыре уровня адаптации open-source моделей

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

Привет, Хабр! Меня зовут Анна Щеникова, я аналитик в Центре RnD в МТС Диджитал. Ко мне часто приходят задачи, где нужно использовать open-source LLM. Сразу же встает вопрос: а как адаптировать имеющуюся модель под конкретный кейс?

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

Читать далее

Особенности фонетики якутского языка для синтеза речи

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

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

Под котом катом вы узнаете:

Как звучит синтез на якутском языке;
Чем отличается якутский алфавит от русского и какие "дополнительные" звуки там есть;
Как работать с ударениями на якутском языке, с учетом полного отсутствия каких-либо корпусов или словарей;
И, в качестве бонуса, как якутский синтез речи говорит на русском с якутским акцентом;

Читать далее

Poisoned Data — отравление данных для LLM и создание «Спящего Агента»

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

Для борьбы с атаками на уязвимости LLM используются те же методы, что и для согласования моделей. Например, обучение с подкреплением на основе обратной связи от человека (RLHF) используется для производства полезных и безвредных LLM (HH=helpfull, harmless). А поставщиком большинства данных для обучения модели пока все еще является человек. 

Что если саботер попадет в команду разметчиков данных для обучения LLM? Он может внедрить backdoor в модель и таким образом превратить модель в "спящего агента", который только и ждет триггерное слово на вход, чтобы начать наносит повсеместный вред. 

Насколько сильно такой саботер может все поломать? Что конкретно он может наворотить в модели? Каких усилий от саботера это потребует?
Что если такому саботеру на самом деле не обязательно нужно быть внутри процесса обучения, иметь доступ к разметке данных и к процессу обновления весов, а отравить можно открытые данные?

Читать далее

Что можно узнать из текста в телеграмм-канале?

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

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

Приглашаю вас на препарацию моих мыслей, заметок и идей!

В препараторскую 👉

rupersonaagent: как добавить эмоциональности русскоязычному персонифицированному диалоговому агенту

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

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

Читать далее

Как простые NLP модели видят слова? | NLP | Пишем свой TF-IDF

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

Когда начинаешь погружаться в сферу NLP, сразу задумываешься, как модели представляют себе наш текст/наши слова? Ведь не логично бы звучало, если модель обрабатывала наши слова, как обычную последовательность букв. Это было бы не удобно и не понятно(как проводить операции со словами?).

Есть разные методы преобразования слов. Один из самых известных для не самых сложных моделей: TF-IDF.

Читать далее

Быстрее, выше, сильнее в распознавании речи: SpeechKit, SaluteSpeech или SpeechFlow?

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

Меня зовут Екатерина, я IT-архитектор в ML-команде SimbirSoft, специализируюсь на темах по обработке естественного языка. Сегодня мы обсудим особенности решения задач распознавания речи. Проверим наши предположения на собственных аудиоданных, которые будем переводить из акустического сигнала в текст тремя передовыми коммерческими системами: Yandex SpeechKit, SaluteSpeech от Сбера и SpeechFlow от Bluepulse. Статья будет полезна тем, кто интересуется тенденциями развития машинного обучения или хочет присмотреться к возможностям и уязвимым местам существующих решений для их внедрения в бизнес-приложения.

Погрузиться ⚡

Стеганография в LLM и защита от нее

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

В прошлой статье (об In-context learning) при разборе влияния формирования Chain-of-thoughts на результат модели я аккуратно обошла и не упомянула один из тестов - перефразирование CoT. Я хочу остановиться на этом по подробнее. 

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

Читать далее

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

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

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

Читать далее

RLHF. История становления идеи — 4. HHH: helpful, honest, harmless, Instruct LLM, Constitutional AI

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

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

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

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

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

В этой, финальной части, мы узнаем современное и будто бы общепринятое понятие и определение "согласованной модели" - HHH: helpful, honest, harmless, поиграемся с различными комбинациями RM для представления HHH моделей, а еще увидим, как обогащать и собирать обратную связь не от человека, а от LLM.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

Всем привет!

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

Читать далее

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

LIBRA: Long Input Benchmark for Russian Analysis

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Промпт-инжиниринг (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.3K

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

Читать далее