• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Промышленное программирование на Python

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 48

Программа дисциплины

Аннотация

Дисциплина «Промышленное программирование на Python» предназначена для формирования у студентов практических компетенций в области разработки современных систем искусственного интеллекта на языке Python. Курс ориентирован на подготовку инженеров, способных проектировать, реализовывать, тестировать и сопровождать программное обеспечение для высоконагруженных ML/AI-систем в промышленной эксплуатации. В отличие от традиционных курсов по программированию на Python, дисциплина строится вокруг единого сквозного инженерного проекта, который последовательно развивается на протяжении всего семестра. Студенты проходят полный цикл создания интеллектуальной системы: от подготовки данных и обучения первых моделей машинного обучения до разработки REST API, интеграции больших языковых моделей (LLM), построения сервисной архитектуры и подготовки системы к промышленной эксплуатации. В качестве основного инструмента разработки используется фреймворк PyTorch. На его основе рассматриваются основные подходы к решению задач регрессии, классификации изображений, обработки естественного языка и построения мультимодальных моделей, объединяющих различные источники данных. Особое внимание уделяется вопросам качества программного обеспечения, воспроизводимости вычислительных экспериментов, тестированию, сопровождению и инженерной культуре разработки. Информационная безопасность рассматривается как неотъемлемое свойство современной AI-системы и проходит сквозной темой через все разделы дисциплины. На каждом этапе разработки рассматриваются базовые требования к защите данных, моделей машинного обучения, программного кода, API и сервисной инфраструктуры. Детальное изучение специализированных методов защиты искусственного интеллекта выполняется в дисциплинах «Безопасность данных и конфиденциальность в ИИ» и «DevSecOps: безопасность в жизненном цикле разработки», тогда как настоящий курс формирует инженерское понимание необходимости безопасной разработки программных решений.
Цель освоения дисциплины

Цель освоения дисциплины

  • Цель дисциплины Целью дисциплины является формирование у студентов практических компетенций по промышленной разработке систем искусственного интеллекта средствами языка Python, включая проектирование архитектуры приложений, разработку моделей машинного обучения, создание сервисов для их эксплуатации, обеспечение качества программного обеспечения и применение базовых принципов безопасной разработки AI-систем.
  • Задачи дисциплины В результате освоения дисциплины студент должен получить практический опыт: • разработки программных проектов на языке Python с использованием современных инженерных практик; • построения моделей машинного обучения на базе библиотеки PyTorch; • разработки сервисов для эксплуатации моделей машинного обучения; • создания REST API для ML-сервисов; • интеграции больших языковых моделей (LLM) в прикладные программные системы; • исследования, модификации и тестирования моделей машинного обучения; • применения методов журналирования, диагностики и сопровождения AI-систем; • использования современных инструментов обеспечения качества программного обеспечения; • понимания основных угроз безопасности систем искусственного интеллекта и применения базовых принципов безопасной разработки; • подготовки программных решений к промышленной эксплуатации.
  • Дисциплина основана на следующих методических принципах: 1. Все практические работы являются последовательными этапами единого инженерного проекта. 2. Каждая новая технология изучается только после возникновения практической необходимости ее применения в проекте. 3. Основной акцент делается на инженерных аспектах разработки программного обеспечения, а не на математических основах машинного обучения. 4. Вопросы информационной безопасности рассматриваются применительно к каждому этапу разработки программной системы и интегрируются в содержание дисциплины без дублирования специализированных курсов по информационной безопасности. 5. Все программные решения разрабатываются с использованием современных практик промышленной разработки: контроля версий, тестирования, журналирования, документирования и сопровождения программного обеспечения.
Планируемые результаты обучения

Планируемые результаты обучения

  • Способен разрабатывать программные системы на языке Python с использованием современных инженерных практик
  • Способен применять библиотеку PyTorch для построения, обучения, исследования и сопровождения моделей машинного обучения
  • Способен проектировать архитектуру прикладных AI/ML-систем с учетом требований промышленной эксплуатации
  • Способен использовать современные библиотеки Python для обработки данных, численных вычислений и построения интеллектуальных сервисов
  • Способен создавать REST API для моделей машинного обучения и интегрировать модели в прикладные программные системы
  • Способен использовать большие языковые модели (LLM) при разработке интеллектуальных сервисов
  • Способен применять современные методы тестирования, журналирования и диагностики программных систем
  • Способен анализировать качество моделей машинного обучения и выполнять их модификацию
  • Способен учитывать основные требования информационной безопасности при разработке AI/ML-систем
  • Способен готовить программные решения к промышленной эксплуатации
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Модуль 1. Введение в инженерную разработку ML-систем
  • Модуль 2. Первая ML-модель на PyTorch
  • Модуль 3. Основы Python для ML-разработки
  • Модуль 4. Инженерный вычислительный эксперимент
  • Модуль 5. Отладка и диагностика ML-систем
  • Модуль 6. NLP и обработка текста
  • Модуль 7. Качество и сопровождение кода
  • Модуль 8. Создание ML API и сервисов
  • Модуль 9. Безопасность AI/ML-систем
  • Модуль 10. LLM API и Prompt Engineering
Элементы контроля

Элементы контроля

  • неблокирующий Лабораторные работы
    Практические работы 1. Подготовка среды разработки и запуск первой модели PyTorch. 2. Исследование архитектуры и модификация нейронной сети. 3. Проведение инженерного вычислительного эксперимента по исследованию влияния гиперпараметров обучения. 4. Отладка, журналирование и диагностика процесса обучения модели. 5. Разработка компонента обработки текстовой информации средствами spaCy. 6. Разработка и автоматизированное тестирование программных компонентов ML-системы. 7. Создание REST API для сервиса машинного обучения. 8. Настройка журналирования, профилирования и мониторинга ML-сервиса. 9. Анализ угроз и исследование базовых механизмов защиты AI/ML-систем. 10. Интеграция LLM API и разработка интеллектуального сервиса на основе созданной системы.
  • неблокирующий Индивидуальные задания
  • неблокирующий Итоговый проект ML-сервиса
    Практическая часть дисциплины организована в формате единого сквозного инженерного проекта. В течение семестра студенты последовательно разрабатывают интеллектуальную систему анализа состояния дорожного покрытия на основе изображений и данных внешних датчиков. По мере изучения новых технологий проект постепенно развивается от простейшей модели машинного обучения до законченного программного сервиса, готового к промышленной эксплуатации. В рамках проекта студенты последовательно реализуют: • подготовку и исследование исходных данных; • модель регрессии; • модель классификации изображений; • мультимодальную модель, объединяющую изображения и табличные данные; • REST API для эксплуатации модели; • интеграцию больших языковых моделей; • тестирование, журналирование и сопровождение программной системы. Использование единого проекта позволяет изучать новые технологии не изолированно, а как взаимосвязанные элементы полного жизненного цикла современной AI-системы.
  • неблокирующий Активность студента, защита решений и участие в обсуждении инженерных подходов
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    0.4 * Лабораторные работы + 0.1 * Активность студента, защита решений и участие в обсуждении инженерных подходов + 0.2 * Индивидуальные задания + 0.3 * Итоговый проект ML-сервиса
Список литературы

Список литературы

Рекомендуемая основная литература

  • 9781789958294 - Raschka, Sebastian; Mirjalili, Vahid - Python Machine Learning : Machine Learning and Deep Learning with Python, Scikit-learn, and TensorFlow 2, 3rd Edition - 2019 - Packt Publishing - http://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=2329991 - nlebk - 2329991

Рекомендуемая дополнительная литература

  • Ian Goodfellow, Yoshua Bengio, & Aaron Courville. (2016). Deep Learning. The MIT Press.

Авторы

  • Иванов Федор Ильич