ваш коллега объясняет ребенку что такое большие данные
ВВЕДЕНИЕ В БОЛЬШИЕ ДАННЫЕ ДЛЯ ШКОЛЬНИКОВ
ВВЕДЕНИЕ В БОЛЬШИЕ ДАННЫЕ ДЛЯ ШКОЛЬНИКОВ
Лапшева Елена Евгеньевна
кандидат педагогических наук, доцент
ФГБОУ ВО «Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского »
Россия, г.Саратов
e-mail: lapsheva@yandex.ru
Огнева Марина Валентиновна
кандидат физико-математических наук
ФГБОУ ВО «Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского »
Россия, г.Саратов
e-mail: ognevamv@gmail.com
В современном информационном обществе основной ценностью и предметом потребления становится информация. С появлением и развитием цифровых технологий, компьютерных сетей, онлайн-сервисов и социальных сетей объем данных стал возрастать экспоненциально. Ежедневно происходит обмен электронными письмами, фотографиями, видео, сообщениями и обсуждениями, публикация различных данных, совершаются онлайн-покупки. Естественно возникает потребность извлекать из этих данных полезную информацию, обрабатывать и анализировать ее.
Наука о данных (data science) – это совокупность методов и технологий, которые позволяют извлекать знания из данных, для работы в этой области необходим междисциплинарный набор знаний и навыков, необходимых для извлечения знаний (data mining) [1, 5].
Порог входа в data science высокий и различных методов для обработки данных, основанных в том числе, на знаниях высшей математики, много, поэтому чем раньше начнется формирование базовых навыков, необходимых для работы в этой области, тем более успешным будет дальнейшее обучение и профессиональная карьера.
Основы программирования на языке, который наиболее приспособлен для анализа данных, например, Python можно изучать уже в 8 – 9 классах (в рамках элективного курса или кружка), а в 10 и 11 классах делать упор на прикладное применение полученных знаний, а именно – на анализ данных с его помощью. Стоит отметить, что сейчас инициатива по преподаванию основ языка Python уже реализуется, например, компанией «Яндекс», которая в 2016 году открыла «Яндекс.Лицей» в четырех городах России [6]. В 2017 году это проект охватил 19 городов России и два города Казахстана. Саратов стал одной из стартовых площадок этого проекта. И ребята, заканчивающие в этом году программу Яндекс.Лицея, своими работами показывают, что освоение языка программирования Python на достаточно высоком уровне под силу школьникам 8-10 классов.
Лучшим инструментом для охвата большой аудитории школьников и ознакомления их с новыми тенденциями в сфере информационных технологий являются научно-популярные лекции. Преподаватели факультета компьютерных наук и информационных технологий Саратовского национального исследовательского государственного университета имени Н.Г. Чернышевского (КНиИТ СГУ) регулярно рассказывают о новшествах в сфере IT школьникам Саратова. Эти лекции проходят в рамках проектов «Школьная академия» (Физико-технический лицей №1) или «Просто о сложном» (Лицей математики и информатики).
Приведем небольшой пример содержания одной такой лекции о больших данных. При работе над ней встал вопрос о том, как показать школьникам: что такое Big Data? Почему они «большие»? Этот термин был введен редактором журнала Nature Клиффордом Линчем в 2008 году. Хорошим наглядным примером демонстрации и визуализации этого термина может явиться сравнение одного байта данных с рисовым зерном (0,03 г). Тогда один килобайт – это чашка риса (30 г), один мегабайт – мешок (30 кг), один гигабайт – это грузовик с прицепом (30 тонн), один терабайт – семь грузовых железнодорожных составов (30000 тонн), один петабайт – сто морских сухогрузов (30 млн. тонн). Разговор о «больших данных» начинается с данных объемом в десятки и сотни петабайт.
Откуда берутся большие данные? В этой части лекции самое главное донести до школьников, что большие данные во многом производим мы сами, когда совершаем покупки, говорим по телефону, общаемся в мессенжерах, играем в онлайн-игры, слушаем музыку или читаем электронную книгу. Даже наше перемещение по городу с мобильным устройством в кармане и фитнес-браслетом на запястье генерирует некоторый объем данных, передаваемый на серверы.
В этом месте очень важно поговорить о безопасности данных и нашей личной безопасности. Жизнь новых поколений значительно изменится благодаря «революции данных». И эти изменения могут иметь как положительный, так и отрицательный оттенок [2]. Использование интернета для организации международных программ общения и обучения школьников, расширяет возможности детей. Но персональные данные детей, которые попадают в сеть, могут использоваться третьими лицами для неизвестных целей. Приведем один лишь пример. В 2015 году фирма Mattel выпустила «smart» Барби, которая через смартфон, подключается к интернету и может быть использована как голосовой помощник ребенка, аналогично Apple Siri или Алисы в Яндекс. Фирма, разработавшая эту куклу, не скрывает того, что детские голоса собираются на серверах и могут быть переданы третьим лицам.[3].
Важной частью обсуждения является рассказ о специалисте в области обработки больших данных. Каким он должен быть? Что знать? Где учиться?
Для участия в научно-популярных лекциях для школьников можно подключать студентов профильных направлений. На факультете КНиИТ СГУ в рамках дисциплины «Введение в специальность» первокурсники выполняют научно-популярные проекты, связанные с разными областями IT-сферы, в том числе, и с машинным обучением. По итогам защиты отбираются лучшие проекты, которые затем представляются в школах города и на дне открытых дверей факультета.
Следующим направлением работы является подготовка школьников к участию в научно-практических конференциях. Тема больших данных и машинного обучения является достаточно сложной для такого вида взаимодействия со школьниками, но вместе с тем очень интересной и современной, имеющей огромное прикладное значение. Конечно, такая работа не ведется «с нуля» и подготовку к конференции нужно начинать заранее. Логично, если первым этапом будет прослушивание научно-популярных лекций и/или посещение элективного курса. Вместе с тем, все больше и больше школьников, которые начинают самостоятельно проявлять интерес к данной теме, получив информацию из сети Интернет, СМИ и т.д., поучаствовав в открытых интернет-уроках (https://ai.proektoria.online/). Например, в 2017-2018 году ученики Физико-технического лицея города Саратова выполнили и представили на конкурс научно-популярные проекты по темам «Нейронные сети», «Компьютерное зрение», «Искусственный интеллект», а в 2018 году в Лицее математики и информатике десятиклассник создал программу для распознавания букв.
В настоящий момент сотрудники факультета КНиИТ СГУ разрабатывают программу и содержание элективного курса для создаваемого предуниверситария «Основы искусственного интеллекта». Занятия по данной теме будут проводиться как в теоретической, так и в практической форме. На теоретических занятиях будут даваться основные понятия, связанные с машинным обучением, анализом больших данных, распознаванием и т.д. На простых примерах будет показано, что такое нейронная сеть, дерево решений, рекомендательная система. На практических занятиях планируется использование Python с упором на библиотеки numpy, pandas, matplotlib [4]. Элементы этого курса были опробованы в текущем 2017-18 учебном году на спецкурсе для 11-классников в Лицее математики и информатики г. Саратова.
Преподаватели факультета КНиИТ СГУ, работающие не только со студентами, но и с детьми, видят перспективу в ознакомлении школьников 8 – 11 классов с основами машинного обучения и работы с большими данными. Используя большие данные, мы можем показать, что выявлять закономерности и работать с ними может и школьник. А в итоге мы можем продемонстрировать детям, что учиться интересно.
Большие данные — большая ответственность, большой стресс и большие деньги
Термин Big Data подпорчен современным фантастическим преувеличением новых вещей. Как ИИ поработит людей, а блокчейн построит идеальную экономику — так и большие данные позволят знать абсолютно все про всех и видеть будущее.
Но реальность, как всегда, скучнее и прагматичнее. В больших данных нет никакой магии — как нет ее нигде — просто информации и связей между разными данными становится так много, что обрабатывать и анализировать все старыми способами становится слишком долго.
Появляются новые методы. Вместе с ними — новые профессии. Декан факультета аналитики Big Data в GeekBrains Сергей Ширкин рассказал, что это за профессии, где они нужны, чем там надо заниматься и что надо уметь. Какие используются инструменты и сколько обычно платят специалистам.
Что такое «большие данные»
Вопрос «что называть большими данными» довольно путаный. Даже в публикациях научных журналов описания расходятся. Где-то миллионы наблюдений считаются «обычными» данными, а где-то большими называют уже сотни тысяч, потому что у каждого из наблюдений есть тысяча признаков. Поэтому данные решили условно разбить на три части — малые, средние и большие — по самому простому принципу: объему, который они занимают.
Малые данные — это считанные гигабайты. Средние — все, что около терабайта. Большие данные — около петабайта. Но путаницу это не убрало. Поэтому вот критерий еще проще: все, что не помещается на одном сервере — большие данные.
В малых, средних и больших данных разные принципы работы. Большие данные как правило хранятся в кластере сразу на нескольких серверах. Из-за этого даже простые действия выполняются сложнее.
Например, простая задача — найти среднее значение величины. Если это малые данные, мы просто все складываем и делим на количество. А в больших данных мы не можем собрать сразу всю информацию со всех серверов. Это сложно. Зачастую надо не данные тянуть к себе, а отправлять отдельную программу на каждый сервер. После работы этих программ образуются промежуточные результаты, и среднее значение определяется по ним.
Сергей Ширкин
Какие компании занимаются большими данными
Первыми с большими данными начали работать сотовые операторы и поисковые системы. У поисковиков становилось все больше и больше запросов, а текст тяжелее, чем цифры. На работу с абзацем текста уходит больше времени, чем с финансовой транзакцией. Пользователь ждет, что поисковик отработает запрос за долю секунды — недопустимо, чтобы он работал даже полминуты. Поэтому поисковики первые начали работать с распараллеливанием при работе с данными.
Чуть позже подключились различные финансовые организации и ритейл. Сами транзакции у них не такие объемные, но большие данные появляются за счет того, что транзакций очень много.
Количество данных растет вообще у всех. Например, у банков и раньше было много данных, но для них не всегда требовались принципы работы, как с большими. Затем банки стали больше работать с данными клиентов. Стали придумывать более гибкие вклады, кредиты, разные тарифы, стали плотнее анализировать транзакции. Для этого уже требовались быстрые способы работы.
Сейчас банки хотят анализировать не только внутреннюю информацию, но и стороннюю. Они хотят получать данные от того же ритейла, хотят знать, на что человек тратит деньги. На основе этой информации они пытаются делать коммерческие предложения.
Сейчас вся информация связывается между собой. Ритейлу, банкам, операторам связи и даже поисковикам — всем теперь интересны данные друг друга.
Каким должен быть специалист по большим данным
Поскольку данные расположены на кластере серверов, для работы с ними используется более сложная инфраструктура. Это оказывает большую нагрузку на человека, который с ней работает — система должна быть очень надежной.
Сделать надежным один сервер легко. Но когда их несколько — вероятность падения возрастает пропорционально количеству, и так же растет и ответственность дата-инженера, который с этими данными работает.
Аналитик должен понимать, что он всегда может получить неполные или даже неправильные данные. Он написал программу, доверился ее результатам, а потом узнал, что из-за падения одного сервера из тысячи часть данных была отключена, и все выводы неверны.
Взять, к примеру, текстовый поиск. Допустим все слова расположены в алфавитном порядке на нескольких серверах (если говорить очень просто и условно). И вот отключился один из них, пропали все слова на букву «К». Поиск перестал выдавать слово «Кино». Следом пропадают все киноновости, и аналитик делает ложный вывод, что людей больше не интересуют кинотеатры.
Поэтому специалист по большим данным должен знать принципы работы от самых нижних уровней — серверов, экосистем, планировщиков задач — до самых верхнеуровневых программ — библиотек машинного обучения, статистического анализа и прочего. Он должен понимать принципы работы железа, компьютерного оборудования и всего, что настроено поверх него.
В остальном нужно знать все то же, что и при работе с малыми данным. Нужна математика, нужно уметь программировать и особенно хорошо знать алгоритмы распределенных вычислений, уметь приложить их к обычным принципам работы с данными и машинного обучения.
Какие используются инструменты
Поскольку данные хранятся на кластере, для работы с ними нужна особая инфраструктура. Самая популярная экосистема — это Hadoop. В ней может работать очень много разных систем: специальных библиотек, планировщиков, инструментов для машинного обучения и многого другого. Но в первую очередь эта система нужна, чтобы справляться с большими объемами данных за счет распределенных вычислений.
Например, мы ищем самый популярный твит среди данных разбитых на тысяче серверов. На одном сервере мы бы просто сделали таблицу и все. Здесь мы можем притащить все данные к себе и пересчитать. Но это не правильно, потому что очень долго.
Поэтому есть Hadoop с парадигмами Map Reduce и фреймворком Spark. Вместо того, чтобы тянуть данные к себе, они отправляют к этим данным участки программы. Работа идет параллельно, в тысячу потоков. Потом получается выборка из тысячи серверов на основе которой можно выбрать самый популярный твит.
Map Reduce более старая парадигма, Spark — новее. С его помощью достают данные из кластеров, и в нем же строят модели машинного обучения.
Какие профессии есть в сфере больших данных
Две основные профессии — это аналитики и дата-инженеры.
Аналитик прежде всего работает с информацией. Его интересуют табличные данные, он занимается моделями. В его обязанности входит агрегация, очистка, дополнение и визуализация данных. То есть, аналитик — это связующее звено между информацией в сыром виде и бизнесом.
У аналитика есть два основных направления работы. Первое — он может преобразовывать полученную информацию, делать выводы и представлять ее в понятном виде.
Второе — аналитики разрабатывают приложения, которые будет работать и выдавать результат автоматически. Например, делать прогноз по рынку ценных бумаг каждый день.
Дата-инженер — это более низкоуровневая специальность. Это человек, который должен обеспечить хранение, обработку и доставку информации аналитику. Но там, где идет поставка и очистка — их обязанности могут пересекаться.
Дата-инженеру достается вся черная работа. Если отказали системы, или из кластера пропал один из серверов — подключается он. Это очень ответственная и стрессовая работа. Система может отключиться и в выходные, и в нерабочее время, и инженер должен оперативно предпринять меры.
Это две основные профессии, но есть и другие. Они появляются, когда к задачам, связанным с искусственным интеллектом, добавляются алгоритмы параллельных вычислений. Например, NLP-инженер. Это программист, который занимается обработкой естественного языка, особенно в случаях, когда надо не просто найти слова, а уловить смысл текста. Такие инженеры пишут программы для чат-ботов и диалоговых систем, голосовых помощников и автоматизированных колл-центров.
Есть ситуации, когда надо проклассифицировать миллиарды картинок, сделать модерацию, отсеять лишнее и найти похожее. Эти профессии больше пересекаются с компьютерным зрением.
Вы можете посмотреть самые свежие вакансии, связанные с большими данными, и подписаться на новые вакансии.
Сколько времени занимает обучение
У нас обучение идет полтора года. Они разбиты на шесть четвертей. В одних идет упор на программирование, в других — на работу с базами данных, в третьих — на математику.
В отличии, например, от факультета ИИ, здесь поменьше математики. Нет такого сильного упора на математический анализ и линейную алгебру. Знания алгоритмов распределенных вычислений нужны больше, чем принципы матанализа.
Но полтора года достаточно для реальной работы с большими данными только если у человека был опыт работы с обычными данными и вообще в ИТ. Остальным студентам после окончания факультета рекомендуется поработать с малыми и средними данными. Только после этого специалиста могут допустить к работе с большими. После обучения стоит поработать дата-саентистом — поприменять машинное обучение на разных объемах данных.
Когда человек устраивается в большую компанию — даже если у него был опыт — чаще всего его не допустят до больших данных сразу, потому что цена ошибки там намного выше. Ошибки в алгоритмах могут обнаружиться не сразу, и это приведет к большим потерям.
Какая зарплата считается адекватной для специалистов по большим данным
Сейчас есть очень большой кадровый голод среди дата-инженеров. Работа сложная, на человека ложится много ответственности, много стресса. Поэтому специалист со средним опытом получает около двухсот тысяч. Джуниор — от ста до двухсот.
У аналитика данных стартовая зарплата может быть чуть меньше. Но там нет работы сверх рабочего времени, и ему не будут звонить в нерабочее время из-за экстренных случаев.
По данным зарплатного кулькулятора «Моего круга», средняя зарплата специалистов, чьи профессии связанны с большими данными — 139 400 рублей. Четверть специалистов зарабатывает более 176 000 руб. Десятая часть — более 200 000 руб.
Как готовиться к собеседованиям
Не нужно углубляться только в один предмет. На собеседованиях задают вопросы по статистике, по машинному обучению, программированию. Могут спросить про структуры данных, алгоритмы, про кейсы из реальной жизни: упали сервера, случилась авария — как устранять? Могут быть вопросы по предметной сфере — то, что ближе к бизнесу.
И если человек слишком углубился в одну математику, и на собеседовании не сделал простое задание по программированию, то шансы на трудоустройство снижаются. Лучше иметь средний уровень по каждому направлению, чем показать себя хорошо в одном, а в другом провалиться полностью.
Есть список вопросов, которые задают на 80 процентах собеседований. Если это машинное обучение — обязательно спросят про градиентный спуск. Если статистика — нужно будет рассказать про корреляцию и проверку гипотез. По программированию скорее всего дадут небольшую задачу средней сложности. А на задачах можно легко набить руку — просто побольше их решать.
Где набираться опыта самостоятельно
Python можно подтянуть на Питонтьютое, работы с базой данных — на SQL-EX. Там даются задачи, по которым на практике учатся делать запросы.
Высшая математика — Mathprofi. Там можно получить понятную информацию по математическому анализу, статистике и линейной алгебре. А если плохо со школьной программой, то есть сайт youclever.org.
Распределенные же вычисления тренировать получится только на практике. Во-первых для этого нужна инфраструктура, во-вторых алгоритмы могут быстро устаревать. Сейчас постоянно появляется что-то новое.
Какие тренды обсуждает сообщество
Постепенно набирает силу еще одно направление, которое может привести к бурному росту количества данных — Интернет вещей (IoT). Данные такого рода поступают с датчиков устройств, объединенных в сеть, причем количество датчиков в начале следующего десятилетия должно достигнуть десятков миллиардов.
Устройства самые разные — от бытовых приборов до транспортных средств и промышленных станков, непрерывный поток информации от которых потребует дополнительной инфраструктуры и большого числа высококвалифицированных специалистов. Это означает, что в ближайшее время возникнет острый дефицит дата инженеров и аналитиков больших данных.
📊 Что такое Big Data простыми словами
О тенденция развития больших данных мы писали в статье « Почему Big Data так быстро развивается? ». В новой статье расскажем о применениях больших данных простыми словами.
Что такое большие данные?
Big Data – область, в которой рассматриваются различные способы анализа и систематического извлечения больших объемов данных. Она включает применение механических или алгоритмических процессов получения оперативной информации для решения сложных бизнес-задач. Специалисты по Big Data работают с неструктурированными данными, результаты анализа которых используются для поддержки принятия решений в бизнесе.
Источник
Одно из определений больших данных звучит следующим образом: «данные можно назвать большими, когда их размер становится частью проблемы». Такие объемы информации не могут быть сохранены и обработаны с использованием традиционного вычислительного подхода в течение заданного периода времени. Но насколько огромными должны быть данные, чтобы их можно было назвать большими? Обычно мы говорим о гигабайтах, терабайтах, петабайтах, эксабайтах или более крупных единицах измерения. Тут и возникает неправильное представление. Даже данные маленького объема можно назвать большими в зависимости от контекста, в котором они используются.
Например, почтовый сервер может не позволить отправить письмо с вложением на 100 мегабайт, или, допустим, у нас есть около 10 терабайт графических файлов, которые необходимо обработать. Используя настольный компьютер, мы не сможем выполнить эту задачу в течение заданного периода времени из-за нехватки вычислительных ресурсов.
Как классифицируются большие данные?
Выделим три категории:
Характеристики больших данных
Большие данные характеризуются четырьмя правилами (англ. 4 V’s of Big Data: Volume, Velocity, Variety, Veracity) :
Традиционный подход к хранению и обработке больших данных
По мере роста объема данных, становится сложнее ими управлять и тяжелее обрабатывать их с помощью традиционного подхода. К его основным недостаткам относятся:
Термины
Облачные Вычисления
Облачные вычисления или облако можно определить, как интернет-модель вычислений, которая в значительной степени обеспечивает доступ к вычислительным ресурсам. Эти ресурсы включают в себя множество вещей, вроде прикладного программного обеспечение, вычислительных ресурсов, серверов, центров обработки данных и т. д.
Прогнозная Аналитика
Технология, которая учится на опыте (данных) предсказывать будущее поведение индивидов с помощью прогностических моделей. Они включают в себя характеристики (переменные) индивида в качестве входных данных и производит оценку в качестве выходных. Чем выше объясняющая способность модели, тем больше вероятность того, что индивид проявит предсказанное поведение.
Описательная Аналитика
Описательная аналитика обобщает данные, уделяя меньше внимания точным деталям каждой их части, вместо этого сосредотачиваясь на общем повествовании.
Базы данных
Данные нуждаются в кураторстве, в правильном хранении и обработке, чтобы они могли быть преобразованы в ценные знания. База данных – это механизм хранения, облегчающий такие преобразования.
Хранилище Данных
Хранилище данных определяется как архитектура, которая позволяет руководителям бизнеса систематически организовывать, понимать и использовать свои данные для принятия стратегических решений.
Бизнес-аналитика
Apache Hadoop
Apache Hadoop – это фреймворк с открытым исходным кодом для обработки больших объемов данных в кластерной среде. Он использует простую модель программирования MapReduce для надежных, масштабируемых и распределенных вычислений.
Apache Spark
Apache Spark – это мощный процессорный движок с открытым исходным кодом, основанный на скорости, простоте использования и сложной аналитике, с API-интерфейсами на Java, Scala, Python, R и SQL. Spark запускает программы в 100 раз быстрее, чем Apache Hadoop MapReduce в памяти, или в 10 раз быстрее на диске. Его можно использовать для создания приложений данных в виде библиотеки или для выполнения специального анализа в интерактивном режиме. Spark поддерживает стек библиотек, включая SQL, фреймы данных и наборы данных, MLlib для машинного обучения, GraphX для обработки графиков и потоковую передачу.
Интернет вещей
Интернет вещей (IoT) – это растущий источник больших данных. IoT – это концепция, позволяющая осуществлять интернет-коммуникацию между физическими объектами, датчиками и контроллерами.
Машинное Обучение
Машинное обучение может быть использовано для прогностического анализа и распознавания образов в больших данных. Машинное обучение является междисциплинарным по своей природе и использует методы из области компьютерных наук, статистики и искусственного интеллекта. Основными артефактами исследования машинного обучения являются алгоритмы, которые облегчают автоматическое улучшение на основе опыта и могут быть применены в таких разнообразных областях, как компьютерное зрение и интеллектуальный анализ данных.
Интеллектуальный Анализ Данных
Интеллектуальный анализ данных – это применение специфических алгоритмов для извлечения паттернов из данных. В интеллектуальном анализе акцент делается на применении алгоритмов в ходе которых машинное обучение используются в качестве инструмента для извлечения потенциально ценных паттернов, содержащихся в наборах данных.
Источник
Где применяются большие данные
Аналитика больших данных применяется в самых разных областях. Перечислим некоторые из них: