Как устроен ChatGPT? Полное погружение в принципы работы и спектр возможностей самой известной нейросети в мире
Шрифт:
In[]:= model = NetModel[{"GPT-2 Transformer Trained on WebText Data", "Task" -> "LanguageModeling"}]
Out[]= NetChain[
Позже мы заглянем внутрь этой нейронной сети и поговорим о том, как она работает. Но пока можем просто применить эту модель к нашему тексту в качестве черного ящика и запросить пять наиболее подходящих слов, которые, по мнению модели, должны следовать за указанным текстом:
In[]:= model["The best thing about AI is its ability to", {"TopProbabilities", 5}]
Out[]= {do -> 0,0288508, understand -> 0,0307805,
make -> 0,0319072, predict -> 0,0349748, learn -> 0,0445305}
Затем
In[]:= Dataset[ReverseSort[Association[%]],
ItemDisplayFunction -> (PercentForm[#, 2] &)]
Вот что произойдет, если многократно «применять модель» – на каждом шаге добавлять слово, имеющее наибольшую вероятность (в коде это слово decision):
In[]:= NestList[StringJoin[#, model[#, "Decision"]] &, "The best thing about AI is its ability to", 7]
Out[] = {Самое лучшее в ИИ – это его способность,
Самое лучшее в ИИ – это его способность учиться,
Самое лучшее в ИИ – это его способность учиться на,
Самое лучшее в ИИ – это его способность учиться на собственном опыте,
Самое лучшее в ИИ – это его способность учиться на собственном опыте.,
Самое лучшее в ИИ – это его способность учиться на собственном опыте. Это,
Самое лучшее в ИИ – это его способность учиться на собственном опыте. Это не,
Самое лучшее в ИИ – это его способность учиться на собственном опыте. Это не так.}
Что будет, если мы продолжим предложение? В этом случае (при нулевой температуре) полученный текст оказывается запутанным и изобилующим повторами:
Самое лучшее в ИИ – это его способность учиться на собственном опыте. Это не просто вопрос обучения на своем опыте, это изучение окружающего вас мира. Искусственный интеллект – очень хороший пример. Это очень хороший пример того, как использовать искусственный интеллект для улучшения своей жизни. Это очень хороший пример того, как использовать искусственный интеллект для улучшения своей жизни. Искусственный интеллект – очень хороший пример того, как использовать его для улучшения своей жизни. Это очень хороший пример того, как использовать искусственный интеллект для
Но что, если вместо того, чтобы всегда выбирать самое популярное слово, мы выберем слова с меньшей вероятностью (с температурой 0,8)? Тогда может получиться следующий текст:
{Самое лучшее в ИИ – это его способность,
Самое лучшее в ИИ – это его способность создавать,
Самое лучшее в ИИ – это его способность создавать миры,
Самое лучшее в ИИ – это его способность создавать миры, которые,
Самое лучшее в ИИ – это его способность создавать миры, которые являются,
Самое лучшее в ИИ – это его способность создавать миры, которые являются одновременно захватывающими,
Самое лучшее в ИИ – это его способность создавать миры, которые являются одновременно захватывающими,}
И каждый раз, когда мы будет выбирать случайные слова, текст окажется разным, как в следующих примерах:
Самое лучшее в ИИ – это его способность к обучению. Мне всегда нравилось
Самое лучшее в ИИ – это его способность по-настоящему проникать в ваш мир и просто
Самое лучшее в ИИ – это его способность изучать поведение человека и то, как он
Самое лучшее в ИИ – это его способность проделывать отличную работу по обучению нас
Самое лучшее в ИИ – это его способность создавать реальные задачи, но вы можете
Стоит отметить, что даже на первом этапе имеется множество возможных «следующих слов» (при температуре 0,8), хотя вероятность их использования падает достаточно быстро (данные на этом логарифмическом графике демонстрируют зависимость от n– 1, которая очень характерна для общей статистики языка):
Так что же произойдет, если мы продолжим создавать текст? Вот этот случайный пример уже лучше, чем пример с самыми популярными (нулевая температура) словами, но текст все еще немного странный:
Самое лучшее в ИИ – это его способность видеть насквозь и осмысливать мир вокруг нас, а не паниковать и игнорировать. Мы также можем сказать, что ИИ «выполняет свою работу» или «заурядный ИИ». Действительно, делая бесконечное количество шагов, разработка машины, которая может быть интегрирована с другими системами или управляться одной системой, является одним из наиболее фундаментальных процессов ИИ. Помимо взаимодействия человека и машины ИИ также играет важную роль в творчестве.
Этот текст был написан простой моделью GPT-2 (2019 года выпуска). У более современной модели, GPT-3, результаты получаются намного лучше. Следующий текст был создан при помощи самых популярных (нулевая температура) слов с использованием того же самого промпта, но с помощью новой модели – GPT-3:
Самое лучшее в ИИ – это его способность автоматизировать процессы и принимать решения быстро и точно. ИИ можно использовать для автоматизации повседневных задач вроде ввода данных или для принятия сложных решений, таких как прогнозирование поведения клиентов или анализ больших наборов данных. ИИ также можно использовать для улучшения обслуживания клиентов, поскольку он позволяет быстро и точно реагировать на запросы клиентов. ИИ также можно использовать для повышения точности медицинских диагнозов и автоматизации процесса открытия новых лекарств.
А вот пример, созданный при температуре 0,8:
Самое лучшее в ИИ – это его способность учиться и развиваться с течением времени, что позволяет ему постоянно улучшать свою производительность и быть более эффективным в выполнении задач. ИИ может использоваться для автоматизации повседневных задач, позволяя людям сосредоточиться на более важных вещах. ИИ также можно использовать для принятия решений и предоставления информации, которую в противном случае людям было бы невозможно понять.
Откуда берутся эти вероятности?
Итак, ChatGPT всегда выбирает следующее слово, основываясь на вероятностях. Но откуда берутся эти вероятности? Давайте начнем с более простой задачи. Рассмотрим создание текста на английском языке по одной букве (а не по слову) за раз. Как мы можем определить вероятность для каждой буквы?
Самое простое, что мы могли бы сделать, – это взять образец английского текста и подсчитать, как часто в нем встречается каждая буква. Например, так подсчитываются буквы в статье о кошках (англ. cats) в «Википедии»: