Привет, Хабр! На связи Андрей Аврамчук (@Mimizavr). Недавно я побывал на конференции «Сбера» SmartDev 2023. Там у Хабра была собственная медиастудия, где мы поговорили о новых продуктах со спикерами компании.

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

Пленарная сессия

Пленарную сессию на открытии конференции начал CTO «Сбера» Андрей Белевцев. Он стартовал с рассказа о самой конференции и концепции докладов на ней: от инженеров для инженеров. Выступления для SmartDev отбирал программный комитет на основе того, что наиболее интересно сообществу.

Андрей обратился к состоянию IT-рынка в России: в последнее время на рынке было много изменений. По данным Cloud.ru, рынок размером 1,6 триллиона рублей продолжает расти и остаётся конкурентным: 10 самых крупных компаний занимают на нём только 21 %. Растут облачный сегмент, рынки операционных систем, СУБД и ПО.

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

Цель «Сбера» со SmartDev: сделать, чтобы подобных ситуаций было меньше, сплотить IT-сообщество в условиях роста, сотрудничать и помочь всем на рынке работать эффективнее. 

Готовность сотрудничать компания подкрепила словами, представив на конференции свои решения и наработки, которые сообщество уже сейчас может использовать. В центре внимания была мультимодальная нейросетевая модель GigaChat и платформа GigaChain, версия библиотеки LangChain, адаптированная для русского языка. API GigaChat стал доступен для бизнеса 21 сентября. В будущем также станет доступен GigaCode — ассистент для написания кода.

Стенды с примерами кода, написанного GigaCode
Стенды с примерами кода, написанного GigaCode

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

После Андрея Белевцева на пленарной сессии выступил Евгений Касперский, СEO «Лаборатории Касперского». Он подошёл к идее коллаборации со своей точки зрения. Сперва рассказал о том, как ЛК разрабатывает собственные уникальные решения безопасности. 

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

Но для этого, пояснил Касперский, нужно сотрудничество с коллегами: производителями железа, телефонов для мобильной Kaspersky OS, другого софта. Без сотрудничества, без стремления IT-сообщества совместно сделать всё правильно не существует реальный кибериммунитет. А без кибериммунитета не может быть Индустриальной революции 4.0. 

Последний спикер пленарной сессии — Yong Xu (Йонг Сю), генеральный директор OSChina и код-репозитория Gitee. Он начал доклад с рассказа о современном китайском open source. В последние 20 лет его популярность только растёт. Даже крупнейшие компании в стране (Tencent, Baidu) активно пользовались open-source-решениями и на старте, и по сегодняшний день. 

Gitee активно участвует в росте open-source-сообщества в стране: на репозитории зарегистрированы более 10 миллионов разработчиков. 7,8 миллионов из них активно используют ресурс. Ещё 6 миллионов пользователей используют агрегатор новостей и блоги Gitee, чтобы следить за событиями в мире open source. При этом компания придерживается модели умеренной коммерциализации: из 270 тысяч бизнес-клиентов лишь около 10 тысяч (в том числе крупные банки и госкомпании) платят за дополнительные услуги на Gitee. Остальные бизнес-клиенты и частные пользователи используют платформу бесплатно. 

OSChina собирается запустить российскую версию Gitee-SaaS для малого и среднего бизнеса уже в этом году, а также начать распространять инструменты DevOps, если удастся найти подходящего партнёра. На конференции Йонг Сю представлял Gitee как средство улучшить международное взаимодействие IT-сообществ России и Китая, объединить экспертизу и вместе строить будущее open source: «У нас есть решения, которые могут помочь российским коллегам преодолеть текущие трудности».

Выступления и беседы с разработчиками

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

Я решил начать с выступления Сергея Маркова, управляющим директором — начальником управления экспериментальных систем машинного обучения дивизиона общих сервисов «Салют» Сбербанка, о GigaChat.

 Хотели познакомиться с языковой моделью поближе: на пленарной сессии ей уделили много внимания, и на конференции вокруг неё был большой ажиотаж
Хотели познакомиться с языковой моделью поближе: на пленарной сессии ей уделили много внимания, и на конференции вокруг неё был большой ажиотаж

Удалось не только послушать рассказ Сергея на треке: после он рассказал мне о GigaChat в подробностях.

Сергей, что крутого умеет GigaChat?

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

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

А как насчёт программирования?

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

GigaChat — система с открытой архитектурой. Что это значит?

В основе GigaChat лежит ансамбль открытых нейросетевых моделей NeONKA — ruGPT-3.5, Kandinsky 2.2, FRED-T5 и ruCLIP. Их архитектуру мы подробно описали в нашем блоге. Предобученные версии этих моделей выложены в открытый доступ под свободными лицензиями. Так что у сообщества разработчиков есть доступ к исходному коду и весам моделей, на которых основан сервис.

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

А требования к железу какие?

Конечно, полноценное дообучение ruGPT-3.5 с 13 млрд параметров на простом центральном процессоре компьютера займёт очень много времени, поэтому желательно использовать специализированные тензорные устройства (обычно это мощные видеокарты). Но даже если у вас нет топовой видеокарты и вам не по карману её аренда, не стоит опускать руки. Есть алгоритмы, придуманные специально для обучения больших моделей на недорогом оборудовании. Они позволяют сильно ускорить процесс за счёт небольшой потери качества. Например, так называемая низкоранговая адаптация (Low-Rank Adaptation, LoRA). Впрочем, иногда можно обойтись и без дообучения, сочинив подходящий системный промпт (затравку).

Сергей Марков даёт блиц-интервью на медиастудии
Сергей Марков даёт блиц-интервью на медиастудии

Что делаете, чтобы GigaChat нельзя было использовать неэтично?

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

Вы сказали, что GigaChat сейчас дообучается, — как ещё вы её развиваете?

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


Перерывы между докладами мы все проводили в кафе кинотеатра
Перерывы между докладами мы все проводили в кафе кинотеатра

Меня не меньше интересовали доклады по DevOps. На пленарной сессии пошутили, что все этот термин понимают по-разному, единого мнения нет. Хотелось посмотреть, какие в таком случае мнения у самых экспертных людей в теме — и куда они смотрят, что ждут от будущего. Но из-за докладов на других треках лично побывать на панельной дискуссии про DevOps в России и создание единой DevOps-среды не удалось. Однако после них я поймал в кулуарах Сергея Артюхова, директора дивизиона Platform V Works «СберТеха». И он рассказал о перспективах DevOps и решении Platform V Works::OrchestraR. 

Какие есть сложности в производственном процессе разработки?

В 90-е один разработчик мог самостоятельно обсудить задачу с бизнесом, разработать, задеплоить, протестировать, оптимизировать и ещё обеспечить поддержку пользователям. Сейчас IT из поддерживающего инструмента превратилась в самостоятельную отрасль. А значит, учится считать деньги, и вопросы эффективности сейчас очень волнуют IT-бизнес. 

Разработка превращается в конвейер, на котором задействовано множество ролей и специалистов. Закономерно возникает отдельный процесс наладки этого конвейера. И каждая компания сейчас ищет свои пути оптимизации и стандартизации разработки, чтобы быть эффективнее.

Куда мы движемся?

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

Что за штука Platform V Works::OrchestraR? 

Это решение для управления конвейером DevOps. По сути — визуальный конструктор разработки продукта. У него две основные задачи.

Во-первых, визуальное управление DevOps-конвейером (pipeline). Одного Jenkins`a недостаточно в Enterprise. Недостаточно иметь скрипт для раскатки дистрибутива. Как минимум потому, что сред, на которые его необходимо раскатать, может быть несколько, 20 например. И для того, чтобы всем этим управлять, нужен визуализатор pipeline, который подсветит, где проблема.

Во-вторых, управление критериями качества дистрибутива (quality gate’ами). К производственному процессу и дистрибутиву могут предъявляться различные требования от безопасности, методологов производственного процесса и т. д. Метрики для этих контролей можно вшить внутрь pipeline.

Вам важнее стандартизация или гибкость?

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


Что касается архитектуры, многие ставят теперь на event-driven с упованием на то, что её слабая связанность компонентов сделает хаос бесконечных микросервисов не столь болезненным.

Об event-driven говорили на панели-обсуждении антихрупкости в архитектуре
Об event-driven говорили на панели-обсуждении антихрупкости в архитектуре

Тарас Моджук из «Сбера» рассказал о том, как они организовали IT-ландшафт на принципах event-driven, не передавая при этом в events практически никакой информации, кроме самого факта наступления события. Все остальные данные по-прежнему идут через API.

Много говорилось об отечественном open source, который очень нужен, но его пока не хватает, даже с учётом тех проектов, которые представил «Сбер».

На SmartDev прошла панельная дискуссия о перспективах open source
На SmartDev прошла панельная дискуссия о перспективах open source

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

Экосистемы нет, и появится она, вероятнее всего, в мультивендорном формате. Хотя многие крупные вендоры уже сейчас стараются что-то отдавать в open source. В этой области пока рано делать прогнозы: стоит хотя бы посмотреть, как в будущем разовьётся сотрудничество с Gitee и OSChina. 

Безусловно, значимой частью повестки оказалось импортозамещение. Это GitVerse, Platform V, GigaGhat, система разметки на чувствительные данные, обезличивания и генерации синтетических безопасных данных SafeData.

Про SafeData решил узнать подробнее: о ней на конференции рассказывали Юлдуз Фаттахова и Максим Зубков. Перед докладом я встретился с ними в медиастудии Хабра. 

О чём будете рассказывать сегодня?

Юлдуз: О нашем решении для безопасности имеющихся данных или генерации новых, с самого начала безопасных. Чтобы данные можно было использовать на тестовых стендах, они не должны содержать чувствительную информацию — например, номера счетов, телефонов, документов клиента. Тут есть два пути: данные можно либо обезличить, либо синтезировать. Мы расскажем о том, как эти задачи решаются у нас при помощи SafeData. Я занимаюсь синтезированием, Максим — обезличиванием.

Как понять — синтезированные или обезличенные данные нужны для тестового стенда?

Максим: Это зависит от того, есть ли у вас достаточное количество данных. Если да — скорее всего, их достаточно обезличить; если данных мало — то на них можно обучить модель и сгенерировать больше данных.

Юлдуз (слева) также дала видеоинтервью на медиастудии моей коллеге Юлии
Юлдуз (слева) также дала видеоинтервью на медиастудии моей коллеге Юлии

Как происходит обезличивание?

Максим: Сначала данные профилируются. SafeData анализирует их и размечает на домены, то есть определяет, что в этом поле, например, фамилия, а в этом — номер телефона и т. д. Есть набор чувствительных доменов, то есть мы понимаем, что если в данных содержится номер паспорта, то его необходимо обезличить. После этого система понимает, какие фрагменты данных нужно обезличить и к каким доменам они относятся. Автоматически для каждого домена подбирается подходящий алгоритм обезличивания.

А как работает генерация данных?

Юлдуз: Мы тоже начинаем с профилирования. Отчёт профилирования применяем, чтобы выбрать подходящую модель и обучить её. Обучаем, подавая на вход модели сэмплы реальных данных. Синтезируем данные с помощью наших генеративных методов, основанных на архитектуре CTGAN, а также классических подходов — древесных и с кластеризацией. Для одного дата-сета может обучаться несколько алгоритмов. А набор алгоритмов подбирается и настраивается автоматически под каждый дата-сет, в зависимости от природы данных. При этом, как только модель обучилась — мы проверяем её на качество. У нас реализовано порядка 20 метрик оценки качества синтетических данных.

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

Кроме тестировщиков, кому пригодятся синтетические данные?

Юлдуз: Разработчикам, например, чтобы понять структуру и взаимосвязи данных, посмотреть, какие данные могут поступать на вход проектируемой системе. Дата-аналитикам, ведь синтетические данные вполне достоверно отражают распределения и зависимости реальных данных. А также дата-сайентистам — для обучения моделей.


Приятно удивило то, что общих разговоров или откровенной рекламы продуктов было исчезающе мало. Очень много конкретики, просто и по существу, действительно от инженеров для инженеров. Понравился доклад Максима Коровенкова из «СберМаркета»: он предельно чётко и внятно рассказал о том, как запилили фреймворк для оценки безопасности приложения на основе GitLab. Просто бери и делай.

Конечно, обсуждали развитие ИИ и применение его для задач разработки. И облачные технологии в лице Cloud.ru.

Были и доклады на вечные для айтишников темы: профессор МГУ Владимир Сурдин рассказал про перспективы второго восхождения человечества к Луне
Были и доклады на вечные для айтишников темы: профессор МГУ Владимир Сурдин рассказал про перспективы второго восхождения человечества к Луне

После дня выступлений и общения со спикерами о продуктах захотелось узнать больше о будущем IT-специалистов.

Они на конференции весь день непринуждённо общались и обменивались опытом
Они на конференции весь день непринуждённо общались и обменивались опытом

Всё-таки сплочение, взгляд в будущее — это прежде всего люди. Поэтому в конце конференции я сходил на дискуссию «Do you want to be an architect?»: о том, как стать (и быть) архитектором в современном мире. А после неё пообщался с её модератором, Артёмом Арюткиным из «Сбера», о том, кто же такой современный архитектор.

Хороший архитектор — он какой, по-вашему?

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

А он должен уметь кодить?

Тут есть две точки зрения. С одной стороны, архитектор работает на высоком уровне абстракции и, казалось бы, ему это не надо. 

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

Из кого получаются хорошие архитекторы?

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

Можете дать практические советы: чему учиться, чтобы стать архитектором?

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

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

В-третьих, нужно уметь быть убедительным. Для этого, с одной стороны, неплохо бы быть экстравертом, чтобы доносить свои мысли до команды и заказчика. С другой — надо правильно аргументировать, а для этого могут пригодиться GAP- и SWOT-анализ, умение анализировать большие объёмы информации. Несомненно, придётся прокачать презентационные навыки.

Ну и, конечно, надо уметь описать архитектуру: владеть нотациями и разбираться в её слоях.

У нас в «Сбере» есть школа архитекторов, где мы готовим Solution- и Enterprise-архитекторов.

Как по-вашему: профессия поменяется в ближайшие 10 лет?

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

ИИ сможет тут что-то полезное предложить?

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

Заключение

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

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

Если вы участвовали в конференции офлайн или смотрели выступления в интернете — приходите в комментарии, рассказывайте, какие треки и доклады оказались для вас самыми полезными. И вообще — делитесь впечатлениями от SmartDev 2023.

Привет, Хабр! На связи Андрей Аврамчук (@Mimizavr). Недавно я побывал на конференции «Сбера» SmartDev 2023. Там у Хабра была собственная медиастудия, где мы поговорили о новых продуктах со спикерами компании.

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

Пленарная сессия

Пленарную сессию на открытии конференции начал CTO «Сбера» Андрей Белевцев. Он стартовал с рассказа о самой конференции и концепции докладов на ней: от инженеров для инженеров. Выступления для SmartDev отбирал программный комитет на основе того, что наиболее интересно сообществу.

Андрей обратился к состоянию IT-рынка в России: в последнее время на рынке было много изменений. По данным Cloud.ru, рынок размером 1,6 триллиона рублей продолжает расти и остаётся конкурентным: 10 самых крупных компаний занимают на нём только 21 %. Растут облачный сегмент, рынки операционных систем, СУБД и ПО.

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

Цель «Сбера» со SmartDev: сделать, чтобы подобных ситуаций было меньше, сплотить IT-сообщество в условиях роста, сотрудничать и помочь всем на рынке работать эффективнее. 

Готовность сотрудничать компания подкрепила словами, представив на конференции свои решения и наработки, которые сообщество уже сейчас может использовать. В центре внимания была мультимодальная нейросетевая модель GigaChat и платформа GigaChain, версия библиотеки LangChain, адаптированная для русского языка. API GigaChat стал доступен для бизнеса 21 сентября. В будущем также станет доступен GigaCode — ассистент для написания кода.

Стенды с примерами кода, написанного GigaCode
Стенды с примерами кода, написанного GigaCode

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

После Андрея Белевцева на пленарной сессии выступил Евгений Касперский, СEO «Лаборатории Касперского». Он подошёл к идее коллаборации со своей точки зрения. Сперва рассказал о том, как ЛК разрабатывает собственные уникальные решения безопасности. 

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

Но для этого, пояснил Касперский, нужно сотрудничество с коллегами: производителями железа, телефонов для мобильной Kaspersky OS, другого софта. Без сотрудничества, без стремления IT-сообщества совместно сделать всё правильно не существует реальный кибериммунитет. А без кибериммунитета не может быть Индустриальной революции 4.0. 

Последний спикер пленарной сессии — Yong Xu (Йонг Сю), генеральный директор OSChina и код-репозитория Gitee. Он начал доклад с рассказа о современном китайском open source. В последние 20 лет его популярность только растёт. Даже крупнейшие компании в стране (Tencent, Baidu) активно пользовались open-source-решениями и на старте, и по сегодняшний день. 

Gitee активно участвует в росте open-source-сообщества в стране: на репозитории зарегистрированы более 10 миллионов разработчиков. 7,8 миллионов из них активно используют ресурс. Ещё 6 миллионов пользователей используют агрегатор новостей и блоги Gitee, чтобы следить за событиями в мире open source. При этом компания придерживается модели умеренной коммерциализации: из 270 тысяч бизнес-клиентов лишь около 10 тысяч (в том числе крупные банки и госкомпании) платят за дополнительные услуги на Gitee. Остальные бизнес-клиенты и частные пользователи используют платформу бесплатно. 

OSChina собирается запустить российскую версию Gitee-SaaS для малого и среднего бизнеса уже в этом году, а также начать распространять инструменты DevOps, если удастся найти подходящего партнёра. На конференции Йонг Сю представлял Gitee как средство улучшить международное взаимодействие IT-сообществ России и Китая, объединить экспертизу и вместе строить будущее open source: «У нас есть решения, которые могут помочь российским коллегам преодолеть текущие трудности».

Выступления и беседы с разработчиками

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

Я решил начать с выступления Сергея Маркова, управляющим директором — начальником управления экспериментальных систем машинного обучения дивизиона общих сервисов «Салют» Сбербанка, о GigaChat.

 Хотели познакомиться с языковой моделью поближе: на пленарной сессии ей уделили много внимания, и на конференции вокруг неё был большой ажиотаж
Хотели познакомиться с языковой моделью поближе: на пленарной сессии ей уделили много внимания, и на конференции вокруг неё был большой ажиотаж

Удалось не только послушать рассказ Сергея на треке: после он рассказал мне о GigaChat в подробностях.

Сергей, что крутого умеет GigaChat?

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

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

А как насчёт программирования?

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

GigaChat — система с открытой архитектурой. Что это значит?

В основе GigaChat лежит ансамбль открытых нейросетевых моделей NeONKA — ruGPT-3.5, Kandinsky 2.2, FRED-T5 и ruCLIP. Их архитектуру мы подробно описали в нашем блоге. Предобученные версии этих моделей выложены в открытый доступ под свободными лицензиями. Так что у сообщества разработчиков есть доступ к исходному коду и весам моделей, на которых основан сервис.

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

А требования к железу какие?

Конечно, полноценное дообучение ruGPT-3.5 с 13 млрд параметров на простом центральном процессоре компьютера займёт очень много времени, поэтому желательно использовать специализированные тензорные устройства (обычно это мощные видеокарты). Но даже если у вас нет топовой видеокарты и вам не по карману её аренда, не стоит опускать руки. Есть алгоритмы, придуманные специально для обучения больших моделей на недорогом оборудовании. Они позволяют сильно ускорить процесс за счёт небольшой потери качества. Например, так называемая низкоранговая адаптация (Low-Rank Adaptation, LoRA). Впрочем, иногда можно обойтись и без дообучения, сочинив подходящий системный промпт (затравку).

Сергей Марков даёт блиц-интервью на медиастудии
Сергей Марков даёт блиц-интервью на медиастудии

Что делаете, чтобы GigaChat нельзя было использовать неэтично?

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

Вы сказали, что GigaChat сейчас дообучается, — как ещё вы её развиваете?

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


Перерывы между докладами мы все проводили в кафе кинотеатра
Перерывы между докладами мы все проводили в кафе кинотеатра

Меня не меньше интересовали доклады по DevOps. На пленарной сессии пошутили, что все этот термин понимают по-разному, единого мнения нет. Хотелось посмотреть, какие в таком случае мнения у самых экспертных людей в теме — и куда они смотрят, что ждут от будущего. Но из-за докладов на других треках лично побывать на панельной дискуссии про DevOps в России и создание единой DevOps-среды не удалось. Однако после них я поймал в кулуарах Сергея Артюхова, директора дивизиона Platform V Works «СберТеха». И он рассказал о перспективах DevOps и решении Platform V Works::OrchestraR. 

Какие есть сложности в производственном процессе разработки?

В 90-е один разработчик мог самостоятельно обсудить задачу с бизнесом, разработать, задеплоить, протестировать, оптимизировать и ещё обеспечить поддержку пользователям. Сейчас IT из поддерживающего инструмента превратилась в самостоятельную отрасль. А значит, учится считать деньги, и вопросы эффективности сейчас очень волнуют IT-бизнес. 

Разработка превращается в конвейер, на котором задействовано множество ролей и специалистов. Закономерно возникает отдельный процесс наладки этого конвейера. И каждая компания сейчас ищет свои пути оптимизации и стандартизации разработки, чтобы быть эффективнее.

Куда мы движемся?

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

Что за штука Platform V Works::OrchestraR? 

Это решение для управления конвейером DevOps. По сути — визуальный конструктор разработки продукта. У него две основные задачи.

Во-первых, визуальное управление DevOps-конвейером (pipeline). Одного Jenkins`a недостаточно в Enterprise. Недостаточно иметь скрипт для раскатки дистрибутива. Как минимум потому, что сред, на которые его необходимо раскатать, может быть несколько, 20 например. И для того, чтобы всем этим управлять, нужен визуализатор pipeline, который подсветит, где проблема.

Во-вторых, управление критериями качества дистрибутива (quality gate’ами). К производственному процессу и дистрибутиву могут предъявляться различные требования от безопасности, методологов производственного процесса и т. д. Метрики для этих контролей можно вшить внутрь pipeline.

Вам важнее стандартизация или гибкость?

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


Что касается архитектуры, многие ставят теперь на event-driven с упованием на то, что её слабая связанность компонентов сделает хаос бесконечных микросервисов не столь болезненным.

Об event-driven говорили на панели-обсуждении антихрупкости в архитектуре
Об event-driven говорили на панели-обсуждении антихрупкости в архитектуре

Тарас Моджук из «Сбера» рассказал о том, как они организовали IT-ландшафт на принципах event-driven, не передавая при этом в events практически никакой информации, кроме самого факта наступления события. Все остальные данные по-прежнему идут через API.

Много говорилось об отечественном open source, который очень нужен, но его пока не хватает, даже с учётом тех проектов, которые представил «Сбер».

На SmartDev прошла панельная дискуссия о перспективах open source
На SmartDev прошла панельная дискуссия о перспективах open source

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

Экосистемы нет, и появится она, вероятнее всего, в мультивендорном формате. Хотя многие крупные вендоры уже сейчас стараются что-то отдавать в open source. В этой области пока рано делать прогнозы: стоит хотя бы посмотреть, как в будущем разовьётся сотрудничество с Gitee и OSChina. 

Безусловно, значимой частью повестки оказалось импортозамещение. Это GitVerse, Platform V, GigaGhat, система разметки на чувствительные данные, обезличивания и генерации синтетических безопасных данных SafeData.

Про SafeData решил узнать подробнее: о ней на конференции рассказывали Юлдуз Фаттахова и Максим Зубков. Перед докладом я встретился с ними в медиастудии Хабра. 

О чём будете рассказывать сегодня?

Юлдуз: О нашем решении для безопасности имеющихся данных или генерации новых, с самого начала безопасных. Чтобы данные можно было использовать на тестовых стендах, они не должны содержать чувствительную информацию — например, номера счетов, телефонов, документов клиента. Тут есть два пути: данные можно либо обезличить, либо синтезировать. Мы расскажем о том, как эти задачи решаются у нас при помощи SafeData. Я занимаюсь синтезированием, Максим — обезличиванием.

Как понять — синтезированные или обезличенные данные нужны для тестового стенда?

Максим: Это зависит от того, есть ли у вас достаточное количество данных. Если да — скорее всего, их достаточно обезличить; если данных мало — то на них можно обучить модель и сгенерировать больше данных.

Юлдуз (слева) также дала видеоинтервью на медиастудии моей коллеге Юлии
Юлдуз (слева) также дала видеоинтервью на медиастудии моей коллеге Юлии

Как происходит обезличивание?

Максим: Сначала данные профилируются. SafeData анализирует их и размечает на домены, то есть определяет, что в этом поле, например, фамилия, а в этом — номер телефона и т. д. Есть набор чувствительных доменов, то есть мы понимаем, что если в данных содержится номер паспорта, то его необходимо обезличить. После этого система понимает, какие фрагменты данных нужно обезличить и к каким доменам они относятся. Автоматически для каждого домена подбирается подходящий алгоритм обезличивания.

А как работает генерация данных?

Юлдуз: Мы тоже начинаем с профилирования. Отчёт профилирования применяем, чтобы выбрать подходящую модель и обучить её. Обучаем, подавая на вход модели сэмплы реальных данных. Синтезируем данные с помощью наших генеративных методов, основанных на архитектуре CTGAN, а также классических подходов — древесных и с кластеризацией. Для одного дата-сета может обучаться несколько алгоритмов. А набор алгоритмов подбирается и настраивается автоматически под каждый дата-сет, в зависимости от природы данных. При этом, как только модель обучилась — мы проверяем её на качество. У нас реализовано порядка 20 метрик оценки качества синтетических данных.

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

Кроме тестировщиков, кому пригодятся синтетические данные?

Юлдуз: Разработчикам, например, чтобы понять структуру и взаимосвязи данных, посмотреть, какие данные могут поступать на вход проектируемой системе. Дата-аналитикам, ведь синтетические данные вполне достоверно отражают распределения и зависимости реальных данных. А также дата-сайентистам — для обучения моделей.


Приятно удивило то, что общих разговоров или откровенной рекламы продуктов было исчезающе мало. Очень много конкретики, просто и по существу, действительно от инженеров для инженеров. Понравился доклад Максима Коровенкова из «СберМаркета»: он предельно чётко и внятно рассказал о том, как запилили фреймворк для оценки безопасности приложения на основе GitLab. Просто бери и делай.

Конечно, обсуждали развитие ИИ и применение его для задач разработки. И облачные технологии в лице Cloud.ru.

Были и доклады на вечные для айтишников темы: профессор МГУ Владимир Сурдин рассказал про перспективы второго восхождения человечества к Луне
Были и доклады на вечные для айтишников темы: профессор МГУ Владимир Сурдин рассказал про перспективы второго восхождения человечества к Луне

После дня выступлений и общения со спикерами о продуктах захотелось узнать больше о будущем IT-специалистов.

Они на конференции весь день непринуждённо общались и обменивались опытом
Они на конференции весь день непринуждённо общались и обменивались опытом

Всё-таки сплочение, взгляд в будущее — это прежде всего люди. Поэтому в конце конференции я сходил на дискуссию «Do you want to be an architect?»: о том, как стать (и быть) архитектором в современном мире. А после неё пообщался с её модератором, Артёмом Арюткиным из «Сбера», о том, кто же такой современный архитектор.

Хороший архитектор — он какой, по-вашему?

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

А он должен уметь кодить?

Тут есть две точки зрения. С одной стороны, архитектор работает на высоком уровне абстракции и, казалось бы, ему это не надо. 

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

Из кого получаются хорошие архитекторы?

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

Можете дать практические советы: чему учиться, чтобы стать архитектором?

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

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

В-третьих, нужно уметь быть убедительным. Для этого, с одной стороны, неплохо бы быть экстравертом, чтобы доносить свои мысли до команды и заказчика. С другой — надо правильно аргументировать, а для этого могут пригодиться GAP- и SWOT-анализ, умение анализировать большие объёмы информации. Несомненно, придётся прокачать презентационные навыки.

Ну и, конечно, надо уметь описать архитектуру: владеть нотациями и разбираться в её слоях.

У нас в «Сбере» есть школа архитекторов, где мы готовим Solution- и Enterprise-архитекторов.

Как по-вашему: профессия поменяется в ближайшие 10 лет?

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

ИИ сможет тут что-то полезное предложить?

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

Заключение

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

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

Если вы участвовали в конференции офлайн или смотрели выступления в интернете — приходите в комментарии, рассказывайте, какие треки и доклады оказались для вас самыми полезными. И вообще — делитесь впечатлениями от SmartDev 2023.

Комментарии (1)


  1. Ivan22
    10.10.2023 06:53

    Кроме тестировщиков, кому пригодятся синтетические данные?

    Юлдуз: Разработчикам, например, чтобы понять структуру и взаимосвязи данных, посмотреть, какие данные могут поступать на вход проектируемой системе. Дата-аналитикам, ведь синтетические данные вполне достоверно отражают распределения и зависимости реальных данных. А также дата-сайентистам — для обучения моделей.

    Я правильно понимаю что они генерят синтетические данные одной моделью чтобы обучать другую???? Серьезно??