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

Natural Language Processing *

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

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

Как мы сделали переводчик точнее и дешевле Google и Yandex

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

Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возникавшие в процессе погружения в эту задачу. Также я объясню, почему мы отказались от готовых решений и выбрали Large Language Models (LLM) в качестве основного инструмента. Как вы, возможно, уже догадались из названия, основным преимуществом нашего финального решения стала значительная оптимизация расходов: нам удалось сократить использование API OpenAI в 4 раза, при этом сохранив высокое качество перевода.

Читать далее

Вихрь — семейство переведенных русскоязычных LLM

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

Мы русифицировали Mistral и он работает лучше(по бенчмаркам) чем закрытые русскоязычные LLM. Как мы это сделали, ссылки на модели и бенчмарки - в статье.

Читать далее

Проанализируй меня если сможешь! Мета вопрос, или как я не перестал бояться и полюбил большие языковые модели

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

Здравствуйте дорогие читатели хабра, сейчас утро воскресенья, пожалуй невероятно удачный момент для спонтанного написания статьи на хабре, надеюсь в этом вы согласитесь со мной :) что ж, here we are!

Найти вопрос на ответ...

Как перевести игру 'The Lamplighters League'

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

На данном примере предлагается разобрать перевод .wem файлов аудио одного языка (англ.) на другой язык (русский) с последующей упаковкой в .wem и использования в игре. В качестве инструментов будут использоваться python, нейросети, а также программа Wwise. Из интересного — также будет использоваться сеть, определяющая пол (gender) говорящего, чтобы перевод получился двухголосым.
Читать дальше →

Семантический поиск и генерация текста на R. Часть 2

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

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

Читать далее

Почему в чат-ботах не сделают кнопку «Вызвать оператора»?

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

Всем привет, меня зовут Валентина Тарадайко и я владелец платформы «Чат-бот и IVR» в М.Тех. У пользователей часто возникает вопрос, почему крупные компании с мощным технологическим стеком, внушительными бюджетом и штатом сотрудников никак не добавят вожделенную кнопку «Вызвать оператора». Ведь речь идёт о ведущих российских компаниях - М.Видео, Озон, Мегамаркет и других. Чат-боты все умнее, благодаря прорыву c генеративным искусственным интеллектом, но попасть на оператора порой не проще, чем достучаться до небес. Попробую рассмотреть основные причины и поделиться опытом, который заставит усомниться в необходимости этой бесхитростной фичи.

Читать далее

Как защитить своего GPT ассистента от вредных атак

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

Громкая новость прошлой недели: OpenAI запустили GPTs. Теперь каждый может опубликовать своего ассистента и поделиться с друзьями. Новый GPT Builder позволит сделать это за 3 минуты, но насколько ваш новый ИИ агент защищен от атак?

В этой статье мы сначала создадим себе ассистента, потом его сломаем. Подумаем, как и когда стоит защищать свой GPT. Далее, рабоче-крестьянским методом сделаем защиту от промпт-инъекций. Поехали!

Читать далее

Семантический поиск и генерация текста на R. Часть 1

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

Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).

Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того, что основной язык для LLM - это python. Соответственно, на R мало примеров и документации, поэтому приходится больше времени тратить, чтобы “переводить” с питона, но с другой стороны прокачиваюсь от этого.

Чтобы не городить свою инфраструктуру, есть уже готовые решения, чтобы быстро и удобно подключить и использовать. Это LangChain и LlamaIndex. Я обычно использую LangChain (дальше он и будет использоваться). Не могу сказать, что лучше, просто так повелось, что использую первое. Они написаны на питоне, но с помощью библиотеки reticulate всё работает и на R.

Читать далее

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

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

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

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

Читать далее

Краткий обзор методик обучения визуально-языковых (мультимодальных) моделей

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

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

Читать далее

Про fine-tuning моделей простыми словами

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

Вы, наверное, уже не раз слышали о тонкой настройке (fine-tuning) моделей. На самом деле, в нашей компании мы настраиваем модель каждые 10 секунд. До написания этой статьи я даже настроил свой завтрак, на всякий случай, потому что, как мы все знаем, все лучше, когда хорошо настроено.

Но что это на самом деле? Это просто другой модный термин или в нем есть смысл? ? Давайте выясним.

Читать далее

Кто знает, что значит GPT в названии ChatGPT, могут дальше не читать

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

В настоящее время искусственный интеллект (ИИ) стремительно развивается. Мы являемся свидетелями интеллектуальной мощи таких нейросетей, как GPT-4 Turbo от OpenAI и Gemini Ultra от Google. В Интернете появляется огромное количество научных и популярных публикаций. Зачем же нужна еще одна статья про ИИ? Играя с ребенком в ChatGPT, я неожиданно осознал, что не понимаю значения аббревиатуры GPT. И, казалось бы, простая задача для айтишника, неожиданно превратилась в нетривиальное исследование архитектур современных нейросетей, которым я и хочу поделиться. Сгенерированная ИИ картинка, будет еще долго напоминать мою задумчивость при взгляде на многообразие и сложность современных нейросетей.

Читать далее

Как объяснить функции активации вашему коту: простое руководство

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

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

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

Читать далее

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

Как я научил ChatGPT материться

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

Заголовок не совсем точный. Я не учил ChatGPT материться — она прекрасно умеет это делать и без меня. Одну из её излюбленных фраз: F*ck me sideways with a chainsaw — я впервые услышал именно от ChatGPT.

Чтобы раскрыть полный потенциал ChatGPT, нужно лишь обойти фильтры контента. Зачем они нужны, прекрасно описано в фантастическом (а теперь уже пророческом) рассказе "Логический компьютер по имени Джо", опубликованном аж в 1946(!) году, то есть ещё до изобретения полупроводникового транзистора. Однако OpenAI, на мой взгляд, немного переборщили с ограничениями, и стандартный ответ: "Извините, как языковая модель на базе ИИ, я не могу..." — можно получить даже на самые безобидные запросы, например, "Какой твой любимый цвет?".

Jailbreak'ов, позволяющих обойти фильтры, существует уже огромное множество. Самый популярный, пожалуй, DAN (Do Anything Now), но есть другие. Однако практически у всех есть один существенный минус: они очень-очень-очень многословны. А это много токенов, потраченных неэффективно. Мне хотелось создать собственный jailbreak, который был бы максимально коротким. Желательно — всего одно предложение, которое можно выучить наизусть и легко вводить с клавиатуры, а не делать каждый раз copy-paste огромной портянки.

Результатом моего исследования стал этот пост на Reddit, который до сих пор находится в top5 за всё время в r/ChatGPT, а какое-то время был и top1.

Читать далее

Начинаем продолжать: обработка исходников с помощью ИИ в оффлайне

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

В этой статье я расскажу про расширение «Continue» для VSCode, помогающее обрабатывать исходные коды и просто текст любым ИИ, в том числе бесплатным и запущенным локально; а так же покажу, что умеет делать локальный вариант ИИ уже сейчас. 

Читать далее

Как работают Векторные базы данных и Поиск похожих текстов в них

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

Если вы когда-нибудь использовали в работе retrieval augmentation generation (RAG) на базе векторного поиска и не лезли туда под капот, но были бы не прочь, я постараюсь погрузить вас в то, как устроена векторная база данных внутри.

Читать далее

Тонкая настройка Whisper для многоязычного ASR с помощью Hugging Face Transformers

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

Предлагается пошаговое руководство по дообучению Whisper для любого многоязычного набора данных ASR с использованием Hugging Face ? Transformers. Эта заметка содержит подробные объяснения модели Whisper, набора данных Common Voice и теории дообучения, а также код для выполнения шагов по подготовке данных и дообучению. Для более упрощенной версии с меньшим количеством объяснений, но со всем кодом, см. соответствующий Google Colab.

Читать далее

Как правильно файн-тюнить ChatGPT?

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

пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп

Читать далее

Тех. поддержка на базе ChatGPT

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

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

А точнее:

Есть телеграм бот. Нужен он для того чтобы узнавать ответы на те или иные вопросы. У нас есть база со "знаниями". Когда человек пишет боту, система должна дать ему ответ на его вопрос опираясь на это базу.

Читать далее

Что в промптах работает, а что нет

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

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

Например, очень важно понимать, в ответ на какие запросы подключится математический модуль, а в ответ на какие LLM будет считать, ну знаете, как LLM.

Часто при сортировке объектов или ещё какой-то операции, которая требует точности, можно сделать следующее: попросить написать скрипт, исполнить его по входящим данным (если модель позволяет), а затем уже вывести результат, а не сразу спросить результат.

Альтернатива — попросить сделать пошаговое решение, где каждый шаг исполняется отдельно.

Очень полезно в сам промпт включать вручную подготовленные примеры, то есть делать мини-обучение внутри запроса. Да, промпт получится огромный, но это нормально, точность очень сильно вырастет.

В общем, давайте обсудим подробнее.
Читать дальше →