company_banner
  • Как заставить соседей работать над своим проектом, или InnerSource для банка

      Что такое разработка в Сбере? В глазах обычного айтишника: «Вот где код написали, туда и идите!». Но это давно уже стереотип, а они хорошими не бывают. Стремительное развитие open source доказывает, что такая культура давно себя изжила, и энтерпрайз (если он умный) давно пересмотрел silo-based подход к разработке.



      Публикация всего банковского ПО в open source — эффектный способ самоубийства довольно спорное решение, и нужен какой-то промежуточный этап. C масштабами банка мы можем запустить свой внутренний open source, а не пытаться проверить, что можно показать всем и трястись от страха за наши маленькие большие секреты.
      Читать дальше →
    • Сжатие данных в Apache Ignite. Опыт Сбера

      • Tutorial
      При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы рассмотрим, как работает сжатие данных в Apache Ignite. В статье будут описаны только реализованные внутри продукта способы сжатия на диске. Другие способы сжатия данных (по сети, в памяти) как реализованные, так и нет останутся за рамками.

      Итак, при включенном persistence режиме, в результате изменения данных в кэшах, Ignite начинает записывать на диск:

      1. Содержимое кэшей
      2. Журнал упреждающей записи (Write Ahead Log, далее просто WAL)

      Для сжатия WAL уже довольно давно существует механизм, который называется WAL compaction. В недавно вышедшем Apache Ignite 2.8 появилось еще два механизма позволяющих сжимать данные на диске, это disk page compression для сжатия содержимого кэшей и WAL page snapshot compression для сжатия некоторых записей WAL. Подробнее о всех этих трех механизмах ниже.
      Читать дальше →
      • +12
      • 1,6k
      • 1
    • Удалёнка — это наша родная среда, и теперь не надо быть таким социальным



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

        Обычно с удалёнкой проблемы у тех, кто привык жить в офисе. Я до Сбербанка управлял проектами с распределённой командой и не вижу в этом никаких проблем. Есть особенности. Первая — ну, банальная самосознательность и самоорганизация. Типа правил «тебе написали — ответь», «звонят — возьми трубку». У нас есть наша внутренняя договорённость в командах — отвечать на сообщения на удалёнке за десять минут в рабочее время, но она, на мой взгляд, на практике оказалась избыточной. Касается она в первую очередь тех, кто работает в обнимку с диваном.

        Гораздо хуже ситуация обстоит с депрессией. Сначала вы не можете пойти в кино, потом надо сидеть целый день дома и работать, а потом работа и личная жизнь окончательно смешиваются. Разработчики могут загнать себя и впасть в депрессию. Раньше у меня была важная метрика того, что человек готов уйти в незапланированный запой — увеличение числа одновременно разрабатываемых фич, больше рабочего времени в день и всё более мелкие придирки вплоть до синтаксиса. Сейчас слежу примерно так же, чтобы, если что, разгружать.
        Читать дальше →
      • Практика использования Spark SQL, или Как не наступить на грабли

          Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Spark SQL удобно использовать для работы посредством SQL-запросов с большими объемами данных и в системах с высокой нагрузкой.

          Ниже вы найдёте некоторые нехитрые приёмы по работе со Spark SQL:

          • Как с помощью сбора статистики и использования хинтов оптимизировать план выполнения запроса.
          • Как, оставаясь в рамках SQL, эффективно обрабатывать соединения по ключам с неравномерным распределением значений (skewed joins).
          • Как организовать broadcast join таблицы, если её размер слишком велик.
          • Как средствами Spark SQL понять, сколько приложение Spark реально использовало памяти и ядер кластера в развёртке по времени.
          Читать дальше →
        • Как оценивать интеллект? Подход Google

          • Перевод
          От себя:

          В ноябре 2019 года вышла программная статья от Google «Об оценке интеллекта» Франсуа Шолле (создатель Keras).
          64 страницы посвящены тому, как появилось современное понимание ИИ, почему машинное обучение от него так далеко, и почему мы все еще не можем адекватно измерить «интеллект».


          Чтобы отбор был честным, задание для всех одно: залезьте на дерево

          Наша команда занимается NLP и общей методологией ИИ-тестов, учитывая последние тренды в универсальных трансформерах типа BERT, которые оцениваются тестами на логику и здравый смысл. Так, NLP забирает в себя все новые задачи, связанные с воспроизведением все более сложных действий и по сути отражающих механизмы мышления. Оказалось, что и другие области ML отхватили свой кусок пирога в этом направлении. Например, CV — «Animal AI Challenge».

          Понятно, что сейчас “лучше” при возможности делать ML-модели более интерпретируемыми, не использовать 10 маленьких классификаторов, а тренировать одну модель, и так далее, но насколько это все-таки далеко от реального “интеллекта”?
          Читать дальше →
        • Sber.DS — платформа, которая позволяет создавать и внедрять модели даже без кода

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


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





            Наша команда разрабатывает платформу Sber.DS. Она позволяет решать задачи машинного обучения, ускоряет процесс проверки гипотез, в принципе упрощает процесс разработки и валидации моделей, а также контролирует результат работы модели в ПРОМ.


            Чтобы не обмануть ваших ожиданий, хочу заранее сказать, что этот пост — вводный, и под катом для начала рассказано о том, что в принципе под капотом платформы Sber.DS. Историю о жизненном цикле модели от создания до внедрения мы расскажем отдельно.


            Читать дальше →
          • Java-сериализация: максимум скорости без жёсткой структуры данных

              Наша команда в Сбербанке занимается разработкой сервиса сессионных данных, который организует взаимообмен единым Java-контекстом сессии между распределёнными приложениями. Наш сервис крайне нуждается в очень быстрой сериализации Java-объектов, поскольку это часть нашей mission critical задачи. Изначально нам на ум приходили: Google Protocol Buffers, Apache Thrift, Apache Avro, CBOR и др. Первая тройка из перечисленных библиотек требует для сериализации объектов описания схемы их данных. CBOR такой низкоуровневый, что умеет сериализовывать только скалярные значения и их наборы. Нам же была нужна библиотека Java-сериализации, «не задающая лишних вопросов» и не заставляющая вручную разбирать сериализуемые объекты «на атомы». Мы хотели сериализовывать произвольные Java-объекты, не зная о них практически ничего, и хотели делать это максимально быстро. Поэтому мы устроили соревнование для имеющихся Open Source решений задачи Java-сериализации.

              КДПВ
              Кто же участвовал в соревновании?
            • Как на архаичном рынке факторинга перевести все сделки в онлайн? Опыт «Сбербанк Факторинга»

                Для большинства людей факторинг – услуга непонятная. По факту — это финансирование поставок компаний, работающих с отсрочкой платежа.


                Предположим, вы небольшой производитель круп. Вы отгрузили товар в торговую сеть, но деньги получите в среднем через 60 дней после отгрузки. Многим компаниям ждать столько не под силу: ту же зарплату сотрудникам нужно платить уже сейчас. Одно из решений — факторинг. После заключения договора факторинга вы можете получить финансирование любой поставки. Достаточно после отгрузки товара отправить фактору подтверждающие документы (счета-фактуры, накладные, акты). Фактор верифицирует поставку у вашего покупателя и перечисляет вам деньги за товар, за вычетом собственной комиссии.


                В сделке участвуют покупатель, поставщик и фактор, которые подписывают множество бумаг, уведомлений. Раньше взаимодействие с клиентом собиралось как паззл из разных кусочков: например, подписание договоров происходило при помощи сторонних операторов электронного документооборота, верификация поставок — пересылкой по e-mail excel-файлов, а в личном кабинете на сайте фактора поставщик мог посмотреть лишь статистику по сделкам. Было неудобно, трудоемко – и нам, и клиенту. Надо было собрать всё это в одну систему.

                Как старая система убивала удобство
              • NeurIPS 2019: тренды ML, которые будут с нами следующее десятилетие

                  NeurIPS (Neural Information Processing Systems) – самая большая конференция в мире по машинному обучению и искусственному интеллекту и главное событие в мире deep learning.

                  Будем ли мы, DS-инженеры, в новом десятилетии осваивать еще и биологию, лингвистику, психологию? Расскажем в нашем обзоре.


                  Читать дальше →
                • Битва двух якодзун, или Cassandra vs HBase. Опыт команды Сбербанка

                    Это даже не шутка, похоже, что именно эта картинка наиболее точно отражает суть этих БД, и в конце будет понятно почему:



                    Согласно DB-Engines Ranking, две самых популярных NoSQL колоночных базы — это Cassandra (далее CS) и HBase (HB).



                    Волею судеб наша команда управления загрузки данных в Сбербанке уже давно и плотно работает с HB. За это время мы достаточно хорошо изучили её сильные и слабые стороны и научились её готовить. Однако наличие альтернативы в виде CS все время заставляло немного терзать себя сомнениями: а правильный ли выбор мы сделали? Тем более, что результаты сравнения, выполненного DataStax, говорили, что CS легко побеждает HB практически с разгромным счетом. С другой стороны, DataStax — заинтересованное лицо, и верить на слово тут не стоит. Также смущало достаточно малое количество информации об условиях тестирования, поэтому мы решили выяснить самостоятельно, кто же является королем BigData NoSql, и полученные результаты оказались весьма интересны.
                    Читать дальше →
                  • AI Journey: доклады и результаты соревнования

                      Всем привет! С октября по декабрь проходила серия конференций по искусственному интеллекту – AI Journey. Чуть раньше в ноябре мы подвели итоги международного соревнования по созданию общего или сильного ИИ – artificial general intelligence (AGI). Хотим сразу вас успокоить, что мы не создали сильный ИИ, но приблизились к этому с помощью robot college student test. Участники должны были натренировать свои алгоритмы так, чтобы те смогли сдать выпускной экзамен по русскому языку. В итоге решения победителей получили "четвёрки".



                      Под катом среди прочих вы найдёте записи выступлений Юргена Шмидхубера — автора работы о LSTM; Анны Вероники Дорогуш — руководителя разработки библиотеки машинного обучения CatBoost; Бена Герцеля, который и ввёл термин robot college student test.

                      Читать дальше →
                    • Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен

                        Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С другой, любое изменение порядка вопросов может вызвать у него проблемы. Грубо говоря, на результат начинает больше влиять то, насколько человек довёл решения до автоматизма, а не то, как он рассуждает. Экзамен становится похож на работу скрипта.



                        image

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


                        Читать дальше →
                        • +23
                        • 5,2k
                        • 6
                      • Забудем о магии, философии и оптимизме и поговорим о киберпанке. В отличие от других фантастических направлений это для нас самое близкое. Чтобы прикоснуться к нему, кому-то достаточно посмотреть новости, кому-то— проехать свою остановку и выйти на конечной, а кому-то — выглянуть в окно. Давайте вместе с командой Сбера проверим, как реальные навыки и умения вписываются в мрачное будущее, нарисованное классиками киберпанка. Предположим, как-то раз ты пересматривал «Бегущий по лезвию», уснул и проснулся в заброшенном помещении. Из окна льется слабый неоновый свет, освещающий третьесортное граффити и мусор на полу. Ты выходишь на улицу и оказываешься в новом для себя мире. Мимо пролетает несколько ржавых глайдеров, за которыми несутся полицейские дроны. Ну что ж, пришло время найти себе место в этом новом мире.
                        Тест – под катом
                      • Все баги куда-то скрылись, программисты сегодня не доказывают, что у них все работает, задачи в баг-трекере закрыты, а это значит — наступило 9 сентября, день тестировщика. В рамках этого прекрасного праздника команда Сбера решила запустить тест, который покажет, какой из тебя тестировщик. Предлагаем отойти от привычных рабочих действий, отложить тест-планы и документацию и протестировать обычные предметы обихода, ну и вдогонку некоторые действительно забавные штукенции.
                        Тест – под катом
                      • Как мы организовали первый электронный лизинг и к чему это привело

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



                          Чем сложнее сделка, тем меньше вероятность того, что ее удастся провести в рамках ЭДО. Например, лизинговая сделка сложна тем, что в ней как минимум участвуют три стороны — банк, лизингополучатель и поставщик. К ним часто прибавляются еще поручитель и залогодатель. Мы решили, что и такие сделки можно полностью оцифровать, для чего создали систему E-Leasing — первый в России сервис, который полностью обеспечивает ЭДО в подобных сценариях. В итоге на начало июля 2019 года через E-Leasing проходит 37% от общего количества заключаемых по лизингу сделок. Под катом мы разберем E-Leasing с точки зрения функциональности и технической реализации.
                          Читать дальше →
                          • +12
                          • 2,3k
                          • 1
                        • Как мы внедрили ML в приложение с почти 50 миллионами пользователей. Опыт Сбера

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


                          Дизайн главного экрана мобильного приложения с рекомендациями

                          У нас было 2 сотни тысяч возможных вариантов платежей, 55 миллионов клиентов, 5 различных банковских источников, полсолонки разработчиков и гора банковской активности, алгоритмов и всего такого, всех цветов, а ещё литр рандомных сидов, ящик гиперпараметров, пол-литра поправочных коэффициентов и две дюжины библиотек. Не то чтобы это всё было нужно в работе, но раз начал улучшать жизнь клиентов, то иди в своём увлечении до конца. Под катом история о сражении за UX, о правильной постановке задачи, о борьбе с размерностью данных, о вкладе в open-source и наших результатах.

                          Читать дальше →
                        • Custom refactoring tool: Swift

                            Любой инженер стремится сделать процесс своей работы максимально оптимизированным. Нам, как мобильным разработчикам iOS, очень часто приходится работать с однообразными структурами языка. Компания Apple улучшает инструменты разработчиков, прилагая много усилий, чтобы нам было удобно программировать: подсветка языка, автодополнение методов и многие другие возможности IDE позволяют нашим пальцам успевать за идеями в голове.



                            Что делает инженер, когда необходимый инструмент отсутствует? Верно, сделает всё сам! Ранее мы уже рассказывали о создании своих кастомных инструментов, теперь поговорим о том, как модифицировать Xcode и заставить его работать по твоим правилам.
                            Читать дальше →
                          • Зачем мы делаем Enterprise Service Mesh

                              Service Mesh — известный архитектурный паттерн для интеграции микросервисов и перехода на облачную инфраструктуру. Сегодня в облачно-контейнерном мире обойтись без него довольно сложно. На рынке уже доступны несколько open-source реализаций service mesh, но их функциональности, надежности и безопасности далеко не всегда достаточно, особенно когда речь идет о требованиях больших финансовых компаний масштаба всей страны. Поэтому мы в Сбертехе решили кастомизировать Service Mesh и хотим рассказать о том, что в Service Mesh круто, что не очень и что мы с этим собираемся сделать.


                              Читать дальше →
                              • +12
                              • 6,2k
                              • 4
                            • Пересчитать тонну денег и провести разведку в руднике: как роботы уже нашли место среди нас

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

                                Однако задач, которые мы готовы отдавать в их металлические (или пластиковые) «руки», все больше. В результате растет эффективность многих процессов, а вместе с этим появляются и страхи сокращения рабочих мест. По прогнозам McKinsey Global Institute, уже к 2025 году «вооруженные искусственным интеллектом» роботы могут заменить до 100 млн работников.


                                Читать дальше →
                              • Оружие осторожного инвестора: считаем справедливую стоимость инвестиционных облигаций

                                  Привет, Хабр! Сегодня мы хотим поднять довольно нестандартную для блога тема — инвестиционные облигации. Почему мы решили об этом написать? Тема структурных финансовых продуктов, к которым относятся инвестиционные облигации, в последнее время становится все популярнее, а понятной информации о том, что это и как работает такой инструмент, крайне мало. Заинтересовались? Добро пожаловать под кат.


                                  Читать дальше →

                                Самое читаемое