Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
seml:seml [2020/05/17 16:12] user |
seml:seml [2024/02/04 17:15] user |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Программная инженерия для анализа данных ===== | ||
+ | |||
+ | В курсе рассматриваются вопросы разработки систем обработки данных и машинного обучения. | ||
+ | * Как вывести разработанную модель в продакшен? | ||
+ | * Что делать для совместной работы над наукоемким ПО? | ||
+ | * Как не потерять ранее достигнутые исследовательские результаты? | ||
+ | |||
+ | В результате освоения курса слушатели приобретают навыки промышленной разработки алгоритмов машинного обучения, | ||
+ | |||
+ | Темы курса | ||
+ | * Структурирование программ обработки данных (CODE) | ||
+ | * Написание надежного кода (CODE) | ||
+ | * Проектирование систем и хранение данных в системах машинного обучения (DATA) | ||
+ | * Процессы и виды работ в проекте анализа данных (PROC) | ||
+ | * Обеспечение повторяемости результатов (PROC) | ||
+ | * Тестирование наукоемкого ПО (TEST) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== План курса (2020) ==== | ||
+ | |||
+ | ^№^Тема^ | ||
+ | |1.| Введение. Проблемы разработки наукоемкого ПО. Качество программных систем. | | ||
+ | |2.| Понятный код. Оформление и стандарты. Технический долг. Проведение код ревью. | | ||
+ | |3.| Декомпозиция программ обработки данных. Метод постепенного уточнения. Повторное использование. | | ||
+ | |4.| Совместная разработка. Непрерывная интеграция. Гибкие процессы разработки. | | ||
+ | |5.| Процесс анализа данных. Исследовательский анализ (EDA). Представление результатов. | | ||
+ | |6.| Повторное использование. Объектные методы. Структуры репозиториев. | | ||
+ | |7.| Тестирование систем анализа данных. Методы модульного тестирования. Инструменты автоматизации поставки, | ||
+ | |8.| Тестирование инвариантами. Adversarial testing. Тестирование наукоемкого ПО. | | ||
+ | |9.| Проблема повторяемости экспериментов. Что входит в эксперимент. Конфигурация. Лаборатория данных | | ||
+ | |10.| Продуктивизация ML в виде сервисов. Реализация микросервисов в Python для поставки моделей. Создание API. Принципы REST и HATEOAS. | | ||
+ | |11.| Хранение данных. Релационная, | ||
+ | |12.| Технологии параллельной обработки данных. Master/ | ||
+ | |13.| Технологии GitOps, MLOps. Технологии сжатия и ускорение моделей. Средства представления API моделей. Стандартные протоколы. | | ||
+ | |||
+ | |||
+ | |||
+ | ==== Курсовой проект ==== | ||
+ | |||
+ | Курсовой проект посвящен созданию собственного микросервиса с моделью машинного обучения в соответствии с процессами CI/CD или разработки повторно-используемой библиотеки с реализацией алгоритмом решения прикладной ML задачи. | ||
+ | |||
+ | Задания выполняются в соответствии с процессом Scrum и CI/CD. Каждое задание - это отдельный спринт. | ||
+ | |||
+ | ^#^Тема задания^ | ||
+ | |1.| Документирование и ревью кода | | ||
+ | |2.| Реализация модели. Структурирование программы | | ||
+ | |3.| Автоматизация поставки и модульное тестирование | | ||
+ | |4.| Тестирование. Непрерывная интеграция | | ||
+ | |5.| Реализация микросервиса или микроесервиса. Использования СУБД. Воспроизводимое обучение | | ||
+ | |6.| Размещение сервиса в облаке, | ||
+ | |||
+ | |||
+ | ==== Критерии оценивания ==== | ||
+ | |||
+ | Итоговая оценка по курсу формируется из успешности выполнения заданий по ходу семестра - по 10% за каждое задание, | ||
+ | |||
+ | |||
+ | ==== Литература ==== | ||
+ | |||
+ | - Материалы лекций | ||
+ | - Davy Cielen, Arno D.B. Meysman, Mohamed Ali. Introducing Data Science (book) | ||
+ | - NoSQL Distilled (book) | ||
+ | - A Survey on NoSQL Stores (2018) ACM CSUR (paper) | ||
+ | - Kanewala U., Bieman J.M. Testing scientific software: A systematic literature review (paper) | ||
+ | - Gerardo Cerda Neumann, Héctor Antillanca Espina, Víctor Parada Daza. Development of Scientific Software and Practices for Software Development A Systematic Literature Review (paper) | ||
+ | - The Art of Software Testing - Second Edition (book) | ||
+ | - Tarek Ziade. Python Microservices Development (book) | ||
+ | - ГОСТ Р ИСО/ | ||
+ | - Test your Machine Learning Algorithm with Metamorphic Testing https:// | ||
+ | - Recent developments in Adversarial Example https:// | ||
+ | - MapReduce Design Patterns. Book. Donald Miner, Adam Shook (book) | ||
+ | - (2018) On Reproducible AI: Towards Reproducible Research, Open Science, and Digital Scholarship in AI Publications (paper) | ||
+ | |||
+ | |||
+ | ==== Контакты ==== | ||
+ | |||
+ | Контактный адрес: course [at] objectoriented.ru | ||
+ | |||
+ | Хританков Антон Сергеевич, | ||
+ | |||