Блог Һомай

Почему ChatGPT заговорил по-башкирски?

Почему ChatGPT заговорил по-башкирски?

Диалоговый бот компании Open AI продолжает удивлять. Недавно он научился отвечать на башкирском языке и довольно неплохо переводить тексты. Как это произошло? И что стоит за этим знаковым событием?
Конечно, дело не в том, что он попробовал сәк-сәк или провел лето в деревне в гостях у өләсәй и олатай. Этот большой прорыв стал возможен благодаря машинным переводчикам и прогрессу, которого они достигли. Без машинных переводчиков не было бы и нашего башкирского айти-стартапа Хомай.
Поэтому сегодня мы хотим рассказать вам, как развивался компьютерный перевод, а поможет нам в этом участник нашей команды Давид Дале, сотрудник исследовательской лаборатории FAIR, работающий над проектом Seamless Communication по переводу текста и речи.
Цели, к которым стремятся разработчики настоящего, понятны. А как раньше компьютер переводил тексты и речь? Почему это было плохо сначала, и как на наших глазах становится все лучше и лучше?

Учимся по правилам: первые переводчики

Вспомните свои уроки иностранного языка в школе. Таблицы неправильных глаголов, работа со словарем, зубрежка грамматики. Именно так обучали Rule-based-переводчики. Этот тип появился в 1950х годах ХХ века и основан на - сюрприз! - правилах, словарях и грамматике.
Для создания такого переводчика нужно быть не только программистом, но и лингвистом, то есть хорошо понимать, как устроен язык. Долгие годы люди и машины именно так учили новые языки. Кстати, этот тип продолжает медленно, но развиваться (например, в проекте Apertium). Для многих языков это пока единственно возможный и существующий вариант переводчиков.
Давид: “Переводы между близкородственными языками (например, с турецкого на башкирский) вполне мог сделать один человек. Такие проекты языковые энтузиасты могли тащить на личном героизме. На специализированных ресурсах до сих пор можно найти разработки, которые люди написали в одиночку или небольшими командами. Для многих языков Европы существуют наброски, черновики, в т.ч. для тюркских, финно-угорских. Все это требует большого количества ручного труда, знаний в лингвистике”.

Статистические или машинно-обученные переводчики

Если rule-based переводчики можно сравнить со школьником, который планомерно изучает учебник иностранного языка, то статистически-обученные переводчики больше напоминают погружение в языковую среду.
Ситуация: вы оказались в селе Старосубхангулово в позапрошлом веке. Все вокруг говорят только на башкирском. Спустя неделю вы уже вполне сносно справляетесь с бытовыми задачами, а через месяц шпарите на башкирском на уровне носителя. Вот что контекст животворящий делает!
Похожим образом “изобретают” перевод статистические переводчики. В них загружают большой массив переводов, где размечены пары предложений на обоих языках. Машина обучается на этой выборке. Обычно размер ее составляет от 10 000 до 1 млн пар предложений. Поэтому такие переводчики умеют “видеть” предложение целиком, самостоятельно анализируют порядок слов, улавливают связи между словами.
Какие-то закономерности они впитывают автоматически: например, если в одном из приложений мы понимаем, что речь идет о героине женского пола, то все глагольные формы в последующих предложениях будут автоматически переводиться с женскими окончаниями. Когда в тексте встречаются незнакомые или редко используемые слова, то такой переводчик способен “догадаться”, что это за слово - например, что “багряный” это цвет. Точно так же и человек способен догадаться о контексте незнакомого слова.
За годы обучения для популярных пар языков (например, русского и английского) сформировалась солидная база. Машинные переводчики неплохо разбираются: какие слова чаще следуют друг за другом, каким бывает порядок слов, какой перевод имеет наибольшую вероятность.
Этот вид переводчиков хорошо работает для европейских языков, а также китайского. Он хорош везде, где есть большая обучающая выборка: около 1 млн пар предложений и более.

А если миллиона пар нет?

К сожалению, у нас нет большой обучающей выборки для башкирского языка. Именно поэтому многие пользователи жаловались, что существовавшие до 2023 года переводчики в интернете переводили башкирские тексты плохо.
Давид: “Проблема в том, что для агглютинативных языков, к которым относится и башкирский язык, статистическая модель в целом работает хуже. Это происходит потому, что слово имеет множество разнообразных словоформ, каждая из которых редко встречается в тексте и на ее долю приходится меньше совпадений”.
Пример: по-английский слово cat существует в 2 видах - cat и cats. В башкирском к слову “бесәй” присоединяются суффиксы принадлежности “бесәйем”, числа “бесәйҙәр”, “бесәйҙәрем”, а также суффиксы падежа, отсутствия и прочие, которые удлиняют слово. Машинный переводчик просто не находит достаточного числа совпадений в статистической базе для каждой из словоформ и не может грамотно употреблять это слово в тексте и находить ему адекватный перевод.
Эта проблема оставалась актуальной, пока на смену статистическим не пришли нейросетевые переводчики.

Нейросетевые переводчики

Как обучаются говорить маленькие дети? Сначала они лопочут, выдают бессвязные звуки, потом учатся складывать их в простые слова. Спустя год после первых речевых экспериментов ребенок уже выдает предложения и целенаправленно использует язык для общения.
Конечно, сравнить метод обучения нейросети и человеческого мозга было бы не совсем корректно. Но что-то общее в этом есть. Сходство в том, что обучение происходит путем наблюдения, сравнения, позитивного и негативного подкрепления, то есть дорогой проб и ошибок.
Люди более эффективны: они обучаются быстрее и на меньшей выборке текстов. Вдобавок, люди лучше понимают смысл сказанного, что помогает им находить аналогии, перефразировать, интуитивно понимать структуру предложений. Для нейросети пока понятие “смысла” не знакомо.
На ранних стадиях обучения (это первые несколько тысяч шагов) нейросеть умеет предсказывать только последовательности слов: в переводах выплывают самые частые слова, собранные в довольно бессмысленные, но грамматически верные сочетания.
Затем она постепенно учится “понимать” о чем текст. Этот этап продвигается очень медленно: налаживаются связи слов друг с другом и с тем, что им подавали на входе. Постепенно формируется тематика, возникают ключевые понятия, вокруг слов нарастает своеобразное облако тегов. Нейросеть не выучивает и не понимает смысл слов, она обучается догадками.
Наукообразный стиль и термины они используют довольно ловко, а вот факты берут “с потолка”, поэтому научным текстам могут поверить даже профессионалы. В мире прогремело уже несколько крупных скандалов, связанных с тем, что нейросети правдоподобно придумали юридические кейсы и научные статьи. Решить проблему такого “вранья” можно только за счет масштабирования, увеличения количества текстов и обучения.
Самое важное отличие заключается в том, что нейросеть оперирует не словами, а токенами. Это может быть кусочек слова, даже пара букв. Редкое слово может быть разобрано на небольшие фрагменты. Простые и часто используемые слова используются целиком. В модель для обучения “загоняют” обычно около 30 000 токенов для каждого языка, на которые можно разбить любой текст. Состав токенов определяют разработчики, им помогают лингвисты. В родственных языках токены могут совпадать. Запомним этот важный факт!
Давид: “В проекте No language left behind (NLLB) оперируют более 250 000 токенами. Это больше, чем в каждом из языков. В процессе обучения каждый токен может иметь связи на входе и выходе таблицы значений (мы называем их эмбеддинг). Это векторы соотношения между токенами, точки и смыслы, которые нейросеть двигает благодаря контексту токенов в процессе обучения. Векторы трансформируются в математические формулы, которые связывают слово с другими словами, токенами в похожем контексте и в других языках”.
Можно представить процесс обучения нейросети для перевода как тропинки в снегу. Выпал снег, и люди начали протаптывать дорожки (эмбеддинги) между объектами (токенами), от дома до магазина, к реке. Какие-то дорожки будут совсем тонкие: по ним пробежала собака. Какие-то очень крупные, утоптанные: по ним вся улица ходит до автобусной остановки. Точно так же и слова в переводе - некоторые слова/словоформы чаще встречаются рядом с одними словами, реже - с другими и почти никогда с третьими. Эти нейросетевые дорожки запоминаются и закрепляются в обучающей выборке.
В 2015 году первый нейросетевой переводчик появился в компании Google, в 2017 его качество удалось существенно улучшить с изобретением модели Transformer. Постепенно все движки переводчиков перешли на этот механизм. Его преимущество по сравнению со статистическим переводом не в том, что моделям нужно меньше данных (скорее наоборот), а в том, что когда данных много, у них выше качество за счёт более гибкого "мышления".
Кстати, знаменитый chat GPT переводится именно как Generative Pre-trained Transformer. Именно по модели обучения с эмбеддингом его обучили вести диалог. Поэтому он может стилизовать тексты, писать как подросток или сочинять профессиональные статьи.

Что происходит с переводами на редкие языки сейчас?

Нейросетевые переводчики хорошо работают с языками, где не накоплено большой базы переводов (например, с башкирского на малагасийский, язык жителей острова Мадагаскар). Причем перевод происходит не совсем обычным способом.
Если вы думаете, что они переводят текст сначала на английский, а потом с английского на малагасийский, то вы ошибаетесь. Перевод происходит на какой-то внутренний аналог промежуточного прото-языка. Машина анализирует взаимосвязь токенов между собой и выдает перевод, который в некоторых случаях может быть точнее, чем если бы его перевели люди-переводчики через английский.
Мы не шутим: перевести с башкирского на малагасийский можно уже сейчас с помощью наработок проекта NLLB, доступного на сайте. Однако, есть сложности: чтобы воспользоваться переводчиком, придется установить его к себе на компьютер и немного повозиться с интерфейсом. Поскольку пока это только код, выложенный в свободный доступ для личного использования.
Идеальны ли эти переводы? К сожалению, нет. Из-за того, что токены родственных языков могут пересекаться, иногда в переводах с башкирского проскакивают слова на татарском, казахском и других языках тюркской группы.
Вдобавок, переводчики все еще плохо понимают имена собственные, идиомы, устойчивые выражения. И помочь им разобраться в этом смогут только носители языка, то есть, мы с вами.

Чем носители башкирского могут помочь?

Сейчас разработчики алгоритмов машинных переводов нуждаются в помощи носителей языка. Что могут сделать люди, которые знают башкирский для того, чтобы умная колонка, переводчики, алгоритмы машинных переводов работали лучше?
  1. Оцифровывать тексты и переводы на родном языке. Это необходимо для обучения языковых моделей.
  2. Проводить анализ уже существующих переводов, оценивать качество переводов и предлагать свои варианты. Для этого есть удобные чат-боты в телеграм, ватсапе. Вокруг таких проектов уже сформировалось активное коммьюнити. Кстати, это способ найти круг общения.
  3. Нужна помощь, чтобы научить нейросети понимать, как правильно транслитерировать башкирскую речь, написанную латиницей. Транслитерация пока все еще вызывает проблемы у машинных алгоритмов.

Если уже есть chatGPT, зачем стараться и делать что-то свое?

На GPT возлагаются большие надежды. И они, отчасти, оправданы: чат работает медленно, не всегда надежно, но пока у него нет доступных конкурентов. Большинство пользователей не хотят возиться с установкой NLLB, и хотят просто получить перевод здесь и сейчас. И чат им в этом помогает.
Он напоминает старательного троечника, который умеет переводить тексты с башкирского и говорить на языке, но все еще ошибается, и нуждается в помощи учительницы. К тому же, пользоваться chatGPT можно только за плату. И она в любой момент может повыситься, вдобавок, компания может закрыть доступ в чат по своим причинам, и повлиять на это мы не сможем. Это минус.
Плюсом является то, что на базе chatGPT можно осуществлять некоторые затратные интеллектуальные и программные функции, а самим пустить силы на что-то другое, высвободить временные и человеческие ресурсы.
Давид: “В идеально мире хотелось бы создать надежный бесплатный сервис, который бы использовался для локальных переводов. Люди продолжали бы его обучать на качественных данных, и пользоваться им для своих проектов. Это было бы всерьез и надолго”.

Как скоро появится синхронный перевод на башкирский потокового видео в Интернете?

Башкирские семьи ждут, когда все мультики, лекции, стримы, интервью, фильмы в Youtube и на других сервисах будут синхронно переводиться на родной язык. Когда уже Дудь и Pewdiepie, Смешарики и Инстасамка заговорят на башкирском?
Давид: “Я думаю, что пока ближе всех к этому приблизился проект Seamless Communication, в котором я сейчас занят.”
Представьте ситуацию: вы в далекой деревне на острове Мадагаскар. Спрашиваете по-башкирски местного жителя: “Антананаривуға нисек барырға? (Как проехать до Антананариву?)”, а умный переводчик на ходу переводит ваш вопрос на родной для островитянина малагасийский, и он отвечает вам на чистейшем башкирском. Чудо? Именно таким переводчиком могут стать модели, разработанные в проекте Seamless Communication.
В серии книг Дугласа Адамса “Автостопом по галактике” таким переводчиком-синхронистом была вавилонская рыбка. Этот паразитический организм жил в головном мозге, питался энергетическими волнами и помогал своему носителю понимать любой язык в галактике.
Конечно, до межгалактических переводов нашей цивилизации еще далеко, но научиться понимать около 100 языков на планете с помощью машинных переводчиков Seamless Communication, которые превращают речь на неизвестном языке в вашу родную - уже вполне достижимая задача.

Выводы

  1. Машинные переводчики могут использовать три типа алгоритмов: основанные на правилах, статистические , нейросетевые.
  2. Нейросетевым переводчикам нужно больше данных, чем статистическим, чтобы они начали работать хорошо. Но по качеству перевода они обгоняют статистические!
  3. Переводами на редкие языки занимаются несколько крупных IT-проектов. Башкирский в числе 200 языков, вошел в базу проекта No language left behind.
  4. Перевод потокового видео и речи также появится в ближайшем будущем.
  5. СhatGPT достиг прогресса, но не стоит целиком полагаться на него, пока он продолжает обучение.
  6. Вы уже сейчас можете помочь ускорить этот процесс и сделать перевод более точным: для этого нужно пользоваться родным языком, создавать контент на нем, загружать в сеть переводы текстов, записывать аудио для обучающих подборок, помогать программистам, которые занимаются разработкой машинных переводов, воспроизводящих устройств (например, умных колонок - таких, как наша), пользоваться колонками и давать обратную связь.
Хотите узнавать о выходе новых статей сразу же? Подпишитесь на наш канал в Телеграме:
Хомай/Homai/Һомай - на русском языке
Һомай - на башкирском языке