Top.Mail.Ru
Истории

Как устроен алгоритм Duolingo

Истории
Елена Лиханова
Елена Лиханова

Старший редактор RB.RU

Елена Лиханова

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

О том, как разрабатывалась система Birdbrain и ее новая версия Birdbrain 2 — в пересказе статьи журнала IEEE Spectrum.

Как устроен алгоритм Duolingo

Во время обеда на вашем телефоне появляется зеленая сова, которая напоминает: «Порадуй Дуо!». Это напоминание от Duolingo, популярного приложения для изучения языков. Его алгоритмы знают, что именно в это время вы с наибольшей вероятностью потратите 5 минут, чтобы попрактиковаться в испанском.

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

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

Одна из них, которая называется Birdbrain, постоянно улучшает опыт учащегося при помощи алгоритмов, основанных на десятках лет исследований в области образовательной психологии в сочетании с последними достижениями в машинном обучении (МО). Но со стороны пользователя все выглядит так, будто зеленая сова просто предлагает все более персонализированные уроки.

Мы трое принимали непосредственное участие в создании и совершенствовании Birdbrain. Недавно Duolingo запустила вторую версию модели. Мы считаем нашу работу в Duolingo продолжением общей миссии компании — «разработать лучшее образование в мире и сделать его общедоступным». Системы ИИ, которые мы продолжаем совершенствовать, нужны, чтобы расширять возможности обучения.

Сейчас на платформе 50 млн активных пользователей, которые выполняют около 1 млрд упражнений в день.

Хотя Duolingo известно как приложение для изучения языков, амбиции компании простираются дальше. Недавно мы запустили приложения, охватывающие детскую грамотность и математику для 3 класса, и это только начало. Мы надеемся, что любой, кому нужна помощь в академическом образовании, однажды сможет обратиться к дружелюбной зеленой сове у себя в кармане, которая спросит: «Готовы к ежедневному уроку?».

Истоки Duolingo

Еще в 1984 году образовательный психолог Бенджамин Блум сформулировал то, что стало называться проблемой 2 сигм Блума. Он обнаружил, что в среднем успехи тех, кто обучался индивидуально, были на два стандартных отклонения лучше, чем в классе. Этого оказалось достаточно, чтобы поднять результаты тестов человека с 50% до 98%.

Когда в 2012 году Луис фон Ан и Северин Хакер запустили Duolingo в рамках исследовательского проекта Университета Карнеги-Меллон, целью было создать простой в использовании онлайн-тренажер языка, который мог бы приблизиться к этому эффекту. Основатели не пытались придумать замену репетитору. Но, будучи иммигрантами из Гватемалы и Швейцарии, они признавали, что не у всех есть доступ к такому обучению.

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

  1. они хорошо знают материал;
  2. они поддерживают вовлеченность студентов;
  3. они отслеживают, что каждый студент знает в данный момент, чтобы давать им не слишком легкий и не слишком сложный материал.

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

Во-первых, для обеспечения компетентности мы применяются инструменты обработки естественного языка, чтобы помочь нашим разработчикам контента в аудите и совершенствовать 100 с лишним курсов на более чем 40 различных языках. Эти инструменты анализируют словарный запас и грамматическое содержание уроков, помогая создать ряд возможных переводов и принимать несколько правильных ответов.

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

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

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

Один из нас (Сеттлс) присоединился к компании всего через 6 месяцев после ее основания, участвовал в создании различных исследовательских функций, а до начала этого года возглавлял разработки Duolingo по ИИ и машинному обучению.

Ранее существовало не так много проектов по крупномасштабному интерактивному онлайн-обучению. Ближайшим аналогом того, что пытались сделать в Duolingo, были программы, использующие подход «овладения мастерством»: они предлагали задачи, связанные с аналогичной концепцией, пока учащийся не продемонстрирует, что освоил ее, прежде чем перейти к следующему блоку, разделу или концепции.

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

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

После Duolingo удвоил усилия по созданию персонализированных систем. Примерно в 2017 году компания начала целенаправленнее инвестировать в МО, и тогда к команде присоединились Бруст и Бикнелл. В 2020 году мы запустили первую версию Birdbrain.

Как мы создавали Birdbrain

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

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

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


Читайте по теме:

Рассвет онлайн-образования: как digital переворачивает традиционный формат

В России запустили платформу корпоративного обучения с онлайн-курсами от разных школ

Сочинения российских школьников начнет проверять нейросеть 


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

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

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

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

иконка Duolingo на экране смартфона

Фото на обложке: Konstantin Savusia / Shutterstock

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

Ежедневно на платформе выполняется примерно 1 млрд упражнений, и это требует от разработчиков проявить изобретательность.

Как только мы были удовлетворены производительностью Birdbrain, мы начали проводить контролируемые тесты: мы включили персонализацию на основе Birdbrain для части учащихся (экспериментальная группа) и сравнили их результаты с теми, кто все еще использовал старую эвристическую систему (контрольная группа).

Мы хотели посмотреть, как Birdbrain повлияет на вовлеченность учащихся (оценивается по времени, затраченному на выполнение задач в приложении), а также на обучение (насколько быстро учащиеся переходят к более сложному материалу).

Масштабирование систем Duolingo

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

Изначально модель Birdbrain загружалась в память, объем данных постоянно рос, и через несколько месяцев все переменные уже не помещались в памяти.

Наше решение состояло в том, чтобы изменить способ хранения и самой модели, и статистики уроков за день. Если первоначально все параметры хранились в одном файле, теперь модель разбивали на части: один фрагмент представлял все параметры сложности упражнений (которые не стали очень большими), и еще несколько — оценки уровня пользователя.

Данные об обучении также были распределены на фрагменты, что позволило нам загружать только выборочные части курса.

Одним из недостатков этой первой версии Birdbrain было то, что приложение отправляло статистику только после того, как ученик завершал урок. Проблема в том, что примерно 20% уроков, начатых на Duolingo, не завершаются, возможно, потому, что человек отложил телефон или переключился на другое приложение.

Каждый раз, когда это происходило, Birdbrain терял данные, которые потенциально были очень интересными.

Мы были почти уверены, что пользователи выходили из приложения не случайно — во многих случаях они, скорее всего, закрывали его, как только сталкивались с особенно сложным материалом. Поэтому, когда мы обновились до Birdbrain версии 2, мы также запустили потоковую передачу данных на протяжении всего урока порциями. Это дало нам важную информацию о том, какие концепции или типы упражнений вызывали трудности.

маскот Duolingo в Нью-Йорке
Фото в тексте: Duolingo

Еще одна проблема с первой системой Birdbrain заключалась в том, что она обновляла модели только раз в 24 часа (в период снижения глобальной нагрузки на приложение). Работая над версией 2, мы хотели обрабатывать все в режиме реального времени.

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

Чтобы персонализировать опыт, обновлять модель нужно было очень быстро. И Birdbrain 2 делает это в течение нескольких минут после того, как пользователь выполнит упражнение.

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

Birdbrain 2 поддерживается рекуррентной моделью нейросети, которая учится сжимать историю взаимодействий учащегося с упражнениями Duolingo в набор из 40 чисел — или, на языке математиков, 40-размерный вектор.

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

Таким образом, Birdbrain 2 различает траекторию обучения каждого человека, что позволяет предлагать более персонализированные уроки.

Как только мы убедились, что новая система точна и стабильна, мы провели контролируемые тесты, сравнив его персонализированный опыт обучения с оригинальным Birdbrain. Тесты показали, что Birdbrain версии 2 приводил к повышению показателей вовлеченности и обучения. В мае 2022 года мы полностью перешли на новую и улучшенную систему.

Планы на будущее

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

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

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

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

Источник.

Фото на обложке: Diego Thomazini / Shutterstock

Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 История бьюти-сети «Золотое Яблоко»: как развивался крупный парфюмерный супермаркет
  2. 2 5 компаний, которым кризис пошел на пользу: что стоит почерпнуть из их опыта?
  3. 3 Рождение звука и инновации восприятия: история компании Dolby
  4. 4 130 лет Philips: от телевизоров и наушников до медицинского оборудования и нейросетей
  5. 5 От пространств для хипстеров к офисам «на районе»: история стартапа «Делатели офисов»
EdTech: карта российского рынка
Все компании и инвесторы в области образовательных технологий
Перейти