Как стать автором
Обновить

Компания Neoflex временно не ведёт блог на Хабре

Сначала показывать

MLOps-платформа Dognauts для разработки и эксплуатации ML-моделей. Часть 1: предыстория создания

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.3K

Добрый день! Меня зовут Евгений Овчинцев, я работаю в компании Neoflex и в настоящее время являюсь архитектором продукта Dognauts. В данной серии статей я планирую рассказать о том, как создавался и развивался продукт: почему принимались те или иные решения, с какими проблемами пришлось столкнуться и что из всего этого получилось. 

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии1

Основные аспекты формирования маппинга витрины для миграции

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров8.4K

В настоящее время наша команда в Neoflex выполняет работы по реализации нескольких проектов миграции данных, в рамках которых появляется потребность построения маппинга. Наш опыт основан на проекте крупнейшего в России банка по миграции витрин из СУБД Oracle в СУБД PostgreSQL в рамках импортозамещения отечественным ПО.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Как воспитать GPT модель в домашних условиях [LLaMA Update]

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров52K

Мы решили проверить технологию, на которой основан ChatGPT, посмотреть актуальное состояние open-source GPT-like моделей и ответить на вопрос — можно ли обучить GPT-like модель в домашних условиях?

Для эксперимента выбрали LLaMA и GPT-J и не самый мощный ПК с видеокартой Nvidia GTX 1080TI с 11 GB VRAM. Оказалось, что этого достаточно не только, чтобы загрузить модель, но и дообучить ее (fine-tune). Рассказываем — как мы это сделали.

Читать далее
Всего голосов 48: ↑46 и ↓2+44
Комментарии25

Алгоритм Forward-Forward: альтернатива backpropagation

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5K

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

В конце прошлого года Джеффри Хинтон, пионер Deep Learning, на конференции NeurIPS 2022 предложил новый алгоритм обучения нейронных сетей — Forward‑Forward — как альтернативу методу обратного распространения ошибки. FF более гибок и использует меньше памяти, чем backpropagation в архитектурах с множеством скрытых слоев, а его основная отличительная черта в том, что он основывается на современном понимании устройства человеческого мозга.

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии14

Мониторинг в NiFi. Часть третья. Задачи отчетности Site-to-Site

Время на прочтение19 мин
Количество просмотров2K

В предыдущих частях мы рассмотрели вопросы мониторинга потоков данных и состояния системы средствами GUI NiFi и задач отчетности. В этой части поближе познакомимся с задачами отчетности Site-to-Site. При отправке данных из одного экземпляра NiFi в другой можно использовать множество различных протоколов, однако, предпочтительным является NiFi Site-to-Site. Данный протокол предлагает безопасную и эффективную передачу данных из узлов в одном экземпляре NiFi, производящем данные, на узлы в другом экземпляре, являющимся приемником этих данных.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Мониторинг в Apache NiFi. Часть вторая

Время на прочтение14 мин
Количество просмотров5.8K

Задачи отчетности (Reporting Tasks)

В первой статье мы рассмотрели вопросы мониторинга потоков данных и состояния системы средствами GUI NiFi. Теперь рассмотрим, как передать необходимые метрики и отчеты об ошибках и состоянии кластера во внешние системы. NiFi предоставляет возможность сообщать о состоянии, статистике, показателях и информации мониторинга внешним службам с помощью интерфейса задач отчетности (Reporting Task).

Apache NiFi предоставляет несколько вариантов задач отчетности для поддержки внешних систем мониторинга, таких как AmbariGrafana, Prometheus и т. д. Разработчик может создать пользовательскую задачу отчетности или настроить встроенные задачи для отправки метрик NiFi во внешние системы мониторинга.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии7

Бросить всё и уйти в IT: три истории наших сотрудников, кардинально сменивших профессию

Время на прочтение10 мин
Количество просмотров5.9K
image

Что общего у сотрудника ЖКХ предпенсионного возраста, бизнесмена, разводящего на продажу червей для рыбалки, и руководителя отдела по работе с клиентами в строительной фирме? Все они сменили свои профессии на IT и ныне работают в Neoflex. Мы решили познакомить вас с их историями, чтобы показать: ни возраст, ни пол, ни образование или жизненный опыт не помеха для тех, кто решительно настроен заняться IT.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии3

Мониторинг в Apache NiFi. Часть первая

Время на прочтение20 мин
Количество просмотров6.6K

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

Первая статья посвящена мониторингу потоков данных с помощью инструмента GUI NiFi. В последующих материалах мы рассмотрим задачи отчетности, опишем примеры сбора метрик и визуализации при помощи таких популярных систем, как Prometheus и Grafana.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Особенности построения хранилища данных на базе ClickHouse в Yandex Cloud

Время на прочтение16 мин
Количество просмотров7.5K

В данной статье делимся опытом внедрения решения на базе СУБД ClickHouse и сервисов Yandex Cloud. Мы не коснёмся тонких настроек ClickHouse или его масштабирования, но затронем достаточно интересные на наш взгляд темы:

• как загружать данные из On-premise в облачный ClickHouse с использованием сервисов Yandex Cloud – Functions, Object Storage, Message Queue;

• как обрабатывать/преобразовывать данные в облачном ClickHouse – очищать и строить витрины; какие «подводные камни» нам встретились на этом пути.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии7

Заметки дата-инженера: интеграция Kafka и PySpark

Время на прочтение52 мин
Количество просмотров8.9K

Данная статья будет полезна тем, чья деятельность связана с Data Engineering, и тем, кто только знакомится с этой славной профессией. Вы узнаете про особенности настройки и интеграции Kafka со Structured Streaming, а также увидите различные способы чтения данных, работы с водяными метками и скользящим окном.

Привет, меня зовут Андрей, я работаю дата-инженером и по совместительству тимлидом разработки на проекте из банковского сектора. За плечами у меня и моих коллег большое количество успешных проектов, касающихся проектирования DWH и разработки ETL-процессов. Нам всем стали уже «родными» такие системы и инструменты как: Oracle, PostgreSQL, GreenPlum, Hive, Impala, YARN, Spark и Airflow (и прочие бигдата-покемоны), которые применялись в режиме пакетной обработки данных. А вот с потоковыми процессами на тот момент плотно работать ещё не приходилось. Нашей команде предстояло разработать «под ключ» систему типа «Real Time Marketing» – в онлайн формате анализировать действия пользователей в мобильном и интернет банке, сверяться и джойниться с множеством различных источников данных, чтобы в итоге эффективно генерировать актуальные и выгодные предложения для каждого из пользователей.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии5

Типовые ошибки менеджера при расширении команды. Гайд – как делать не стоит. Часть II

Время на прочтение8 мин
Количество просмотров5.8K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Grafana как инструмент визуализации потока данных в Kafka

Время на прочтение15 мин
Количество просмотров7.3K

Сегодня, в эпоху больших данных, когда компании тонут в информации из самых различных локальных и облачных источников, сотрудникам трудно увидеть общую картину. Анализ информации для отделения зерен от плевел требует все больше усилий. Визуализация данных помогает превратить все данные в понятную, визуально привлекательную и полезную информацию. Хорошо продуманная визуализация данных имеет критическое значение для принятия решений на их основе. Визуализация позволяет не только замечать и интерпретировать связи и взаимоотношения, но и выявлять развивающиеся тенденции, которые не привлекли бы внимания в виде необработанных данных. Большинство средств визуализации данных могут подключаться к источникам данных и таким образом использовать их для анализа. Пользователи могут выбрать наиболее подходящий способ представления данных из нескольких вариантов. В результате информация может быть представлена в графической форме, например, в виде круговой диаграммы, графика или визуального представления другого типа.

Большинство средств визуализации предлагает широкий выбор вариантов отображения данных, от обычных линейных графиков и столбчатых диаграмм до временных шкал, карт, зависимостей, гистограмм и настраиваемых представлений. Для решения задачи визуализации принципиальное значение имеет тип источника данных. И хотя современные средства визуализации проделали в этом вопросе большой путь, и предлагают на сегодняшний день весьма большой выбор, задача визуализации не решена в полной мере. Если для баз данных и целого ряда web сервисов задача визуализации не представляет принципиальной проблемы, то понять, что происходит с информационными потоками внутри некоторых программных продуктов из мира больших данных, не так просто.

Инструмент, на котором хотелось бы остановиться более подробно – Kafka.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Использование Seldon Core для машинного обучения

Время на прочтение7 мин
Количество просмотров3.8K

Широкое распространение машинного обучения помогло стимулировать инновации, которые всё труднее предсказать и создавать на их основе интеллектуальный опыт для продуктов и услуг бизнеса. Чтобы решить эту задачу, важно применять передовые методы. Сергей Десяк, ведущий эксперт центра компетенций DevOps компании Neoflex, делится опытом использования Seldon Core для машинного обучения, в частности, для «выкатки» моделей.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Типовые ошибки менеджера при расширении команды. Гайд – как делать не стоит. Часть I

Время на прочтение11 мин
Количество просмотров4.2K

Сталкивались ли вы с потребностью в расширении команды? В жизни менеджера или тимлида часто возникает такая потребность, так как разрастается скоуп, сжимаются сроки, открывается новый проект или новое направление. Такие ситуации обычно сопровождаются страхом допустить ошибку: ведь если с самого начала что-то пойдет не так, ком проблем может «снести» проект в дальнейшем.

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

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

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Эпизод 1. Скрытая угроза Java Core. Уровень Юнглинг

Время на прочтение12 мин
Количество просмотров16K
image

Мы публикуем серию статей для подготовки к собеседованиям Java-разработчиков. Будем рассказывать о том, как разработчику успешно пройти собеседование и не поседеть во время чтения тонн мануалов. Мы не пытаемся создать энциклопедию, в которой будут отражены тысячи вопросов на интервью, но поможем понять – о чем могут спрашивать и как отвечать на сложные вопросы, чтобы избежать стресса. Итак, первый материал посвящен базовому уровню языка программирования Java Core.

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

Давным-давно,
в далекой-далекой галактике…

Юного Люка Скайуокера мучает разного рода вопросами пытливый мастер Йода. А Йода, как известно, писал код, когда мы еще с вами под стол ходили. Причем кодил он прямо в блокноте без дебаггера, intellij idea и прочей богомерзкой ерунды. Когда же он уставал от нововведений, то просто пихал в дисковод компьютера перфокарты…

Мир тебе, юный Люк. Вопрос мой первый слушай ты.
Читать дальше →
Всего голосов 14: ↑7 и ↓70
Комментарии27

Как быстро разрабатывать сервисы обработки данных в реальном времени с помощью PySpark Structured Streaming и Kafka

Время на прочтение16 мин
Количество просмотров6.3K

Данная статья обобщает базовые шаги по установке и началу работы с PySpark Structured Streaming при участии брокера сообщений Kafka. Предполагается, что читатель уже знаком с языком программирования Python и сервисом Kafka.

При помощи PySpark Structured Streaming можно быстро разрабатывать масштабируемые сервисы обработки данных в реальном времени. Такой подход позволяет в короткие сроки сделать выгодное предложение клиенту, вовремя заметить аномалию в системе или же отображать актуальные данные.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Вредные советы для удалёнки: чего точно НЕ нужно делать, чтобы эффективно и комфортно работать из дома

Время на прочтение7 мин
Количество просмотров20K

Пришедшая с началом пандемии удалёнка уничтожила главное пространственное ограничение рабочей жизни: необходимость каждый будний день гонять в офис. Некоторые компании сейчас вернулись к прежним строгим условиям, а вот сотрудники ИТ-компании Neoflex, в которой по-прежнему действует гибридный формат работы «офис-удаленка», могут работать из дома, причем делают это в абсолютно разных условиях. Кто-то просто делит небольшую рабочую зону с женой. А кто-то переехал на дачу у леса и теперь вынужден защищать дом от подскакивающих из чащи кабанчиков J. 

Наши коллеги уже опытны в удалёнке и накопили массу наблюдений о ней. Например, о том, как организовать работу эффективно, где бы ты ни находился. И также о том, чего делать точно не нужно, иначе любимая работа на любимой удалёнке станет кошмаром. Полезных советов про удалёнку на Хабре уже много. Так что в этом посте мы для вас собрали вредные. Читайте — и ни в коем случае не следуйте!

Читать далее
Всего голосов 31: ↑17 и ↓14+3
Комментарии26

Был техспециалистом, стал руководителем: история про отрицание и выгорание с хеппи-эндом

Время на прочтение8 мин
Количество просмотров4.3K

Привет, меня зовут Александр. Сейчас я руковожу одной из групп дата-инженеров центра компетенций Big Data Solutions в Neoflex и дополнительно выступаю деливери-менеджером проекта, связанного с дата-инжинирингом. А ещё осенью 2020-го я был уставшим и сердитым дата-инженером, которого добровольно-принудительно перевели на нежеланную управленческую должность. 

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

Это история о том, как я преодолел внутренний протест, профессиональное выгорание и желание уволиться — и вместо этого перезапустил свою карьеру на новом уровне. Моя главная цель — помочь тем, кто оказался в такой же ситуации и уже просто не знает, что делать.

По ходу повествования будут встречаться комментарии от моего непосредственного руководителя Вадима и Светланы, руководителя отдела талантов компании Neoflex. Их дополнения — независимый взгляд со стороны на мою историю.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии2

Создание документации по проекту с помощью Сonfluence API

Время на прочтение6 мин
Количество просмотров6.2K

В этой статье мы хотели бы поделиться кейсом о том, как собрать документацию по проектам заказчика с помощью Сonfluence.

Скорее всего вы знаете, что такое Confluence и для чего он нужен. Если нет, коротко скажем, что это пространство/сайт, где вы копите все знания о вашей деятельности в организации. То есть, например, выполняя какой-либо проект, параллельно ведете свой раздел в Confluence, чтобы новый сотрудник смог быстрее в нем разобраться. Также это мощный инструмент для различной аналитики, ведения статистики, но, если вам потребуются дополнительные инструменты и «фишки», нужно будет их оплатить, так как они не будут доступны в бесплатной версии.

Специалист Neoflex из подразделения Big Data Solutions рассказывает о проблеме, с которой он столкнулся:

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

Зная такие инструменты как Selenium и язык программирования Python, мною была написана рекурсивная функция от нужного отдела по всем его дочерним объектам. В ходе выполнения наткнулся на большое количество проблем: например, отсутствие id в url, принадлежность одной страницы другому разделу, медленная работа, несоответствие стилей и т.д. Вся работа строилась на простом алгоритме: проходить все страницы, сохранять необходимый текст в тегах в html файл для дальнейшего преобразования в DOCX. Почему пришлось отказаться от данного подхода:

Читать далее
Рейтинг0
Комментарии0

Графовые базы данных на примере простых запросов

Время на прочтение9 мин
Количество просмотров19K

Статья  будет полезна начинающему разработчику или тому, кто хочет расширить свой кругозор практическим знакомством с графовыми базами данных. Часто в аналогичных статьях не хватает либо пошаговой инструкции по установке, либо более детального разъяснения –  как общаться с данными в базе.

Информации по теории графов достаточно много, поэтому в материале будут сугубо прикладные знания, которые существенно облегчат закрепление материала практикой. В данном примере рассматривается работа с локальным экземпляром БД Neo4j. Считаю, что СУБД именно этого вендора позволяет осваивать тему графовых баз данных с достаточно низким порогом входа – нам понадобится только понимание SQL. Иными словами, статья представляет собой краткую сводку/инструкцию о том, какие шаги нужно пройти и что освоить, чтобы начать "играться" с Neo4j на вашем личном ПК или сервере в инфраструктуре вашей компании. Поскольку в этот тип БД заходят специалисты, ранее работавшие с реляционными БД, для облегчения понимания принципов в статье сделан упор на сопоставление языка общения с графовыми базами данных и классическим SQL. Чтобы сделать пример прикладным, в материале приводится  решение типовой бизнес-задачи для графовых БД на простом примере из финансовой предметной области.

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии3