Как стать автором
Обновить
32
117
SberTeam @Sber

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

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

Давайте писать красиво: второй сезон «Конкурса красоты кода»

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

Привет, Хабр. Хочу рассказать про «Конкурса красоты кода», который мы снова запускаем. Год назад мы его придумали, и идея народу зашла — больше 1000 человек прислали свои работы. Идея была в том, что есть несколько задач на выбор, и их надо решить в коде. Условий три: код должен работать, быть лаконичным и удобочитаемым.

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

Читать далее

Как (и зачем) мы разворачивали ActiveMQ Artemis в облаке

Уровень сложностиСложный
Время на прочтение24 мин
Количество просмотров3.9K

Привет, Хабр! Меня зовут Артем Безруков, я DevOps‑инженер в команде интеграционных сервисов Platform V Synapse в СберТехе.

Наша команда работает над продуктом из линейки Platform V Synapse — Platform V Synapse Messaging. Это брокер сообщений, в основе которого лежит Apache ActiveMQ Artemis. Мы делаем из него более безопасное и функционально обогащённое решение, разрабатывая дополнительные плагины, и заботимся о том, чтобы его можно было просто и быстро развернуть с помощью наших скриптов автоматизации.

В последние годы набирает обороты тренд на использование облачных технологий, технологий контейнеризации и микросервисной архитектуры, и наша команда решила расширить возможности продукта. И если изначально стенды ограничивались только виртуальными машинами (ВМ), то с недавнего времени мы начали выводить Platform V Synapse Messaging в среды оркестрации контейнеров — Kubernetes (K8s/облако).

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

Поехали!

Читать далее

Пока не исправили — модифицируй, или Анализ расширений атаки уклонения для LLM

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

Добрый день, уважаемые читатели Хабра. В связи с бурным развитием генеративных моделей и реализованных на них чат‑ботов (ChatGPT, Gemini, Bard, Notion AI, Compose AI, Poe, Phind) у пользователя появляется ложное чувство, что модели стали умнее, защищённее и, в целом, ближе к совершенству, сравнимы с человеческим интеллектом. Отсюда мы получаем целый пласт заблуждений. Например, что модели нас «чувствуют», «понимают», ведь мы выкладываем для них столько информации о себе, начиная от стилистики нашего письма, что уже является неким цифровым отпечатком нашей личности, и заканчивая оценкой их собственной работы. На самом деле это миф. И трендом 2023–2024 годов стало обширное внимание публики к XAI:

как они (генеративные модели) устроены и как они принимают решения;

как проводятся атаки уклонения (склонение моделей к неверной выдаче);

как эти атаки (уклонения) связаны с другими атаками на LLM и какие они могут быть для эскалации деструктивного поведения системы;

с какой позиции верно интерпретировать выход генеративной модели;

разработка системы эшелонированной защиты моделей;

разработка системы внутреннего критика для модели.

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

Читать далее

Causal Inference: прозрение и практика. Лекция 2. Рандомизированные контролируемые испытания

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров1.3K

Предыдущая лекция.

Рандомизированные контролируемые испытания (РКИ) представляют собой наиболее объективную, прозрачную и эффективную методологию для проведения экспериментов. Они пользуются огромной популярностью и применяются в самых разных сферах, включая науку, медицину, маркетинг и технологии. С их помощью учёные и специалисты могут проверять эффективность новых методов лечения, лекарственных препаратов, продуктов или услуг, сравнивая результаты между двумя или более группами. РКИ встречаются гораздо чаще, чем может показаться на первый взгляд. Это невероятно популярный метод исследования причинно‑следственных связей. Хотя они довольно просты в реализации, их точность значительно превосходит все другие методы аппроксимации ATE.

Читать далее

Causal Inference: прозрение и практика. Лекция 1. Основные понятия Causal Inference

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

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

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

Однако со временем стало ясно, что для полного понимания данных необходимо научиться объединять эти два подхода. Здесь на сцену выходит причинно‑следственный вывод (Causal Inference). Эта область Data Science помогает раскрыть причины явлений, объединяя преимущества как машинного обучения, так и эконометрики. Judea Pearl в своей статье 2021 года подчеркивает важность причинно‑следственного вывода как «ключевого элемента для достижения баланса между радикальным эмпиризмом ML и интерпретационным подходом эконометрики».

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

Читать далее

Оптимизируем системные ресурсы при развёртывании за счёт перехода на динамику

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

Всем привет! Если в компании растёт количество продуктов, а для их развёртывания используются виртуальные машины, то рано или поздно возникает задача оптимизации ресурсов. Скажем, вы используете для оркестрации Jenkins. Количество агентов на ВМ при этом статично, а количество развёртываний в разное время разное. В этом случае при массовых установках агенты периодически упираются в установленный лимит исполнителей (executor), а в свободные часы ВМ простаивают, занимая ресурсы.

Мы, команда Run4Change в СберТехе, сопровождаем тестовые среды. В наши задачи входит в том числе развёртывание продуктов облачной платформы Platform V на стендах для последующего тестирования. Расскажем, как мы решили проблему использования системных ресурсов и отказались от виртуальных машин в пользу cloud‑native‑решения. Статья может быть полезна тем, кто планирует начать использование динамических агентов Jenkins, и может использоваться как первоначальное руководство.

Читать далее

Шифруй то, шифруй это, или LLM под замком

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

Здравствуйте, уважаемые читатели Хабра. Чем больше я погружаюсь в LLM, тем больше укрепляюсь во мнении, что сейчас они (LLM) заняли если не самое важное, то уж точно одно из очень значимых мест во всём пантеоне моделей машинного обучения. При этом всё чаще встаёт вопрос шифрования моделей в самом широком смысле. Речь не столько о механизмах, алгоритмах, подходах и методиках шифрования того, что запрашивает пользователь, сколько о работе с данными в целом, в том числе и для обучения моделей. То есть о шифровании как на входе, так и на выходе — данных от пользователя, от модели и обучающих данных.

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

Почему это важно? Сегодня работает четвёртое поколение GPT‑систем, ждём пятое. Есть много аналогов «четвёрки» (Megatron‑LLM, LLaMA, Claude, PaLM, Mistral, BLOOM, Grok, Megatron‑Turing NLG, Chinchilla, OPT, GODEL, Jurrassic-2), которые по ряду параметров намного превосходят GPT-4. Однако для качественной «эволюции» систем необходимо «скармливать» им «правильный» эксплуатационный код, апробированный и полностью покрытый тестами, который создаётся крупными корпорациями, средним и малым бизнесом. Но есть нюанс: такой код просто так никто не отдаст. Более того, он защищён авторскими правами и имеет ряд наложенных юридических условий использования.

Читать далее

Цифровые двойники: от истока к будущему

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

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

Читать далее

Демократизация DevOps

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

На нашей недавней конференции GigaConf мы много​​ рефлексировали о том, как будет развиваться направление DevOps. Оно немыслимо без инструментов. Поэтому я расскажу о том, как мы внедряем в Сбере практики GitAIOps, какие совершили ошибки и извлекли уроки, какие сделали выводы по поводу внедрения ИИ. Сегодня на всех углах рассказывают, как ИИ поможет разработчикам, но мало кто говорит о его помощи DevOps-инженерам. Надо это исправить.

Меня зовут Юрий Спорынин, в ИТ я более 20 лет. Начинал с разработки, своими руками создавал процессинговую систему для интернет-эквайринга. В 2016 году я перешёл в Сбер, где мы в 2018 году внедрили платформу в «Сбербанк Онлайн». Сейчас среди моих задач — кластер DevOps-инструментов, о которых мы отчасти сегодня поговорим. 

Читать далее

Jenkins — от монолита к распределению

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

Привет, я Дмитрий Коляндра, разработчик в подразделении SberWorks, занимающемся автоматизацией и сопровождением инструментов производственного процесса. Эта история о том, что происходит в крупных компаниях, где развёрнуто много десятков экземпляров Jenkins.

Читать далее

IT с человеческим лицом: портрет типичного программиста-2024

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

Всем привет! Не так давно мы с GitVerse, платформой для работы с исходным кодом от СберТеха, проводили опрос, чтобы выяснить, как сегодня выглядит типичный программист. Не в смысле внешности, а в плане своих личных и профессиональных качеств. Опрос прошли почти 2,5 тысячи человек. Мы очень рады, что наша затея оказалась такой популярной. Теперь настало время поделиться результатами. Кто он такой — Типичный Программист-2024? Заходите под кат, чтобы узнать о нём всё.

Читать далее

Будущее DevOps-инженера

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

В последние годы произошло много разных событий, и мы, как большая организация, прочувствовали всё на себе. Пришлось очень быстро решать всевозможные проблемы. Хочу поделиться нашим опытом и сделанными выводами, которые кому-то покажутся спорными, кому-то — неуместными, а кому-то — очень важными. 

Читать далее

Удивительная история развития сортировки в JDK

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

Как вы считаете, если выполнить java.util.Arrays.sort(), то какая сортировка будет вызвана? Quicksort? Timsort? И та, и другая, потому что для объектов вызывается Timsort, а для примитивов (чисел int, long, float и так далее) — Dual-Pivot Quicksort. В JDK 6 для объектов использовался стандартный Merge sort, а для чисел классическая реализация Quicksort с одним опорным элементом, предложенная Джоном Бентли и Дугласом МакИлрой. В JDK 7 оба алгоритма поменялись: теперь объекты сортируются с помощью Timsort, автор Тим Петерс, а для простых типов данных используется Dual-Pivot Quicksort, предложенный мною вместе с Джоном Бентли и Джошем Блоком в 2009 году. Эта сортировка используется более 15 лет не только в JDK, но и в Android (хотя и немного устаревшая версия).

А зачем нам вообще второй алгоритм сортировки, если есть Timsort? Почему не использовать один и для объектов, и для примитивов? Сегодня я, как автор, расскажу историю Dual-Pivot Quicksort: как он начинался, как развивался и как продолжает развиваться сейчас.

Читать далее

Обучение с учителем и без — в чём разница?

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

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

Читать далее

Топ 10 ИИ-фреймворков, или Сказ о том, как AMD проиграла рынок NVIDIA

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

В индустрии машинного обучения происходит небывалый беспрецедентный бум, и главный двигатель этого праздника технологий, генерирующего сверхприбыли для больших компаний, — графические процессоры (GPU). В битве за долю рынка ИИ-ускорителей можно выделить двух титанов индустрии GPU — NVIDIA и AMD. Несмотря на то, что во всех остальных сферах, кроме ИИ, AMD периодически подаёт надежду на превосходство над NVIDIA, во всём, что касается машинного обучения, NVIDIA обладает почти что абсолютной властью над рынком. Эта компания, благодаря своей дальновидной стратегии, сумела не только завоевать доверие разработчиков, но и фактически создать экосистему, ставшую стандартом де-факто в области глубокого обучения. AMD же, несмотря на свой богатый опыт в производстве высокопроизводительных процессоров, оказалась на периферии этого стремительно растущего рынка. 

Читать далее

Непрерывность бизнеса и аварийное восстановление: в чём разница

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

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

Читать далее

Не найдётся ли у вас оперативной памяти, мистер Нейман?

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

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

Читать далее

RTO и RPO: что это и в чём отличия

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

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

Читать далее

ИИ в CRM: как меняется клиентский опыт

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

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

Читать далее

Как мы перенесли архив данных из Teradata в GreenPlum с помощью Hadoop и PXF

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

Привет, Хабр! Мы продолжаем серию статей о проведённой миграции аналитического хранилища данных с платформы Teradata на GreenPlum. В предыдущей статье мы рассказали о нашем опыте и результатах автоматизированного переписывания SQL-скриптов из диалекта Teradata в диалект GreenPlum с помощью реализованного сервиса миграции кода. В этой статье мы расскажем вам о полученном нами опыте и результатах переноса архива данных объёмом более 400 Тб из Teradata в GreenPlum, а также о трудностях и решениях, связанных с этим процессом.

Читать далее

Информация

В рейтинге
53-й
Работает в
Зарегистрирован
Активность