Содержание:
В статье Олег Булыгин, внешний консультант в области Data Science, аналитики и разработки и преподаватель «Нетологии» на курсах «Python-разработчик с нуля», рассказывает, почему самым популярным языком для программирования ИИ стал Python и какие инструменты на основе машинного обучения и нейросетей может использовать любая компания.
Сегодня искусственный интеллект применяют 35% компаний, еще 42% — планируют внедрять его в будущем. Алгоритм ИИ задействуют везде, где необходима обработка больших данных: Google с его помощью анализирует поисковую выдачу, YouTube подбирает рекомендуемые видео, Tinder — потенциальных партнеров, а Coca-Cola использует ChatGPT и DALL-E для улучшения маркетинга, создания креативов и привлечения новых клиентов.
4 преимущества Python для работы над ИИ
Python — один из самых популярных языков программирования в мире: его используют 48% IT-специалистов. По итогам 2022 года он стал лидером в рейтинге IEEE Spectrum и индекса TIOBE и занял второе место в опросе JetBrains.
Python уже второй год возглавляет топ популярных языков по индексу TIOBE
Есть несколько особенностей, за которые Python выбирают ML-специалисты:
1. Простой синтаксис
Этот принцип отражается в философии языка «Дзен Пайтона»:
- Красивое лучше, чем уродливое.
- Явное лучше, чем неявное.
- Простое лучше, чем сложное.
- Читаемость имеет значение.
- Если реализацию сложно объяснить, — идея плоха.
- Если реализацию легко объяснить, — идея, вероятнее всего, хороша.
Понятный синтаксис языка помогает быстрее тестировать гипотезы, разрабатывать программы и отлаживать их, а простой читаемый код способствует быстрому распространению идей и обмену опытом.
2. Готовые библиотеки
В одном из самых популярных каталогов программного обеспечения, написанного на Python, PyPI сейчас насчитывается более 400 проектов. Среди них, например, есть и такие, которые значительно упрощают и ускоряют сложные вычисления, разработку алгоритмов ML и работу с данными:
Пример проектов в PyPI
- TensorFlow — открытая библиотека для машинного обучения от Google, которая позволяет создавать и обучать нейросети.
- PyTorch — конкурент TenserFlow от Facebook. Эта библиотека проще в применении для пользователей за счет простого в применении API.
- Scikit-learn предоставляет функционал, который позволяет масштабировать и кодировать данные для моделей машинного обучения, а также строить и оценивать их.
- Pandas помогает обрабатывать и анализировать табличные данные, а также подготавливать их для дальнейшего обучения алгоритмов.
- NumPy предназначена для работы с многомерными массивами и матрицами, которые широко используются в анализе данных.
- Gensim — библиотека для неконтролируемого тематического моделирования и анализа сходства документов. Она широко используется для таких задач, как обобщение текста и кластеризациия документов. Например, если обучить ИИ и применить функцию most_similar(), можно найти слова, похожие на введенное.
3. Кросс-платформенность
Один и тот же код, написанный на Python, будет одинаково хорошо работать на различных операционных системах. Это существенно ускоряет процесс разработки, так как нет необходимости создавать отдельные версии под Windows, Linux, macOS и, соответственно, позже тестировать каждую из них.
Также программисты, которые пишут ИИ на Python на разных ОС, могут легко взаимодействовать в рамках проекта, что помогает снизить затраты на кросс-платформенную разработку для бизнеса.
4. Комьюнити разработчиков
Разработчики, которые используют Python, объединяются в сообщества по всему миру, где обмениваются знаниями по разным направлением использования языка программирования, в том числе и в машинном обучении. Например, в MoscowPython регулярно проходят митапы, на которых программисты делятся своими кейсами и наработками.
Что, кроме Python, нужно знать, чтобы внедрять решения на базе AI
В отличие от открытых решений на базе машинного обучения и нейросетей, таких как ChatGPT и Midjourney, разработать и внедрить технологии искусственного интеллекта способны только разработчики с определенным техническим бэкграундом. Таких специалистов, например, обучают в Нетологии на курсе «Data Scientist». Помимо Python, они должны знать:
- Высшую математику. Решение математических задач способствует развитию алгоритмического мышления — навыка, который лежит в основе работы любого разработчика в сфере машинного обучения. Для создания ИИ-инструментов нужно выучить заново или освежить темы из университетского курса:
- линейную алгебру (понятие скаляра, вектора, матрицы, тензора и действий над ними);
- математический анализ (производные, векторное/матричное исчисление/градиентные алгоритмы);
- теорию вероятностей и статистику (основы статистики, основы работы с вероятностями, случайные величины, теорема Байеса, распределения).
- Английский язык. Без знания этого иностранного языка невозможно стать востребованным специалистом в сфере ИИ: все новые статьи и разработки, в первую очередь появляются в зарубежных источниках.
- Базы данных (БД), которые используют для хранения и организации данных, на которых впоследствие обучают модели машинного обучения и нейросети. Чтобы корректно извлекать информацию из БД, также важно знать основы SQL (Structured Query Language).
Какие технологии на основе ИИ может использовать любой бизнес
Большинство корпоративных решений на базе искусственного интеллекта — внутренние дорогостоящие разработки, для создания которых необходима команда IT-специалистов и менеджеров. Например, в банках AI используют в кредитных продуктах для скоринга: благодаря этому можно автоматически принять решение по выдаче кредита. Внедряют такие инструменты и на производстве, например, в BMW ИИ используют, чтобы оценить изображения компонентов и выявить в них отклонения от стандарта в режиме реального времени.
Тем не менее, есть и такие технологии, которые может использовать любой бизнес: для этого берут готовое решение и дорабатывают под собственные нужды.
1. Компьютерное зрение
Это набор технологий, который позволяет при помощи нейросетей обрабатывать визуальную информацию с камер. Благодаря машинному зрению можно распознавать штрих-коды, текст, изображения, в т.ч. людей, а также конкретно их лица и движения. Например, биометрическая система позволяет верифицировать личность для доступа в офис или для оплаты товаров и услуг, а в «Пятерочке» ее применяют для «узнавания» постоянных клиентов, чтобы автоматически предлагать им скидки, и для выявления серийных магазинных воров. С помощью системы распознавания жестов же можно взмахом руки попросить переключить музыку или изменить громкость трека. Так, Google внедрила ее в мобильные устройства и умные колонки, а Huawei — в свой флагманский смартфон.
Такие инструменты повышают безопасность и уровень сервиса, ведь человеку не приходится вводить дополнительные данные для проверки или нажимать на кнопки для управления оборудованием.
2. RPA (роботизация бизнес-процессов)
По данным ICT.Moscow, каждый второй представитель среднего бизнеса и 40% компаний малого бизнеса используют программы на базе AI для автоматизации разнообразных задач. Например, российский сервис Directum RX помогает классифицировать входящие электронные письма и документы по типам, чтобы снизить время их обработки, а другая отечественная RPA Sherpa проверяет контрагентов перед заключением договора.
3. Прогнозные модели
Такие инструменты могут применяться в абсолютно разных сферах: от ритейла (чтобы предсказывать продажи в супермаркетах, как это делает X5 Retail Group для каждого из своих 16 000 магазинов) до логистики, чтобы планировать поставки. Благодаря использованию таких технологий можно прогнозировать спрос на ресурсы, сырье, рабочую силу, а также создавать более эффективные стратегии развития бизнеса, корректировать маркетинг и финансовые операции и улучшать пользовательский опыт.
4. Генеративные модели
Компании активно внедряют алгоритмы AI для генерации изображений, текста и видео в свои сервисы для улучшения пользовательского опыта. Так, Duolingo анонсировала новые функции в приложении на основе GPT-4: в одной из них пользователь может практиковать иностранный язык в диалоге с персонажами сервиса, а в другой — узнать больше о своем ответе на уроке, чтобы понять, например, почему человек совершает одну и ту же ошибку. А в современных архитектурных бюро же используют сервисы для генеративного дизайна, которые помогают оптимизировать придуманные решения, например, заменяют узел из нескольких деталей в чертеже на такой же с одним компонентом.
Перспективы развития ИИ
По мнению американской исследовательской компании Gartner, практически все прорывные цифровые технологии, которые планируют выпустить в ближайшие 6-8 лет, связаны с искусственным интеллектом, поэтому необходимость использования таких технологий будет возрастать. В своем исследовании она обозначила три главных технологических тренда:
1. Самообучающиеся алгоритмы, которые позволяют использовать большие массивы данных без их предварительной подготовки (т.н. «разметки»). Такой подход наиболее актуален для задач, связанных с компьютерным зрением, например, когда нужно верифицировать ручные подписи или определить расстояние до объекта на видео, и задач обработки естественного языка, при которых на вход моделям подаются текстовые документы и далее с помощью ИИ могут прогнозироваться следующие предложения или автоматически определяться «токсичные» фразы.
2. Нейроморфные вычисления позволят точнее моделировать работу человеческого мозга с помощью создания большего числа искусственных нейронов в одной сети. Например, уже сейчас в рамках проекта OpenWorm разработали копию нервной системы круглого червя Caenorhabditis elegans, состоящей из 302 нейронов. Благодаря этому можно будет повысить точность продуктов на базе ИИ и оптимизировать их производительность.
3. Человекоориентированный искусственный интеллект (Human-centered AI, HCAI). В отличие от описанных выше технологий, цель этого продукта — не заместить людей, а подружить их с ИИ в максимальном числе отраслей и сфер применения через совместную работу. Мировые ИТ-корпорации, такие как Google, развивают AI, в котором по умолчанию оставляют место для человека. Благодаря HCAI специалисты смогут качественнее и быстрее принимать решения, а искусственный интеллект будет работать безопаснее и эффективнее.
В ближайшие годы объем технологий на основе машинного обучения и нейросетей будет кратно увеличиваться. Если в 2022-м размер глобального рынка оценивался в $136,6 млн, то к 2030 прогнозируют рост до $1,811,8 млрд. Уже сегодня компании, которые не делают фокус на развитии и внедрении AI, не просто начинают отставать от более технологичных организаций, но и рискуют, что их клиенты уйдут к конкурентам, использующим ИИ: так, Google может потерять контракт с Samsung на 23 млрд долларов, так как последняя рассматривает возможность замены поисковика корпорации на продукт от Microsoft Bing, в котором интегрирован чат-бот. Поэтому бизнесу желательно определить, какие технологии искусственного интеллекта он может внедрить, чтобы оптимизировать внутренние процессы и повысить свою привлекательность на рынке.
Фото на обложке: Изображение от pressfoto на Freepik