Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Программная инженерия для анализа данных ===== В курсе рассматриваются вопросы разработки систем обработки данных и машинного обучения. * Как вывести разработанную модель в продакшен? * Что делать для совместной работы над наукоемким ПО? * Как не потерять ранее достигнутые исследовательские результаты? В результате освоения курса слушатели приобретают навыки промышленной разработки алгоритмов машинного обучения, проведения повторяемых экспериментов, использования больших данных, тестирования и процессов выполнения проектов в области машинного обучения. Темы курса * Структурирование программ обработки данных (CODE) * Написание надежного кода (CODE) * Проектирование систем и хранение данных в системах машинного обучения (DATA) * Процессы и виды работ в проекте анализа данных (PROC) * Обеспечение повторяемости результатов (PROC) * Тестирование наукоемкого ПО (TEST) {{seml:seml:seml-topics.doc|Список тем}} для подготовки к зачету. ==== План курса (2020) ==== ^ № ^ Тема ^ | 1. | Введение. Проблемы разработки наукоемкого ПО. Качество программных систем. | | 2. | Понятный код. Оформление и стандарты. Технический долг. Проведение код ревью. | | 3. | Декомпозиция программ обработки данных. Метод постепенного уточнения. Повторное использование. | | 4. | Совместная разработка. Непрерывная интеграция. Гибкие процессы разработки. | | 5. | Процесс анализа данных. Исследовательский анализ (EDA). Представление результатов. | | 6. | Повторное использование. Объектные методы. Структуры репозиториев. | | 7. | Тестирование систем анализа данных. Методы модульного тестирования. Инструменты автоматизации поставки, контейнеризация. | | 8. | Тестирование инвариантами. Adversarial testing. Тестирование наукоемкого ПО. | | 9. | Проблема повторяемости экспериментов. Что входит в эксперимент. Конфигурация. Лаборатория данных | | 10. | Продуктивизация ML в виде сервисов. Реализация микросервисов в Python для поставки моделей. Создание API. Принципы REST и HATEOAS. | | 11. | Хранение данных. Релационная, колоночная, документная и др. модели. Транзакции ACID. Распределенные СУБД. CAP и BASE. | | 12. | Технологии параллельной обработки данных. Master/Slave, MapReduce, RDD(Spark). Если успеем - Kubernetes (pods, svcs, jobs, etc ) для размещения ML сервисов. | | 13. | Технологии GitOps, MLOps. Технологии сжатия и ускорение моделей. Средства представления API моделей. Стандартные протоколы. | ==== Курсовой проект ==== Курсовой проект посвящен созданию собственного микросервиса с моделью машинного обучения в соответствии с процессами CI/CD или разработки повторно-используемой библиотеки с реализацией алгоритмом решения прикладной ML задачи. Задания выполняются в соответствии с процессом Scrum и CI/CD. Каждое задание - это отдельный спринт. ^ # ^ Тема задания ^ | 1. | Документирование и ревью кода | | 2. | Реализация модели. Структурирование программы | | 3. | Автоматизация поставки и модульное тестирование | | 4. | Тестирование. Непрерывная интеграция | | 5. | Реализация микросервиса или микроесервиса. Использования СУБД. Воспроизводимое обучение | | 6. | Размещение сервиса в облаке, публикация библиотеки. | ==== Критерии оценивания ==== Итоговая оценка по курсу формируется из успешности выполнения заданий по ходу семестра - по 10% за каждое задание, и подтверждение на устном опросе владения каждой из тем курса (CODE, TEST, DATA, PROC) - 40% оценки. ==== Литература ==== - Материалы лекций - 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) - ГОСТ Р ИСО/МЭК 25010-2015. Модели качества (standard) - Test your Machine Learning Algorithm with Metamorphic Testing [[https://trustable.ai/testing-ai-metamorphic-testing/|https://trustable.ai/testing-ai-metamorphic-testing/]] (paper) - Recent developments in Adversarial Example [[https://trustable.ai/recent-developments-in-adversarial-example-part-i/|https://trustable.ai/recent-developments-in-adversarial-example-part-i/]] (paper) - 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 Хританков Антон Сергеевич, к.ф.-м.н. - автор курса seml/seml.txt Last modified: 2026/08/29 07:59by 127.0.0.1