Чтение онлайн

на главную - закладки

Жанры

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

Как оценить качество болтовни? Беседа с chitchat-моделью должна приносить пользователю удовольствие, и эта цель отнюдь не тождественная цели, которая стоит перед ботами, участвующими в соревнованиях, подобных AI Loebner. Виртуальному ассистенту вовсе не нужно выдавать себя за человека, напротив, такое его поведение будет весьма странным. Ассистент должен давать осмысленные ответы на вопросы пользователя. Однако этого критерия явно недостаточно. Например, фраза «я не знаю» будет осмысленным ответом на практически любой вопрос, но вряд ли такой ответ удовлетворит пользователя. Поэтому вторым важным качеством ответа следует считать его специфичность текущему контексту. Именно на оценке этих двух свойств ответа основана метрика SSA (Sensibleness and Specificity Average, Средняя осмысленность и специфичность), предложенная создателями бота Meena.

Создатели Meena использовали следующую методику расчёта SSA. На краудсорсинговой платформе люди-оценщики оценивали диалоги разговорных агентов (в роли которых выступали различные диалоговые модели и люди). Каждый диалог начинался со стандартного приветствия (Hi!). В отношении каждой из реплик диалога оценщики должны были, руководствуясь здравым смыслом, рассудить, в полной ли мере она разумна в данном контексте. Если что-то казалось неправильным — запутанным, нелогичным, не соответствующим контексту или фактически неверным, тогда на вопрос о разумности реплики следовало дать отрицательный ответ. Если же ответ являлся осмысленным, то необходимо было оценить его специфичность в данном контексте. Например, если A сказал: «Я люблю теннис», а B ответил: «Это хорошо», то высказывание следовало пометить как «неспецифичное», поскольку этот ответ может быть использован во множестве различных контекстов. Но если B ответил: «Я тоже! Обожаю следить за игрой Роджера Федерера!», то такой ответ помечался как «специфичный», поскольку он был тесно связан с обсуждаемым вопросом.

Итоговая оценка рассчитывалась на основе 1600–2400 реплик из 100 диалогов каждого из агентов. Осмысленность рассчитывалась как доля положительных ответов от общего числа ответов

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

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

2270

* Данное слово может быть переведено на русский язык как «недоумение» или «растерянность», что неплохо отражает смысл этой метрики.

2271

Adiwardana D. (2020). Towards a Conversational Agent that Can Chat About…Anything / Google AI Blog, January 28, 2020 // https://ai.googleblog.com/2020/01/towards-conversational-agent-that-can.html

Рассмотрим это на примере. Допустим, в нашей обучающей выборке содержится единственный диалог:

— У вас продаётся славянский шкаф?

— Шкаф продан, могу предложить никелированную кровать с тумбочкой.

Предположим, нам нужно оценить перплексию ответов модели при генерации второй (ответной) реплики этого диалога. Токенизатор (т. е. алгоритм, применяемый для разбивки текста на токены) представил эту реплику в виде последовательности из 11 токенов: «шкаф», «продан», «,», «могу», «предложить», «никелированную», «кровать», «с», «тумбочкой», «.» и «<END>» (специальный токен, означающий окончание реплики). Начнём смотреть вероятности, которые наша модель прогнозировала для каждого из токенов при генерации последовательности слева направо. То есть какова, по мнению модели, была вероятность того, что реплика, отвечающая на вопрос «У вас продаётся славянский шкаф?», начнётся словом «шкаф»? Допустим, модель считала, что вероятность этого составляет 0,1. Теперь возьмём следующую вероятность, а именно вероятность того, что реплика, которая является ответом на вопрос «У вас продаётся славянский шкаф?» и начинающаяся при этом словом «шкаф», будет продолжена словом «продан»? Допустим, эта вероятность равна 0,5. Поскольку наша модель генерирует слова ответа одно за другим слева направо, мы на каждом шаге просто добавляем к предшествующей последовательности очередной токен и вновь «просим» модель предсказать распределение вероятностей для следующего токена, затем выбираем из этого распределения вероятность для токена, на самом деле встреченного на следующей позиции в последовательности, и так далее до конца последовательности. Положим, в итоге для наших 11 токенов мы получили следующий набор вероятностей: 0,1; 0,5; 0,8; 0,9; 0,9; 0,9; 0,9; 0,9; 0,9; 0,9; 0,9. Теперь перемножим их между собой и извлечём из результата корень одиннадцатой степени — получим примерно 0,69. Теперь разделим единицу на это число и получим итоговое значение — приблизительно равное 1,45, что и будет перплексией данной последовательности ответов модели. Легко заметить, что чем с большей вероятностью наша модель предсказывает токены, тем меньше итоговая величина перплексии. При стопроцентной вероятности для каждого из токенов последовательности итоговая перплексия будет равна единице. Если бы каждому из токенов соответствовала вероятность 0,5, то итоговая перплексия была бы равна двойке. По мере уменьшения вероятностей величина перплексии стремится к бесконечности. Высокая перплексия последовательности с точки зрения модели означает, что эта последовательность является «неожиданной» для модели, плохо согласующейся с её прогнозом. Например, модель, обученная на большом корпусе рекламных текстов, скорее будет ожидать последовательность «Мы удовлетворим даже самого требовательного клиента», чем «Бумага летать кольцо вперёд красный!». Поэтому первая фраза будет обладать низкой перплексией, а вторая — высокой.

Перплексию часто используют в качестве целевой функции при обучении языковых моделей, так что в данном случае создатели Meena не открыли Америку. Однако весьма поучительным открытием стало то, что величина перплексии сильно коррелирует (коэффициент детерминации R2 = 0,93) со значением SSA. Чем ниже перплексия модели, тем более высокое значение SSA получают ответы диалоговой модели при оценке их людьми.

Интересны итоги сравнения диалоговых реплик Meena по метрике SSA с ответами людей и других разговорных агентов. Уверенную победу в сравнении одержали люди с показателем SSA = 0,86. Лучшая из модификаций Meena смогла получить SSA = 0,79. Неоднократный (2013, 2016, 2017, 2018, 2019) победитель AI Loebner [2272] бот Mitsuku получил SSA = 0,56, а бот Xiaoice от Microsoft (по всей видимости, использовалась его англоязычная версия по имени Zo) — SSA = 0,31. Как видно из этого сравнения, новая модель от Google смогла преодолеть более половины разрыва в искусстве болтовни между людьми и чат-ботами [2273] .

2272

Past Events (2020) / The Society for the study of Artificial Intelligence and Simulation of Behaviour // https://aisb.org.uk/aisb-events/

2273

Adiwardana D. (2020). Towards a Conversational Agent that Can Chat About…Anything / Google AI Blog, January 28, 2020 // https://ai.googleblog.com/2020/01/towards-conversational-agent-that-can.html

Поскольку публикация разработчиков BlenderBot вышла в свет позже статьи создателей Meena, исследователи Facebook решили сравнить свои результаты с результатами коллег из Google. Задача осложнялась тем, что, в отличие от создателей BlenderBot, авторы Meena не спешили выкладывать свою модель в свободный доступ, поэтому специалистам Facebook пришлось довольствоваться сотней опубликованных записей диалогов с участием Meena. Оценщикам-людям показывали пары диалогов, в одном из которых собеседником человека выступал BlenderBot, а в другом — Meena. При этом оценщикам задавали два вопроса: «С кем бы вы предпочли общаться в ходе длительной беседы?» (оценка привлекательности) и «Какой из собеседников общается более по-человечески?» (оценка человекоподобия) [2274] , [2275] . По обеим метрикам победителем оказался BlenderBot (75 : 25 в оценке привлекательности и 67 : 33 в оценке человекоподобия).

2274

* Этот метод оценки получил название Acute-eval [«Острая» или «умная» оценка].

2275

Li M., Weston J., Roller S. (2019). ACUTE-EVAL: Improved Dialogue Evaluation with Optimized Questions and Multi-turn Comparisons // https://arxiv.org/abs/1909.03087

Более того, BlenderBot неплохо смотрелся даже в сравнении с людьми: в одном из экспериментов оценщики отдали предпочтение диалогам с его участием при сравнении с диалогами «человек — человек» в 49% случаев. Впрочем, авторы бота пишут в своей статье, что далеки от мысли, что им удалось полностью решить задачу ведения диалога с открытой предметной областью [2276] , [2277] . Не менее впечатляющих результатов удалось достичь исследователям компании Baidu, из-под «пера» которых в 2020–2021 гг. последовательно вышли диалоговые модели PLATO [2278] , PLATO-2 [2279] и PLATO-XL [2280] . Для оценки качества диалоговых моделей китайские исследователи используют свои метрики, представляющие собой развитие SSA, но в отличие от последней в PLATO вместо двух шкал оценки используются четыре: естественность [fluency], связность [coherence], информативность [informativeness] и общее качество [overall], а в PLATO-XL — пять: связность [coherence], противоречивость [inconsistency], информативность [informativeness], галлюцинации [hallucination] и вовлечённость [engagingness].

2276

Roller S., Weston J., Dinan E. (2020). A state-of-the-art open source chatbot / Facebook Artificial Intelligence, April 29, 2020 // https://ai.facebook.com/blog/state-of-the-art-open-source-chatbot/

2277

Roller S., Dinan E., Goyal N., Ju D., Williamson M., Liu Y., Xu J., Ott M., Shuster K., Smith E. M., Boureau Y.-L., Weston J. (2020). Recipes for building an open-domain chatbot // https://arxiv.org/abs/2004.13637

2278

Bao S., He H., Wang F., Wu H., Wang H. (2019). PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable // https://arxiv.org/abs/1910.07931

2279

Bao S., Chen B., He H., Tian X., Zhou H., Wang F., Wu H., Wang H., Wu W., Lin Y. (2021). A Unified Pre-training Framework for Conversational AI // https://arxiv.org/abs/2105.02482

2280

Bao S., He H., Wang F., Wu H., Wang H., Wu W., Wu Z., Guo Z., Lu H., Huang X., Tian X., Xu X., Lin Y., Niu Z. (2021). PLATO-XL: Exploring the Large-scale Pre-training of Dialogue Generation // https://arxiv.org/abs/2109.09519

Впрочем,

в наши дни для оценки качества диалоговых моделей активно продолжают использовать и простые попарные (side-by-side) сравнения по принципу: «какие реплики нравятся вам больше?» Например, на платформе Chat Arena [Чат-арена] любой желающий может дать сравнительную оценку ответов разных моделей, на основе чего формируется рейтинг LMSys (Large Model Systems Organization, Организация систем больших моделей) [2281] .

Словом, как и во многих других творческих задачах, проблема оценки качества полученных результатов в диалоговых системах стоит довольно остро. Тем не менее значительный прогресс, произошедший в этой области за последние годы, заметен невооружённым глазом. Идеи BlenderBot и Meena получили дальнейшее развитие в следующем поколении диалоговых моделей, таких как LaMDA [2282] , Anthropic assistant [2283] , WebGPT [2284] , BlenderBot 2 [2285] , BlenderBot 3 [2286] , Sparrow [2287] и, наконец, ChatGPT [2288] , [2289] и его многочисленные аналоги, о которых мы поговорим чуть позже.

2281

LMSYS (2023). Chatbot Arena Leaderboard Updates (Week 2) // https://lmsys.org/blog/2023-05-10-leaderboard/

2282

Thoppilan R., Freitas D. D., Hall J., Shazeer N., Kulshreshtha A., Cheng H., Jin A., Bos T., Baker L., Du Y., Li Y., Lee H., Zheng H. S., Ghafouri A., Menegali M., Huang Y., Krikun M., Lepikhin D., Qin J., Chen D., Xu Y., Chen Z., Roberts A., Bosma M., Zhao V., Zhou Y., Chang C., Krivokon I., Rusch W., Pickett M., Srinivasan P., Man L., Meier-Hellstern K., Morris M. R., Doshi T., Santos R. D., Duke T., Soraker J., Zevenbergen B., Prabhakaran V., Diaz M., Hutchinson B., Olson K., Molina A., Hoffman-John E., Lee J., Aroyo L., Rajakumar R., Butryna A., Lamm M., Kuzmina V., Fenton J., Cohen A., Bernstein R., Kurzweil R., Aguera-Arcas B., Cui C., Croak M., Chi E., Le Q. (2022). LaMDA: Language Models for Dialog Applications // https://arxiv.org/abs/2201.08239

2283

Askell A., Bai Y., Chen A., Drain D., Ganguli D., Henighan T., Jones A., Joseph N., Mann B., DasSarma N., Elhage N., Hatfield-Dodds Z., Hernandez D., Kernion J., Ndousse K., Olsson C., Amodei D., Brown T., Clark J., McCandlish S., Olah C., Kaplan J. (2021). A General Language Assistant as a Laboratory for Alignment // https://arxiv.org/abs/2112.00861

2284

Nakano R., Hilton J., Balaji S., Wu J., Ouyang L., Kim C., Hesse C., Jain S., Kosaraju V., Saunders W., Jiang X., Cobbe K., Eloundou T., Krueger G., Button K., Knight M., Chess B., Schulman J. (2021). WebGPT: Browser-assisted question-answering with human feedback // https://arxiv.org/abs/2112.09332

2285

Shaster K., Weston J. (2021). Blender Bot 2.0: An open source chatbot that builds long-term memory and searches the internet / Meta AI blog, July 16, 2021. // https://ai.meta.com/blog/blender-bot-2-an-open-source-chatbot-that-builds-long-term-memory-and-searches-the-internet/

2286

Shuster K., Xu J., Komeili M., Ju D., Smith E. M., Roller S., Ung M., Chen M., Arora K., Lane J., Behrooz M., Ngan W., Poff S., Goyal N., Szlam A., Boureau Y., Kambadur M., Weston J. (2022). BlenderBot 3: a deployed conversational agent that continually learns to responsibly engage // https://arxiv.org/abs/2208.03188

2287

Glaese A., McAleese N., Trebacz M., Aslanides J., Firoiu V., Ewalds T., Rauh M., Weidinger L., Chadwick M., Thacker P., Campbell-Gillingham L., Uesato J., Huang P., Comanescu R., Yang F., See A., Dathathri S., Greig R., Chen C., Fritz D., Elias J. S., Green R., Mokra S., Fernando N., Wu B., Foley R., Young S., Gabriel I., Isaac W., Mellor J., Hassabis D., Kavukcuoglu K., Hendricks L. A., Irving G. (2022). Improving alignment of dialogue agents via targeted human judgements // https://arxiv.org/abs/2209.14375

2288

OpenAI (2022). Introducing ChatGPT / OpenAI blog, November 30, 2022. // https://openai.com/blog/chatgpt

2289

Liu Y., Han T., Ma S., Zhang J., Yang Y., Tian J., He H., Li A., He M., Liu Z., Wu Z., Zhu D., Li X., Qiang N., Shen D., Liu T., Ge B. (2023). Summary of ChatGPT/GPT-4 Research and Perspective Towards the Future of Large Language Models // https://arxiv.org/abs/2304.01852

6.4 Машина учится говорить

Врач: ...Юра, смотри на свои руки, смотри на свои пальцы, которые напрягаются всё больше и больше. Сейчас я скажу «три», и руки станут неподвижными. Внимание: один, два, три, и руки неподвижны. Ты не можешь двигать руками. Ты пытаешься шевелить руками, но руки твои неподвижны. Тебе трудно делать тонкие дифференцированные движения. Твои руки абсолютно неподвижны. А теперь я сниму это состояние, и ты будешь говорить. Только громко и чётко, свободно и легко, не боясь своего голоса и своей речи. Если ты будешь говорить сейчас, ты будешь на всю жизнь говорить. Громко и чётко! Внимание. На меня смотри. При слове «три» я снимаю напряжение с твоих рук и с твоей речи. Раз, два, три — громко и чётко — я могу говорить! Давай!

Юра: Я-мо-гу-го-во-рить!

Андрей Тарковский. Зеркало (киносценарий)

6.4.1 Первые попытки синтеза речи

Мечты о говорящих машинах стары как мир. В древнекитайском трактате «Ле-цзы» (??, буквально — «[Трактат] учителя Ле»), составленном предположительно в IV в., можно найти упоминание человекообразного автоматона, созданного древним мастером по имени Ян Ши в годы правления императора Му-вана (IX в. до н. э.). Среди прочих талантов этого устройства была способность петь (не фальшивя). Другой говорящий человекоподобный механизм, в соответствии со средневековой легендой, был создан Альбертом Великим, знаменитым философом, теологом и учёным, наставником Фомы Аквинского. Для изготовления устройства, получившего название «андроид» (т. е. «подобный человеку»), Альберт Великий обратился за помощью к «ангелам преисподней» [2290] . Поминая историю с говорящей головой Сильвестра II, это был уже не первый случай, когда подрядчики из ада помогали святым отцам с устройствами для синтеза речи. Если же не принимать в расчёт эти и другие легендарные приспособления древних, то первенство в создании говорящих устройств принадлежит механикам конца XVIII в., одним из которых был уже знакомый нам изобретатель «шахматного автомата» Вольфганг фон Кемпелен. Причём, в отличие от самого знаменитого изобретения фон Кемпелена, его говорящие приспособления не были плодами высокотехнологичного мошенничества. Изобретатель оставил после себя обстоятельный трактат под названием «Механизм человеческой речи вместе с описанием говорящей машины» (Mechanismus der menschlichen Sprache: nebst der Beschreibung seiner sprechenden Maschine) [2291] , благодаря которому созданное им устройство неоднократно воспроизводилось. Например, в 2007 г. усилиями немецких учёных Фабиана Бракхане и Доминика Бауэра была создана реплика «говорящей» машины фон Кемпелена [2292] .

2290

Brewster D. (1870). Letters on Natural Magic Addressed to Sir Walter Scott, Bart. Harper & brothers // https://books.google.ru/books?id=fftYAAAAYAAJ

2291

Kempelen v. W. (1791). Wolfgangs von Kempelen k. k. wirklichen Hofraths Mechanismus der menschlichen Sprache: nebst der Beschreibung seiner sprechenden Maschine. J. V. Degen // https://books.google.ru/books/about/Wolfgangs_von_Kempelen_k_k_wirklichen_Ho.html?id=W75CAQAAMAAJ

2292

Van Hal T. (2019). Early Modern Views on Language and Languages (ca. 1450—1800) / Oxford Research Encyclopaedia of Linguistics (2019). Oxford University Press, pp. 1—22 // https://doi.org/10.1093/acrefore/9780199384655.013.381

Поделиться:
Популярные книги

Возвращение Безумного Бога

Тесленок Кирилл Геннадьевич
1. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога

Последняя Арена 9

Греков Сергей
9. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 9

На границе империй. Том 9. Часть 3

INDIGO
16. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 3

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Саженец

Ланцов Михаил Алексеевич
3. Хозяин дубравы
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Саженец

Кодекс Крови. Книга Х

Борзых М.
10. РОС: Кодекс Крови
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга Х

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Наследница долины Рейн

Арниева Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Наследница долины Рейн

Вампиры девичьих грез. Тетралогия. Город над бездной

Борисова Алина Александровна
Вампиры девичьих грез
Фантастика:
фэнтези
6.60
рейтинг книги
Вампиры девичьих грез. Тетралогия. Город над бездной

Шесть тайных свиданий мисс Недотроги

Суббота Светлана
Любовные романы:
любовно-фантастические романы
эро литература
7.75
рейтинг книги
Шесть тайных свиданий мисс Недотроги

Одержимый

Поселягин Владимир Геннадьевич
4. Красноармеец
Фантастика:
боевая фантастика
5.00
рейтинг книги
Одержимый

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI