KnigkinDom.org» » »📕 Эти странные новые разумы: Как ИИ научился говорить и что это значит - Кристофер Саммерфилд

Эти странные новые разумы: Как ИИ научился говорить и что это значит - Кристофер Саммерфилд

Книгу Эти странные новые разумы: Как ИИ научился говорить и что это значит - Кристофер Саммерфилд читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

1 ... 83 84 85 86 87 88 89 90 91 ... 111
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
изящный трюк. Когда я попросил ее разделить 12345 на 98765, она дала правильный ответ, но затем спросила, не хочу ли я, чтобы она «показала код, стоящий за этим результатом». Этим кодом оказалось следующее:

import pandas as pd

# Создать датафрейм

df = pd.DataFrame({‘12345 / 98765’: [12345 / 98765]})

# Вывести датафрейм

print(df)

Gemini решила использовать внешний инструмент для выполнения вычислений, но обратилась не к обычному калькулятору. Вместо этого она написала несколько строк кода на Python, импортировав библиотеку под названием Pandas (возможно, не самый очевидный выбор для простой арифметики среди программистов, но библиотека справляется со своей задачей). Эти строки автоматически отправляются (с помощью вызова API) в интерпретатор Python, где они выполняются, а выведенный результат (переменная под названием df ) возвращается в качестве ответа.

В одной статье 2023 года[*1] было показано, как этот подход, получивший название «языковое моделирование с помощью программ» (program-aided language modelling, или PAL), можно применять более широко, чтобы помочь LLM рассуждать математически. Например, известный бенчмарк под названием GSM8K содержит математические задачи школьного уровня, которые требуют от LLM сочетания понимания естественного языка с арифметическими навыками, например: Бет выпекает четыре партии печенья по две дюжины в каждой в неделю. Если разделить это печенье поровну между шестнадцатью людьми, сколько достанется каждому?

Это далеко не самый сложный вопрос, но он требует от LLM плавного переключения между интерпретацией значений слов (пониманием того, что «дюжина» означает двенадцать) и выполнением простейших вычислений — в данном случае расчетом (2 × 4 × 12)/16 = 6. Авторы показали, что когда модель просят преобразовать задачу такого типа в код на Python (с добавлением промежуточных шагов рассуждений на естественном языке), PAL достигает передовых результатов на GSM8K. Конечно, использование внешнего инструмента означает, что арифметика гарантированно будет верной, поэтому такое решение может показаться не совсем честным. Но на самом деле это не жульничество — авторы просто переформулировали задачу, превратив ее в обучение LLM переводу решения в код, что само по себе нетривиально. Это немного похоже на то, как студент сдает экзамен по математике, где разрешены калькуляторы — вы все равно можете провалиться, если не умеете пользоваться прибором.

Последние версии ведущих LLM, таких как ChatGPT и Gemini, пишут код довольно хорошо. В ходе предварительного обучения они анализируют огромных объемах созданных людьми скриптов и функций на таких языках, как Python, JavaScript, Perl и TypeScript. Некоторые варианты моделей даже проходят специальное обучение программированию. Например, в 2021 году OpenAI выпустила модель под названием Codex (потомок GPT-3), которая была дообучена на 159 гигабайтах кода, собранного из пятидесяти четырех миллионов репозиториев на платформе совместной разработки с открытым исходным кодом GitHub, а также текстов с технических форумов и документации. После такого обучения она продемонстрировала свободное владение четырнадцатью различными языками программирования (точно так же, как обычные LLM осваивают финский, африкаанс и хорватский после прочтения миллионов слов на этих языках). Codex служит движком для CoPilot — плагина для GitHub, работающего по подписке, который автономно преобразует описания программ на английском языке в блоки работающего кода. Все мои знакомые сходятся во мнении, что CoPilot невероятно полезен и существенно повышает их производительность, а широкое сообщество разработчиков уже использовало его для написания более 3 миллиардов строк кода.

Но даже универсальные LLM, такие как GPT-4, программируют вполне прилично. Например, я обратился к GPT-4 за помощью с простой задачей по программированию:

Пользователь: Я хотел бы написать программу на Python, которая принимает на вход список имен и сортирует их по фамилии в алфавитном порядке. Ты можешь это сделать?

GPT-4: Разумеется, я могу помочь вам с этим. Программа на Python будет принимать список имен, где каждое имя представляет собой строку в формате «Имя Фамилия». Затем она отсортирует этот список на основе фамилии. Вот как это можно сделать:

def sort_by_surname(names):

# Разделить каждое имя на имя и фамилию и отсортировать по фамилии

return sorted(names, key=lambda name: name.split(' ')[-1])

# Пример использования

names = ['John Doe', 'Anna Smith', 'Peter Johnson']

sorted_names = sort_by_surname(names)

print(sorted_names)

Если вы протестируете этот код в интерактивной среде, например в Google Colaboratory,[*2] то увидите, что он работает отлично. Вы можете просто передать список, подобный списку 'names' — причем любой длины, — и программа отсортирует его по фамилии в алфавитном порядке. Если вы учитель, библиотекарь или просто исключительно аккуратный человек, это вполне может вам пригодиться.

Эта задача с сортировкой имен требует лишь базовых навыков программирования. Но иногда написание кода действительно требует серьезного нестандартного мышления. На самом деле для некоторых людей программирование само по себе является соревнованием — сродни олимпийскому полумарафону или телешоу «Лучший пекарь Британии». Например, сайт под названием Codeforces проводит ежегодные соревнования, в которых элитные программисты состязаются друг с другом, пытаясь как можно более элегантно и с ходу решить целый ряд замысловатых задач. В качестве примера рассмотрим следующую задачу.

Вам дан список случайных целых чисел a1, a2,…, an, над которыми вы можете выполнять только одну из двух операций: (1) изменить порядок элементов в списке на обратный; или (2) циклически сдвинуть их так, чтобы последний элемент стал первым, а все остальные сдвинулись вправо. Напишите фрагмент кода для сортировки списка a с использованием исключительно этих двух операций так, чтобы он стал неубывающим (предполагая, что это возможно).

Это нетривиальная задача. Для ее решения требуется хитроумный код, который разбивает последовательность на возрастающие и убывающие отрезки чисел и циклически перемещает элементы к каждой точке перехода, чтобы развернуть их в одном направлении (там, где это возможно). Я протестировал ее и в Gemini, и в GPT-4, и ни одна из них не предложила жизнеспособного решения. Однако в 2022 году компания DeepMind обучила LLM (которую они назвали AlphaCode) на большом наборе подобных задач по программированию и заявила ее на соревнования Codeforces. Хотя AlphaCode и не победила, она оказалась примерно в середине турнирной таблицы, что весьма впечатляет, учитывая, что ее соперниками-людьми были сплошь гиками до мозга костей. В конце 2023 года усовершенствованная версия модели, получившая ряд улучшений и обученная на большем наборе данных, совершила качественный скачок, войдя в число лучших 15% участников, что принесло ей статус ведущей LLM в мире по уровню владения программированием.[*3]

LLM-виртуозы программирования получат доступ к самому универсальному набору инструментов, какой только можно себе представить, поскольку компьютерный код можно использовать практически для чего угодно — от веб-дизайна и разработки программного обеспечения до создания игр и аналитики данных. Его можно применять даже

1 ... 83 84 85 86 87 88 89 90 91 ... 111
Перейти на страницу:
Отзывы - 0

Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.


Партнер

Новые отзывы

  1. Гость ghonius858 Гость ghonius85805 июнь 00:47 Помощь в оформлении водительских прав любой категории. Работаем быстро, конфиденциально и с индивидуальным подходом к каждому.... Игры современников. Записки пинчраннера - Кэндзабуро Оэ
  2. Гость ghonius858 Гость ghonius85804 июнь 17:48 Помощь в оформлении водительских прав любой категории. Работаем быстро, конфиденциально и с индивидуальным подходом к каждому.... Бутаров Алекс – Большая Рыба
  3. Гость Любовь Гость Любовь03 июнь 16:19 Книга мне очень понравилась.Интересная,много юмора.Читайте с удовольствием.... Отдам дракона в хорошие руки - Марина Ефиминюк
Все комметарии
Новое в блоге