Коля. Заметки

коля._заметки.1499001407.txt.gz | Хозяин: nikolay_carbonsoft1 | Изменен: 20.05.2019 15:18 nikolay_carbonsoft1 Черновик Новейший утвержденный

Это старая версия документа.


Курс лекций "Алгоритмы во внешней памяти". Максим Бабенко.

http://www.youtube.com/embed/KsPv6X9ysqI http://www.lektorium.tv/lecture/13929

На курсе рассказывают про алгоритмы, которые работают с данными, которые, по тем или иным причинам, не могут поместиться в оперативную память (когда файлы лежат на HDD/SSD или, например, в хадупе на HDFS). Объясняется сложность таких алгоритмов, относительно количества дисковых операций, теория подана довольно просто и интуитивно, мозг хорошо настраивается на мысль, что не так важна производительность кода, когда доступ к данным такой дорогой.

На 3-4й лекции завтыкал, примеры про алгоритмы на графах мне не очень близки. Может, почитаю про эти алгоритмы в памяти и пересмотрю как все меняется, когда граф окажется очень большим. Но первые лекции очень хороши.

В последней лекции акцент смещают с внешней памяти и оперативной на CPU-кеш и оперативную память. Скорости тут, конечно, будут другие, но порядок, на который отличается скорость доступа к кешу и ОЗУ, и порядок ОЗУ и HDD примерно одинаков, на мой взгляд. 5 лекция будет сама по себе полезна, если тебе нужен быстрый алгоритм, который работает с данными в ОЗУ. Минимизация доступа к ОЗУ сможет дать большой прирост производительности, да и круто это, знать как работает кеш в CPU :)

Вместо пятой лекции, конечно, советую прочитать «What Every Programmer Should Know About Memory» https://www.akkadia.org/drepper/cpumemory.pdf , но там много, и мне плохо зашли части про бечмаркинг скорости, т.к. нет под рукой проекта, на который я могу примерять цифры, чтобы их осознавать.

Курс лекций "Методы и системы обработки больших данных". Иван Пузыревский.


http://www.youtube.com/embed/IHVIFVZeXcA http://www.lektorium.tv/lecture/30079

http://compsciclub.ru/courses/bigdatasystems/2017-spring/

Очень качественный и свежий курс про распределенные системы, про их работу под капотом. Речь идет про системы хранения, очереди и БД: HDFS, HBase, Cassandra, Kafka; про MapReduce и системы потоковой обработки: Hadoop MapReduce, Spark, Storm, Spark Streaming, плюс две лекции про Zookeeper и одна про Hive.

Внешнее API систем и примеры использования приведены в основном для общего понимания, основная часть сосредоточена на внутренней архитектуре систем. Очень полезно для определения применимости этих систем в ваших проектах, поможет самостоятельно прикидывать производительность при применении той или иной технологии.

На лекциях разбирается архитектура, строение и алгоритмы, на которых основываются системы. Начинается все с HDFS из хадуповского стека, который является базовым строительным блоком распределенной системы на базе hadoop, на его примере также разбирается работа и деплой кода в hadoop YARN.

Довольно забавно было, когда после первой лекции про HDFS была полная уверенность в том, что оно точно не подходит для БД, а в 3й лекции рассказывают про быстрый и производительный HBase, который хранит свои данные в HDFS и делает это консистентно.

В лекциях было очень мало информации про свежие фичи данных систем, про интересное API, примеры производительных интеграций. Сложилось такое ощущение, что какой-нибудь MapReduce с помощью твиков можно разогнать на пару порядков (Spark как раз один из известных твиков, хе-хе). Но тогда можно было бы ожидать по 11 лекций на каждую систему, вместо одной, да и цель курса немного не про это. Тема API и применимости также рассматривается в хорошей книге Семь баз данных за семь недель, основной плюс которой в ее компактности, так что материал там изложен довольно сумбурно.

В общем, если вы вечно путаете все эти модные словечки из темы MapReduce, не можете запомнить чем отличается Spark и Storm, Spark/HBase/Riak - после просмотра лекций у вас надолго в голове останутся «крючки», за которые в будущем можно будет легко сориентироваться в этом зоопарке.

P.S. нужно будет пересмотреть Яндекс изнутри: инфраструктура хранения и обработки данных, что на самом деле в тренде. P.P.S. Как устроен поиск Яндекса: о чём невозможно прочитать - тоже прикольный видос, давно смотрел, уже не помню про что там.

Семинар по глубокому обучению или как стать Data Scientist’ом

Несложная,​ поверхностная лекция по теме машинного обучения,​ описние простых нейронных сетей, использования сверток и пулинга. Некоторые темы предполагаются,​ как уже знакомые зрителю,​ но это мешает только в паре мест доклада. В конце показывается пример на python+ TensorFlow по построению и обучению нейросети для определения цифр.

Практическое занятие по обработке текста в gensim с помощью алгоритма word2vec

Слабый докладчик IMHO. Реальные кейсы не знает, на вопросы отвечает не прямо.

Полу-лекция, полу-доклад про алгоритмы категоризации для слов. Из плюсов, что в комплекте идет IPython notebook с кодом и можно вместе с лектором ручками по-запускать все самому. Но из-за практической составляющей в видео очень много пауз, плюс многое оставлено вне доклада (вы можете что-то запустить, но как оно работает, может остаться для вас непонятным). Так себе, в общем, не советую без параллельной практики.

Если у вас 500млн слов текста, word2vec - ок, doc2vec лучше от 1млн (будет гуд).

Ларри Боссиди и Рэм Чаран Исполнение

В книге рассказывается про построение так называемой «культуры исполнения»:
- мотивация руководства работать на результат
- выстраивание контроля над выполнением планов на всей иерархии сотрудников
- взаимопомощь, наставничество, выращивание кадров, правильная расстановка кадров
- ответственность за взятые на себя обязательства, бесконечная работа над совершенствованием себя и бизнеса
- открытый диалог между всеми сотрудниками, особый упор на высказывание всех своих мыслей и откровенный разговор, обнажение всех проблем на совещаниях для построения реалистичных планов и прогнозов; но не забывать про общение с рядовыми сотрудниками тоже, часто они могут о многом сказать, а ваша открытость и прозрачность политики предприятия снизит накал волнения у них
- движение в сторону больше мобильности: сокращение запасов, большая открытость перед продавцами и поставщиками, быстрая корректировка планов и направления развития при внешних изменениях и разработка планов с учетом непредвиденных обстоятельств и невыполнения некоторых его пунктов
- выставление крайне оптимистичных, но выполнимых планов; поддержание всего бизнеса в тонусе и нацеливание на постоянный рост показателей
- повторюсь, но на это делается большой акцент: планы ставятся крупные, но они разрабатываются и потом согласовываются с непосредственными исполнителями, выясняются стратегии в случае невыполнения планов и оглашается список методов, с помощью которых эти планы планируется выполнить
- методы выполнения планов, вкупе с контролем выполнения приводит к разбиению большого плана компании на более мелкие контрольные точки/задачи, которые проще контролировать, которые ведут к результату постепенно, что позволяет, в свою очередь, быстро подстраиваться под ситуацию и разворачивать курс на 180 градусов
- поддержание производственного плана (цели в показателях, задачи) и стратегического плана (новые перспективы, планирование на будущее, вектор компании) в синхронизированном состоянии, ориентация на завтрашний день; задачи решаются более «позитивно», если исполнитель видит причины возникновения этой задачи и ее более глобальные результаты в стратегическом плане
- перемена оценки работы отделов от сравнения с прошлыми показателями к соответствию будущим, запланированным показателям, показателям конкурентов
- планы и действия обязательно сверяются с положением конкурентов, рынка и собственных кадров и возможностей фирмы; не стоит развивать новую технологию из смежной области, если у вас нет подходящих кадров, кому это под силу; не стоит открывать завод в азии, если нет человека, понимающего тамошнюю обстановку, тех людей, их законы и особенности, ну и политическую обстановку, конечно

В общем, компания должна быть мобильна, контролируема, прозрачна, желающая совершенствоваться в каждом конкретном сотруднике, с выстроенной и справедливой системой мотивации.

Книга все же рассчитана, как и сказано на обложке книги, больше рассчитана на руководящий состав, чем на обычного читателя, из-за этого книга читается не очень приятно, хотя все разжевано и понятно, наблюдается какая-то затянутость и нудность особенно в раскрытии всяких известных (для людей, на которых нацелена книга) топ-менеджеров.

Но и далекому от этого человеку книга позволит взглянуть на постоянно меняющуюся бюрократию фирмы, в которой он работает, по-новому. Более лояльно, как минимум, а то и принять в этом более активное участие.

Обсуждая некоторые моменты из этой книги (а многое в ней актуализировано на 2001 год), высказываются мнения, что очень многое в ней уже устарело. А мое впечатление о том, что книга призывает руководящих лиц «спускаться на ступень ниже», узнавать как можно больше о людях в своем подчинении, в их подчинении, о нюансах своего продукта, его производства, продаж, маркетинга, найма и воспитания кадров и прочего - это миф, и признак плохого руководителя. В книге делается большой упор на помощь высших директоров своим подчиненным в их непосредственной деятельности советами, давать которые, без глубокого погружения, бессмысленно, на мой взгляд. Но будем разбираться дальше, время покажет.