Цифровые технологии и искусственный интеллект. Учебное пособие
Валентин Юльевич Арьков
Если к любому названию добавить слово «цифровые», получается что-то новое, заманчивое. Обещающее хорошую зарплату. А если к цифровизации добавить искусственный интеллект, то зарплата должна подняться до неприличных высот. Что скрывают от нас цифровизаторы и оптимизаторы? Как выглядит под капотом тот самый искусственный интеллект, которому почему-то «нет оснований не доверять»? Разбираемся и удивляемся.
Цифровые технологии и искусственный интеллект
Учебное пособие
Валентин Юльевич Арьков
Дизайнер обложки Нейросеть "Кандинский"
© Валентин Юльевич Арьков, 2024
© Нейросеть "Кандинский", дизайн обложки, 2024
ISBN 978-5-0064-8583-9
Создано в интеллектуальной издательской системе Ridero
Предисловие
Перед вами учебное пособие. Это не учебник. Эта книга не заменяет большие, толстые, серьёзные, дорогие издания в красивых обложках, а только дополняет их.
Учебное пособие помогает в освоении материала, помогает учиться. Поэтому его и называют «пособие». Это слово происходит от древнего слова «пособИть» или «пособлять» – то есть «помогать, содействовать, способствовать».
В пособии подробно разбирают какой-нибудь раздел, какое-нибудь часть предмета, дисциплины. Зато здесь даётся больше деталей, нюансов, много практических примеров, упражнений и заданий. Это помогает (то есть «пособляет») в учебе.
С другой стороны, есть книги под названием «учебники». Учебник должен давать полную представление о своём предмете. Здесь должны быть описаны все разделы предмета. В нем будет много теории. Он должен позволить нам изучить предмет полностью.
А ещё бывают книги, на которых написано «учебник» или «учебное пособие». Но это совсем не означает, что внутри обязательно будет что-то полезное. Как говорится в народной пословице: «доверяй, но проверяй». Или как в рекламе: «не все йогурты одинаково полезны…»
Приходится учиться различать, какие книжки хорошие, а какие не очень. Что поможет в учёте, а что помешает.
С компьютерными технологиями есть ещё одна неприятность. Слишком быстро развиваются технологии. Учебники не успевают выпустить, а они уже устарели. Пособие выходит быстрее. Можно за неделю выпустить его в жизнь. Чем мы и занимаемся.
Какую книгу выбрать – для того, чтобы изучить какой-нибудь предмет? Это зависит от человека. Можно открыть книгу в магазине или скачать файл в интернете – и просто пролистать несколько страниц. Почувствуйте на себе, насколько вам подходит этот текст. Сможете ли вы прочитать ещё несколько страниц? Желательно с пониманием и без отвращения.
Все люди разные. У каждого свой уровень подготовки. И разным людям помогут разные материалы для изучения. Кому-то нужно побольше картинок, а кому-то подробные объяснения. А кому-то наоборот – надо покороче и побыстрее.
Возможно, это пособие поможет именно вам сделать первые шаги в изучении информационных технологий.
Введение
В рамках лабораторных работ мы будем знакомиться с возможностями интеллектуальных систем и сразу же будем рассматривать практические примеры применения этих возможностей. Область искусственного интеллекта охватывает самые разные методы и инструменты. На сегодняшний день чаще всего говорят о нейросетях. Вот эту тему мы и будем обсуждать на протяжении нескольких занятий.
Каждое занятие – это ещё один полезный навык. За считанные часы вы научитесь и сможете
– грамотно составлять подробные запросы к нейросети
– создавать персонального интеллектуального бота в Телеграм
– работать с текстовыми файлами и диаграммами с помощью кода
– измерять и улучшать свойства алгоритмов
– работать с электронными таблицами и текстовыми редакторами, облачными сервисами и другими полезными инструментами
В рамках этого учебного пособия мы обсуждаем самые основы предмета, самые базовые понятия и технологии. Для этого материал даётся и объясняется очень простыми словами. Эти пояснения предназначены для тех, кто только начинает знакомиться в современными технологиями. Поэтому не удивляйтесь, что объяснения будут очень приблизительные и упрощённые. Сложные слова и запутанные материалы вы легко сможете найти в толстых учебниках, если будет такое желание.
1. Конструирование запросов
В этой работе мы рассматриваем основные правила построения запросов к нейронной сети. Контент, который будет сгенерирован в ответ на наш запрос, зависит от того, насколько подробно и тщательно мы сформулировали наше задание. Один из самых популярных интеллектуальных инструментов на сегодняшний день – это большие языковые модели – Large Language Models (LLM). Они действительно большие, в буквальном смысле слова, потому что внутри содержат миллиарды параметров (коэффициентов). При обучении таких моделей подбирают значение этих коэффициентов. а для этого используют огромное количество материалов, в основном, взятых из интернет.
Интеллектуальные системы, которые создают новые объекты (текст, изображение, звук, видео и так далее), в настоящее время обычно называют генеративным искусственным интеллектом (Generative Artificial Intelligence, Gen-AI). Технология составления заданий для таких систем называется конструирование запросов (Prompt Engineering).
Интеллектуальные системы – это не какая-то очередная заумная, абстрактная теория. Это практичные, работающие инструменты, причём иногда даже неплохо работающие инструменты. Так что в процессе знакомства с искусственным интеллектом мы будем не просто искать информацию в интернете, но и сразу же применять полученные знания.
Если где-то в интернете, на каком-то сайте что-то написано, наша задача будет проверить и убедиться в этом лично. Одно дело, когда нам советуют: «Запрос к нейросети надо писать вот так…» Мы посмотрим на эту инструкцию и сразу же проверим, насколько это правда. Насколько это полезно и удобно.
Всё, что пишут в интернете, пишут люди. А в последнее время даже и не люди, а нейросети или боты. И нет здесь никакой ответственности – за правильность и за результаты.
Специалисты по информационной безопасности предупреждают и объясняют… Проблема в том, что интернет – это не то же самое, что водопровод. Если открыть водопроводный кран, из него потечет вода. И во многих наших городах её даже можно пить – прямо из крана. Есть города, где сначала надо бы её прокипятить. Так вот, из интернет «потечёт» всё, что угодно. Может потечь питьевая вода, а может потечь какая-нибудь отрава. И когда мы выходим в интернет, мы сталкиваемся с тем, что не всем и не всему можно верить. Наша задача научиться отличать – где правда и где неправда. И сразу же проверять. Как говорится, доверяй, но проверяй.
Кстати говоря, поскольку большие языковые модели обучают на материалах из интернета, они осваивают всё – в том числе вредное, неправильное и нежелательное. Это примерно как учить ребёнка читать по надписям на заборе. После такого «обучения» он будет удивлять своих родителей и радовать сверстников. Поэтому при обучении нейросетей есть дополнительный этап, на котором сгенерированные ответы проверяют специально подготовленные люди. Это нужно, чтобы обучить нейросеть «хорошим манерам».
В рамках этого занятия нас будет интересовать такой вопрос: как писать запросы к нейросети? Запросы по-английски называются промты или промпты – prompt.
Поисковый запрос
Первое действие очень простое. Открываем какую-нибудь поисковую машину. И задаем ей такой вопрос: «Как писать запросы к нейросети?» Естественно, на экране появится множество ссылок. Мы просматриваем хотя бы первую страницу и пытаемся перейти по некоторым ссылкам, которые нам приглянулись. Наша цель – вначале понять основную идею, посмотреть на основные моменты – что нам советуют. Мы должны просмотреть результаты поиска и извлечь для себя основные, ключевые моменты. В интернете мы находим много всякого текста, но наша задача извлечь из этого что-то полезное.
Затем мы возвращаемся к началу. А зачем мы это спрашивали? Какая была конечная цель? И тогда можно будет наш запрос постепенно уточнять.
Задание. Используя поисковые машины, сформируйте список основных правил составления запросов к нейросети. Это будет начало нашего отчёта. Отчёт у нас будет в электронном виде.
Оформляем отчёт
По каждой работе мы составляем неформальный отчёт. В этом отчёте мы описываем то, что мы сделали и что нам удалось узнать. Попутно мы с вами проходим весь цикл работы. От начала до оформления результата. Чтобы прочувствовать общую схему работы, просмотрите раздел «Облачные отчеты» в конце пособия.
Результаты будем оформлять в облаке. Или хотя бы размещать в облаке. Как вы знаете, есть облачные офисные продукты. Есть продукты зарубежные, в том числе, и бесплатные. Есть аналогичные отечественные сервисы – в них и будем работать. Это не самый лучший и не самый худший вариант. По крайней мере, отечественный. И есть надежда, что он не заблокируется и не исчезнет в ближайшее время.
В отдельной вкладке открываем отечественный облачный офис. Для этого понадобится бесплатная учётная запись – такая же, как для электронной почты. Создаём новый документ. Интерфейс чем-то напоминает привычный настольный вариант. Вот в этом облачном документе нам и предстоит начать писать отчет по лабораторной работе. Затем мы можем просто передать ссылку на отчёт и не пересылать сам файл: Поделиться – Просмотр – Скопировать ссылку.
Вначале мы создаём новый документ. Как его назвать? Обычное решение: «лаба», или «отчет», или «мой отчет». Это хорошо, если такой документ у нас один-единственный. Теперь представим себе два-три таких файла с названием «Отчет» и «мой отчет»… Становится понятно, что в названии должен быть смысл. А ещё у нас могут быть разные дисциплины, а по ним могут быть разные виды занятий, так что «отчеты» могут быть разные.
Теперь подумайте, какие сведения в названии будут самые главные? То, что это отчет? Или то, что это «лаба»? И если вы этот отчет кому-то еще отправляете, как его отличить от остальных, от 20—30 таких же документов – тоже с названием «отчет»?
Напомним, что отчет – это такое произведение, у которого есть название и автор. Так что, на самом деле, разница будет в названии предмета и самого документа. Ещё у нас есть фамилия автора документа – конкретного студента. У нас редко бывает одинаковые фамилии в одной группе – тогда добавим инициалы. И, конечно, есть номер группы. Вот это ключевые моменты для названия документа. Теперь расположим их в порядке важности: фамилия, группа, название предмета. Название предмета можно сокращенно. Можно указать номер лабораторной работы. Получаем что-то вроде «Иванов-ЛР1-ЦТИИ-ИВТ123».