Сучасні методи обробки масивів даних - Силабус освітнього компонента
Реквізити навчальної дисципліни
Рівень вищої освіти | Другий (магістерський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи, Інформаційні управляючі системи та технології, Інформаційне забезпечення робототехнічних систем |
Статус дисципліни | Вибіркова |
Форма навчання | очна(денна) |
Рік підготовки, семестр | 1 курс, весняний семестр |
Обсяг дисципліни | 4 кредити/120 годин (36 годин – лекції, 18 годин – лабораторні, 66 годин – СРС) |
Семестровий контроль/ контрольні заходи | Залік/залікова робота, МКР, захист лабораторних робіт |
Розклад занять | http://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів | Лектор: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com, Лабораторні: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com, |
Розміщення курсу | https://campus.kpi.ua |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Під час навчання студенти отримають теоретичні знання та практичні навички роботи з масивами даних, ознайомляться з основними сучасними поняттями, методами та засобами обробки масивів даних. Навчаться збирати, зберігати, оперувати, аналізувати масиви даних, створювати конвеєри з обробки масивів даних, використовуючи сучасні програмні засоби. Передбачено контроль якості отриманих знань у вигляді модульної контрольної роботи.
Метою навчальної дисципліни
є формування та закріплення у студентів здатностей розробляти проекти та управляти ними, перетворювати, агрегувати масиви даних, управляти даними, створювати спеціальні запити до даних, застосовувати сучасні методи і засоби збирання, зберігання, аналізу та обробки масивів даних.
Предмет навчальної дисципліни:
масиви даних, методи та засоби їх зберігання, обробки та аналізу.
Програмні результати навчання, на формування та покращення яких спрямована дисципліна:
використовувати інструментальні засоби інтеграції різнотипових масивів даних; правильно обирати та використовувати методи, алгоритми та інструменти для фільтрації, валідації та зберігання масивів даних; отримувати знання шляхом аналізу масивів даних; проєктувати та розробляти конвеєри для обробки масивів даних та для їх аналізу методами машинного навчання, та прийняття рішень на основі отриманої інформації.
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити
мати знання з програмування, структур даних та алгоритмів, вищої математики, теорії ймовірностей та математичної статистики, статистичних методів аналізу даних, штучного інтелекту.
Постреквізити
після проходження дисципліни студенти матимуть теоретичні знання та практичні навички, які необхідні для провадження інженерної та наукової діяльності в області аналізу масивів даних, їх інтелектуальної обробки і створення відповідних прикладних інформаційних програм.
Зміст навчальної дисципліни
Розділ 1. Сучасна інфраструктура даних Тема 1.1. Сучасна інфраструктура даних Тема 1.2. Основні шаблони конвеєрів даних Розділ 2. Платформи для організації конвеєрів даних Тема 2.1. Організація конвеєрів даних Тема 2.2. Базове знайомство з Apache Airflow Тема 2.3. Побудова конвеєрів в Apache Airflow Тема 2.4. Властивості Apache Airflow Тема 2.5. Зв’язки в Apache Airflow Тема 2.6. Збереження змінних в Apache Airflow Розділ 3. Основні етапи обробки даних Тема 3.1. Інструменти для реалізації етапів обробки даних Тема 3.2. Моделювання даних Тема 3.3. Перевірка даних та оцінка ефективності Розділ 4. Конвеєри даних для машинного навчання Тема 4.1. Конвеєри даних для машинного навчання Тема 4.2. Використання TFX Тема 4.3. Перевірка даних в TFX Тема 4.4. Навчання моделей в TFX Тема 4.5. Розгортання моделей Тема 4.6. Вдосконалення конвеєрів машинного навчання Тема 4.7. Платформи для організації конвеєрів машинного навчання
Навчальні матеріали та ресурси
Базова література
- Ted Malaska. Rebuilding Reliable Data Pipelines Through Modern Tools, 2019. – O’Reilly, 99 p.
- James Densmore. Data Pipelines Pocket Reference. – O’Reilly, 2020. – 277 p.
- Hannes Hapke, Catherine Nelson. Building Machine Learning Pipelines. – O’Reilly, 2020. – 367p.
- Bas Harenslak, Julian de Ruiter. Data Pipelines with Apache Airflow. – Manning Publications, 2021. – 482p.
- Ben Stopford. Designing Event-Driven Systems. Concepts and Patterns for Streaming Services with Apache Kafka. – O’Reilly, 2018. – 166p.
Допоміжна література
- Martin Kleppmann. Designing Data-Intensive Applications. – O’Reilly, 2017. – 613p.
- Alice LaPlantere. Developing Modern Applications with a Converged Database. – O’Reilly, 2021. – 51 p.
- Florin Pop, Gabriel Neagu. Big Data Platforms and Applications. — Springer, 2021. – 300 p.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття
№ | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
1 | Тема 1.1. Сучасна інфраструктура даних |
Структура дисципліни та РСО. Основні компоненти сучасної інфраструктури даних. Джерела даних та їх властивості. Хмарні сховища та озера даних. Інструменти для прийому даних. | |
2 | Тема 1.2. Основні шаблони конвеєрів даних |
Шаблони ETL та ELT. Основні етапи в шаблонах. Етапи конвеєру для машинного навчання. Моделі та платформи обробки даних. | |
3 | Тема 2.1. Організація конвеєрів даних |
Види обчислень в залежності від рівня. Платформи для організації робочого процесу. Графи, які представляють етапи конвеєру, та їх властивості. Знайомство з Apache Airflow. | |
4 | Тема 2.2. Базове знайомство з Apache Airflow |
Особливості Apache Airflow, задачі, для яких його доцільно використовувати. Структура Apache Airflow. Основні види операторів в Apache Airflow. | |
5 | Тема 2.3. Побудова конвеєрів в Apache Airflow |
Структура ациклічного графу (DAG) в Apache Airflow. Інтервали виконання графів та способи їх задання. Оператори для роботи з базами даних. | |
6 | Тема 2.4. Властивості Apache Airflow |
Використання зворотнього заповнення. Властивості завдань у графі: атомарність та ідемпотентність. Змінні контексту завдань. | |
7 | Тема 2.5. Зв’язки в Apache Airflow |
Перша частина модульної контрольної роботи. Види залежностей в графах Apache Airflow. Налаштування правил запуску завдань. | |
8 | Тема 2.6. Збереження змінних в Apache Airflow |
Обмін повідомлення та способи обміну та збереження змінних. Надсилання сповіщень. Перевірка даних в конвеєрі. Оператор типу Sensor. | |
9 | Тема 3.1. Інструменти для реалізації етапів обробки даних |
Методи та інструменти вилучення даних з БД та інших джерел даних. Відкриті та комерційні готові рішення для вилучення даних. Методи та інструменти завантаження даних. | |
10 | Тема 3.2. Моделювання даних |
Контекстуальне та неконтекстуальне перетворення даних. Моделювання даних. Властивості моделей, основа для створення моделей. Перевірка даних. Причини проблем якості даних в джерелах. | |
11 | Тема 3.3. Перевірка даних та оцінка ефективності |
Перевірка даних на останніх етапах конвеєру. Підтримка конвеєрів даних. Оцінка ефективності конвеєрів даних. | |
12 | Тема 4.1. Конвеєри даних для машинного навчання |
Переваги і недоліки використання конвеєрів даних для машинного навчання. Використання TensorFlow Extended (TFX) для побудови конвеєрів машинного навчання. Основні компоненти TFX. Структура компонентів. | |
13 | Тема 4.2. Використання TFX |
Друга частина модульної контрольної роботи. Завантаження даних з TFX. Формати файлів у TFX. Верифікація даних. | |
14 | Тема 4.3. Перевірка даних в TFX |
Перевірка даних за допомогою TensorFlow Data Validation (TFDV). Виявлення проблеми зміщення вхідних даних. Компонент StatisticsGen. Перетворення даних в TFX. | |
15 | Тема 4.4. Навчання моделей в TFX |
Функції, що забезпечуються навчання моделей, та їх вхідні дані. Стратегії розповсюдження моделей машинного навчання. Аналіз моделей машинного навчання. | |
16 | Тема 4.5. Розгортання моделей |
Основні способи розгортання моделей машинного навчання за допомогою TFX. Сигнатура моделі. Основні функції TensorFlow Serving. Інші інструменти для розгортання моделей машинного навчання. | |
17 | Тема 4.6. Вдосконалення конвеєрів машинного навчання |
Квантування моделей. Оптимізація моделей. Функція теплого старту. Включення людини до конвеєру за допомогою компоненту Slack. Створення власного компоненту в TFX. | |
18 | Тема 4.7. Платформи для організації конвеєрів машинного навчання |
Використання Airflow для конвеєрів машинного навчання. Інші платформи для організації конвеєрів: Apache Beam, Kubeflow Pipelines. Організація зворотного зв’язку від користувача, види зворотного зв’язку. |
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
1 | Лабораторна робота №1. Встановлення та налаштування Apache Airflow | 2 |
Мета роботи: iнсталювати та налаштувати платформу для організації конвеєрів даних Apache Airflow, виконати стандартні конвеєри | ||
2 | Лабораторна робота №2. Перевірка даних в конвеєрі Apache Airflow | 2 |
Мета роботи: навчитись будувати конвеєри Apache Airflow та проводити перевірку даних. | ||
3 | Лабораторна робота №3. Моделювання даних в конвеєрі Apache Airflow | 2 |
Мета роботи: навчитись створювати та навчати моделі в конвеєрі Apache Airflow, а також використовувати перехресне спілкування між завданнями. | ||
4 | Лабораторна робота №4. Базове знайомство з Apache Kafka | 2 |
Мета роботи: Ознайомитись з розподіленою платформою для обробки потокових даних Apache Kafka. Навчитись створювати теми, записувати події, зчитувати файли через Kafka Connect | ||
5 | Лабораторна робота №5. Виробники та споживачі Apache Kafka | 2 |
Мета роботи: Ознайомитись зі створенням застосунків виробників та споживачів Apache Kafka. Навчитись створювати власних виробників і споживачів, дослідити їх властивості | ||
6 | Лабораторна робота №6. Базове знайомство з Kafka Stream | 2 |
Мета роботи: Ознайомитись зі створенням застосунків для обробки потокових даних за допомогою бібліотеки Kafka Stream. Навчитись використовувати операції без збереження стану для обробки даних. | ||
7 | Лабораторна робота №7. Операції зі збереженням стану у Kafka Stream | 2 |
Мета роботи: Ознайомитись з операціями зі збереженням стану у Kafka Stream. Навчитись об’єднувати потоки та використовувати операції агрегації. | ||
8 | Лабораторна робота №8. Операції з вікнами у Kafka Stream | 2 |
Мета роботи: Ознайомитись з операціями зі збереженням стану у Kafka Stream з використанням вікон, а також з можливостями моніторингу. | ||
9 | Підсумкове заняття | 2 |
Самостійна робота студента/аспіранта
№ | Вид самостійної роботи | Кількість годин СРС |
1 | Підготовка до лабораторних робіт | 28 |
2 | Підготовка до МКР | 8 |
3 | Опрацювання теоретичного матеріалу | 30 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
- правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та лабораторних заняттях;
- на лекції викладач користується власним презентаційним матеріалом; використовує гугл-диск для викладання матеріалу поточної лекції, додаткової інформації, завдань до лабораторних робіт та інше;
- питання на лекції задаються у відведений для цього час;
- звіти з лабораторних робіт завантажуються напередодні захисту; для захисту лабораторної роботи необхідно продемонструвати роботу відповідної завданню програми та відповісти на питання щодо програми та контрольні питання;
- модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат завантажується у файлі через гугл-форму до відповідної директорії гугл-диску;
- заохочувальні бали виставляються за: участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо. Кількість заохочуваних балів не більше 10;
- штрафні бали виставляються за: несвоєчасне подання лабораторних робіт до захисту без поважних причин; переписування модульної контрольної роботи. Кількість штрафних балів не більше 10.
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Поточний контроль: МКР, виконання та захист лабораторних робіт. Календарний контроль: проводиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу. Семестровий контроль: залік. Умови допуску до семестрового контролю: виконані та захищені лабораторні роботи, написана модульна контрольна робота. Якщо семестровий рейтинг не менше 60 балів, то залік виставляється автоматично, інакше — студент допускається до залікової контрольної роботи.
Рейтинг студента складається з балів, що він отримує за:
- виконання та захист лабораторних робіт;
- виконання модульної контрольної роботи;
- заохочувальні та штрафні бали.
Система рейтингових балів та критерії оцінювання
Лабораторні завдання
- «відмінно», пповна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 10 балів;
- «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 8 балів;
- «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 6 балів;
- «незадовільно», незадовільна відповідь та/або значні помилки у виконання завдання лабораторної роботи – 0 балів.
За запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.
Модульні контрольні роботи
- «відмінно», повна відповідь (не менш ніж 90% потрібної інформації), завдання виконано без помилок, дії обґрунтовано – 15 балів;
- «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), завдання виконано без значних помилок – 12-14 балів;
- «задовільно», неповна відповідь, в деяких завданнях можуть бути присутні значні помилки, але не менше 60% виконано правильно – 9-11 балів;
- «незадовільно», незадовільна відповідь (неправильне виконання завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали
за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо) 1-2 бали, але в сумі не більше 10.
Штрафні бали
штрафні бали виставляються за: несвоєчасне подання до захисту лабораторних робіт без поважних причин; переписування модульної контрольної роботи. Кількість штрафних балів не більше 10.
Календарний контроль
За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 35 балів (2 лабораторних завдання, перша частина модульної контрольної роботи). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 18 балів.
За результатами 13 тижнів навчання максимально можлива кількість балів – 65 балів (5 лабораторних завдань, перша частина модульної контрольної роботи). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 33 бали.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
RD = 7*rл.р.+2*rмкр+ (rз - rш)=7*10+2*15+(rз - rш)=100 + (rз - rш), де rл.р. – бал за лабораторну роботу (0…10); rмкр – бал за написання МКР (0…15); rз – заохочувальні бали (0…10); rзш – штрафні бали (0…10);.
Залік
Студенти, які виконали всі умови допуску до семестрової атестації (написали всі модульні контрольні, виконали і захистили всі лабораторні роботи) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) автоматично відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки. Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу. Залікова контрольна робота містить п’ять питань. Кожне питання оцінюється у 20 балів. Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).
Система оцінювання питань
- «відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;
- «добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 15-17 балів;
- «задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 12-14 балів;
- «незадовільно», незадовільна відповідь – 0-11 балів.
Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів | Оцінка |
---|---|
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
Робочу програму навчальної дисципліни (Силабус): Складено ст. викладач, Тимофєєва Юлія Сергіївна Ухвалено кафедрою ІСТ (протокол №21 від 29.06.2023 р.) Погоджено Методичною комісією факультету (протокол № 11 від 30.06.2023 р.)