Как стать автором
Обновить
34
-10
Дмитрий Лукьянов @einhorn

Data scientist

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

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

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

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

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

Читать далее
Всего голосов 72: ↑71 и ↓1 +70
Комментарии 51

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

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

Допустим, нам нужно решить задачу 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. В этой статье я сначала расскажу, как он работает, а потом покажу процесс оптимизации промта на конкретном примере - на задаче коррекции грамматики из своей предыдущей статьи.

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

Пишем GPT в 60 строк NumPy (часть 1 из 2)

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

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →
Всего голосов 96: ↑94 и ↓2 +92
Комментарии 33

Исправляем грамматику с помощью GPT-4 API

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

С самого выхода ChatGPT я начал ее использовать для решения задач корректуры текста: устранения опечаток, исправления ошибок и улучшения стилистики.

Однако, при использовании веб-версии ChatGPT возникают некоторые проблемы:

1. Приходится вчитываться в исправленный текст, чтобы найти изменения

2. Не используется вся мощь API, в котором есть возможности для более тонкой настройки бота: можно задать системное сообщение, в котором объяснить ассистенту смысл его существования; few-shot learning: можно предоставить набор примеров коррекции сообщений

3. Неудобство: нужно вставлять свой текст в веб-версию, затем набирать свой промт для его улучшения (который может быть разным в зависимости от типа коррекции). Хотелось бы иметь Web UI, где нужно просто вставить текст и выбрать тип коррекции - а далее текст будет обрабатываться оптимизированным промтом

Данный проект призван устранить эти недостатки. Потыкать приложение можно здесь (для использования нужен OpenAI API-ключ).

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

Умные субтитры

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

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

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

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

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

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

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

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

Расставляем ударения с помощью Natasha и Spacy

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

Представьте себя на месте изучающего русский язык иностранца. Ударение станет одним из ваших самых страшных ночных кошмаров.

Однажды я написал приложение для изучения русского, одной из функций которого была расстановка ударений. Я просто проверял каждое слово по словарю. Однако, это часто приводило к ситуации неоднозначности, когда ударение зависит от контекста. Например: "два сло́ва", но "длинные слова́".

Время подключать нейросети.

Читать далее
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 33

Информация

В рейтинге
Не участвует
Откуда
Yerevan, Yerevan, Армения
Дата рождения
Зарегистрирован
Активность

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

Data Scientist
Senior