ВРЕМЯ ОБЕДА, КОГДА ВАШ телефон пингует вас зеленой совой, которая радостно напоминает вам «Держите Duo счастливым!» Это подсказка от Duolingo , популярного приложения для изучения языков, чьи алгоритмы знают, что вы, скорее всего, будете практиковать испанский в течение 5 минут в это время дня. Приложение выбирает слова уведомлений на основе того, что сработало для вас в прошлом , и специфики ваших недавних достижений, добавляя новизну, привлекающую внимание. Когда вы открываете приложение, урок, который находится в очереди, калибруется для вашего уровня навыков и включает в себя обзор некоторых слов и понятий, которые вы пропустили во время вашего последнего занятия.

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

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

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

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

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


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

Один из нас ( Сеттлс ) присоединился к компании всего через шесть месяцев после ее основания, помог организовать различные исследовательские функции, а затем до прошлого года руководил работой Duolingo по искусственному интеллекту и машинному обучению. Раньше было не так много организаций, занимающихся крупномасштабным интерактивным онлайн-обучением. Ближайшим аналогом того, что пытался сделать Duolingo, были программы, требующие « мастерского обучения».”, особенно для репетиторства по математике. Эти программы предлагали задачи, связанные с похожей концепцией (часто называемой «компонентом знаний»), пока учащийся не продемонстрирует достаточное мастерство, прежде чем переходить к следующему блоку, разделу или концепции. Но этот подход не обязательно лучше всего подходил для языка, где одно упражнение может включать множество различных понятий, которые сложным образом взаимодействуют (например, словарный запас, времена и грамматический род), и где учащийся может использовать разные способы. ответить (например, перевести предложение, расшифровать аудиофрагмент и заполнить пропущенные слова).

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

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

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

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

На этой игривой иллюстрации изображен талисман совы Дуолинго, одетый в охотника на оленей, курящий трубку и держащий увеличительное стекло, что сравнивает его с Шерлоком Холмсом.ЭДДИ ГАЙ
Когда мы создавали первую версию Birdbrain, мы знали, что она должна быть простой и масштабируемой, потому что мы будем применять ее к сотням миллионов упражнений. Он должен был быть быстрым и требовать небольших вычислений. Мы решили использовать разновидность логистической регрессии , вдохновленную теорией ответов на вопросы из литературы по психометрии. Этот подход моделирует вероятность того, что человек даст правильный ответ, как функцию двух переменных, которые можно интерпретировать как сложность упражнения и способности учащегося. Мы оцениваем сложность каждого упражнения, суммируя сложность составляющих его характеристик, таких как тип упражнения, его словарные слова и так далее.

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

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

Выполнение около миллиарда упражнений каждый день требовало большого изобретательского подхода.

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

Масштабирование систем искусственного интеллекта Duolingo
С самого начала мы столкнулись с огромным объемом данных, которые нам нужно было обработать. Выполнение около миллиарда упражнений каждый день требовало большого изобретательского подхода.

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

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

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


Еще одна проблема с первым Birdbrain заключалась в том, что он обновлял свои модели только один раз каждые 24 часа (во время низкой точки глобального использования приложений, которая быланочь в штаб-квартире Duolingo в Питтсбурге). В Birdbrain V2 мы хотели выполнять все упражнения в режиме реального времени. Это изменение было желательным, потому что обучение работает как в краткосрочном, так и в долгосрочном масштабе; если вы изучаете определенную концепцию сейчас, вы, вероятно, вспомните ее через 5 минут, и, если повезет, вы также запомните ее на следующей неделе. Чтобы персонализировать опыт, нам нужно было очень быстро обновить нашу модель для каждого учащегося. Таким образом, в течение нескольких минут после того, как учащийся выполнит упражнение, Birdbrain V2 обновит свою «ментальную модель» своего состояния знаний.

В дополнение к происходящему почти в реальном времени,эти обновления также работали по-разному, потому что Birdbrain V2 имеет другую архитектуру и по-другому представляет состояние знаний учащегося. Раньше это свойство просто представлялось в виде скалярного числа, так как нам нужно было сделать первую версию Birdbrain максимально простой. С Birdbrain V2 компания согласилась использовать больше вычислительных ресурсов, а это означало, что мы могли построить гораздо более богатую модель того, что знает каждый учащийся. В частности, Birdbrain V2 поддерживаетсямодель рекуррентной нейронной сети (в частности, модель долговременной кратковременной памяти, или LSTM ), которая учится сжимать историю взаимодействий учащегося с упражнениями Duolingo в набор из 40 чисел — или, на жаргоне математиков, 40- размерный вектор. Каждый раз, когда учащийся выполняет другое упражнение, Birdbrain будет обновлять этот вектор на основе его предыдущего состояния, упражнения, которое учащийся выполнил, и правильности его выполнения. Именно этот вектор, а не одно значение, теперь представляет способность учащегося, которую модель использует для прогнозирования того, как он будет выполнять будущие упражнения.

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

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

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

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

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