Открыто

Интеграция AI решений в production [2020] [Герард Костин] [Университет Искусственного Интеллекта]

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 27 фев 2020.

Цена: 39900р.-95%
Взнос: 1624р.

Основной список: 27 участников

Резервный список: 13 участников

  1. 27 фев 2020
    #1
    Toxich
    Toxich ЧКЧлен клуба

    Интеграция AI решений в production [2020] [Герард Костин] [Университет Искусственного Интеллекта]

    Цель курса - научиться интегрировать решения, на основе нейронных сетей и машинного обучения, в production системы любой сложности

    Цель курса - дать участникам навыки в области Full Stack ML development. По завершении курса участники будут уметь создавать сложные Pipeline обработки данных, самостоятельно разворачивать Data engendering компоненты, ставить задачи команде разработки (по переносу модели в продакшн), самостоятельно производить подготовку модели для вывода в продакшн (разворачивать все необходимые компоненты и упаковывать модель в формат, пригодный к переносу).

    1. Освоить современные методы и фреймворки для работы с уже обученными нейронными сетями.
    Если вы уже используете фреймворки и современные компоненты для работы с нейронными сетями, курс поможет расширить кругозор в этой области.
    2. Освоить навыки в области Full Stack ML development.
    Если вы до этого не работали со специализированными фреймворками для нейронных сетей, вы сможете быстро и глубоко изучить эту область и начать их использование уже в середине курса.
    3. Изучить основные компоненты процесса обработки и подготовки данных (Data Engendering).
    Методы обработки данных и Data Engendering пригодятся не только для нейронных сетей, но и помогут эффективно и надежно передать данные между различными системами, настраивать и управлять загрузкой и обработкой данных.
    4. Научиться быстро интегрировать обученную нейронную сеть в большой спектр промышленных систем.
    Полученные знания могут быть использованы не только для интеграции нейронных сетей и различных промышленных систем, но и для интеграции двух систем между собой или интеграции промышленной системы и Python-программы.
    5. Научиться ставить задачи команде разработчиков (в том числе и мало знакомых с нейтронными сетями) по переносу обученных моделей в продакшн.
    Вы научитесь говорить с разработчиками на "одном языке".
    6. Научиться самостоятельно «упаковывать» обученную нейронную сеть в удобный для применения конечным пользователем формат (Web-сервисы, мобильные приложения, IoT устройства и др.).
    В современном мире стартапы, состоящие из 2-3 программистов, способны представить коммерчески готовый продукт, по завершении курса вы будете способны выполнять задачи небольшой команды разработчиков.
    1. Web-crawling - (парсинг и выгрузка данных с сайтов, разбор API сайтов)
    2. Методы хранения и представления данных в реляционных и нереляционных БД (Базах данных)
    3. Реляционные хранилища данных - Postgres / Redshift / Orcale
    4. MPP хранилища - (Teradata, SAP HANA)
    5. Хранилища неструктурированных данных - (Hadoop, AWS S3)
    6. Key-Value хранилища - (Hbase, MongoDB)
    7. In-Memory системы - Apache Solr, базы данных на основе GPU
    8. Системы Real-Time доставки данных - Apache Kafka, Spark Streaming
    9. Мощнейший инструмент работы с большими данными - Apache Spark
    10. Один из самый продвинутых фреймворков для работы с обученными моделями - TensorFLow - Tensor Flow Extended
    11. Контейнеризацию приложений в Docker/Kubernetis
    12. Мощнейший стек инструментов разработки на базе AWS (Amazon Web Services) - API Gateway/AWS Lambda/AWS Fargate
    1. Часть - Теория
    1. Модуль - Данные, их виды и системы-источники
    1.1 Описание основных источников данных
    Описание занятия: первое занятие начинается с важнейшей темы - данные; любая незамкнутая программа (и особенно нейронные сети) требуют для своей работы поставки данных. На занятии мы познакомимся с основными типами источников данных.

    Задание: Логическая задача по теме урока.
    1.2 Варианты хранения данных (структурированные, неструктурированные, бинарные)
    Описание занятия: на втором занятии мы более детально рассмотрим особенности и варианты хранения данных в системах-источниках, разберем базовые термины.

    Задание: Логическая задача по теме урока.
    1.3 Типы хранения данных
    Описание занятия: на уроке мы узнаем, какие бывают типы хранения данных, разберем преимущества и недостатки наиболее популярных типов хранения данных.

    Задание: Задание на подбор оптимального типа хранения данных
    1.4 Методы получения данных из систем источников
    Описание занятия: четвёртое занятие раскрывает детали относительно способов и методов получения данных из систем-источников. Мы разберем наиболее популярные методы и инструменты «забора» данных, а также узнаем, как это можно делать с использованием python

    Задание: Практическое задание на выгрузку данных из систем-источников
    1.5 Web-scrapping
    Описание занятия: Современный интернет является крупнейшим источником информации, на занятии мы разберем, как выгружать данные с интернет-сайтов, как исследовать сайты на наличие удобного API для доступа к данным, как эмулировать работу браузера и как автоматизировать этот процесс с помощью Рython.

    Задание: Web-crawling реальных сайтов​
    2. Модуль - Модель данных
    2.1 Вторая и третья нормальные формы
    Описание занятия: на занятии мы подробно разберем «золотой стандарт» представления данных в современных структурированных хранилищах данных: 2-ю и 3-ю нормальные формы.

    Задание: Практическое задание на приведение данных во 2-ю и 3-ю нормальные формы
    2.2 Key-value структура данных
    Описание занятия: подход хранения данных типа "Ключа-Значение» используется в большинстве современных систем, где важна скорость выдачи информации по ключу. На уроке мы детально ознакомимся с этой архитектурой и преимуществами, которые она дает.

    Задание: Практическое задание на приведение неструктурированных данных к типу Key-Value
    2.3 Схема данных
    Описание занятия: когда в хранилище очень много разнообразных данных, становится сложно ориентироваться в том, как и в каком виде хранятся данные. На занятии мы разберем понятие схема данных, изучим, как она помогает в навигации по хранилищу, и научимся создавать схемы данных

    Задание: Практическое задание на создание схем данных
    2.4 Витрины данных
    Описание занятия: в любой большой организации имеются сотни и тысячи таблиц с данными в хранилищах, не все эти данные полезны и нужны для аналитиков и моделей машинного обучения. Витрины позволяют организовать данные таким образом, чтобы получить доступ только к той информации и только в том виде, в котором она необходима, исключая лишнее. На занятии мы разберем, как организовать данные в витрины и работать с ними.

    Задание: практическое задание на работы с витринами данных
    2.5 Инструменты построения моделей данных
    Описание занятия: большое структурированное хранилище состоит из сотен таблиц, связанных друг с другом, визуализация и управление этими связями осуществляются инструментами моделирования данных. На уроке мы познакомимся с наиболее популярными коммерческими и некоммерческими решениями по построению моделей данных.

    Задание: Практическое задание на создание модели данных​
    3. Модуль - ETL/ELT
    3.1 Как загрузить данные в источник
    Описание занятия: на этом уроке мы познакомимся с наиболее распространенными способами загрузки данных (полученных от пользователя или модели машинного обучения) в различные источники данных.

    Задание: практическое задание по загрузке данных в систему источника данных
    3.2 Extract Transform Load парадигма
    Описание занятия: наиболее популярная парадигма передачи данных между различными системами - это ETL (Extract Transform Load). Часто данные перед загрузкой в хранилище требуется трансформировать тем или иным образом, парадигма ETL подразумевает, что данные извлекаются «как есть», затем трансформируются и только потом поступают в хранилище. На занятии мы подробно познакомимся с этим процессом.

    Задание: практическое задание по теме урока
    3.3 Контроль целостности и качества данных
    Описание занятия: занятие посвящено очень важной теме - целостности и качеству данных. Неправильные или поврежденные данные могут привести к серьезным последствиям, особенно если выявить эту проблему не сразу. Мы изучим основные методы и инструменты для контроля целостности и качества данных.

    Задание: практическое задание по теме урока
    3.4 Системы мониторинга ETL/ELT процессов
    Описание занятия: если в процессе загрузки данных возникнет ошибка, это может привести к остановке бизнес-процессов или потере данных. На уроке мы изучим основные методы и системы мониторинга ETL/ELT процессов

    Задание: практическое задание по теме урока
    3.5 Инструменты ETL/ELT
    Описание занятия: из-за своей простоты и наглядности парадигму ETL можно реализовать простейшими средствами (например, набором скриптов), но когда процессов ETL становится очень много, и они подвержены изменениям, не обойтись без мощной системы по управлению этими процессами. На уроке мы изучим несколько современных фреймворков для управления ETL/ELT

    Задание: практическое задание по теме урока​
    4. Модуль - Перенос модели между языками
    4.1 Что такое PMML?
    Описание занятия: если модель написана на одном языке (например, python), а исполняться должна в промышленной системе совсем другим языком и интерфейсом, возникает проблема переноса и совместимости модели. На занятии мы познакомимся с универсальным описательным языком модели PMML и разберем, как с его помощью можно перенести модель из одного языка в другой (с поддержкой PMML-стандарта)

    Задание: практическое задание по переносу обученной модели в PMML-стандарт
    4.2 Порт модели между языками
    Описание занятия: универсальный стандарт PMML является не единственным инструментом переноса модели между языками программирования и разными системами. На уроке мы познакомимся с различными вариантами кроссплатформенного переноса моделей из Python в Си

    Задание: практическое задание по переносу обученной модели из Python в Си
    4.3 Проблемы портирования
    Описание занятия: на занятии мы коснемся наиболее часто встречающихся проблем при портировании моделей на примере порта модели Keras в Си и разберем варианты решения

    Задание: практическое задание по теме урока
    4.4 Контейнеризация Docker, Kubernetis
    Описание занятия: технологии контейнеризации представляют собой своего рода компактную виртуальную машину, внутри которой содержатся только необходимые компоненты для запуска вашего приложения. На уроке мы подробно познакомимся с технологиями контейнеризации и преимуществами, которые они дают.

    Задание: практическое задание на создание простого контейнера​
    2. Часть - Источники данных
    2.1 Реляционные хранилища данных Postgres / Redshift /Orcale
    Описание занятия: на занятии мы подробно разберем архитектуру и особенности трех наиболее популярных реляционных баз данных Postgres / Redshift /Orcale и научимся разворачивать собственную базу данных

    Задание: практическое задание на создание базы данных и ее начальную настройку
    2.2 MPP хранилища (Teradata, SAP HANA)
    Описание занятия: этот урок посвящен аналитическим хранилищам (оптимизированным на выполнение запросов к данным), мы рассмотрим общую архитектуру таких хранилищ MPP (Massive Parallel Processing) и узнаем, какие есть особенности при работе с этими хранилищами

    Задание: практическое задание по работе с тестовыми хранилищами архитектуры MPP
    2.3 Хранилища неструктурированных данных: Hadoop, AWS S3
    Описание занятия: в эпоху больших данных стали возможными сбор, хранение и аналитики петабайтных объемов данных. Большая часть информации в таких хранилищах имеет неструктурированный характер (логи оборудования, тексты, видео/фото поток, детальные логи приложений). Работать с такими данными традиционными способами невозможно. На занятии мы разберем революционные технологии: Apache Hadoop и AWS S3, благодаря которым эффективная работа с петабайтами данных стала возможной.

    Задание: практическое задание по запуску виртуальной машины с Hadoop-кластером и работе с ним, задание на AWS S3.
    2.4 Key-Value хранилища (Hbase,MongoDB)
    Описание занятия: специализированные хранилища вида «ключ-значение», совместимые с технологиями больших данных, - тема этого занятия.

    Задание: практическое задание по работе с Key-Value хранилищами
    2.5 In-Memory системы высоконагруженных вычислений Apache Solr, базы данных на основе GPU
    Описание занятия: скорость выполнения расчетов и трансформации данных является ключевым фактором для многих современных приложений и систем. На занятии мы рассмотрим передовые архитектуры, позволяющие вычислять, хранить данные в памяти и производить вычисления «на лету», а также обратим внимание на инновационные базы данных на основе GPU (графический процессор) систем.

    Задание: практическое задание по работе с in-memory системами
    2.6 Методы доступа и чтения из различных источников данных с помощью Рython
    Описание занятия: на занятии мы систематизируем знания о том, как эффективно получить доступ к данным, хранящимся в различных источниках, с помощью языка программирования Рython

    Задание: практическое задание на получение данных из различных источников при использовании Рython
    2.7 Системы Real-Time доставки данных Apache Kafka, Spark Streaming
    Описание занятия: урок будет посвящен подробному обзору методов и способов доставки данных и их обработке в хранилища в режиме реального времени. Такой инструмент, как Apache Kafka, позволяет эффективно настроить передачу потоковых данных (данных, поступающих непосредственно с систем-источников) различным потребителям: хранилища и программы

    Задание: практическое задание по настройке Apache Kafka​
    3. Часть - Практика
    Интеграция в продакшн - занятия этой части на 100% посвящены практике, мы будем поднимать, настраивать и объединять между собой различные компоненты для вывода моделей и решений машинного обучения в продакшн. На занятиях будет минимум теории, будем решать реальные кейсы из практики, будет много работы руками, будем писать код. По ходу процесса преподаватель будет делиться с вами ценнейшим практическим опытом и советами.
    3.1 Поднимаем и настраиваем Hadoop-кластер, пишем первую программу (2 часа)
    Описание занятия: с первого же занятия мы с вами, вооружившись теоретическими знаниями, полученными в предыдущих разделах, развернем работоспособное хранилище на базе кластера Hadoop и решим небольшую практическую задачу.

    Задание: практический кейс (разработка, разворачивание и настройка хранилища на основе тех. задания)
    3.2 Настраиваем первый ETL с помощью Flume + Zookeeper (1.5 часов)
    Описание занятия: продолжим работать с кластером, созданным на первом занятии, будем настраивать загрузку потоков данных в кластер с использованием совместимых ETL-инструментов

    Задание: практический кейс (подача потоков данных в ваше хранилище из ДЗ №1)
    3.3 Настраиваем ETL с AWS S3 и AWS Redshift (1 час)
    Описание занятия: облачные системы хранения данных - мощнейший инструмент Data Science инженера, существенно экономящий трудозатраты по работе с хранилищами данных. На этом уроке мы научимся работать с AWS облачной платформой, будем разворачивать базу данных AWS Redshift и создадим AWS S3 объектное хранилище. Используя полученную инфраструктуру, попробуем настроить ETL для интеграции этих систем с кластером из предыдущих уроков.

    Задание: практический кейс (подача потоков данных в ваше хранилище из ДЗ №1)
    3.4 Spark для трансформации данных (2 часа)
    Описание занятия: на занятии мы на практике подробно познакомимся с возможностями фреймворка Apache Spark по работе с большими данными, хранящимися в hadoop. Мы научимся трансформировать данные и проводить исследование данных, используя Spark. Будет много кодинга и практических советов.

    Задание: практический кейс (трансформация данных, анализ данных)
    3.5 Spark для ML (модели + pipelines) (2 часа)
    Описание занятия: продолжим изучать возможности мощнейшего фреймворка Apache Spark, на этот раз мы рассмотрим методы и функции для решения задач машинного обучения при работе с большими данными и научимся строить сложные цепочки обработки данных с последующим автоматизированным применением моделей машинного обучения.

    Задание: практический кейс (настройка цепочки обработки данных с включенной в нее моделью машинного обучения)
    3.6 Нейронные сети на Spark (1 час)
    Описание занятия: кроме классических методов машинного обучения, Apache Spark позволяет работать и с нейронными сетями. Мы разберем нюансы работы и научимся запускать обученные нейронные сети, используя Spark.

    Задание: практический кейс (применение предобученных сетей на базе Apache Spark)
    3.7 Tensor Flow Extended (TF Serving) (1ч)
    Описание занятия: данное занятие откроет новую тему - использование фреймворка Tensor Flow Extended для автоматизации запуска и применения обученных нейронных сетей в практических задачах.

    Задание: практический кейс (автоматизация запуска обученной модели при использовании tf serving)
    3.8 Tensor Flow Extended (Data Pipelines) (2ч)
    Описание занятия: расширяя знания о фреймворке Tensor Flow Extended, мы рассмотрим его возможности по автоматической обработке и подготовке данных для обученных нейронных сетей.

    Задание: практический кейс (подготовка и предобработка данных)
    3.9 Docker (запаковываем модель и библиотеки в контейнер) (1ч)
    Описание занятия: урок открывает новый блок занятий, посвященных контейнеризации приложений. Используя теоретические знания из части 1, мы научимся упаковывать в контейнеры обученные модели машинного обучения со всеми зависимостями.

    Задание: практический кейс (подготовка и упаковка в контейнер модели машинного обучения со всеми компонентами)
    3.10 Kubernetis (управление контейнерами) (30 мин)
    Описание занятия: продолжим углубляться в контейнеризацию, данное занятие посвящено изучению фреймворка Kubernetis. Фреймворк позволяет гибко управлять Docker-контейнерами, управлять ресурсами в контейнерах и многое другое.

    Задание: практический кейс (организуем управление и распределение ресурсов между группой Docker-контейнеров)
    3.11 Kuberflow (управление контейнерами) (1 час)
    Описание занятия: на занятии будет разобрана еще одна тема, связанная с контейнеризацией фреймворка от Google, который направлен на то, чтобы автоматизировать все процессы создания моделей машинного обучения от А до Я.​

    Задание: практический кейс (по работе с фреймворком)
    3.12 AWS API Gateway (настраиваем API для доступа к модели) (30 минут)
    Описание занятия: на уроке мы продолжим углубляться в возможности облачных вычислений. На данном занятии мы разберем функционал AWS API Gateway и сделаем с его помощью MOCK UP («имитация») функционала Real-Time получения данных из хранилища данных через REST-интерфейс
    Задание: практический кейс (по работе с API Gateway)
    3.13 AWS Lambda function (настраиваем предобработку) (1 час)
    Описание занятия: тема урока раскроет невероятный потенциал AWS Lambda (минифункции, написанные на различных языках программирования) как инструмента вычислений в связке с API Gateway. На занятии, используя Lambda (на языке Python), мы напишем работающее промышленное решение, делающее возможным отдачу данных из нашего кластера в real-time режиме по REST-запросу.
    Задание: практический кейс (по интеграции AWS Lambda с API Gateway и источниками данных)
    3.14 AWS Fargate (помещаем модель в контейнер) (1ч)
    Описание занятия: еще одно занятие, затрагивающее тему облачных вычислений и контейнеризации приложений. На занятии мы познакомимся с возможностями AWS Fargate для запуска и управления контейнерами в облаке. Мы напишем простое web-интерактивное приложение, исполняющее обученную модель, упакуем это в контейнер и сделаем контейнер доступным online.
    Задание: практический кейс (запуск собственных контейнеров на базе AWS Fargate).​

    Продажник
     
    2 пользователям это понравилось.
  2. Последние события

    1. AlexVicBor
      AlexVicBor не участвует.
      13 дек 2023
    2. Chis1980
      Chis1980 участвует.
      8 дек 2023
    3. mikel_tb
      mikel_tb не участвует.
      8 дек 2023
    4. VainDread
      VainDread участвует.
      29 ноя 2023

Поделиться этой страницей