📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

POC to PROD: Hard Lessons from 200+ Enterprise GenAI Deployments - Randall Hunt, Caylent

AI Engineer19:16

Transcription

[Музыка] Все взволнованы? Итак, э-э, чем занимается Калин? Мы строим вещи для людей. Итак, люди приходят к нам с идеями, и они говорят: «Я хочу создать приложение» или «О, я хочу перейти с Oracle на PostgreSQL, знаете ли». И мы просто делаем эти вещи. Мы строители. Мы, э-э, создали компанию, наняв кучу увлеченных самоучек с небольшим количеством продуктового СДВГ. И мы перескакиваем на все эти разные вещи и создаем крутые вещи для наших клиентов. И у нас сотни клиентов в любое время. Все, от Fortune 500 до стартапов. И это очень веселое занятие. Это действительно круто. Вы знакомитесь с множеством технологий. И то, что мы узнали, это то, что генеративный ИИ — это не волшебная таблетка, которая решает все, как многие думают. Э-э, и то, что ваш технический директор прочитал в Wall Street Journal, не обязательно является самым последним и величайшим. И мы поделимся некоторыми конкретными компонентами этого. Э-э, но я просто укажу на пару разных клиентов. Один из них — Brainbox AI. Так что они строят операционную систему. Они помогают декарбонизировать построенную среду. Так что они управляют десятками тысяч зданий по всей территории Соединенных Штатов и Канады или Северной Америки, и они управляют системами ОВК. И мы создали для них агента, чтобы помочь с этой декарбонизацией построенной среды и управлением этими вещами. И это было, я думаю, в списке 100 лучших изобретений года по версии Times или что-то в этом роде, потому что это помогает значительно сократить выбросы парниковых газов. Э-э, а затем Simmons — это управление водными ресурсами и сохранение, которое мы также реализовали с помощью ИИ. Э-э, и с этим, знаете ли, здесь есть пара других клиентов. Pipes AI, виртуальные технологии перемещения, Z5 inventory. Э-э, но я подумал, что было бы здорово просто показать демонстрацию. И одна из вещей, которая меня сейчас больше всего интересует, — это мультимодальный поиск и семантическое понимание видео. Так что это один из наших клиентов, Nature Footage. У них есть куча стоковых видеороликов, знаете ли, львов, тигров и медведей. О, боже мой. и крокодилов, полагаю, и нам нужно было проиндексировать все это и сделать его доступным для поиска не только по векторному индексу, но и по подписи. Поэтому мы использовали модели Nova Pro для генерации понимания, временных меток и функций этих видео, сохранили все это в elastic search, а затем мы можем искать по ним, и одна из самых важных вещей там заключается в том, что мы смогли создать объединяющий эмбеддинг. Так, взяв выборки кадров и объединив эмбеддинги этих кадров, мы можем создать мультимодальный эмбеддинг и искать по тексту для изображений. И это обеспечивается мультимодальными эмбеддингами Titan v2. Так что я подумал, что мы посмотрим на другую архитектуру. Надеюсь, здесь нет никого из Мичигана, потому что это ужасная команда. Я их ненавижу. В любом случае, кто-нибудь помнит March Madness? Так что это еще один наш клиент, которого я не буду раскрывать, но, по сути, у нас есть куча спортивных видеоматериалов, которые мы обрабатываем как в реальном времени, так и пакетами, архивируем и в реальном времени. И мы разделим эти данные на аудио. Мы сгенерируем транскрипцию. Забавный факт: если вы ищете хайлайты, проще всего использовать ffmpeg, получить спектрограмму амплитуды аудио и искать аплодисменты аудитории, и, о чудо, у вас есть ваш ролик с хайлайтами. Очень простой хак прямо там. И мы возьмем это и сгенерируем эмбеддинги как из текста, так и из самого видео. И мы сможем идентифицировать определенное поведение с определенным вектором и определенной уверенностью. И мы сохраним их в базе данных. О, я думаю, я случайно поставил видео на паузу. Приношу извинения. Нет, не поставил. И тогда мы будем использовать что-то вроде Amazon end user messaging или SNS или что-то в этом роде. мы отправим push-уведомление нашим конечным пользователям и скажем: «Смотрите, мы нашли трехочковый бросок» или «Мы нашли эту другую вещь». И то, что мы обнаружили, — это то, что вам даже не нужно брать исходное видео. Небольшое количество аннотаций может творить чудеса для моделей понимания видео, какими они существуют сейчас. Модели Soda, даже с небольшим количеством дополнений к видео, будут превосходить то, что вы можете получить с неизмененным видео. И я имею в виду, что если у вас есть статические ракурсы камеры, и вы аннотируете на площадке линию трехочкового броска большой синей линией, а затем просто задаете модели вопросы, например, пересек ли игрок большую синюю линию. О чудо, вы получаете гораздо лучшие результаты, и это занимает секунды, и вы можете даже иметь что-то вроде SAM 2, другой модели от Meta, которая сделает некоторые из этих аннотаций для вас. Так что это архитектура. Вы заметите, что я разместил пару разных баз данных. У нас была Postgress PG vector, которая мне сейчас нравится больше всего. У нас был open search. Это еще одна реализация векторного поиска. Но в любом случае, почему вы должны слушать меня? Привет, я Рэндалл. Я начал с хакинга и создания вещей, и играл в видеоигры и взламывал видеоигры. Оказывается, это супер незаконно. Я не знал этого. А затем я занялся физикой в НАСА. Я присоединился к небольшой компании под названием Tenen, которая стала MongoDB. Они провели IPO. Я был идиотом и продал все свои акции до IPO. А затем я работал в SpaceX, где руководил командой CI/CD. Забавный факт: мы никогда не взрывали ракету, пока я был руководителем этой команды. До и после моего срока мы взрывали ракеты. Я не знаю, что еще я могу сказать. А затем я провел много времени в AWS, и мне было очень приятно создавать множество технологий для многих клиентов. Я даже снял видео о трансформерной статье в июле 2017 года, не осознавая, к чему это приведет. И тот факт, что мы все здесь сегодня, — это все еще внимание — это все, что вам нужно. Вы можете следить за мной в Twitter по адресу JR Hunt. Это все еще называется Twitter. В моем сознании это никогда не будет называться X. И это Калин. Знаете, мы долгое время были партнером года AWS. Мы строим вещи. Как я уже сказал, мне нравится говорить, что наш девиз: «Мы строим крутые вещи». Маркетинг не любит, когда я так говорю. Потому что я не всегда говорю слово «вещи». Иногда я подставляю другое слово. И то, что мы строим, знаете ли, все, от чат-ботов до ко-пилотов и ИИ-агентов. И я поделюсь всеми уроками, которые мы извлекли из создания всего этого. Знаете, вот эти вещи наверху, эти инструменты самообслуживания для повышения производительности. Это вещи, которые вы обычно можете купить. Но определенные учреждения могут нуждаться в доработке. Им может понадобиться конкретное приложение поверх этого инструмента самообслуживания для повышения производительности, и мы часто строим для них вещи. Одна из проблем, с которой сталкиваются организации, заключается в том, как они администрируют и отслеживают использование этих сторонних инструментов и API. И у некоторых людей есть локальная сеть и VPN, где они могут просто измерять весь трафик. Они могут перехватывать вещи. Они могут искать PII или PHI, и они могут делать все те забавные вещи, которые мы должны делать с перехватом сети. Есть отличный инструмент под названием Shure Path. Мы используем его в Калин. Я рекомендую их. Он делает все это для вас и может интегрироваться с Zcal или чем-либо еще, что вам может понадобиться. В плане автоматизации бизнес-функций, знаете ли, это обычно попытка вернуть процент времени или денег от начала до конца в конкретном бизнес-процессе. Мы работаем с крупным клиентом по управлению логистикой, который обрабатывает огромное количество квитанций, коносаментов и тому подобного. И это типичный сценарий использования интеллектуальной обработки документов с использованием генеративного ИИ и пользовательского классификатора, прежде чем мы отправим его в модели генеративного ИИ. Мы можем получить гораздо более быстрые и лучшие результаты, чем даже их человеческие аннотаторы. А затем есть монетизация, которая заключается в добавлении нового SKU к существующему продукту. Это существующая SaaS-платформа. Это существующая утилита, и клиент говорит: «О, я хочу добавить новый SKU, чтобы я мог брать плату со своих пользователей за модный ИИ, потому что Wall Street Journal сказал мне это сделать». И это очень интересная область для работы. Но если вы просто создадите чат-бот, скажем так, прощайте, как удачи. Я, знаете ли, вы — Polaroid. Люди все еще пользуются Polaroid? У них все хорошо? Я не знаю. В любом случае, раньше я говорил Kodak. Вот как мы строим эти вещи, и вот уроки, которые мы извлекли. Я украл этот слайд. Это не мой слайд. Я не могу вспомнить, откуда он. Он откуда-то из Twitter. Возможно, это был Джейсон Лу. Возможно, это было из DSPY. Но это отличный слайд, который, я думаю, очень стратегически определяет, каковы спецификации для создания рва в вашем бизнесе и входные данные для вашей системы, и что ваша система будет с ними делать. Это самая фундаментальная часть: ваши входные и выходные данные. Все помнят Стива Балмера, бывшего генерального директора Microsoft, и как он, будучи под огромным количеством кокаина, вышел на сцену и начал кричать: «Разработчики, разработчики, разработчики, разработчики». Если бы я мог воплотить в себе Балмера, я бы сказал: «Оценка». Так что, когда мы делаем этот уровень оценки, здесь мы доказываем, что система надежна, а не просто проверка на «вайб», и мы получаем одноразовый результат на особенно уникальный запрос. Затем у нас есть архитектура системы, а затем у нас есть различные LLM, инструменты и вещи, которые мы можем использовать. И все это второстепенно по отношению к вашей ИИ-системе, и вы должны ожидать, что они будут развиваться и меняться. То, что не будет развиваться и меняться, — это ваше фундаментальное определение и спецификация того, что являются вашими входными данными, а что — вашими выходными данными. И поскольку модели становятся лучше и совершенствуются, и вы можете получать другие модальности вывода, которые могут развиваться. Но вы всегда будете выяснять, почему я это делаю? Какова моя рентабельность инвестиций? Чего я ожидаю? Вот как мы строим эти вещи в AWS. На нижнем уровне у нас есть два сервиса. У нас есть Bedrock и SageMaker. Это полезные сервисы. SageMaker требует определенной вычислительной мощности. Вы также можете просто работать на EKS или EC2, если хотите. В AWS существует два разных типа пользовательских чипов. Один — Tranium, другой — Inferentia. Они обеспечивают примерно 60% улучшение производительности по цене по сравнению с использованием графических процессоров Nvidia. Теперь недостаток заключается в том, что объем оперативной памяти не такой большой, как у H200. Я не знаю, видел ли кто-нибудь сегодня, но были отличные новости. Amazon объявила, что они снижают цены на экземпляры P4 и P5 до 40%. Так что мы все получаем больше графических процессоров дешевле. Очень рад этому. Интересная вещь с Tranium и Inferentia заключается в том, что вы должны использовать что-то под названием Neuron SDK для написания этих. Так что, если кто-нибудь когда-либо писал XLA для TensorFlow и старых TPU, а теперь новых TPU7 и всего этого, интерфейс ядра Neuron для Tranium и Inferentia очень похож. На один уровень выше мы можем выбирать наши различные модели. Так что у нас есть все, от Claude и Nova до Llama и Deepseek, а затем и модели с открытым исходным кодом, которые мы можем развернуть. Я не знаю, выпустит ли Mistral когда-нибудь еще одну модель с открытым исходным кодом, но кто знает. А затем у нас есть наши эмбеддинги и наши векторные хранилища. Так что, как я уже сказал, я предпочитаю Postgress прямо сейчас. Если вам нужна персистентность в Redis, есть отличная вещь под названием Memory DB на AWS, которая также поддерживает векторный поиск. Хорошая новость о векторном поиске Redis заключается в том, что он чрезвычайно быстр. Плохая новость заключается в том, что он чрезвычайно дорог, потому что он должен находиться в оперативной памяти. Так что, если вы думаете о том, как вы будете конструировать свои индексы и делать что-то вроде IVV flat, будьте готовы потратить всю свою оперативную память, чтобы сохранить все это. Теперь в Postgress и OpenSearch вы можете перейти на диск и использовать такие вещи, как индексы HNSW, чтобы у вас было лучшее распределение и механизм поиска. Затем у нас есть версионирование и управление промптами. Все эти вещи второстепенны и не уникальны. Но это управление контекстом невероятно важно. И если вы хотите отличить свое приложение от приложения конкурента, контекст — это ключ. Так что, если у вашего конкурента нет контекста пользователя и дополнительной информации, но вы можете вставить информацию о том, что пользователь находится на этой странице, у него есть история просмотров, знаете ли, это те файлы cookie, которые я видел, это, знаете ли, тогда вы можете сделать гораздо более стратегический вывод от имени конечного пользователя. Вот уроки, которые мы извлекли, и я перейду к ним, но у меня также закончится время, так что я немного ускорюсь и предоставлю стек для всех. Но, оказывается, оценка и эмбеддинги — это не все, что вам нужно. Знаете ли, понимание шаблонов доступа и понимание того, как люди будут использовать продукт, приведет к гораздо лучшему результату, чем просто бросание оценок и бросание эмбеддингов и пожелание удачи. Одни только эмбеддинги не делают отличную систему запросов. Как вы делаете фасетный поиск и фильтры только на основе эмбеддингов? Вот почему мы любим такие вещи, как OpenSearch и Postgress. Скорость имеет значение. Так что, если ваша инференция медленная, UX — это средство смягчения медлительности некоторых из этих вещей. Есть другие методы, которые вы можете использовать. Вы можете использовать кэширование, вы можете использовать другие компоненты. Но если вы медленнее и дороже, вас не будут использовать. Если вы медленнее и дешевле, и вы смягчаете некоторые эффекты, используя что-то вроде модного UI-спиннера или чего-то, что развлекает ваших пользователей во время расчета инференции, вы все равно можете победить. Теперь знание вашего конечного клиента, как я уже сказал, очень важно. И еще одна очень важная вещь — это количество раз, когда я вижу, как люди определяют инструмент под названием «получить текущую дату», что меня возмущает. Это буквально как импорт time.now, знаете ли, это просто строка формата, просто вставьте ее в строку, вы контролируете промпт. Так что, недостаток помещения некоторой информации очень высоко в промпте заключается в том, что ваше кэширование не так эффективно. Но если вы можете поместить некоторую информацию в конец промпта после инструкций, вы часто можете добиться очень эффективного кэширования. Затем есть, я раньше говорил, что мы должны дорабатывать, мы должны делать эти вещи. Оказывается, я ошибался. Поскольку модели улучшились и стали более мощными, промпт-инжиниринг оказался для нас необоснованно эффективным, гораздо более эффективным, чем я мог предсказать. В Cloud 3.7 до Claude 4 мы видели нулевые регрессии. От Cloud 35 до 37 мы видели регрессии в определенных вещах, когда мы переносили те же самые промпты на некоторых наших пользователей и в некоторые наши оценки. Но от 37 до 4 мы получили более быструю, лучшую, более дешевую, более оптимизированную инференцию практически во всех сценариях использования. Так что это было как прямая замена, и это было удивительно. И я надеюсь, что будущие версии будут такими же. Я надеюсь, что эпоха необходимости корректировать промпт каждый раз, когда выходит новая модель, заканчивается. И, наконец, очень важно знать свою экономику: не разорит ли эта инференция мою компанию? Если вы подумаете о некоторых затратах на модели Opus, знаете ли, это может быть не всегда лучшим вариантом. Хорошо, просто в интересах времени, это еще один отличный слайд. Это на самом деле от Anthropic. И когда мы думаем о том, как создавать наши оценки, проверка на «вайб», первое, что вы делаете, когда пытаетесь создать тест, эта проверка на «вайб» становится вашей первой оценкой. А затем вы меняете данные и то, что вы отправляете, и, о чудо, через 20 минут у вас есть какая-то форма набора оценок, которую вы можете начать запускать. А затем вы можете перейти к метрикам. Теперь метрики не обязательно должны быть оценкой, как BERT или, знаете ли, оценка бенчмарка, которая рассчитывается. Они могут быть просто булевыми. Это может быть просто истина или ложь. Была ли эта инференция успешной или нет? Это часто проще, чем пытаться присвоить конкретное значение и конкретную оценку. А затем вы просто итерируете, продолжайте. И, как я уже сказал, скорость имеет значение, но UX имеет большее значение. Знаете ли, эта оркестрация UX, управление промптами, все эти отличные вещи — вот почему мы в конечном итоге превосходим некоторых наших конкурентов. А затем, знаете ли, один из наших клиентов, Cloud Zero, мы изначально создали для них чат-бот, чтобы вы могли общаться с вашей инфраструктурой AWS и получать информацию о затратах из этой инфраструктуры AWS. Теперь мы используем генеративный UI для рендеринга информации, отображаемой на этих графиках. Так что в нужный момент мы создадим компонент React и вставим его в рендеринг ответа, а затем мы можем кэшировать эти компоненты и описать в промпте: «Эй, я сделал это для другого пользователя, и, возможно, это будет полезно однажды для запроса другого пользователя». И таким образом, этот генеративный UI позволяет инструменту постоянно развиваться и персонализироваться для каждого конечного пользователя. Это чрезвычайно мощная парадигма, которая наконец-то достаточно быстра с некоторыми из этих моделей и их молниеносной скоростью инференции. Nature Footage, мы уже говорили об этом. Также важно знать своего конечного пользователя, что у нас был клиент, у которого были пользователи в отдаленных районах, поэтому мы предоставляли текстовые сводки этих PDF-файлов, руководств и тому подобного, и это было здорово, а затем они получали PDF-файл, и он был 200 мегабайт, знаете ли, и поэтому мы обнаружили, что на стороне сервера мы могли сделать снимок экрана PDF-файла и просто отправить эту одну страницу, чтобы даже когда они находились в зонах с низкой связью, мы могли отправлять текстовую сводку полного документации и инструкций, но просто отправлять соответствующие части PDF-файла, не заставляя их загружать 200-мегабайтный файл. Так что это знание вашего конечного клиента. Например, мы работали с больничной системой, для которой мы изначально создали голосового бота для медсестер, и оказалось, что медсестры ненавидят голосовых ботов, потому что больницы шумные и громкие, и транскрипция голоса не очень хорошая, и вы просто слышите, как другие люди кричат, и они предпочли обычный чат-интерфейс. Так что нам пришлось узнать наших конечных клиентов. Выяснить, что именно они делали изо дня в день. А затем позволить компьютеру делать то, что он умеет. Не делайте математику в LLM. Это самый дорогой способ делать математику. Пусть компьютер делает свои расчеты. А затем промпт-инжиниринг. Я не буду вдаваться в подробности. Я уверен, что вы видели сотни докладов за последние два дня о том, как инженерить ваши промпты и все такое прочее. Но одна из вещей, которую мы любим делать в рамках нашей оптимизации, — это думать о выходных токенах и связанных с ними затратах, и о том, как мы можем улучшить производительность. И, наконец, знайте свою экономику. Есть много отличных инструментов. Есть такие вещи, как кэширование промптов. Есть такие вещи, как использование инструментов и пакетная обработка. Пакетная обработка на Bedrock дает скидку 50% на любую модель инференции, которую вы пытаетесь сделать по всему спектру. А затем управление контекстом. Вы можете оптимизировать свой контекст. Вы можете выяснить, какой минимальный жизнеспособный контекст необходим для получения правильной инференции, и как я могу оптимизировать этот контекст с течением времени, и это снова требует знания вашего конечного пользователя, знания того, что они делают, и вставки этой информации в модель, а также оптимизации того, что не имеет значения, и удаления этого из контекста, чтобы модели было меньше для рассуждений, и вы хотите узнать больше, если вы хотите поговорить больше. Я всегда рад пообщаться с клиентами по телефону. Вы можете отсканировать этот QR-код. Мы любим строить крутые вещи. У меня есть целая куча талантливых инженеров, которые просто рады выйти и строить вещи для клиентов. Так что, если у вас есть супер крутой сценарий использования, обращайтесь ко мне. Хорошо. Большое спасибо. [Музыка]