Как стать автором
Обновить
627.5
Сбер
Технологии, меняющие мир
Сначала показывать

10 приёмов работы с Oracle

Время на прочтение26 мин
Количество просмотров53K
В Сбере есть несколько практик Oracle, которые могут оказаться вам полезны. Думаю, часть вам знакома, но мы используем для загрузки не только ETL-средства, но и хранимые процедуры Oracle. На Oracle PL/SQL реализованы наиболее сложные алгоритмы загрузки данных в хранилища, где требуется «прочувствовать каждый байт».

  • Автоматическое журналирование компиляций
  • Как быть, если хочется сделать вьюшку с параметрами
  • Использование динамической статистики в запросах
  • Как сохранить план запроса при вставке данных через database link
  • Запуск процедур в параллельных сессиях
  • Протягивание остатков
  • Объединение нескольких историй в одну
  • Нормалайзер
  • Визуализация в формате SVG
  • Приложение поиска по метаданным Oracle
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии18

Бесшовные A/B-обновления в Android: как они устроены

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

Всем привет. В SberDevices наша команда занимается разработкой различных железок и прошивок для них на базе AOSP.

Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновления. В этом посте я опишу общие принципы его работы, рассмотрю механизм с точки зрения разработчика, а также проведу сравнение со старым (будем его называть recovery-based) подходом применения обновлений. Всё нижесказанное будет справедливо только для чистого AOSP, т. к. конкретная реализация зависит от вендора.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии1

Звук. От механических колебаний до ALSA SoC Layer

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


Мы в SberDevices делаем устройства, на которых можно послушать музыку, посмотреть кино и ещё много всего. Как вы понимаете, без звука это всё не представляет интереса. Давайте посмотрим, что происходит со звуком в устройстве, начиная со школьной физики и заканчивая ALSA-подсистемой в Linux.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии6

Можно ли воссоздать полную нейросеть мыши из тонких послойных разрезов мозга?

Время на прочтение13 мин
Количество просмотров23K
image
Источник фото
Карликовая многозубка, самое маленькое млекопитающее по массе. Внутри маленький целостный сложный мозг, который уже принципиально можно картировать

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

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

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

Военный нейроанатом Джек Стил стал одним из людей, заметно повлиявших на дальнейший прогресс в области технологий, в том числе в области ИИ, где развитие получили такие направления, как нейроморфная инженерия и биоинспирированные вычисления. Стил был медиком, разбирался в психиатрии, увлекался архитектурой, умел управлять самолётом и сам чинил свою технику, то есть был вполне неплохим прикладным инженером. Научная работа Стила стала прообразом сценария фильма «Киборг». Так что с некоторой натяжкой можно назвать его прадедушкой Терминатора. А где Терминатор, там и Скайнет, как известно.

Этот пост написан на основе материалов будущей книги нашего коллеги Сергея Маркова «Охота на электроовец: большая книга искусственного интеллекта».
Читать дальше →
Всего голосов 70: ↑69 и ↓1+68
Комментарии96

Новое поколение разработчиков. Чем они отличаются и почему это нормально

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

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

Именно эту реальность мы учли в «Школе 21», где обучение построено на способностях человека находить информацию. Здесь используются методики без учителей, лекций и оценок, и это работает. Среди участников и те, кто никогда не программировал, и те, у кого есть какой-то опыт и техническое образование.

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

Мы решили обсудить плюсы и минусы такого положения дел с руководителем IT-департамента, тимлидом и двумя участниками «Школы 21».
Читать дальше →
Всего голосов 29: ↑11 и ↓18-7
Комментарии73

Где стажировку проходили, там и работайте — 4 истории стажёров Сбербанка

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

Это истории тех, кто учится в «Школе 21», успешно прошёл стажировку и остался работать в Сбербанке. Я уже рассказывала, что этот проект — путь в IT и он крайне эффективен. Если очень коротко — мы научились готовить джунов с нуля за год, делая упор на soft skills. Учиться нужно умению мыслить как разработчик — от анализа требований до взаимодействия внутри команды. Что, собственно, в «Школе 21» и происходит на базе C, где ребята в полубоевых условиях работают над проектами не по учебному материалу, а ищут всю информацию сами. Не все верят, что люди после такой подготовки могут быстро освоить новый язык или фреймворк за время стажировки и начать работать разработчиком.

Могут. Вот истории четырёх участников «Школы 21», которые прошли как раз такой путь.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии17

Когда у вас сберовские масштабы. Использование Ab Initio при работе с Hive и GreenPlum

Время на прочтение12 мин
Количество просмотров12K
Некоторое время назад перед нами встал вопрос выбора ETL-средства для работы с BigData. Ранее использовавшееся решение Informatica BDM не устраивало нас из-за ограниченной функциональности. Её использование свелось к фреймворку по запуску команд spark-submit. На рынке имелось не так много аналогов, в принципе способных работать с тем объёмом данных, с которым мы имеем дело каждый день. В итоге мы выбрали Ab Initio. В ходе пилотных демонстраций продукт показал очень высокую скорость обработки данных. Информации об Ab Initio на русском языке почти нет, поэтому мы решили рассказать о своём опыте на Хабре.

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

Он помогает бизнесу глобально копить знания и развивать экосистему, а разработчику — прокачивать свои навыки в ETL, подтягивать знания в shell, предоставляет возможность освоения языка PDL, даёт визуальную картину процессов загрузки, упрощает разработку благодаря обилию функциональных компонентов.

В посте я расскажу о возможностях Ab Initio и приведу сравнительные характеристики по его работе с Hive и GreenPlum.

  • Описание фреймворка MDW и работ по его донастройке под GreenPlum
  • Сравнительные характеристики производительности Ab Initio по работе с Hive и GreenPlum
  • Работа Ab Initio с GreenPlum в режиме Near Real Time
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии24

Почему меня разочаровали результаты Kaggle ARC Challenge

Время на прочтение7 мин
Количество просмотров7.1K
Три недели назад на каггле прошло первое в истории платформы соревнование по «сильному» ИИ – Abstraction and Reasoning Challenge. Чтобы проверить способность моделей к обобщению и решению абстрактных задач, все участники суммарно решили только чуть менее половины задач. Решение-победитель справляется приблизительно с 20% из них — и то девятичасовым перебором вручную захардкоженных правил (ограничение в девять часов установили организаторы).

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



Кто-то с ужасом, а кто-то с нетерпением ждет ИИ как в произведениях фантастов. С личностью, эмоциями, энциклопедическими знаниями и главное – с интеллектом, то есть способностями к логическим выводам, оперированию абстрактными понятиями, выделению закономерностей в окружающем мире и превращению их в правила. Как мы знаем, именно такой ИИ теоретики называют «сильным» или ещё AGI. Пока это далеко не мейнстримное направление в машинном обучении, но руководители многих больших компаний уже считают, что сложность их бизнеса превысила когнитивные способности менеджеров и без «настоящего ИИ» двигаться вперёд станет невозможно. Идут дискуссии, что же это такое, каким он должен быть, как сделать тест чтобы уж точно понять, что перед нами AGI, а не очередной blackbox, который лучше человека решает локальную задачу – например, распознавание лица на фотографии.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии15

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

Время на прочтение9 мин
Количество просмотров6K
Умение модели распознавать намерения собеседника, то есть понимать зачем человек совершил то или иное действие, применимо в большом числе прикладных NLP-задач. К примеру, чат-ботам, голосовым помощникам и другим диалоговые системам это позволит эмоционально реагировать на высказывания собеседника, проявлять понимание, сочувствие и другие эмоции. Кроме того, задача распознавания намерения – это еще один шаг на пути к пониманию человеческой речи (human understanding).



Уже было предпринято несколько попыток решить данную задачу в той или иной форме. Например, на NLP-progress публикуются последние достижения в области commonsense reasoning. Слабость большинства существующих моделей заключается в том, что в их основе лежит supervised подход, то есть им требуются большие размеченные датасеты для обучения. А в силу специфичности задачи разметка часто бывает весьма нестандартной и достаточно сложной.

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

В этом посте мы расскажем, как мы создали датасет для задачи Common Sense Reasoning в одной из ее возможных формулировок, предложенной в статье event2mind, а также адаптировали английскую модель event2mind от AllenNLP для русского языка.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии7

Что такое «Школа 21», и почему она устроена именно так

Время на прочтение8 мин
Количество просмотров100K
Привет, Хабр! Меня зовут Светлана Инфимовская, я директор «Школы 21». Знаю, что многие из вас слышали о ней, а кто-то даже участвовал в наших отборочных бассейнах. При этом сама идея проекта, его методология не всегда правильно понята. Кому-то кажется, что в «Школе 21» одна тусовка, кто-то, наоборот, считает её слишком жёсткой, третьи со скепсисом относятся к идее обучать разработке людей без фундаментальной базы.

Я постараюсь рассказать о том, что такое «Школа 21», в чём специфика подхода и методологии так, чтобы ожидания от школы и реальность обучения подошли друг у другу максимально близко. Можно уйти в детали педагогического дизайна, но суть Школы именно в её участниках и атмосфере.



По своему опыту я знаю, что методология может вызывать скепсис, так как сама сначала так относилась к Ecole 42 — французскому проекту, франшизой которой является наша школа. В России об Ecole 42 заговорили в 2017 году, когда о ней восхищённо написал Павел Дуров. Мне же повезло познакомиться со школой на четыре года раньше, в первый год её существования. Под катом я расскажу, как от мнения, что подход Ecole 42 — полный абсурд, я пришла к тому, что стала искать возможность открыть такую школу в России.
Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии54

Люди ломаются на логике, роботы — на всем понемногу. Экзамены по русскому для NLP-моделей

Время на прочтение9 мин
Количество просмотров9.4K
Чтобы машины могли обрабатывать текст на русском и «понимать» его, в NLP используются универсальные языковые модели и трансформеры — BERT, RoBERTa, XLNet и другие — архитектуры от 100 миллионов параметров, обученные на миллиардах слов. Все оригинальные модели появляются обычно для английского, показывают state-of-the-art в какой-нибудь прикладной задаче и только спустя полгода-год появляются и для русского языка, без тюнинга архитектуры.



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

Мы — это команда AGI NLP Сбербанка, лаборатория Noah’s Ark Huawei и факультет компьютерных наук ВШЭ. Проект Russian SuperGLUE — это набор тестов на «понимание» текста и постоянный лидерборд трансформеров для русского языка.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии13

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

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



Публикация всего банковского ПО в open source — эффектный способ самоубийства довольно спорное решение, и нужен какой-то промежуточный этап. C масштабами банка мы можем запустить свой внутренний open source, а не пытаться проверить, что можно показать всем и трястись от страха за наши маленькие большие секреты.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии3

Сжатие данных в Apache Ignite. Опыт Сбера

Время на прочтение10 мин
Количество просмотров3.6K
При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы рассмотрим, как работает сжатие данных в 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. Подробнее о всех этих трех механизмах ниже.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии3

Удалёнка — это наша родная среда, и теперь не надо быть таким социальным

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


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

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

Гораздо хуже ситуация обстоит с депрессией. Сначала вы не можете пойти в кино, потом надо сидеть целый день дома и работать, а потом работа и личная жизнь окончательно смешиваются. Разработчики могут загнать себя и впасть в депрессию. Раньше у меня была важная метрика того, что человек готов уйти в незапланированный запой — увеличение числа одновременно разрабатываемых фич, больше рабочего времени в день и всё более мелкие придирки вплоть до синтаксиса. Сейчас слежу примерно так же, чтобы, если что, разгружать.
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии19

Практика использования Spark SQL, или Как не наступить на грабли

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

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

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

Как оценивать интеллект? Подход Google

Время на прочтение13 мин
Количество просмотров13K
От себя:

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


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

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

Понятно, что сейчас “лучше” при возможности делать ML-модели более интерпретируемыми, не использовать 10 маленьких классификаторов, а тренировать одну модель, и так далее, но насколько это все-таки далеко от реального “интеллекта”?
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии12

Sber.DS — платформа, которая позволяет создавать и внедрять модели даже без кода

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

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


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





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


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


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

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

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

КДПВ
Кто же участвовал в соревновании?
Всего голосов 40: ↑39 и ↓1+38
Комментарии67

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

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

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


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


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

Как старая система убивала удобство
Всего голосов 11: ↑9 и ↓2+7
Комментарии20

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

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

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


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

Информация

Сайт
www.sber.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия