Як нас навчає штучний інтелект Duolingo. І як ми щодня його вдосконалюємо
Популярним додатком для вивчення мов Duolingo щодня користуються 50 млн користувачів, які виконують близько 1 млрд вправ. За простим інтерфейсом ховається складний алгоритм роботи штучного інтелекту, який постійно вдосконалюють.
Видання Spectrum опублікувало великий текст від імені розробників, які працюють з додатком, про те, як влаштовано ці механізми. ТЕКСТи наводять переклад скороченої версії.
Витоки Duolingo
Ще в 1984 році педагог-психолог Бенджамін Блум визначив, що середньостатистичні учні, яких навчали індивідуально, показали результати на два стандартні відсоткові відхилення кращі, ніж коли вони навчались у класі. Цього достатньо, щоб підняти результати тесту людини з 50-го процентиля до 98-го.
Коли у 2012 році Луїс фон Ан і Северін Хакер у рамках дослідницького проєкту Університету Карнегі-Меллона запустили Duolingo, метою було створити простий у користуванні онлайн-репетитор мови, який міг би наблизити цей ефект. Засновники не намагалися замінити вчителів. Але самі були іммігрантами (відповідно з Гватемали та Швейцарії) й визнавали, що не кожен має доступ до хороших учителів. Упродовж наступних років команда Duolingo зростала й думала, як автоматизувати три ключові риси якісних репетиторів, які:
- добре знають матеріал;
- залучають студентів;
- відстежують, що кожен студент знає на цей час, щоб запропонувати йому матеріал, який не є ні надто легким, ані надто складним.
Duolingo використовує машинне навчання й інші передові технології, щоб імітувати ці три риси хорошого викладача.
По-перше, щоб забезпечити експертність, ми застосовуємо інструменти обробки природної мови, щоб допомогти нашим розробникам контенту перевірити та вдосконалити наші 100 курсів більш ніж 40 різними мовами. Ці інструменти аналізують лексику та граматику уроків і допомагають створити низку можливих перекладів (тому програма прийматиме відповіді учнів, якщо є кілька правильних способів щось сказати).
По-друге, щоб зацікавити учнів, ми застосували бали й рівні, а також використали технологію синтезу мовлення, щоб створити власний голос для кожного персонажа, який населяє світ Duolingo, і вдосконалили наші системи сповіщень.
Залучення та складність уроку — основні параметри, з якими працює штучний інтелект
Щоб проникнути в голови учнів і дати їм потрібний урок, на допомогу приходить система штучного інтелекту Birdbrain.
Birdbrain має вирішальне значення, оскільки залучення учнів і складність уроку пов’язані. Коли учням дають надто складний матеріал, вони часто розчаровуються й кидають навчання. Матеріал, який здається легким, може зацікавити їх, але не викликає в них великих труднощів. Duolingo використовує штучний інтелект, щоб утримувати своїх учнів у зоні, де вони залишаються залученими й навчаються на межі своїх можливостей.
Рання робота з машинного навчання в Duolingo розв'язувала досить прості проблеми — наприклад, те, як часто варто повертатися до певного словникового слова чи поняття (що ґрунтувалося на освітніх дослідженнях повторення через інтервал). Ми також проаналізували помилки учнів, щоб визначити проблемні моменти в навчальній програмі, а потім змінили порядок, у якому викладали матеріал.
Тоді Duolingo подвоївся на створенні персоналізованих систем. Приблизно у 2017 році компанія почала зосереджено інвестувати в машинне навчання, і саме тоді до команди приєдналися співавтори Бруст і Бікнелл. У 2020 році ми запустили першу версію системи Birdbrain.
Як ми створили Birdbrain
До створення Birdbrain Duolingo робив деякі спроби, не пов’язані зі штучним інтелектом, підтримувати зацікавленість учнів на потрібному рівні, зокрема оцінював складність вправ на основі евристики, наприклад кількості слів або символів у реченні. Але компанія часто виявляла, що має справу з компромісами між тим, скільки люди насправді навчаються та як сильно вони залучені. Метою Birdbrain було виявити правильний баланс.
Питання, з якого ми почали, полягало в такому для будь-якого учня та будь-якої вправи: чи можемо ми передбачити, наскільки ймовірно, що учень правильно все виконає? Щоб зробити таке передбачення, Birdbrain має оцінити і складність вправи, й поточний рівень знань учня. Щоразу, коли учень виконує вправу, система оновлює обидві оцінки. А Duolingo використовує отримані прогнози у своєму алгоритмі генерації сеансів, щоб динамічно вибирати нові вправи для наступного уроку.
Тут діє узагальнення рейтингової системи Elo, яку використовують для ранжирування гравців у шахах та інших іграх. У шахах, коли гравець виграє партію, оцінка його здібностей зростає, а опонента знижується. У Duolingo, коли учень неправильно виконує вправу, ця система знижує оцінку його здібностей і підвищує оцінку складності вправи. Так само, як і в шахах, ці зміни залежить від пари: якщо шахіст-початківець перемагає гравця-експерта, рахунок експерта буде істотно знижено, а рахунок його опонента — істотно підвищено. Так і тут: якщо учень-початківець правильно виконує складну вправу, параметри здібностей і складності можуть різко змінитися, але якщо модель уже очікує, що учень відповідатиме правильно, жоден параметр сильно не зміниться.
Щоб перевірити продуктивність Birdbrain, ми спочатку запустили його в "тіньовому режимі", тобто він робив прогнози, які генератор сеансів просто реєстрував для аналізу й ще не використовував для персоналізації уроків. З часом, коли учні виконували вправи й отримували правильні чи неправильні відповіді, ми бачили, чи прогнози Birdbrain щодо їхнього успіху відповідають дійсності, і якщо ні, то ми їх удосконалювали.
ШІ не просто прораховує складність вправи, а й передбачає, чи зможе учень з нею впоратися
Коли ми були задоволеними продуктивністю Birdbrain, то почали здійснювати контрольовані тести: ввімкнули персоналізацію на основі Birdbrain для частини учнів (експериментальна група) і порівняли їхні результати навчання з тими, хто досі використовував давнішу евристичну систему (контрольна група). Ми хотіли побачити, як Birdbrain вплине на залучення учнів (що вимірюється часом, витраченим на виконання завдань у додатку), а також на навчання (вимірюється тим, як швидко учні просунулися до складнішого матеріалу). Нам було цікаво, чи побачимо ми компроміси, як це часто траплялося раніше, коли ми намагалися запровадити покращення за допомогою звичайніших методів розробки продукту чи програмного забезпечення. На нашу радість, Birdbrain постійно сприяв зростанню залученості й навчання.
Розширення систем ШІ Duolingo
Від самого початку ми постали перед величезним масштабом даних, які потрібно було опрацювати. Щоденне виконання близько 1 млрд вправ вимагало багато винахідницької розробки. Однією з ранніх проблем із першою версією Birdbrain було встановлення моделі в пам’ять. Це було складне рішення: щодня доводилось обробляти велику кількість нових даних і зберігати їх на випадок, якщо повернуться учні, які кинули займатися.
Порівняння двох версій Birdbrain
Одним з недоліків цієї першої версії Birdbrain було те, що програма чекала, поки учень закінчить урок, перш ніж повідомляла нашим серверам, які вправи користувач виконав правильно та яких помилок допустився.
Проблема такого підходу полягає в тому, що приблизно 20 % уроків, розпочатих у Duolingo, не завершують — можливо, тому, що людина відклала телефон або перейшла на інший додаток. Щоразу, коли це траплялося, Birdbrain втрачав відповідні дані, які потенційно були дуже цікавими! Ми були майже впевненими, що люди не кидають роботу навмання — в багатьох випадках вони, найімовірніше, перестають працювати, коли натрапляють на матеріал, який для них є особливо важким або страшним. Тож коли ми оновили Birdbrain до версії 2, то також почали передавати дані впродовж усього уроку частинами. Це дало нам важливу інформацію про те, які концепції чи типи вправ були проблемними.
Раніше система оновлювала дані про параметри навчання раз на добу, тепер — у режимі реального часу
Ще одна проблема з першим Birdbrain полягала в тому, що він оновлював свої моделі лише раз на 24 год (під час низького рівня глобального використання додатків, який був уночі в штаб-квартирі Duolingo в Піттсбурзі).
З Birdbrain V2 ми хотіли обробляти всі вправи в режимі реального часу. Зміна була бажаною, оскільки навчання діє і в короткостроковому, й у довгостроковому масштабах. Якщо ви вивчаєте певну концепцію зараз, то, найімовірніше, згадаєте її через 5 хв, а якщо пощастить, то також запам’ятаєте частину з неї наступного тижня. Щоб персоналізувати досвід, нам потрібно було дуже швидко оновити нашу модель для кожного учня. Так упродовж кількох хвилин після того, як учень виконає вправу, Birdbrain V2 оновить свою "розумову модель" рівня його знань.
Нова версія дає системі змогу вловити, наприклад, що певний учень чудово впорується з вправами на минулий час, але йому важко з майбутнім часом. V2 може почати розрізняти траєкторію навчання кожної людини, яка може істотно відрізнятися від типової траєкторії. І це дає змогу значно більше персоналізувати уроки, які Duolingo готує для певної людини.
У травні 2022 року ми вимкнули першу версію Birdbrain і повністю перейшли на нову вдосконалену систему.
Що буде далі для ШІ Duolingo
Більшість того, що ми робимо з Birdbrain і пов’язаними технологіями, не стосується вивчення мов. Загалом ядро моделі є дуже загальним і його також можна застосувати до нових програм нашої компанії з математики та грамотності або до того, що Duolingo придумає далі.
Birdbrain дав нам чудовий старт для оптимізації навчання та підвищення адаптивності й ефективності навчальної програми. Питання, як далеко ми можемо зайти з персоналізацією, залишається відкритим. Ми хочемо створити адаптивні системи, які відповідають учням не лише на основі того, що вони знають, а й на підходах до навчання, які найкраще для них годяться. На які типи вправ учень звертає увагу? Які вправи змушують клацати для них?
Це питання, над якими можуть працювати хороші вчителі, розглядаючи різних студентів, які мають труднощі у своїх класах. Ми не віримо, що хорошого вчителя можна замінити додатком, але сподіваємося, що нам вдасться краще наслідувати деякі його риси й охопити більше потенційних учнів у всьому світі за допомогою технологій.