Фундаментальная идея системы искусственного интеллекта на основе генеративного языка, такой как ChatGPT, не подходит для ситуаций, когда необходимо выполнить структурированные вычислительные задачи. Другими словами, потребуется «исправить» почти бесконечное количество «ошибок». Но уже есть инструмент, который может решать подобные задачи, — Wolfram|Alpha. Рассказываем о нем, прочитав книгу «Как устроен ChatGPT?»
Расстояния
По своей сути ChatGPT — это система генерации лингвистических результатов, которая следует шаблону того, что есть в интернете, в книгах и других материалах, использовавшихся для обучения этой самой системы. Примечательно то, насколько «человечны» результаты работы ChatGPT — не только небольшие фрагменты текста, но и полноценные эссе. В них присутствует связность, которая отражает изученные системой понятия. То, что получается в итоге, статистически правдоподобно, по крайней мере на лингвистическом уровне.
Вот пример (у ChatGPT есть встроенная функция рандомизации, поэтому если вы введете такой же промпт, то получите другой результат):
— Как далеко находится Чикаго от Токио?
Расстояние от Чикаго, штат Иллинойс, до Токио, Япония, составляет примерно 7600 миль (12 200 километров). Это довольно большое расстояние; чтобы его преодолеть, потребуется много часов передвигаться на том или ином транспорте. Перелет от Чикаго до Токио занимает 16 часов, однако здесь не учитываются факторы вроде ветра и задержки из-за пересадки в аэропорту.
Выглядит убедительно, однако на самом деле информация ошибочная (это подтвердил Wolfram|Alpha):
Именно в этом и прелесть Wolfram Alpha: он превращает информацию в точные вычисления, которые можно выполнить на основе структурированных, тщательно подобранных знаний. Но самое интересное, что все выглядит так, словно Wolfram Alpha автоматически помогает ChatGPT. Например, можно программно задать Wolfram Alpha следующий вопрос (также можно использовать веб-API и другие интерфейсы):
In[ ]:= WolframAlpha[“what is the distance from Chicago to Tokyo«, «SpokenResult»]
Out[ ]= The distance fromthe center of Chicago, Illinois to the center of Tokyo is about 6313 miles
Теперь зададим тот же самый вопрос ChatGPT:
— Как далеко находится Чикаго от Токио? Расстояние от Чикаго, штат Иллинойс, до Токио, Япония, составляет примерно 6313 миль.
Спасибо за то, что поправили меня. Вы правы, расстояние от центра Чикаго, штат Иллинойс, до центра Токио, Япония, примерно 6313 миль (10 160 километров). Это расстояние может отличаться в зависимости от начальной и конечной точки в городе, откуда начинается путешествие.
— Как далеко находится Чикаго от Токио?
Расстояние от Чикаго, штат Иллинойс, до Токио, Япония, составляет примерно 6331 милю (10 160 километров). Это довольно большое расстояние; чтобы его преодолеть, потребуется много часов передвигаться на том или ином транспорте. Полет из Чикаго до Токио занимает 16 часов, однако здесь не учитываются факторы вроде ветра и задержки из-за пересадки в аэропорту.
ChatGPT очень спокойно реагирует на исправления, и, если вы зададите вопрос еще раз, он даст правильный ответ. Вероятно, можно найти более простой способ взаимодействия между ChatGPT и Wolfram|Alpha, но даже здесь мы видим, что этот подход естественного языка успешно работает.
Однако почему ChatGPT вначале совершил ошибку? Если бы во время обучения он зафиксировал точное расстояние между Чикаго и Токио, он, конечно, мог бы сразу дать правильный ответ. Однако это как раз тот случай, когда обобщения на основе множества примеров расстояний между городами было недостаточно: необходим точный вычислительный алгоритм.
Wolfram|Alpha работает по-другому. Он берет естественный язык, а затем — если это возможно — преобразует его в точный вычислительный (то есть в Wolfram Language). В данном случае это выглядит так:
In[ ]:= GeoDistance [Chicago CITY , Tokyo CITY ]
Out[ ]= 6296,06 mi
Координаты городов и алгоритмы расчета расстояний между ними — это часть встроенных вычисляемых знаний в Wolfram Language. Этот язык обладает огромным объемом встроенных вычисляемых знаний: это результат десятилетий работы, которая заключалась в тщательной обработке всего того, что сейчас представляет собой огромный объем постоянно обновляемых данных, во внедрении (а нередко и изобретении) методов, моделей и алгоритмов и систематическом выстраивании единого связного вычислительного языка для чего угодно.
Меркурий
Чем сложнее вычислительная цепочка, тем больше вероятность, что вам придется обратиться к Wolfram|Alpha. В следующем примере ChatGPT выдает довольно запутанный ответ:
— Насколько велик Меркурий и есть ли спутники больше него?
Меркурий — самая маленькая планета в нашей Солнечной системе. Она лишь немного больше Луны, ее диаметр составляет около 3032 миль (4880 километров). Ни один спутник в нашей Солнечной системе не превышает размерами Меркурий. Крупнейшими спутниками Солнечной системы являются четыре галилеевых спутника Юпитера: Ганимед, Каллисто, Ио и Европа. Ганимед — самый крупный из них, его диаметр составляет около 3274 миль (5268 километров), что делает его немногим больше Меркурия. Однако эти спутники вращаются вокруг Юпитера — планеты, которая намного больше Меркурия.
Однако, как говорит нам Wolfram|Alpha, подобный вывод неверен:
Всякий раз, когда дело доходит до конкретных данных (например, количественных), пусть даже в достаточно сырой форме, нам приходится иметь дело с «историей Wolfram|Alpha».