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

Пользователь

Отправить сообщение

Это база машинного обучения

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

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

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

Можно, конечно, попытаться обойтись и без машинного обучения. Самый простой подход — проанализировать данные и составить понятный набор правил формата if-else (если-то). Между прочим, это применяется в реальной жизни, например, при анализе потребительской корзины. Составляется набор ассоциативных правил вида {хлеб, чай} → {молоко}. Это означает, что если покупатель приобретает хлеб и чай, то, скорее всего, он также купит молоко. Вуаля — мы сделали прогноз на будущее. 

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

Базовые принципы и практики разработки чистого кода

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

Культовый разработчик Кент Бек сформулировал принципы написания ПО, которые в вольном изложении звучат приблизительно так:

1. Заставь код работать.
2. Сделай его понятным.
3. Оптимизируй для лучшей производительности.

Этим основам не один десяток лет, однако джуны (да и старшие порой, будем честны:) спотыкаются уже на втором шаге. В результате получается рабочий, но нечитаемый код, который не просто трудно понять — его нельзя дополнить или исправить, не поломав программу.

Причина проста: на проектной работе важно как можно быстрее выйти на рынок и получить деньги. Джуны спешат разобраться с задачей, не тратя времени на рефакторинг и комментарии. Обычно до оптимизации дело так и не доходит: важные участки кода скорее «заморозят» и запретят вносить в них изменения, чем перепишут. Беда, если именно в них будет крыться экономическое преимущество системы.

Сгустили мы тучи, однако. Но всё же, как писать понятный код с первого раза? Рассказываем в материале!

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

Байки с завода: как IT-специалисту на производстве живётся (часть вторая)

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

Привет, Хабр! С вами снова Юра, тот самый «цифровик» с завода СИБУРа. С момента моего предыдущего рассказа прошло полгода, и несмотря на описанный мной суровый сибирский контекст, я всё ещё жив, здоров и счастлив. И даже дополз пришёл к вам с охапкой новых рассказов.

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

Тестирование для интернета вещей: раскладываем по полочкам

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

Привет, Хабр! Меня зовут Катя Муличева, я тестировщица в СИБУР Диджитал (на фото не я).  За 4 года в профессии я успела попробовать различные виды тестирования и в этом материале хочу описать свой опыт тестирования систем с использованием датчиков интернета вещей.

Когда я впервые с ними столкнулась, я понятия не имела, с чего начать, - незнакомо было примерно всё. Поэтому в материале тема объясняется «на пальцах», ровно так, как я и хотела бы её получить в начале своего пути. Надеюсь, он окажется для вас полезным!

В первой части очень кратко разберёмся с теорией, а во второй посмотрим, что с ней происходит на практике.

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

Выученные уроки молодого продакта

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

Всем привет! Меня зовут Юстина Цига, и я владелец продукта IIoT в Цифровом СИБУРе.

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

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

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

Что скрывается под капотом НейроМенделеева

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

Всем привет!

Недавно мы запустили бота, в котором воплощён образ Дмитрия Менделеева (очень важная личность для СИБУРа), в том числе внешность. Он может всякое. Например, рассказывать факты из области химии и науки, отвечать на любой рабочий вопрос и подсказывать правильное решение, рассказывать о СИБУРе и карьере в компании, помогать новым сотрудникам для адаптации — в общем, хороший инструмент для HR-целей.

Сосредоточимся на том, как он устроен внутри.

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

Не только травим тараканов: о роли тестировщика в разработке

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

Тестирование — необязательный этап разработки? Зачем подключать QA к планированию? И неужели люди правда выпускают продукты с дефектами?

Меня зовут Наталья Мурашова, я Senior QA Engineer, тренер по теории, процессам и автоматизации тестирования. Сегодня разберём, что такое тестирование, зачем оно нужно, и как работают тестировщики у нас в СИБУР Диджитал.

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

Разбираемся в автотестах gRPC без боли и седых волос

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

Всем привет! Меня зовут Катя Муличева, я тестировщица в СИБУР Диджитал. Последние два года я пишу автотесты для gRPC на Kotlin. Получив опыт, я захотела написать статью, которая очень пригодилась бы мне самой, когда я только начинала разбираться с gRPC. Надеюсь, вы найдете её полезной для себя!

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

Одна модель, чтобы править IT-проектами, и наш долгий путь к ней

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

Привет! Меня зовут Александр Апазиди, я руковожу в СИБУРе цифровизацией процессов головного офиса.

Сегодня я расскажу, как мы приводили IT-проекты в огромном нефтегазохимическом холдинге к одной модели, пытались примирить Agile и Waterfall, да и в целом, ускорить выполнение проектов.

С 2020 по 2022 количество наших IT-проектов увеличилось с 70 до 220, так что тема ухабистая. Приятного чтения!

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

«Это не админ на стероидах»: в чём суть роли DevOps

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

Представьте себе команду, которая пишет F2P-игру для мобильников. Даже если это инди-проект из трёх человек, в этой команде всё равно будут разработчики, тестировщики и хоть кто-то ответственный за инфобезопасность. И, допустим, в команде хаос.

Разрабы долго ждут обратную связь от QA, половина документации нечитабельна, в Git пропала версия кода, до которой очень нужно откатиться прямо сейчас, потому что в новой всё поломалось в проде и надо вернуть как было… Ещё и вся команда в ссоре и ни один дейли не проходит без скандала. Как вы думаете, быстро ли эта игра дойдёт до рынка?

Это, конечно, драматическое преувеличение, но для решения таких проблем и нужны DevOps-практики.

Читать далее
Всего голосов 18: ↑7 и ↓11-4
Комментарии26

Как я готовился к собеседованию на позицию Senior ML Engineer

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

Привет, меня зовут Глеб Зарин, я ML-разработчик. Сегодня я расскажу, как я подготовился к собеседованиям на позицию Senior Machine Learning Engineer и получил работу мечты за рубежом.

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

Как облегчить эксплуатацию продукта и избавиться от кошмаров с релизами

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

Привет, Хабр! Меня зовут Анатолий Саблин, я java-разработчик и техлид команды эксплуатации в СИБУР Диджитал. Сегодня я расскажу про сложности, которые возникают на этапе эксплуатации продукта, как они влияют на работоспособность, и как их решить. И особенно рассмотрю:

●      Что важно в разработке программного продукта помимо самого кода;

●      Как сделать релиз и не сломать прод;

●      Какая модель работы больше подходит для промышленной эксплуатации.

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

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

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

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

Читать далее
Всего голосов 129: ↑127 и ↓2+155
Комментарии49

Байки с завода: как IT-специалисту на производстве живётся

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

У нас в индустрии есть распространённый мем: мол, есть стандартный офисный IT, а есть тяжёлый диджитал. И «тяжёлый» —  это не про нагрузку, а про общий сеттинг.

Сибирь, дыхание зимы, посреди густой тайги завод, а внутри – металл теплообменников, экструдеров и печей пиролиза окружает IT-специалиста, взявшего на себя роль пришельца из будущего. Романтика. Ну или киберпанк.

Меня зовут Юрий, я тот самый IT-специалист или, как говорят заводчане, «цифровик». За время работы у меня накопилось столько красочных историй про IT на заводе, что хватит на пару альманахов. Но начну с поста на Хабре. Все истории реальны и без купюр (поэтому я не назвал свою фамилию, хехе).

Приятного чтения!

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

Почему анализ ошибок – это начало разработки ML системы, а не конец?

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

Мы школа онлайн-образования, которая уже три года делает курсы по Data Science и разработке. Одна из наших целей – собрать коммьюнити классных специалистов и делиться крутыми и неочевидными знаниями. Так был рождён Симулятор ML – место, в котором начинающие и опытные специалисты решают задачи разной сложности, разрабатывают проекты в командах, осваивают новые инструменты, развивают продуктовое мышление и постоянно растут в профессии.

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

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

Генераторы непрерывно распределенных случайных величин

Время на прочтение15 мин
Количество просмотров117K
Генератор случайных чисел во многом подобен сексу: когда он хорош — это прекрасно, когда он плох, все равно приятно (Джордж Марсалья, 1984)

Популярность стохастических алгоритмов все растет. Многие из них базируются на генерации большого количества различных случайных величин. Далеко не всегда равномерно распределенных. Здесь я попытался собрать информацию о быстрых и точных генераторах случайных величин с известными распределениями. Задачи могут быть разными, разными могут быть и критерии. Кому-то важно время генерации, кому-то — точность, кому-то — криптоустойчивость, кому-то — скорость сходимости. Лично я исходил из предположения, что мы имеем некий базовый генератор, возвращающий псевдослучайное целое число, равномерно распределенное от 0 до некого RAND_MAX

unsigned long long BasicRandGenerator() {
    unsigned long long randomVariable;
    // some magic here
    ...
    return randomVariable;
}

и что этот генератор достаточно быстрый. Я имею ввиду, что дешевле сгенерировать с десяток случайных чисел, нежели чем посчитать логарифм или возвести в степень одно из них. Это могут быть стандартные генераторы: std::rand(), rand в MATLAB, Java.util.Random и т.д. Но имейте ввиду, что подобные генераторы редко подходят для серьезной работы. Зачастую они проваливают разные статистические тесты. А также, помните, что вы полностью зависите от них и лучше использовать свой собственный генератор, чтобы иметь представление о его работе.

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


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

Равномерное распределение





Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии7

Transformer в картинках

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

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

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

10 первых ошибок в карьере ML-инженера

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

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

Богдан Печёнкин, автор Симулятора ML, собрал 10 ошибок специалистов, которые зачастую встречаются в первые годы карьеры.

Узнать больше
Всего голосов 39: ↑39 и ↓0+39
Комментарии23

“Один дашборд, чтобы править ими всеми”

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

Привет! Как мы писали в предыдущих постах, наша команда создает удобные дашборды для разных департаментов СИБУРа, от хозяйственной деятельности до продаж. 

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

Для этого мы создаем так называемый Царь-Дашборд. Control Tower. Мета-дашборд. Он содержит информацию о самых важных дашбордах, которые есть в компании, по сквозным процессам (это такие процессы, которые касаются нескольких разных функций, нескольких различных исполнителей в одной компании). Целевая аудитория такого дашборда — первые лица компании: CEO и, что называется, “минус 1” от его должности. Также данные с дашборда могут пригодиться и операционным специалистам, если им удобно воспринимать данные в таком формате.

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

Как мы в СИБУРе делаем дашборды для людей. Часть 2: логичные дашборды для департамента логистики

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

Привет! Как и обещали в предыдущем посте, продолжаем рассказывать про то, как внедряем удобные дашборды для разных департаментов СИБУРа. На очереди — логистика.

За что отвечает логистика? Это не очень очевидно, но логистика — это неотъемлемая часть клиентского сервиса. И хороший дашборд для логистики — это рабочий инструмент для принятия эффективных решений по сокращению затрат и по обеспечению клиентского сервиса. Меня зовут Максим Коровин, я отвечаю за дашборды в логистике, и в этом посте расскажу, как всё устроено.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность