Експеримент із ChatGPT. Ми попросили айтівців поставити чат-боту задачі з розробки — ось що з цього вийшло

18 лютого ChatGPT — нейромережевий чат-бот від OpenAI, реліз якого запустив нові перегони big tech у сфері штучного інтелекту, — став доступним на території України.

DOU попросив кількох розробників поекспериментувати з чат-ботом і поставити перед ним задачі з програмування: від суто робочих до розважальних. Показуємо, що із цього вийшло.

Сергій Бутенко, Software Engineer CleanMyMac у MacPaw

Я вирішив попросити ChatGPT знайти у кошику файли, які видаляє CleanMyMac.

❔ Запит: Find trashes files on macOS using Swift

❕ Відповідь:

Виглядає нормально, хоча я не просив видаляти ці файли. А якщо запустити цей код, то ми отримуємо «The file „Trash“ couldn’t be opened because you don’t have permission to view it».

Так і скажемо ChatGPT.

❕ Відповідь:

ChatGPT каже, що треба запустити застосунок від root, але нам це точно не підходить. Знайти теку у Finder неможливо, бо вона системна і не відображається. Що ж, ми в розпачі.

❔ Запит: It doesn’t help

❕ Відповідь:

На жаль, нічого з цього не допомагає. Поради дуже загальні й не стосуються саме кошика. Експерти підказали: проблема в тому, що у застосунку немає Full Disk Access. Перевіримо, чи це правда.

❔ Запит: Is it because of a lack of full disk access?

❕ Відповідь:

Нарешті ми з’ясували, у чому проблема! Ми надали FDA нашому застосунку і тепер можемо отримати доступ до файлів у кошику.

⚪Висновки:

  1. ChatGPT може видати код, який компілюється.
  2. ChatGPT може видати код, який робить щось зайве або має вразливості.
  3. ChatGPT може давати поради, але вони не завжди правдиві. І все треба мати досвід у домені, з яким працюєш.
  4. Як для пошукових систем, так і для ChatGPT треба правильно підбирати запит. Наприклад, вказувати, що ти хочеш код на Swift і саме під платформу macOS. Тобто дати якомога більше обмежень, щоб отримати максимально релевантну відповідь.

Володимир Кирилов, Machine Learning Engineer у Zencastr

Нещодавно я працював з методами генерації текстів з моделі GPT-2. У моєму редакторі відкрита реалізація алгоритму Beam Search, яка вже обросла складними конструкціями. Чи може ChatGPT додати мені свіжих ідей?

❔ Запит: Implement beam search decoding from GPT-2 from scratch a pretrained model

❕ Відповідь:

Я припустився помилки в запиті, і модель все одно згенерувала потрібну мені відповідь.

Написаний код достатньо простий і поєднує тензори PyTorch і стандартні структури даних у Python. Алгоритм залежить від гіперпараметрів, і бот запропонував мені практичні значення.

Пояснення алгоритму містить його основну ідею — для кожної послідовності згенерували beam_width найкращих токенів, отримали beam_width^2 кандидатів. Відсортували всі послідовності за оцінками, залишили найкращі beam_width послідовностей, побігли далі. Запам’ятаю це формулювання для наступної дискусії з колегами.

Пояснення алгоритму

Чи працює цей код? Для перевірки скопіював його в новий файл і побачив список з найкращих п’яти послідовностей:

Працює!

Перевірка

Чи точно цей алгоритм робить те, що треба? Попросив його згенерувати цей код іншим чином.

❔ Запит: use huggingface beam search implementation on the same example with the same parameters

У відповідь отримав задовгий код. Я запустив його та отримав помилку. Повернув її боту.

❔ Запит: ImportError: cannot import name ’BeamSearchDecoder’ from ’transformers’

Бот пробурмотів щось про версії трансформерів і дав новий, коротший і кращий код, а головне — він працює.

Тут я дізнаюся про магічний параметр `no_repeat_ngram_size`, який робить щось нове. Запам’ятаю! Для мого тесту виставлю цей параметр у 0 у своєму редакторі.

Я бачу, що цей код генерує тільки одну послідовність. Прошу бота виправити це.

❔ Запит: Use the same hyperparameters as the original code

Так, бот вгадав параметр num_return_sequences!

Працює!

⚪ Висновки

Під час роботи з різними алгоритмами часто потрібно знати, які параметри краще брати за замовчуванням, які бібліотеки для реалізації обирати, які приклади підбирати. ChatGPT може написати алгоритм за запитом і запропонувати додаткові деталі, які можуть каталізувати якусь мою ідею. За це я йому і вдячний:

Владислав, Front-end Developer

Ще роки чотири тому я разом з друзями кілька місяців пововтузилися з однією задачкою — ми намагалися її розв’язати, але за умови не піддивлятися відповіді деінде. Далі ви побачите максимум, до якого я дійшов :)

Коли в Україні розблокували ChatGPT, я подумав, що використати допоміжний інструмент — це не шахрайство.

Спочатку я просто скопіював завдання і лише трошки змінив його.

Цей код міг би працювати, але мав проблему: там не було назви функції, яка є обов’язковою і незмінною, тож я продовжив спроби.

Певний час ми продовжували діалог. У ChatGPT виникла проблема з розумінням, що є solution та code. Я намагався його навчити, але це не давало бажаного результату: чат то генерував неробочий код, то робочий, але неправильно. І пропонував лише довгі відповіді, тоді як за умовами задачки рішення мало містити не більше ніж 53 символи. Чат переконував мене, що це неможливо.

У певний момент мені стало соромно за ChatGPT і я вирішив на нього «биконути». Вийшло кумедно.

Я пояснив, що запропоноване мною рішення не задовольняє умови задачі, адже весь код, включно з функцією, має бути не більшим за 53 символи. Сподівався, що це допоможе чат-боту знайти розвʼязок. Втім не допомогло. У певний момент ChatGpt взагалі мені повернув мій же код.

Через деякий час я полишив спроби, бо втомився. Навіть із ChatGPT я не розкусив задачку, зате переконався, що про втрату роботи розробника ще на 100% зарано турбуватися. Ну й колись зможу казати онукам, що навіть «Скайнет» визнав мій геній і покажу ці скриншоти :)

⚪ Висновок: ChatGPT — як твій найліпший друг. Він ніколи не відмовить тобі в допомозі, але не гарантує, що ця допомога справді буде помічною.

Похожие статьи:
Володимир Кубицький тепер очолюватиме АІ-команду в продуктовій компанії MacPaw. До цього він був на посаді Chief Innovation Officer / Head of AI в ЛУН....
У Міноборони повідомили про створення державного підприємства «Цифрова армія». Воно має стати платформою, яка об’єднає цифрові...
Компания J’son & Partners Consulting представила основные результаты исследования рынка M2M/IoT в области интеллектуальной транспортной...
На другому році повномасштабної війни збори на підтримку армії вже стали звичною частиною нашого життя. Минулого літа...
До вашої уваги дайджест навчальних програм для тих, хто починає свою кар’єру в ІТ. В цьому номері зібрані можливості,...
Яндекс.Метрика