Transcription
Доброе утро, добрый день и добрый вечер всем, кто смотрит нас сегодня. У меня есть трое моих любимых друзей, которых я накопил за последнее десятилетие, а с Кэрри, наверное, даже больше, чем десятилетие. Кэрри, добро пожаловать. Кэрри, Кайл и Джоэл, приятно иметь вас на этой трансляции. И сегодня мы поговорим о генеративном ИИ. Поэтому я задам первый вопрос моей дорогой подруге Кэрри. Но прежде чем я это сделаю, Кэрри, не хотите ли вы уделить несколько минут или несколько секунд, чтобы представиться нашей аудитории?
Да, конечно. Меня зовут Кэрри Пейет, и я давно работаю в этой отрасли. Слишком много лет, я покажу свой возраст, если скажу вам, но я — Azure MVP, и я работаю преимущественно в сфере ИИ и Интернета вещей. Так что, знаете, я давно занимаюсь этим, особенно в сфере Интернета вещей. Так что определённая страсть к данным, ко всему, что связано с ИИ, и, э-э, вот кто я.
Это потрясающе. Приятно вас видеть. Кайл, хотите идти следующим?
Конечно. Меня зовут Кайл Бантинг. Я работаю в этой отрасли чуть более 26 лет, так что довольно много времени. В основном занимаюсь проектированием данных и в сфере ИИ. Так что я работаю над множеством разных проектов ИИ, а также рассматриваю некоторые важные аспекты, о которых мы немного поговорим сегодня, в плане структурирования данных, получения данных, качества данных, необходимого для того, чтобы генеративные приложения действительно работали правильно.
Это потрясающе. Спасибо, Кайл. Джоэл?
Привет всем. Джоэл Хуэн. И, э-э, если мы говорим о нашем возрасте, я работаю в этой отрасли 31 год. Вы можете сказать по моим волосам, по тому, что от них осталось. Как и Кайл, мы прошли схожий путь в нашей карьере. Много времени провели в качестве разработчиков, но в последнее время сосредоточились на облаке, данных и особенно на ИИ. Но большая часть этого — данные, и мы поговорим об этом, о том, как данные играют большую роль в том, чтобы эти модели имели смысл, когда вы задаёте им вопросы. Так что мы поговорим об этом. Приятно познакомиться со всеми.
Это удовольствие, ребята. А я, на случай, если вы не знаете, работаю в этой отрасли около двух недель, и моя специализация — Microsoft Bob.
Ладно, давайте перейдём к первому вопросу, и я обращусь к моей дорогой подруге Кэрри. Каково влияние генеративного ИИ на организации во всем мире в настоящее время?
Итак, последствия действительно довольно масштабны. Мы можем поговорить, например, начиная с, например, восприятия вашей компании клиентами. Закончились те времена, когда людям приходилось просматривать такие вещи, как документация, если они хотели найти ответы на вопросы о услугах и информации, предоставляемых вашей организацией. Это действительно повышает уровень игры в индустрии самообслуживания, потому что с помощью генеративного ИИ вы можете иметь, по сути, бота или чат-бота, способного взаимодействовать с этим пользователем и при этом иметь доступ к вашей конфиденциальной информации внутри вашей организации. То есть я имею в виду, что многие большие языковые модели обучаются только на общедоступных данных, но существуют различные методы, которые можно применять, чтобы извлекать информацию и данные из ваших систем внутренне. Создав такое решение, вы можете обеспечить круглосуточную поддержку через ваш веб-сайт, например, для потребителей ваших продуктов или услуг, чтобы они могли пользоваться самообслуживанием и получать ответы. И что приятно, это не просто предоставление формы поиска, например, у вас будет этот интерактивный опыт, который, как правило, улучшает отношение клиентов к вашей компании в целом. В дополнение к этому, как Джоэл здесь упомянул, данные очень важны. Когда мы говорим о генеративном ИИ, это не только интерактивный аспект, хотя это очень хорошая его особенность, но генеративный ИИ с взаимодействием с вашими бэкэнд-системами может действительно улучшить ваши рабочие процессы внутри компании. Если у вас есть вещи, в которых вы определённо захотите найти некоторую информацию в базе данных, например, вы можете настроить инструмент для доступа к различным таблицам в вашей базе данных и действительно обрабатывать ad hoc запросы, поступающие от системы или пользователя, которому необходимо извлечь эту информацию. Таким образом, вам не нужно создавать эти разовые приложения и выяснять, какие отчеты необходимы, а затем выяснить: «О, ну нам нужен ещё один отчет». Так что большая часть этой информации может быть предоставлена довольно легко с помощью генеративного ИИ. И я не знаю, Джоэл, может быть, вы хотите что-нибудь добавить?
Да, да, я сосредоточусь на самом термине «генеративный ИИ». Что он генерирует? Это большая его часть. Если вы думаете о таких вещах, как, э-э, знаете, я говорил, что у меня есть небольшой опыт работы с данными, на самом деле большой опыт работы с данными. Одна из трудностей, и это касается многих приложений, не только обучения моделей, но я сосредоточусь на обучении моделей, одна из проблем заключается в том, что: «Мне нужны банковские транзакции, мне нужны данные такого типа, мне нужны данные Интернета вещей, и мне нужно, чтобы они были реалистичными, чтобы я мог использовать их для обучения этой модели, не используя при этом реальные номера счетов и тому подобное». Так что большая работа может быть выполнена просто путём запроса или показа примера того, что вы ищете, и, э-э, направлением его к типу информации, которую вы хотите сгенерировать, и к формату, который вы хотите. Так что, знаете, я думаю, это большая экономия времени. Это также относится к разработке программного обеспечения. Сейчас вы можете видеть много мусора, который он выдаёт в плане кода. Я видел, как младшие разработчики в некоторых случаях делают гораздо лучшую работу, но в других случаях это работает довольно хорошо, ускоряя процесс. И чем больше вы его используете, тем больше он подхватывает ваши шаблоны, и если у него есть доступ к вашему коду, он может их адаптировать. Так что есть много вещей, которые помогают экономить время на генеративной стороне, и я думаю, что именно здесь люди начинают возмущаться: «О, ИИ заберёт рабочие места», как будто тракторы вытеснят фермеров. И знаете, во всём спектре технологического прогресса вы слышите подобные вещи, но на самом деле это позволяет вам повышать квалификацию и переквалифицировать своих сотрудников, чтобы они могли не так сильно сосредотачиваться на рутинных задачах, а добавлять ценность там, где генеративный ИИ не может сделать всё. Кайл, у тебя есть что-нибудь добавить?
Да, я думаю, я немного дополню это. Итак, коснувшись одной из вещей, о которых говорили вы оба, это просто автоматизация процессов. Итак, у нас много избыточных, много рутинных задач, которые есть почти у каждой организации. Генеративный ИИ — это место, где мы можем действительно использовать эти возможности, чтобы начать автоматизировать эти процессы, будь то проверка данных, будь то какой-то рабочий процесс. Возможность делать это. И, очевидно, для большинства организаций они также смогут добиться значительной экономии затрат, когда мы посмотрим на это. Есть много оценок довольно значительных сумм экономии затрат для организаций благодаря внедрению генеративного ИИ. И ещё один момент, который, я думаю, важно отметить, это то, что мы немного говорили о генерации текста, об этих больших языковых моделях, но генеративный ИИ гораздо шире, чем просто эти большие языковые модели. У нас есть такие вещи, как DALL-E, где мы можем создавать изображения, у нас есть создание видеоконтента, создание музыки, все эти вещи. Джоэл даже немного рассказал о расширении данных, генерации данных. Возможность генерировать синтетические данные, чтобы мы могли делать разные вещи, когда мы работаем с разными моделями, тестируем разные сценарии. Так что мы можем извлечь много пользы из включения этих моделей и, знаете, улучшения того, как организации работают, даже таких вещей, как Джоэл упомянул о генерации кода, таких вещей, как GitHub Copilot, некоторые из этих других инструментов, которые у нас есть, они очень мощные. Бывают случаи, как сказал Джоэл, когда вы можете вставить комментарий, и он создаст для вас блок кода, который точно соответствует тому, что вы ищете, точно так, как вы бы его написали. В других случаях он делает ужасную работу. Так что всё ещё многое, и я, возможно, немного подробнее остановлюсь на этом позже, когда мы получим некоторые другие вопросы, но просто посмотрим на проверку того, что делает генеративный ИИ, потому что ещё одна вещь, которую мы видим, когда рассматриваем влияние этого, заключается в том, что, я думаю, почти каждой организации хотя бы интересно, как генеративный ИИ может им помочь, но также существует много недоверия к ответам, которые мы получаем, и к вещам, которые мы видим от этого. Поэтому я думаю, что это важный момент, о котором нужно поговорить.
Это потрясающе. Спасибо, ребята. Следующие вопросы, которые у меня есть для вас, и этот будет для, почему для предприятия важно очень серьёзно относиться к генеративному ИИ как внутри компании, так и вне её, а также для собственных клиентов?
Это очень хороший вопрос. Ну, я имею в виду, есть много причин. Я мог бы быть легкомысленным и сказать: «Ну, потому что все остальные это делают», но это действительно очень хороший момент. Вы смотрите на одно из самых быстрых внедрений новой технологии, начиная, наверное, с зарождения интернета. Возможности, которые генеративный ИИ открывает для компаний, огромны. Поэтому это почти одна из тех вещей, когда, если вы не начнёте этим заниматься, вас обгонят ваши конкуренты. Так что да, я имею в виду, это хорошо, вы разделяете внутреннее и внешнее. Внутренне, это то, о чём Кэрри уже упоминала, но если у вас есть объём данных о вашей компании, это могут быть политики, это могут быть юридические вопросы, это могут быть льготы, такие вещи, возможность прочитать всё это или даже связаться с соответствующим человеком, чтобы задать вопросы об этом, не всегда легко. Поэтому внутри компании его можно использовать для подключения к вашим источникам знаний, а затем позволить вашим сотрудникам задавать вопросы о них и рассуждать о них. Кроме того, есть другие типы данных, которые вы можете быстро просмотреть, и мы поговорим о RAG и других вещах о том, как дополнить ваши собственные данные с помощью него, но чтобы быстро открыть этот объём данных. Знаете, пару вещей, которые я хотел бы отметить: когда термин был «большие данные», сейчас это просто «данные», потому что все они большие, 90% данных, которые генерируются сегодня, неструктурированы, не структурированы, как в базе данных или, обязательно, ваши традиционные таблицы типа столбцов и строк. Есть много неструктурированных данных, подумайте о таких вещах, как сообщения в блогах, подумайте о сигналах и информации об устройствах, такие вещи. Это очень много информации, которую нужно просмотреть, и обычно вам нужны целые команды инженеров по данным. Я не пытаюсь забрать работу у Кайла, у меня и других здесь, но чтобы обработать это, понять это, вам всё равно это нужно, но это также позволяет вам просматривать эту информацию и раскрывать эти идеи. Поэтому с внутренней стороны, и это также относится к таким вещам, как Copilot и помощники, возможность повысить вашу производительность — это огромно. Внешне, что касается клиентов, ещё одна вещь, которую упомянула Кэрри, — это наличие чат-бота или чего-то подобного для клиентов, возможность поговорить с агентом, который хорошо знает вашу компанию и ваши продукты, который может задавать вопросы о них, не имея при этом живого помощника. Теперь вы должны быть осторожны в этом. Вы должны иметь некоторые меры защиты на месте, чтобы сказать: «Делает ли модель галлюцинации и просто выдумывает информацию, чтобы просто дать ответ? В какой момент вы передаёте кого-то реальному человеку?» Есть такие вещи, о которых вы должны подумать, но в целом, с точки зрения клиента, это один аспект. Есть и другие вещи, где клиенты могут использовать информацию, которая у вас есть, или вы можете предоставлять услуги, которые, возможно, раньше не могли, создавать интерактивные диаграммы на основе общедоступных данных, которые вы публикуете, финансовых данных или чего-то ещё. Есть целый список вещей, и я думаю, важно, что поскольку все эти другие корпорации начинают это делать, вы либо будете тем, кто внедряет инновации, либо будете тем, кого внедряют инновации, и вы не хотите быть во второй части этой группы.
Отлично. Добавьте к этому, извините, Кэрри, если хотите что-нибудь добавить к этому, или мы можем перейти к следующему вопросу.
Я могу быстро вмешаться. Я думаю, есть пара вещей, возможно, просто чтобы немного более подробно рассказать о том, что сказал Джоэл. Я думаю, есть две вещи, которые действительно дополняют друг друга, с точки зрения организации изнутри, что просто повышает производительность. Возможность передать эти инструменты клиентам или сотрудникам, где это может улучшить процесс, взять даже такую вещь, как колл-центр, где мы теперь можем просто использовать ИИ для суммирования звонка, в отличие от того, чтобы кто-то должен был пройти, прочитать это, фактически напечатать резюме, мы теперь можем использовать ИИ. На самом деле это очень эффективно для этого типа задач. Поэтому возможность делать это, где мы можем просто экономить время на различных избыточных повторяющихся задачах, над которыми мы работаем. И я думаю, что это идёт рука об руку с той экономией затрат, о которой я упоминал ранее. Когда мы можем сосредоточить людей на том, чтобы увести их от этих рутинных задач и фактически перевести их на задачи, которые добавляют ценность организации, это имеет много ценности и преимуществ для организации. И затем я бы просто сказал, с точки зрения клиента, я думаю, это сводится к ожиданиям клиентов. Всё чаще мы видим, что клиенты ожидают получать эти персонализированные услуги от корпораций, от организаций, с которыми они взаимодействуют, и ИИ позволяет генеративному ИИ делать это очень эффективным способом. Очевидно, как сказал Джоэл, нам нужно контролировать это, нам нужно убедиться, что типы ответов, которые мы получаем, измеряются, что они направлены на то, что мы пытаемся сделать, что они не дают галлюциногенные ответы или, знаете, ложные ответы нашим клиентам или не дают обещаний клиентам, которые мы как организация не можем сдержать. Поэтому нам определённо нужно контролировать то, что мы делаем, но это даёт нам очень важный инструмент для взаимодействия с клиентами.
Отлично, отлично. Спасибо, ребята. Кайл, твой ход для третьего вопроса. Почему RAG иногда не работает, и что ещё доступно для нас, что может действительно помочь клиентам?
Итак, для начала RAG, то есть Retrieval Augmented Generation (поиск с расширенной генерацией). Это в основном шаблон, который мы используем при работе с генеративным ИИ, где мы расширяем информацию, с которой должны работать языковые модели. Итак, они обучаются на данных в Интернете, но эти модели не знают о частной корпоративной информации, о вещах, которые у нас есть внутри компании. С помощью шаблона RAG мы можем фактически извлекать данные из различных хранилищ данных, будь то база данных, будь то файлы, что угодно. Мы можем фактически извлекать эту информацию, возвращать её и затем расширять контекст, который языковая модель должна использовать при формулировании ответа. Это позволяет нам вводить частные данные и затем рассуждать над ними и отвечать в соответствии с ними. Есть много причин, по которым мы видим, как RAG падает во время работы. Много раз, я думаю, начну с того, что, я думаю, все мы упомянули, это просто качество данных. С точки зрения проектирования данных очень важно улучшить качество наших данных, пройти процесс очистки данных, а также процесс преобразования, чтобы получить данные в правильном формате, правильном качестве и правильной форме, которые нам нужны для эффективного использования. Когда мы возвращаем это обратно в большую языковую модель, даже то, как мы возвращаем это в большую языковую модель, возвращаем ли мы это в формате JSON или просто в формате обычного текста, табличном формате, всё это может влиять на качество типов ответов, которые мы получаем. Я думаю, ещё один важный фактор, который мы видим, — это просто сложность данных. Когда у нас много взаимосвязей, особенно если взять такую вещь, как база данных SQL, где нам нужно выполнить несколько объединений через таблицы, это вызывает некоторые проблемы. Во-первых, языковая модель сначала должна понять, как правильно запрашивать базу данных, поэтому она должна понимать взаимосвязи между таблицами, как извлекать всю эту информацию, а затем одна большая проблема, с которой мы сталкиваемся, — это задержка. Когда мы проходим через это, мы потенциально запускаем несколько запросов к базе данных, чтобы вернуть данные для использования большой языковой моделью, мы сидим здесь и ждём, пока всё это произойдёт в фоновом режиме. И затем мы либо выполняем эти объединения в базе данных, чтобы просто вернуть эти структурированные данные, либо мы возвращаем разные наборы данных и позволяем языковой модели разобраться с этим, и именно здесь мы видим большую проблему с RAG, где он просто не может понять взаимосвязи между данными. Так что много разных проблем, с которыми мы сталкиваемся с этим, или даже просто с точки зрения базы данных, неэффективность извлечения данных. У нас нет правильных индексов в наших таблицах, у нас нет правильной логики для выполнения объединений, чтобы понять, как выглядят эти отношения. Поэтому именно здесь мы видим, что RAG иногда не работает, или он не так хорош, как нам хотелось бы. Есть и другие вещи, которые у нас есть. Я думаю, это всё ещё находится в стадии разработки для отрасли, но мы начинаем видеть различные подходы к этому. Зачастую они используются совместно, но мы можем увидеть такие вещи, как семантическое переранжирование, где мы фактически вводим ещё одну модель машинного обучения, которая позволяет нам, когда мы используем RAG, смотреть на результаты, которые мы получаем, а затем фактически проводить текстовое сравнение запроса, который был задан, по этим результатам, чтобы мы могли переранжировать результаты и упорядочить их таким образом, чтобы они были более семантически похожи на вопрос, который был задан, чтобы были возвращены лучшие результаты из запроса, который мы получаем там. Есть причина, почему это так.
Да, извините, я собирался вмешаться. Есть причина, почему это важно, потому что у вас есть ограничение на то, сколько контекстных данных вы можете передать. И если это не хорошее соответствие данных, угадайте что, модель может начать галлюцинировать и попытаться заполнить пробелы на основе того, на чём она была обучена, что может вообще не иметь отношения к вашему собственному набору данных, с которым вы работаете.
Абсолютно. И я бы сказал, что следующее, что я хотел бы упомянуть здесь, что мы также можем попробовать, это то, что мы начинаем видеть, это графовый RAG. Итак, полагаясь на графовую базу данных и возможность запрашивать её и получать это. Графовые базы данных позволяют нам действительно оценивать отношения между данными намного эффективнее и быстрее. Способ структурирования этих баз данных, они разработаны вокруг сущностей и отношений между ними, и поэтому возможность запрашивать их также позволяет нам работать с гораздо более сложными данными с гораздо меньшей задержкой, а также лучше понимать эти отношения. Объединив эти вещи, мы можем действительно начать улучшать качество и согласованность ответов, которые мы получаем от шаблона RAG, а также в целом уменьшить, надеюсь, количество данных, которые мы возвращаем. Я добавлю кое-что.
Извините, продолжайте.
Я собирался сказать, я думаю, мы можем с уверенностью сказать, что, знаете, очень давно, как 18 месяцев назад, когда RAG был по существу просто типом извлечения из векторного хранилища, я думаю, мы можем сказать, что те дни прошли, потому что мы очень рано обнаружили, что извлечение векторов терпит неудачу, потому что оно выполняет поиск ближайшего соседа для относительной информации в вашем индексе, будь то, например, в Azure AI Search, например, но если у вас есть индекс, который настроен, скажем, для книг «Дюна», например, и вы спрашиваете, кто такой Пол Атрейдес, вы получите множество, множество результатов, но типичный шаблон, который мы имели раньше, заключался в том, что мы говорили, извлечь пять ближайших совпадений, это исключает целую кучу контекста о Поле, и опять же, это смягчается тем, о чём говорил Кайл, что если мы изобразим эти сущности и эти отношения графически, мы можем выполнить предварительное извлечение через граф знаний, выяснить, о каком отношении идёт речь, прежде чем мы вообще доберёмся до нашего индекса, если это тот путь, по которому мы хотим идти. Ещё один подход, который мы видим, является довольно распространённым, это добавление шагов обработки в ваш процесс RAG. Таким образом, у вас будет запрос, вместо того чтобы просто переходить к индексу, брать ближайшие результаты, лучшие пять результатов, передавать весь этот фрагмент текста, каким бы большим он ни был, когда вы преобразовали его, помещая его в контекстное окно, вы можете использовать меньшую модель, например, даже если ваша основная модель может быть, например, GPT-40, вы можете анализировать или суммировать эти запросы. Поэтому вы можете фактически извлечь фрагмент, резюмировать его в контексте входящего запроса с помощью GPT-40 mini, а затем просто отправить это меньшее резюме в контекстное окно, поднимающееся до GPT-40 для этого ответа. Так что в этом пространстве происходит множество очень интересных вещей. Графовый RAG — это одна из них, ещё один RAG, который мне очень нравится, называется Path RAG. Много вещей происходит в этом пространстве, но я действительно думаю, что системы внедрения или имеющие некоторый контроль над тем, как собирается информация, как структурируется важность этой информации, как она суммируется, и я думаю, что это будет иметь большое значение в будущем, как общий шаблон, вместо того чтобы просто делать прямой вызов базы данных или прямой вызов Azure AI Search, иметь эту промежуточную меньшую модель, выполняющую некоторую работу для вас, потому что она дешевле и быстрее, и она может действительно сократить размер этого использования токенов для этих больших моделей. Я думаю, что вы увидите много такого в будущем.
Отлично, отлично. Единственное, что я собирался сказать, это то, что многие люди привыкли к RAG, потому что они ходят на конференции или видят видео на YouTube, и люди обычно выполняют векторизацию одного или двух документов, и всё работает хорошо, но в реальной жизни я знаю, что все четверо из нас участвуют в этих проектах, где финансовая компания или страховая компания имеют 250 000 документов, которые им нужно векторизовать. Именно тогда RAG мы называем его наивным RAG, а граф появляется, потому что он создаёт эти узлы и сообщества поверх всех 250 000, так что вы можете иметь реальный смысл, чтобы понять связь между всеми этими файлами. Итак, опять же, когда это 5, 10 документов, это не в реальном сценарии, это не то, что ищут клиенты корпоративного уровня, чтобы это сделать, и будь то Neo4j или Light RAG или даже что-то, что всё ещё находится в лабораториях Microsoft, как Graph RAG, всё это будет продолжать развиваться, чтобы довести его до точки, где он будет намного умнее, намного лучше, экономичнее в будущем.
Да, и просто быстро по этому поводу я бы сказал, знаете, для многих организаций, рассматривающих вопрос о том, как комбинировать эти различные шаблоны, все они являются вариантами RAG, мы, очевидно, дополняем, но как мы можем объединить эти вещи, чтобы использовать преимущества каждого из них и преимущества, которые он имеет, где мы можем попытаться избежать некоторых недостатков, которые есть у каждого из них.
Отлично. У нас осталось ещё два вопроса. Этот вопрос для Кэрри. Как компании здравоохранения или финансовые компании, будь то страхование или банковское дело и так далее, могут быть уверены в безопасности своих данных при работе с генеративным ИИ? Знаете, никто не хочет оказаться в новостях на CNN. Итак, как мы фактически можем предоставить эти знания и эту уверенность этим компаниям?
Это любимое слово всех — управление. На самом деле, что вам действительно нужно сделать как организации, это действительно взять на себя ответственность за свои данные, свои политики, например, политики безопасности, это может быть, вам действительно нужно сосредоточиться на том, чтобы взять под контроль всё. Есть способы взаимодействия с большими языковыми моделями, где, например, вам не нужно отправлять данные через общедоступный Интернет. Итак, часто мы видим, что мы приходим в организацию, которая довольно «зелёная» в пространстве генеративного ИИ, и они постоянно обращаются к OpenAI через общедоступный Интернет и отправляют свою информацию через общедоступный Интернет, что действительно открывает вас для атак типа «человек посередине» и тому подобного. С точки зрения инфраструктуры имеет смысл иметь службу, которая была бы частной для вашей собственной внутренней сети и могла бы работать с большой языковой моделью, предназначенной для вашей установки вашего решения. Это, например, в пространстве Azure, например, было бы туннелем ExpressRoute, и вы могли бы использовать частные конечные точки между службами и тому подобное. Но с точки зрения более высокого уровня, как мы много говорили, например, о наличии подключения к базе данных, например, о наличии некоторого типа инструмента, который будет выполнять запросы к базе данных для вас, например, но скажем, у вас есть система управления персоналом, и у вас есть инструмент, который знает о схеме базы данных вашей системы управления персоналом, кто-то заходит и говорит: «Ну, сколько зарабатывает генеральный директор?» И это своего рода конфиденциальная информация, которую вы не распространяете. Так что вам действительно нужно понять, что нужно убедиться, что при проектировании системы разные люди, люди имеют доступ только к тому, к чему им нужно иметь доступ, и не имеют доступа ни к чему больше, чем это. Это относится к учётным записям, а также к учётным записям отдельных участников. Поэтому со стороны учётной записи системы, очевидно, если это база данных управления персоналом, и у вас есть этот инструмент, который записывает запросы, вы хотите убедиться, что этот субъект безопасности, который использует эту базу данных, не имеет возможности удалять таблицы, создавать таблицы или выполнять какие-либо манипуляции с данными.
Любое DML-заявление должно быть исключено, должна быть только выборка из, знаете, подмножества таблиц, к которым вы специально даёте ему доступ, и вы можете сделать это на уровне базы данных, и, конечно, с помощью prompt engineering вы можете убедиться, что вы направляете эту, э-э, что запрос, вы можете направить эту функциональность только к этим таблицам. Ещё один момент — это, э-э, определённо, доступ к документам, он работает так же, как доступ к данным в базе данных. Опять же, есть определённые документы, которые будут считаться конфиденциальными, например, и, хотя у вас может быть система ИИ, имеющая доступ ко всем, например, CMS и документам, которые есть в вашей CMS, вы хотите убедиться, что у человека, который звонит, есть разрешения на всё, что извлекается. Так что всё это сводится к проектированию системы, и это определённо то, над чем вы хотите иметь контроль. То же самое относится снова к уровню инфраструктуры, вы хотите убедиться, что люди, э-э, что люди, которые используют систему, например, во внутренней системе, что всё это общение осуществляется конфиденциально, а затем через экспресс-маршрут, опять же, у вас есть это частное сетевое соединение, и развертывания в Azure предназначены специально для вашей организации, так что это один из способов убедиться, что вы остаётесь уверены в своей безопасности. Да, я, я должен был бы согласиться с этим, плюс я хотел бы добавить кое-что. Я знаю, что мы вчетвером работаем над множеством разных проектов, в которых безопасность стоит на первом месте, а дело в том, что есть разные виды безопасности. Есть безопасность источника данных, и есть безопасность индекса, и есть доступ к безопасности Azure. Есть много разных вещей. Поэтому, если у меня есть много, скажем, тысяча документов в озере данных Azure или в корзине Amazon S3, или, э-э, как хотите, у вас просто есть эти файлы, доступные где-то, может быть, в SharePoint, может быть, Джоэл может получить доступ только к 10 из этих файлов, а не ко всем 1000, может быть, Кайл имеет доступ только к 20 из них, которые отличаются от этих 10. Когда я делаю векторизацию, как я ограничу доступ к вашему источнику данных тем же индексом, который вы можете видеть, иначе вы не должны получать ответы из этого индекса, который был основан на источнике данных. Так что всё это — системная инженерия, это не то, что будет работать «из коробки», это определённо требует опыта и понимания моделей безопасности, RBAC и политик обратной связи, чтобы правильно настроить всё это. Кайл и Джоэл, хотели бы вы что-нибудь добавить к этой части о компаниях здравоохранения и финтеха с точки зрения безопасности?
Да, я думаю, э-э, вы, ребята, охватили почти всё с точки зрения системы, но есть и другие вещи, о которых нужно подумать. Подумайте о соответствии нормативным требованиям, это очень важно, особенно если вы работаете в финтехе, если вы работаете в здравоохранении, вам нужно убедиться, что вся инфраструктура, о которой мы говорили, включая службы, которые размещают эти модели, обеспечивают определённые уровни соответствия, или комбинация ваших конфигураций помогает соблюдать эти нормативные требования. Другой момент — это возможность делать такие вещи, как токенизация и маскировка конфиденциальной информации. Поэтому, если есть вероятность того, что какая-то информация может вернуться, например, номер социального страхования или номер кредитной карты или что-то ещё, есть способ скрыть эту информацию, чтобы она не попала наружу, если она действительно должна вернуться этому пользователю законно, правильно, что у них есть доступ к этой информации. Я думаю, это тоже очень важно. И ещё одна вещь, о которой я думал, это идея ограничителей, знаете, и фильтрации контента. Каковы уровни защиты, которые вы хотите установить вокруг контента, будь то то, что пользователи просят модель сделать, или тип информации, которую модель генерирует, правильно? Это может быть что угодно, от «не генерируйте вредоносный код» до «не возвращайте никакой информации рискованного характера» или чего-то подобного, правильно? Вещи, которые люди могут найти неприемлемыми. Есть целый спектр вещей в этой области фильтрации контента и ограничителей, которые также применяются. Это превосходно, очень здорово. Ну, у меня есть ещё один последний вопрос к вам, и он заключается в следующем: есть ли способ полностью остановить галлюцинации модели в J? Я получаю эти вопросы очень часто, по какой-то причине компании очень обеспокоены тем, что модель будет галлюцинировать. Есть ли способ заблокировать её, чтобы она никогда не галлюцинировала? Я на самом деле передам это вам, Джоэл, вперёд, возьмите это.
«Никогда» — очень сильное слово, только ситхи говорят «никогда». Поэтому, если вы скажете «никогда не галлюцинировать», то нет. Есть способы предотвратить галлюцинации, но в конечном итоге эти большие языковые модели недетерминированы. Вы можете задать один и тот же вопрос три или четыре раза, и вы можете получить либо незначительные вариации одного и того же ответа, либо вы можете получить что-то совершенно другое, и многое из этого связано с тем, о чём мы уже говорили, — с предоставлением ей действительного контекста. Если вы используете какой-то шаблон RAG, убедитесь, что информация, которую вы получаете на основе вопроса, актуальна для ответа, который должен предоставить агент, и этот агент будет смотреть на этот контекст и говорить: «Хорошо, я попытаюсь ответить по-человечески», правильно? Но есть определённые вещи, которые вы можете сделать, чтобы предотвратить чрезмерную креативность. Одна из них — это простое управление температурой во многих из этих моделей, от нуля до единицы, обычно. Единица — это самая креативная, ноль — это, по сути, Джо Фрайдей, только факты, приятель, знаете, я просто попытаюсь ответить на это как можно более прямо, без приукрашивания и всего такого. Но большая часть этого — это действительно данные. Часть этого — это, знаете, возможно, некоторое prompt engineering. Другие вещи, Кайл уже затронул это, где у вас могут быть такие цепочки шаблонов RAG или реактивные шаблоны, где вы сначала используете шаблон RAG, чтобы получить контекстные данные, но затем, возможно, вы обращаетесь к службе для проверки этих данных, правильно? Или что-то подобное, просто чтобы убедиться, что окончательный контекст, который вы отправляете этой модели, действительно точен и фактичен, и тогда, надеюсь, модель не будет пытаться вставлять дополнительную информацию, которая, по её мнению, может быть тем, что вы хотите услышать, правильно? Так что это всего лишь несколько идей, которые у меня есть на ум.
Да, определённо, именно то, что вы сказали, это похоже на многоагентный подход. Я говорю о AutoGen, я смотрю на вас прямо сейчас, я думаю, что это сейчас загружено в Semantic Kernel, вы можете иметь такого типа агента-супервайзера, который делает именно то, что вы только что сказали, Джоэл. Он проверяет, что возвращается от его подчинённых, если хотите, и это очень важно. В конце концов, один из наших друзей научил меня чему-то, что вы должны делать, — всегда относитесь к ИИ как к пьяному стажёру. Это было от нашего друга Кевина Физеля, и это застряло у меня в голове, потому что это так верно, это так верно. Звучит как что-то, что бы сказал, я использую это всё время. Это здорово. Да, моя вторая шутка от Кеви, но в любом случае, к чему я клоню, это то, что вам нужно быть, нужно быть осторожным, опять же, с тем, какой размер окна контекста, потому что чем больше окно контекста, и вы снова затронули это ранее, тем больше информации, инструкций и контента находится в этих окнах контекста, тем больше он теряется. Если вы посмотрите на это и подумаете: «Хорошо, прочитает ли стажёр весь этот текст и будет ли он придерживаться каждого правила, которое я указал в этом тексте?» Шансы таковы, что нет, им нужен, знаете, слишком длинно, не читайте, им нужно больше сжато. Вы даже можете использовать GPT-4 mini, чтобы это сделать. Да, опять же, вам определённо нужно предоставлять оценочные показатели эффективности с течением времени. То, что вы должны делать, это снова сохранять эти обмены и оценивать производительность ваших моделей, или я не должен говорить «ваши модели», оценивая производительность вашего агента и запроса на каждом уровне инструмента, на каждом уровне агента, чтобы убедиться, что всё работает так, как ожидалось, потому что со временем, когда модели меняются, разные модели ведут себя по-разному для разных вещей, вы хотите убедиться, что вы отслеживаете это, что вы используете управление версиями, чтобы у вас были способы отката, если что-то пойдёт не так. Много разных процессов, которые должны быть на месте при разработке системы JAI. Я должен сказать также, что касается галлюцинаций, иногда я читаю некоторые комментарии на разных форумах, будь то Microsoft, AWS или Google, и вижу ответы, например, люди спрашивают, как я могу фактически устранить галлюцинации, и люди будут говорить то, что только что сказал Джоэл, просто установите температуру на ноль. Ну нет, если вы установите температуру на ноль, вы не гарантированно не получите галлюцинации. Так что это заблуждение в отрасли. Я имею в виду, если вы можете фактически установить температуру на ноль, а затем устранить галлюцинации, то вы не используете J, вы используете оператор if, очень большой оператор if в этот момент. Так что детерминизм — это то, что сказал Джоэл, это ключ к игре. Так что да, абсолютно. И если я, если я могу просто вмешаться, потому что я думаю, что с организационной точки зрения и с использованием этих моделей одна из ключевых вещей — это действительно понимание моделей, которые вы используете, и каковы их возможности. Мы видим это всё время. Эти модели ужасны, если вы спросите их о датах. Они основывают свои даты на дате своего обучения. Поэтому они могут сказать вам, что это было два года назад. И поэтому способность дополнять их правильной информацией о текущей дате, вещах, с которыми мы работаем, они также ужасны в математике. Мы можем попросить их выполнить математические вычисления, сравнить возраст людей, что такое один плюс один, они могут или не могут дать правильный ответ. Они не предназначены для выполнения таких типов вещей, но мы видим, как люди пытаются использовать модели именно для этого. Поэтому понимание возможностей модели, а затем понимание того, где с точки зрения решения нам нужно настроить эту модель так, чтобы она обращалась к другому инструменту, может быть, мы запускаем записную книжку Jupyter, чтобы фактически выполнить код Python и выполнить эти вычисления, чтобы мы не полагались на модель для выполнения вычислений, мы фактически предоставляем ей результат этих вычислений. Поэтому, убедившись, что когда мы используем эти вещи, мы действительно понимаем их. Человеческая модель очень сильно галлюцинирует.
Да, о, вперёд. Нет, поэтому действительно просто взгляните на это, и я думаю, что некоторый аспект этих галлюцинаций также сводится к самим моделям, как они обучаются, к данным, на которых они обучаются. И с организационной точки зрения понимание этих аспектов, понимание того, когда нам действительно нужно привлекать людей, оценивать ответы, которые мы даём, изменять запросы, делать необходимые изменения, чтобы управлять тем, как это возвращается, и даже prompt engineering. Мы много слышим о prompt engineering, мы также много слышим о том, что prompt engineering исчезает, потому что сами модели могут генерировать очень хорошие запросы. Но нам также нужно понимать, что запросы — это не панацея. У нас могут быть инструкции в запросе, и, как сказала Кэрри, если вы получите слишком много контекста, модель может просто полностью игнорировать то, что у вас есть в этом запросе, потому что вы дали ей слишком много, чтобы справиться. Поэтому понимание того, как мы можем управлять этими вещами, когда нам нужно, и как мы используем различные инструменты, которые у нас есть, я думаю, является важным аспектом.
Да, я собирался сказать, — ещё одна часть — это установление правильных ожиданий для ваших пользователей. Вы видите это, если вы перейдёте к чат-боту GPT в Puttеr, там говорится что-то вроде: «Чат-бот GPT может допускать ошибки», по сути, не принимайте это за абсолютную истину, и это правда. Я имею в виду, что это возвращается к тому моменту, что вы не можете полностью исключить это. Поэтому людям просто нужно относиться к этому как к помощникам, а не к абсолютной истине. Вы можете видеть примеры сервисов, например, Being a Copilot, в котором есть ссылки, поэтому вы можете увидеть: «Вот ссылки, по которым я могу кликнуть и посмотреть результаты поиска», поэтому я могу пойти и проверить источники сам и с уверенностью сказать: «Хорошо, да, это правильный ответ», или вы можете сделать что-то, я думаю, Кайл упомянул это, или, может быть, вы, Кэрри, что-то в духе предоставить пользователю возможность проверить ответ, поэтому вы можете начать получать эту управляемую пользователем проверку, которая может вернуться к внесению улучшений в вашу систему, которую вы создаёте, и предоставлению вашим клиентам. Ребята, это было очень весело для меня, я надеюсь, мы сможем сделать это снова в ближайшее время и поговорить о очень специализированном разговоре в будущем, но я хочу поблагодарить вас всех за то, что вы присоединились ко мне сегодня. Это было удовольствием, и всего хорошего! Спасибо, ребята. Ладно, спасибо, Лена. Ура! Пока.