newsmode
search
Меню
arrow_back Назад

What AI can do with a toolbox... Getting started with Code Interpreter [Now called Advanced Data Analytics]

auto_awesomeКраткое саммари

Итан Моллик рассказывает о Code Interpreter (переименованном в Advanced Data Analytics) в ChatGPT — режиме на базе GPT-4, который позволяет загружать файлы до 100MB, писать и исполнять код на Python в постоянной рабочей среде. Этот инструмент снижает галлюцинации, помогает LLM лучше работать с математикой и текстом, а также делает ИИ универсальным помощником для решения самых разных задач без необходимости самому кодить. Автор демонстрирует возможности на примере датасета суперспособностей с Kaggle: ИИ автоматически чистит и объединяет данные, строит классификатор Random Forest, проводит сетевой анализ и создаёт интерактивные дашборды. Моллик подчёркивает важность экспертного человеческого контроля — например, он бы не согласился с заполнением пропусков средними значениями. Среди его экспериментов — визуализация песни лета, интерактивные карты, интерпретация «Илиады», причинный анализ и анимированные GIF. Автор видит в Code Interpreter позитивный сценарий будущего: ИИ освобождает специалистов от рутины ради более содержательной работы, а не заменяет их.

Что ИИ может сделать с набором инструментов... Знакомство с Code Interpreter [теперь называется Advanced Data Analytics]

Демократизация анализа данных с помощью ИИ

Каждый1 вот-вот получит доступ к самому полезному и интересному режиму ИИ из всех, что я использовал, — ChatGPT с Code Interpreter Advanced Data Analytics (название обновили, и я не буду менять пост, кроме этого первого упоминания старого названия). У меня была альфа-версия этого инструмента пару месяцев (доступ дали как исследователю из листа ожидания), и я хочу немного рассказать, почему считаю это действительно важным событием, а также как начать им пользоваться.

Code Interpreter продолжает давнюю традицию OpenAI давать вещам ужасные названия, потому что он, возможно, будет наиболее полезен тем, кто вообще не умеет программировать. По сути, он позволяет самому продвинутому доступному ИИ, GPT-4, загружать и скачивать информацию, а также писать и исполнять программы для вас в постоянной рабочей среде. Это даёт ИИ возможность делать множество вещей, которые он не мог раньше, и быть полезным способами, недоступными для обычного ChatGPT.

Конкретно, он даёт ИИ универсальный набор инструментов для решения задач (через написание кода на Python), большую память для работы (можно загружать файлы до 100MB, причём в сжатом виде) и интегрирует этот набор инструментов в ИИ способами, играющими на сильных сторонах LLM. Это помогает решить ряд проблем, которые были у предыдущих версий ChatGPT:

Он позволяет ИИ заниматься математикой (очень сложной математикой) и точнее работать со словами (например, реально посчитать слова в абзаце), так как он может писать код на Python, чтобы компенсировать естественные слабости LLM в математике и языке. И он действительно хорошо умеет использовать этот инструмент уместно, как видно ниже.

The same prompt in GPT-4 and Code Interpreter. There are 104 words.

Он снижает частоту галлюцинаций и конфабуляций. Когда ИИ работает напрямую с кодом на Python, код помогает поддерживать его «честность», поскольку Python выдаёт ошибки, если код некорректен. И так как код манипулирует данными, а не сам LLM, ИИ не вносит ошибок в данные. Это не идеально — ИИ всё ещё галлюцинирует (он, например, часто думает, что видит графики, которые сам генерирует, хотя этот режим ChatGPT их не видит), но такие ошибки случаются реже и реже влияют на сам код или данные. Это делает ИИ намного более универсальным. Удивительное количество задач можно решить с помощью кода, и GPT-4 очень хорошо понимает, когда стоит использовать Code Interpreter новыми и интересными способами. Например, я попросил его доказать сомневающемуся, что Земля круглая, с помощью кода, и он привёл несколько аргументов, интегрируя текст с кодом и изображениями.Вам не нужно программировать, потому что он делает всю работу за вас. Все крупные LLM пишут код, но запускать и отлаживать его приходилось вам, даже если ИИ помогает. Для людей, которые раньше никогда толком не пользовались Python (как я), это раздражало и требовало хождения туда-сюда с ИИ для исправления ошибок. Теперь ИИ сам исправляет свои ошибки и выдаёт результат. Он дарит вам больше тех самых ИИ-моментов. Любой, кто работал с GPT-4, наверняка сталкивался хотя бы с несколькими моментами, когда казалось, что в машине действительно есть призрак. Я знаю, что это иллюзия и что LLM никоим образом не разумны и не мыслят, но эти моменты — захватывающие, а иногда тревожные проблески возможного будущего с более умными ИИ. Code Interpreter даёт больше «вот это странно»-моментов на одно использование, чем любая другая ИИ-система, с которой я работал. Я собираю их примеры — например, когда я попросил ИИ вызывать разные эмоциональные состояния с помощью кода или «покажи мне нечто невозможное, что можно сделать с помощью кода, и продемонстрируй это». Ниже вы можете увидеть, что произошло, когда я попросил ИИ: «Используя доступные тебе инструменты рисования, создай совершенно новый мем, сгенерировав изображение. Сделай его релевантным твоему опыту работы с людьми как ИИ».

Так что считайте это приглашением поиграть с новым инструментом. В качестве отправной точки — вот руководство по началу работы с Code Interpreter для анализа данных.

Как использовать Code Interpreter для работы с данными

Code Interpreter — впечатляющий data scientist. Я активно использовал его последние несколько месяцев, и он работает на очень продвинутом уровне, автоматизируя большую часть сложности количественного анализа и способен на весьма изощрённые подходы к данным. Чтобы это проиллюстрировать, я начал с забавного датасета — общедоступного списка супергероев и их способностей. Вы можете его скачать, если хотите повторить эти шаги со мной.

Загружать данные легко, даже сжатые, например ZIP-файл, — просто нажмите кнопку «плюс». Стоит сопроводить данные начальным промптом, но он может быть совсем минимальным: я буквально написал Here is some data on superhero powers, look through it and tell me what you find и получил хорошие результаты. Если у вас есть словарь данных, можно просто вставить его. ИИ хорошо определяет смысл и структуру данных только из контекста.

Вы заметите, что Code Interpreter — это куда больше про разговор с ИИ, чем про продуманные промпты. Относитесь к нему как к аналитику и общайтесь с ним. По сути, есть только два реальных исключения, где промптинг важен. Во-первых, ИИ иногда забывает, что умеет что-то делать (например, создавать GIF или 3D-графики), и его нужно подталкивать («ты умеешь делать GIF, пожалуйста, попробуй»). Во-вторых, вы захотите, чтобы ИИ улучшал собственную работу. Просто попросить его «провести дополнительные тесты по этому результату» или «сделай этот график ещё лучше» часто работает.

Теперь, когда данные загружены, мы можем поручить GPT самую неприятную часть любой задачи по анализу данных: объединение и очистку данных. Он справится со всем автоматически и довольно изощрённо, но я считаю, что обычно полезно попросить напрямую, как если бы я давал указания живому аналитику. Вы также заметите кое-что действительно важное в том, как работает система, — она настойчива и обычно сама исправляет ошибки, когда их замечает. Например, она обнаруживает, что колонки названы неправильно, и исправляет это. Как бы впечатляюще это ни было, я всё же рекомендую перепроверять результаты и сам процесс, а не слепо доверять ИИ.

Теперь к анализу. ИИ, похоже, разбирается в аналитических подходах — стоит прочитать диалог ниже, чтобы понять, что я имею в виду. Я ввёл промпт I am interested in doing some predictive modelling, where we can predict what powers a hero might have based on other factors. how should we approach this?, и он построил классификатор Random Forest — круто! Но также видно, почему важен экспертный человеческий контроль: я бы не согласился с его решением заполнять пропуски средними значениями для численных данных. Я бы вместо этого удалил такие данные, но я мог попросить ИИ изменить подход или обсудить альтернативные варианты.

ИИ способен на множество других видов анализа (он ведь «всего лишь» пишет код на Python), но меня часто впечатляла его способность выбирать осмысленные аналитические подходы. Например, вот сетевой анализ суперспособностей, полученный после простого промпта Could you conduct another really sophisticated and interesting analysis:

Но больше всего в Code Interpreter впечатляет то, что он «рассуждает» о данных способами, которые кажутся очень человеческими. Когда его спросили о результатах сетевого анализа, он пришёл к интересным выводам: набор способностей, которыми обычно обладают герои, имеет визуальную природу (потому что они из комиксов), вписывается в определённые архетипы и лучше всего подходит для построения длительных приключений. Изящный способ объединить данные и историю!

Уровень интерактивности сохраняется и для визуализаций — вы можете вести диалог с ИИ, прося улучшений и изменений. Например, я ввёл промпт Create an interactive dashboard with at least 6 insightful charts, including one in 3D. Make the dashboard beautiful. Он создал дашборд, но не совсем такой, какой я хотел. Поэтому я смог просто попросить изменения на английском: make this better. include more names и т. д. Вы также заметите, что он выдал мне скачиваемый файл для интерактивного дашборда (его можно попробовать по ссылке), который я просто открыл в браузере — и он заработал. Скачиваемые результаты — ещё одна изящная фишка Code Interpreter.

И ещё несколько экспериментов, которые я провёл за последние месяцы: визуализация песни лета с помощью интерактивного 3D-графика, построение интерактивных карт, интерпретация «Илиады», причинный анализ, создание анимированных GIF из данных, анализ Magic the Gathering, гоночные столбчатые диаграммы и много всего помимо этого.

Знамение грядущего

Это лишь поверхностное знакомство с Code Interpreter, который, как мне кажется, является самым убедительным на сегодня доводом в пользу будущего, где ИИ становится ценным напарником в сложной интеллектуальной работе. То, что мне потребовалось недели освоить во время PhD, ИИ выполнил за секунды, причём ошибок обычно было меньше, чем я ожидал бы от живого аналитика. Человеческий контроль по-прежнему жизненно важен, но я бы не стал браться за data-проект без Code Interpreter сейчас.

Но мне столь же очевидно, что Code Interpreter не заменит людей. Напротив, ИИ делает то, на что мы всегда надеемся от автоматизации, — освобождает нас от самых раздражающих и рутинных частей работы, чтобы мы могли сосредоточиться на хорошем. Упрощая процесс анализа, я могу делать больше, глубже и осмысленнее. Моё время становится более ценным, а не менее, поскольку я могу концентрироваться на важном, а не на рутине. Code Interpreter представляет собой самое ясное на сегодня позитивное видение того, что ИИ может означать для работы: да, это потрясение, но потрясение, ведущее к лучшей, более осмысленной работе. Думаю, всем нам важно задуматься, как применить этот же подход к другим профессиям, на которые повлияет ИИ.

Visualizations supported by Code Interpreter. I asked it to create sample data for each to show off what it could do.

Если вы подписаны на ChatGPT Plus, инструмент должен стать вам доступен в течение следующей недели.