2024-10-16: UIC.dev - интересные разноплановые доклады

< Блог:Максима Цепкова

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

UIC.dev-20241008.jpg

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

А теперь - обзор докладов, которые я услышал.

Лев Бахарев. Ситуативный ИИ-контент: от брейнштормов к готовым проектам за минуты

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

Основная идея была, что прогресс сейчас очень быстрый, и достаточно сложную видеоисторию пара человек может сделать за 6 часов. При этом ИИ помогает на всех этапах, не только при отрисовке и озвучивании, но и при создании сценария и разложении его на сцены и кадры. И этот прогресс достигнут за последние полгода. Лев показывал фото и видео, которые создавали предыдущие версии, при чем на одних и тех же промптах, так что можно было визуально сравнить. В докладе - много разных сетей, среди которых есть более креативные, чем ChatGPT.

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

Максим Цепков. Постановка от модели бизнеса до детального дизайна требований: как делать и кому

Мой доклад Постановка от модели бизнеса до детального дизайна требований: как делать и кому, по отзывам участников, получился интересным. Мы много работали с ПК, первоначальная версия была больше часа, и со стороны Евгения Галактионова были очень конструктивные замечания - что исключить, а где логические провалы. А по полной версии мы договорились сделать вебинар. Конспектов своих докладов я не делаю. Можно посмотреть мою серию статей на habr Какие нужны требования: развитие концепта, Domain Driven Design: модели вместо требований, Agile-методы: light-версии требований, но в докладе было больше. Наверное. надо писать продолжение.


Юлия Иванова и Екатерина Колпакова из Emex Group. Автоматизируй это: как мы построили DWH для международного холдинга командой из 6 человек

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

Emex - междуранодная компания по продаже автозапчастей, продажи в России и Эмиратах, а закупки и логистика - более, чем в 40 странах. Автозапчасти отличаются громадным каталогом, у них более 40 млн. позиций, 30 тысяч заказов в сутки и доставка за 48 часов - если что-то сломалось. люди хотят получить замену быстро. В компании более 700 сотрудников, она существует 26 лет, как часто бывает в таких компаниях - размытая, исторически сложившаяся орг.структура и границы ответственности, много экспертов с уникальными знаниям, часть людей работает с основания компании.

ИТ-ландшафт управления складами, логистикой и заказами сложился исторически, крайне разнороден и поддерживается изолированными командами, а описание структур данных отсутствует. При этом ядро системы - Oracle 2003, к которому нельзя подключиться из современных средств анализа данных, SQL Server 2008 и 1C. Большое количество отчетов, формируемых процедурами, достоверность которых непонятна.

DWH создавали не просто, чтобы получить аналитику, а чтобы решгить реальные проблемы в операционной работе. Было два примера.

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

Начали они с выбора хранилища. Кандидаты: greenplum database, vertica, exasol, snowflake. Неожиданно оказалось, что по затратам на 2 года платный snowflake дешевле бесплатного greenplum в 4 раза, за счет того, что showflake развернут в облаке и ты платишь только за фактически использованные ресурсы, а для greenplum нужно свое оборудование и команда devops для поддержки. При том, что у компании есть серверные парки в каждой стране.

Showflake обеспечивает

  • Хранение. Данные автоматически партиционируются, распределяются, сжимаются, индексируются по статистике запросов.
  • Вычисление - кластеры засыпающие и поднимающиеся
  • Облачные сервисы - аутентификация, менеджер ролей, работа с метаданными

Можно гибко управлять производительностью, аналитические запросы и регулярный поток разносить на разные кластеры и так далее. Чит-код для snowflake: если запрос медленный - его перекидывают на отдельный кластер и накидывают ресурсы. Snowflake реально обеспечивает оптимизацию затрат: ты оптимизировал запрос - и меньше платишь. У тебя нет ограничения на ресурсы, но есть ограничение на бюджет.

Для получения быстрых результатов применили двухходовку: сделан поток REPLICA, в которые данные перекладываются "как есть" и на нем строятся отчеты, и в бэклог ставили задачу на реструктуризацию этих данных. приведению к однородному виду. И, что интересно, за 11 месяцев эти задачи уже выполнены, в потоке replica ничего не осталось. Что интересно - для хранения предпочитают третью нормальную форму, а не денормализацию, применяемую во многих DWH. На запросах snowflake с этим справляется.

Для быстрой реализации делали самописные фреймворки для ETL с кодогенерацией. Потому что 400 таблиц должны грузится одинаково. Загрузка основана на логе изменений базы данных, их читает debazium и передает в Кафку, а где debazium не прикручивается - делали свое. Я тут отмечу, что им повезло, что базы данных уверенно пишут лог, я как-то работал с легаси, в которой база данных считала лог опциональным и отключала в период высокой нагрузки - разбираться с ошибками было очень интересно.

Перегрузка через лог позволила решить много технических проблем. До этого они работали по отдельным таблицам, и там всегда были проблемы отследить изменения и, особенно, удаления строк. Настрока загрузки объекта занимала 4-6 часов технической работы. А сейчас это делается за 15-20 минут работы с метаданными. Бизнес-анализ - никуда не делся, но это - отдельная задача.

Конфигурация хранится в google sheet. По конфигу идет автоматическое создание объектов - таблицы, SQL, таски, стримы. Автогенерация: репликатор (первый, используется редко), автодоки, ddl, ddl executor, dq оператор (контроль качества с алертами), мониторинг-оператор, task shedule оператор. И дальше деплой этого кода в snowflake автоматически. Потому надо проверить результат и запустить поток в snowflake, потом проверить что перегрузка заработала и отдать бизнесу. Регулярность - очень гибкая, самая частый поток - раз в 3 минуты.

Каталог данных.

  • DataHub для управления и каталогизации
  • Отслеживание lineage от источника до дашборда в tableau.

В команде есть core data engineer - поддержка базовой инфраструктуры и системный аналитик, который работает с заказчиком, разбирается с легаси и добавляет данные в хранилище. Но не напрямую настраивая ETL или через задания разработчику, как в других местах, а через сделанные фреймворки.

Бизнес-результат - экспедиция стала прибыльнее на 25% от квартала в квартал.

Иван Башарин из ЭТП ГПБ/VESNA. Сменили стек, внедрив ИИ — нейроджун на службе зла

Они используют локально развернутый mistral для работы с текстами, у него 40к токенов контекстное окно и самовалидация, развернуто на двух юнитах в стойке. А для разработки - deepseek и практически сразу получают готовый код. Как альтернативы пробовали llama 3.5 - не очень хорошее качество, доученный gpt, у него высокая точность, но контекст за пару запросов кончался и coder - легковесные модели, они эффективно и быстро поднимаются, даже на локальном устройстве, но оказалось неудобно и неточно. В презентации были варианты кода на один промпт от разных моделек.

Нейросетка ставится как плугин vscode и другие - в ide пишешь код, она дает автоподсказки, или даешь ей задания в чатиках и видишь результат. В инфраструктуре - простая установка моделек, быстрая установка и мониторинг. Полное обучение на своем коде не используют, потому что в этом случае модель узнает правильные варианты, но не знает про ошибки. Правильно докучивать - finetune, и для этого достаточно 72 часа на 1 карточке, можно делать на арендованных ресурсах.

Для чего используют?

  • Получили задачу от заказчика или на рефакторинг или devops или ИБ. Надо описать, упростить убрав вводные канцеляризмы, и обогатить описанием результата. Еще ИИ помогает в для оценки, она у них сложная.
  • Регламенты. Личный кабинет ЭТП по сопровождению клиента - там много регламентов и все надо обновлять. Шаблоны - заполнение полей.
  • Ретро и другие командные мероприятия - в текст, и нейросетка даст результат.
  • Нейропрокси. Сервис под типовые задачи, к которым обращается кто угодно.
  • Как ответить заказчику, что он с ума сошел. ИИ дает несколько вариантов, но вот это надо тщательно проверять.
  • Разработка. Код и тексты. Безопасноть, Оформление, Тесты.

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

Уже пишем код быстрее. Быстрее пишут тесты, 100% покрытия. Модульные тесты нейросетка поддерживает. Но! Тесты будут численные, они будут перебирать данные, принципиально новых тестов нейросеть не напишет. Модульные тесты - 5 минут. Сделать тест, сделать контекст. В end2end тестах сделать контейнер, поднять контейнер, документация - mistral по сценариям и источникам делает.

Планы.

  • Хотелось бы по модульному собирать отчету, но текущие фреймвоки и так делают
  • e2e было бы идеально начать писать нейросеткой сразу
  • доки - не только писать, но и использовать
  • аналитики - только помощь: взять текст от сеньора, оформить, распихать задачи в issue track
  • маркетинг готовит материалы, но на каждом этапе - валидиция человеком, глюки всякие
  • руководители проектов - общаются с заказчиком
  • стажеры - более эффективно обучаются, но наставники есть
  • ИТ-школа - подготовка курсов, тестов, проверка заданий

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

Что не делать

  • передавать срества контроля, например, платежа на валидность. Решения - за человеком
  • Не надо автоматизировать уже автоматизированное.
  • Не надо обучать на непроверенном. Если отдать весь проект - баги кода расползутся.
  • Не надо усложнять реализацию и изобретать велосипед. Своя LLM - дорого и не эффективно. Тюньте существующее.

Нейросеть - джун, сколько бы не учили - но максимально производительный нейроджун. У каждого человека нейросекретарь - но ответственность использование - твоя. Получается три помощника нейроджуна: задачу ревьюют, пишет тесты, и так далее. Код - эффективнее на 25% по метрикам. Тесты до 90% - по метрикам, которые были до и после. На маленьких задачах эффективнее на порядок. На уровня дней - в 4 раза эффективнее.

Когда-то он написал маленький набор инструкций для тех, кто помогал. Потом дорастили до маленького курса, потом до большого и сейчас проревьюрили. И сейчас есть огромный курс. Огромный курс лучше.

Андрей Комиссаров из СберУниверситет. Цифровое и человеческое в образовании, усиленном ИИ

Есть прогнозы, что человек будет уходить в виртуальный мир. И они уже осуществляются: Nerf метавселенные - можно брать фото, сшивать матрицу и переводить в 3d. Google так сделал реконструкцию улиц по снимкам. В Roblox - 80м пользователей, которые там 2.5 часа в день, и в опросах в США 56% говорят, что там лучше, чем в реальном мире. И то, как выглядит твой аватар и что происходит с твоим персонажем - важнее, чем происходящее в реале.

Но дальше эту тему не развивали, был лишь обзор разных технологий.

  • Цифровые двойники - можно делать с человека или полностью виртуальные. Есть на основе видео lipsync - мы синхронизируем губы со звуками, и получается речь на других языках. Было демо - видео, специально казахский, котому что heygen его не знает. Но в реальном времени это пока не тянет.
  • faceswap - можно перенести голос на другое лиц. Через реперные точки. deepfake. И это можно быстро, в реальном времени.
  • Генерация текстов LLM. ChatGPT, GigaChat от Сбера. Могут писать текст, ориентироваться в наших, отвечать на сложные вопросы. GigaChatPro лучше, чем Mistral.

Тут был забавный пример фейка, связанный с доверчивостью ИИ к словам человека. Если спросить, как звали третью жену Миклухо-Маклая, и когда она умерла, то он ответит - выдаст имя, и год смерти 1888 - это год смерти самого, а не жены. Потом епросто справшиваем про жен - он выдает двух, и тоже виртуальных, про третью забывает. Фишка, что Миклухо-Маклай был женат один раз, но этой жены в списке нет. И даже на явный вопрос он про нее не ответит.

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

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

perplexity.ai - поиск по инету с резюме наяденного. Качественнее нейропоиска в яндексе.

Наступает эпоха ИИ-ассистентов. Суммаризация, рейтингование, редактура и анализ текстов, создание черновиков под диктовку. Conference bot - сбор контактов на мероприятиях. QR-код для получения презентации - при переходе запоминается контакт.

Ассистент сообщества - анализирует климат. Два кейса: Самолет - добрососедские сообщества, и Синие киты - вылавливают, кто влияет на детей в их сообществах, что их расстраивает, а что радует.

Анализ речи - для оценки по метрикам: слова-паразиты, мычание, вводные слова. сложность. Личный тренажер развития речи.

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

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

Юрий Сироткин. Игровая индустрия в современной России: взгляд изнутри

Я пошел на этот доклад в надежде услышать про технику, а он было про экономику игр в России и в мире. Экономика понятная, она растет. И если игра взлетает - то приносит много прибыли.

Он сам - левел-дизайнер, гейм-дизайнер, а еще ведет каналы и организует мероприятия. И у него идея вовлечь разработчиков. Более того, под такую идею есть господдержка - поручение президента. Но корпорации не хотят, они не понимают, что и как делать. Хотя два года назад Ростелеком сказать, что будет делать фонд, и они сделали, для получения гранта нужен преокт, где 55% возврата за год.

Для дизайна игры - есть пайплайн, есть лекция от ТанкиОнлайн. Но игровая индустрия - это не только разработка. Это фестивали, это платформы, на которых могут работать индивидуальные разрабочики, такие как Яндекс.Игры. Много ассоциаций, АКИ - фабрика игр в Сколково. В конкурсе лидеры цифровой трансформации - было направление игр. В Яндекс Плюс Сити - геймифицировали все сервисы.

В общем, идея и боль докладчика мне понятна, но хотелось бы более глубокого рассказа: о технологиях и о вариантах сценариев, которые возможны. Потому что они ведь сильно разные - на разных платформах, для разных аудиторий. Перспективы игры различны на внутреннем и глобальном рынке, но для успешной игры нужно учитывать культурный контекст, и это надо закладывать с самого начала. Я это слышал по мультфильмам: Маша и Медведь - международный проект, взлетевший во многих странах: знают 95% в Индонезии, 88% в Италии, более 90% в Чили и Тайване, входит в пятерку самых популярных в Бразилии и Турции. И ее с самого начала делали глобальной. А вот Смешарики делали как российский проект. За рубежом он популярен, но далеко не так, как Маша. Хотя в Китае аудитория в 12 раз больше российской, при том, что население всего в 10 раз больше. Но это было отступление от темы.


Александр Сажин из Ситек. Магия тех. лидерства: искусство наставничества в мире технологий

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

  • Наставник - первый встретит человека, будет сопросовждать на онбординге, поможет с индивидуальным планом развития - эту функцию забрали у HR. Это специалист, который сам недавно прошел онбординг. Проводник, он понимает как учить и хочет это делать. В конце испытательного срока - мини-аттестация, он помогает подготовиться.
  • Куратор - на проекте, он прошел не один проект, опытный и с пониманием, он подхватывает внутри проекта. У него есть свои задачи, встречается с клиентами - он является частью команды. Если новичок опытный, у него могут быть наставник и куратор одновременно. Куратор помонает проекту в целом. В начале проекта он закладывает метрики, которые помогут его завершить. Премия по завершению, если успех - большая и на команду.
  • Техническое лидерство. Курирует группу со схожими специализациями вне проекта, каждый из группы - в конкретном проекте. 5-7 человек в группе.
    • обучение - помогает с индивидуальными планы с теми кто прошел испытательный срок. Мучается с экспертами - находит точки развития.
    • участие в пресейлах - клиенты хотят пообщатсья с командой, и техспециалиста надо научить
    • загрузка и распределение - помощь руководителю, загрузка рваная, люди в нескольких проектах, и надо курировать и понимать. Подсвечивать где что проседает, не закрывается, или ого-то надо загрузить новым.
    • поиск новых потребностей блока учета - развитие продукта, ниши рынка; адаптация инструментария аналитика для нужд группы - участие на конференциях - донесение услышанного
    • Эмоциональное состояние и поддержка. Люди оказываются в одиночку на проекте - надо поддержать, и в команде тоже. А еще ценности - например, манифест разработки от клиента, как общаться в таких-то чатах, как идти к клиенту на встречу, в том числе к генеральному.

Зачем быть техлидером? Управление группой, усиление коллег и компетенций, профилактика выгорания, развитие управленческих навыков. А для компании это развивают экологичность, помогает идти к результату вместе.

Техлиды у них под тимлидами. Это не альтернативная ветка управления. А проектная организация - альтернатива.

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

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

Как мотивация наставников? Потому что бывает неделю горит, потом - устает. Тут важно, чтобы он понял, что надо делать, стартовал. У Наставника one2one - через день, или ежедневно - и смотрят, что проходят, подсказывают. Стараемся не доводить до жалоб, что человек не справляется, а разбирать ситуацию раньше.

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.