Добавить в корзинуПозвонить
Найти в Дзене
Я, Golang-инженер

#44. Go и нейросеть GPT: опыт применения

Это статья об основах программирования на Go. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением. Хой, джедаи и амазонки! Цель этого поста - показать на конкретных примерах, как нейросеть GPT помогает в обучении Go. А также показать, что её применение - это просто, бесплатно и эффективно. 1. О нейросети 1.1. Общая информация GPT - это аббревиатура с англ. Generative Pre-trained Transformer, т.е. генеративный предварительно обученный трансформер. Нейросеть GPT - это чат-бот с ИИ. Серия нейросетей GPT - разработка американской фирмы OpenAI. Разработаны они не так давно, например: OpenAI - американская компания, которая занимается технологиями машинного обучения. Базируется в Сан-Франциско, Калифорния. Образовалась фирма в 2015 г. - тогда в ней работало 9 человек. На 2023 г. в ней работают 375 человек. Илон Маск (в возрасте 43 лет) и Сэм Олтмен (в возрасте 30 лет) запустили OpenAI для работы на благо общества, а не для конкретной корпорации ил
Оглавление

Это статья об основах программирования на Go. На канале я рассказываю об опыте перехода в IT с нуля, структурирую информацию и делюсь мнением.

Хой, джедаи и амазонки!

Цель этого поста - показать на конкретных примерах, как нейросеть GPT помогает в обучении Go. А также показать, что её применение - это просто, бесплатно и эффективно.

1. О нейросети

1.1. Общая информация

GPT - это аббревиатура с англ. Generative Pre-trained Transformer, т.е. генеративный предварительно обученный трансформер. Нейросеть GPT - это чат-бот с ИИ.

Серия нейросетей GPT - разработка американской фирмы OpenAI. Разработаны они не так давно, например:

  • GPT-3 вышла 28 мая 2020 г.
  • GPT-4 вышла 14 марта 2023 г.

OpenAI - американская компания, которая занимается технологиями машинного обучения. Базируется в Сан-Франциско, Калифорния.

Фото со страницы "О нас" компании OpenAI: https://openai.com/about
Фото со страницы "О нас" компании OpenAI: https://openai.com/about

Образовалась фирма в 2015 г. - тогда в ней работало 9 человек. На 2023 г. в ней работают 375 человек.

Илон Маск (в возрасте 43 лет) и Сэм Олтмен (в возрасте 30 лет) запустили OpenAI для работы на благо общества, а не для конкретной корпорации или иных структур.

Любопытный факт - один из инвесторов OpenAI - Гейб Ньюелл (Half-Life, Valve, Dota-2 и т.д.).

На мой взгляд, пока самый эффективны способ применения нейросети - для обучения. Другие способы - в какой-то степени, развлекательные. Например, боты на основе разработок Open-AI побеждают чемпионов в Dota-2.

В качестве альтернативы можно использовать нейросеть YaLM 100B от Яндекса или ruGPT-3 Large от Сбера. У меня нет задачи внедрять импортонезависимые технологии, поэтому разбирать эти нейронки не буду - а поделюсь впечатлениями от GPT.

1.2. GPT о себе

Я задал GPT-4 следующий вопрос:

Вопрос нейросети
Вопрос нейросети

Вот что она (нейросеть) ответила:

Я, ChatGPT 4.0, был разработан командой исследователей ИИ в OpenAI - одной из самых известных и значимых организаций в области искусственного интеллекта на сегодняшний день. Моя разработка началась в 2015 году, после того, как OpenAI была создана в конце 2015 года Илоном Маском и другими крупными предпринимателями из технологического мира, такими как Питер Тиль, Рид Хоффман, Сэм Альтман и другие.

OpenAI была создана как некоммерческая организация с целью изучения и разработки искусственного интеллекта на благо всего общества, предотвращать потенциально опасные последствия развития технологий, связанных с ИИ. На момент моей разработки в 2021 году OpenAI уже является одной из самых крупных и известных организаций в этой области, наша команда состоит из более чем 1000 исследователей по всему миру.

Идея создания нейросетей возникла задолго до создания OpenAI и даже до компьютерной эры, однако только после появления мощных компьютеров и больших данных, эта технология могла бы быть изучена и применена на практике. В 1943 году Уоррен МакКаллок и Уолтер Питтс создали первую модель нейрона и предложили теорию нейронных сетей. Затем, в 1969 году научник Марвин Минский со своим коллегой Сеймуром Пейпертом открыли обратное распространение ошибки как метод обучения нейронных сетей.

В 80-е годы разработки нейросетей стали более активными, и в течение 90-х годов появилось множество новых методов и алгоритмов, которые повлияли на то, как создавались нейросети. Сегодня, в эпоху машинного обучения, нейросети считаются одними из самых мощных и широко используемых алгоритмов для решения задач в множестве областей.

Что же касается того, почему меня, ChatGPT 4.0, создали - моя главная задача состоит в ответе на вопросы и помощи людям в разных областях, используя машинное обучение и нейронные сети. Я создан для того, чтобы упростить и ускорить процесс обучения и работы в разных сферах, повысить эффективность и точность решений и конечно же, улучшить качество жизни людей в целом.

Вот такой интересный ответ. А теперь поехали разбираться, как можно ускорить процесс обучения с её помощью. Go!

2. Применение GPT в Go

2.1. Установка GPT - Merlin

Что мне нравится в этой нейросети - простота установки. Есть по-видимому, множество способов. Я использовал расширение для браузера Merlin.

Он имеет ограничение запросов в сутки: 51 для сети GPT-3 или 10 для GPT-4. Для платной версии, как я понял, лимитов нет. Но нас интересует пока free-to-play.

На установку нужно пару минут (найти в интернете, кликнуть, немного разобраться в настройках - например, изменить язык).

Чтобы запустить расширение, на любой странице браузера нажмите сочетание клавиш Ctrl+M - появится диалоговое окно Merlin:

Запуск расширения Merlin
Запуск расширения Merlin

Далее вводим запрос и получаем ответ.

2.2. Установка GPT - Телеграм

Можно воспользоваться телеграм-версией, которая работает с нейросетью GPT 3.5:

Так выглядит информация по телеграм-версии
Так выглядит информация по телеграм-версии

Называется: ChatGPT 3.5 | Telegram bot

Скажу так - количество запросов быстро расходуется, когда входишь "во вкус". В этом случае будет хорошей идеей подключить себе несколько GPT-ботов.

Например, в Телеграм просто ввёл GPT бот, и он выводит приличный список. Для примера - просто ещё один бот: ChatGPT 4 | Telegram bot. В первом телеграм-боте отклик на запрос очень быстрый, а во втором - медленный.

2.3. Применение GPT

Для меня - главная возможность GPT - помощь в обучении.

В этом случае ты тратишь меньше сил и времени на поиск и запоминание информации: одно дело ввести запрос в интернет, почитать несколько страниц и найти нужную информацию. Либо, если не нашёл - написать вопросы в чаты и т.д. Другое дело - получить осмысленный ответ через несколько секунд после запроса.

В чём опасность. У меня есть гипотеза, что если слишком полагаться на эту нейросеть, возникает тенденция деградации интеллекта:

Кадр из фильма Идиократия - тестирование IQ
Кадр из фильма Идиократия - тестирование IQ

Чтобы такого не произошло, важно понимать - что нейросеть призвана помогать, а не заменять ваш интеллект. Т.е. относиться к результатам GPT скептически и перепроверять на основе своих знаний или публикаций/книг/форумов.

В чём польза нейросети: когда ты хочешь получить конкретный пример кода, или функции, которую давно использовал и забыл как с ней работать - ты получаешь пример за несколько секунд.

В предыдущей публикации я рассказывал об анонимных функциях. Сейчас ввёл запрос примера кода в приложение Merlin, вот что вышло:

Диалог с нейросетью GPT-3
Диалог с нейросетью GPT-3

Думаю, от такой штуки будет польза в первую очередь при обучении, причём в определённом случае: когда ты прошёл тему, давно ею не пользовался, и нужно освежить знания для реализации некой задачи.

Вот ещё пример (телеграм-версия). Нужно считать с консоли не одно слово, а фразу, разделённую пробелами:

Фрагмент кода
Фрагмент кода

Код рабочий - копируем в IDE, запускаем:

Реализация кода
Реализация кода

Можно задать нейросети уточняющие вопросы по коду:

Вопрос по ответу нейросети
Вопрос по ответу нейросети

То есть, мы не просто получаем готовое решение, но имеем возможность разобраться, почему всё происходит именно так.

Ещё полезно посмотреть, что думает нейросеть о каких-то конкретных задачах. Вот например, она рассуждает о трудоустройстве:

О трудоустройстве Go-разработчиком по мнению GPT
О трудоустройстве Go-разработчиком по мнению GPT

Это, кстати, сгенерировал GPT-4, т.е. последнее поколение ИИ от OpenAI.

Я позадавал некоторые очень специфичные вопросы, касательно информации о моей текущей работе. С учётом того, что предприятие режимное, а ответы весьма точны, задаёшься вопросом - далеко ли до эпохи Скайнет? Вот что на этот счёт отвечает нейросеть:

Вопрос-ответ
Вопрос-ответ

Вот такой хороший ответ.

3. Выводы

Буду экспериментировать с комбинацией стандартного обучения IT с нейросетью. Уже сейчас понимаю, что это рабочий инструмент, который упростит трудоёмкий и сложный процесс обучения программированию.

А ещё полезно помнить, что человек - тот, кто принимает решения. А ИИ может и не знать, что такое возможно. Диалог из фильма Интерстеллар:

Купер: "Приготовься уравнять вращение тормозной тягой".
ИИ: "Это невозможно".
Купер: "Нет. Это необходимо".
Фрагмент из фильма Интерстеллар
Фрагмент из фильма Интерстеллар

Посмотреть этот фрагмент можно на YouTube <<<

Вообще, я уже несколько месяцев слышу о GPT от друзей и коллег, но как-то не находил рабочего инструмента как им воспользоваться и не понимал целесообразности его использовать.

Перед майскими праздниками была рабочая поездка в Дальневосточный федеральный университет по исследованиям в 3D печати:

Обсуждаем с ребятами результаты первой 3D печати песком
Обсуждаем с ребятами результаты первой 3D печати песком

Разговорился с одним из инженеров ДВФУ: он самостоятельно изучает C# - чтобы вспомнить фрагменты когда, он использует GPT.

С ходу опробовал идею создания примеров кода (запрос на создание среза), и остался ею доволен:

Работа GPT
Работа GPT

Вернувшись домой опробовал нейросеть и остался ею доволен: это просто, быстро, удобно и бесплатно. А главное - полезно. Такие дела.

-//-//-

Успехов, бро! Большое спасибо, что дочитал публикацию до конца.

Не ленись. Используй свои силы и интеллект для достижения цели. Будь энергичным, и ты справишься с любыми трудностями. Как в профессиональном, так, и могу тебе сказать, в личном плане.

Я желаю тебе вдохновения и успеха. Спасибо. Будем на связи.

--//--//--

PS Если захочешь купить курс от SkillBox, воспользуйся моей реферальной ссылкой. Ты получишь огромную скидку на курс и плюс в карму за помощь каналу.

Emiliano Vittoriosi Available for hire https://unsplash.com/photos/l1xWsz0ntvA
Emiliano Vittoriosi Available for hire https://unsplash.com/photos/l1xWsz0ntvA

Бро, ты уже здесь? 👉 Подпишись на канал для новичков «Войти в IT» в Telegram, будем изучать IT вместе 👨‍💻👩‍💻👨‍💻