paint-brush
Веб-сайт с голосовым управлением и искусственным интеллектом, встроенным в Chromeк@tyingshoelaces
345 чтения
345 чтения

Веб-сайт с голосовым управлением и искусственным интеллектом, встроенным в Chrome

к tyingshoelaces.com12m2024/06/30
Read on Terminal Reader

Слишком долго; Читать

Недавно меня пригласили принять участие в программе раннего предварительного просмотра встроенного искусственного интеллекта Chrome (Prompt API). Встроенный ИИ — это исследовательская работа над тем, что потенциально станет кроссбраузерным стандартом для встроенного ИИ. Он использует Gemini Nano на устройстве; это означает, что он встроен в ваш веб-браузер, и создание LLM происходит в среде вашего локального браузера.
featured image - Веб-сайт с голосовым управлением и искусственным интеллектом, встроенным в Chrome
tyingshoelaces.com HackerNoon profile picture
0-item

Введение

Ранняя предварительная версия Chrome Prompt API.


Недавно меня пригласили принять участие в программе раннего предварительного просмотра встроенного искусственного интеллекта Chrome (Prompt API). Встроенный ИИ — это исследовательская работа над тем, что потенциально станет кроссбраузерным стандартом для встроенного ИИ. Он использует Gemini Nano на устройстве, что означает, что он встроен в ваш веб-браузер, а создание LLM происходит в среде вашего локального браузера.

Преимущества

Хороший, простой, быстрый и бесплатный.


Есть три основные причины, по которым нам нужен встроенный ИИ в наши браузеры. Скорость, стоимость и удобство использования. Как собственный API браузера, он прост в использовании. Доступ к Prompt API так же прост, как и эти две строки кода.


 const session = await window.ai.createTextSession(); const result = await session.prompt( "Tyingshoelaces.com are writing a really cool blog about you. What do you think about that then?" );


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


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


 VM975:32 Execution Time 1: 0h 0m 3s 47ms VM975:32 Execution Time 2: 0h 0m 3s 870ms VM975:32 Execution Time 3: 0h 0m 2s 355ms VM975:32 Execution Time 4: 0h 0m 3s 176ms VM975:32 Execution Time 5: 0h 0m 7s 103ms VM975:44 Average Session Execution Time: 0h 0m 3s 910.1999999999998ms );


Среднее время выполнения 5 связанных запросов к встроенному ИИ составляет 3–4 секунды на один полный запрос для подсказок генерации длинного текста. Я запускал это несколько раз (скрипт включен в репозиторий GitHub), и хотя это зависит от устройства, я также ожидаю, что это улучшится, когда API будет оптимизирован. Я заметил, что более короткие задачи генерации JSON выполняются намного быстрее (200–400 мс).


Это более чем приемлемо для большинства случаев использования. Мы также решили проблему масштаба наших программ LLM. Там, где использование API в промышленном масштабе обходится крайне дорого, каждый запрос LLM обрабатывается через экспериментальный API браузера. Это действительно приятно и открывает мир возможностей.


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


Это означает, что мы можем загрузить одну модель для использования через «Интернет», а не загружать модель конкретного поставщика.


Огромные плюсы этого экспериментального API браузера являются вескими аргументами для его внедрения; это быстро, бесплатно (или оплачивается потребителем) и очень просто в использовании.


Но каковы компромиссы?

Расходы

Быстро и бесплатно. Но какая цена?


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


Это приводит к разочарованиям, которые возвращают нас к зарождению API-интерфейсов генеративного ИИ. Я обнаружил, что использую много логики быстрого проектирования и проверки, чтобы получить надежные ответы JSON. Каждые несколько запросов API не отвечает, поэтому довольно легко перепутать ответ, и в этом случае модель выйдет из строя.


Также упоминается тот факт, что данная модель встроена в браузер; это открывает некоторую ценность как «частная» модель. Я не уверен, что это актуально для большинства случаев использования, поскольку общедоступные веб-сайты по-прежнему будут взаимодействовать со своими серверами, а обычному пользователю трудно быть уверенным, что данные никогда не покидают локальную среду. Однако для внутреннего использования и закрытых систем, работающих через браузер (например, в корпоративных средах), это может быть бонусом.


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


Однако все это простительно, особенно если учесть, что API явно предназначен для экспериментов, а не для промышленного использования.


Добро
-Расходы
-Шкала
-Скорость
-Удобство использования
-Частный

Плохо
- Жертва качеству.
-Стоимость реализации

Например, если бы мы хотели провести глубокий анализ текущих событий, нам потребовалось бы большое контекстное окно и сложный поток RAG для информирования о результатах; встроенный ИИ почти наверняка неправильный подход. Google намекает на это на своих ресурсах.


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

Новый образ мышления

Нейроны, а не мозг


Появился небольшой зуд, который я давно хотел почесать. Что, если мы неправильно используем LLM? В самом деле, что, если мы неправильно поняли концептуальную модель?


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


Мы рассматриваем каждый вход в LLM как API: вводится текст, происходит волшебство, и текст выходит. Эту магию посередине мы называем интеллектом. Чем больше текста, тем громче магия и тем лучше результат. Это наш текущий путь вперед.


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


Особенность мышления в целом, особенно творческого результата (а именно это и есть генерация текста), заключается в том, что это не такой уж простой процесс. Это не одна нить. Мы уже видим это в новых моделях; например, в моем анализе системной подсказки Claude 3.5 Sonnet мы видим, что многие из недавних достижений в области вывода LLM, вероятно, связаны не с самим алгоритмом, а с инфраструктурой, системами и настройкой, которые контекстуально управляют выводом.


Мне давно хотелось опробовать концепцию крошечных, быстрых соединений, объединенных воедино для создания чего-то большего. В конце концов, контекстное окно 100к — это то же самое, что 1к — 100 раз. Я подозреваю, что даже когда мы сосредоточены на грандиозном, ключ к успеху кроется в мелких и точных деталях, соединенных вместе, чтобы сформировать нечто большее. Это гораздо больше соответствует моей ментальной парадигме интеллекта, чем разумный машинный «мозг».


До сих пор это было невозможно из-за относительной неэффективности моделей в целом и непомерно высокой стоимости. Представьте себе Боба в аккаунтах, когда мы говорим ему, что собираемся в 100 раз увеличить количество запросов к ChatGPT, поскольку мы предполагаем, что микротранзакции в ячеистой архитектуре улучшат качество наших систем искусственного интеллекта. Я не думаю, что Боб работает в OpenAI, но для остальных из нас это просто неосуществимо.


Даже небольшая и эффективная встроенная в браузер модель на самом деле не готова справиться с моими теоретизированиями. Он недостаточно быстр и не позволяет выполнять одновременные запросы (параллельные мысли!), но это шаг в правильном направлении, и мы далеки от облачных API, взимающих огромную плату за каждый запрос. Я не вижу функциональной архитектуры, но вижу путь к ней.


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


Результаты были волшебными.

Ваш мозг, а не их

Мозг локальн, и наши API должны быть такими же.


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


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


  1. API распознавания речи (с преобразованием речи в текст)
  2. СТТ API
  3. Подскажите API
  4. Интернет (доступ через браузер)


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


Концептуально очень похоже на устройство Rabbit или штифт Humane AI . Оба эти проекта амбициозны, но их общая проблема заключается в том, что они пытаются создать «ОС ИИ». Новый интерфейс программного обеспечения на базе искусственного интеллекта. Я считаю цель слишком грандиозной: по сути, это попытка создать новый интерфейс для Интернета с добавлением искусственного интеллекта.


Инновации — это итерации, и Интернет в 2024 году станет повсеместным и фундаментально переплетается с браузером. Попытка изобрести удобный для человека интерфейс AI OS аналогична попытке заново изобрести Интернет. Люди уже спрашивают: «Что я могу сделать со своим мобильным телефоном, чего я уже не могу, но лучше»…


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


Скриншот API-интерфейса браузера AI в действии

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


«
Продавец приветствует покупателя ->

[Мысли]

Что они носят, как их стиль влияет на их покупательскую способность.

Какова их демографическая группа, как их возраст влияет на их модели покупок?

Как пол повлияет на их модели покупок

Какие настроения/социальные сигналы они излучают?

Что они на самом деле сказали такого, что повлияет на их выбор?

[Действие]

Доброе утро, сэр, как ваши дела?


«
Клиент приветствует дежурного ->

[Мысли]

Поторопитесь, я занят

Надеюсь, у них есть то, что я хочу (читая мои мысли!)

Примут ли они возврат?

[Действие]

Доброе утро, я ищу пару обуви.


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


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

Многие из одного, один из многих

Давайте сделаем взаимодействие поколения ИИ многопоточным и детализированным.


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


 Thread 1: Social Cues, sentiment analysis – How long has it taken for user to interact? – Is their browsing behavior aggressive, slow, calm, controlled – Have they arrived from particular source, or looking for something specific? Thread 2: Behavior Cues, interpretation user input – How have they begun the conversation? A greeting? – What tone are they using? Thread 3: User context, data we have about similar demographics and their preferences – What age group do they belong to? How does this influence preferences? – How do they identify? How does this influence preferences? Thread 4: Site context, data we have how other users are using the site and trends – What are the trending products?


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


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


  1. Анализ настроений
  2. Анализ данных поведения браузера в сравнении со средними показателями по сайту и глобальными показателями.
  3. Извлечение реферальных данных из запросов


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



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


Альтернативой может быть:


«
Пользователь Б проявляет признаки нетерпения и пришел в поисках товара X. Переведите его на страницу продукта и предложите добавить его в корзину. [Действие]: перейдите прямо на страницу X и добавьте товар в корзину.


В этом смысле LLM являются нашими агентами и интерпретаторами, но ошибка, которую совершают люди, заключается в том, что они полагают, что «алгоритм» является решением для обеспечения качественного результата. Как и у реальных агентов, наши суждения надежны настолько, насколько надежны данные и сигналы, которые мы должны им сообщить. Задавайте больше вопросов, чем даете ответов.


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


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


И теперь они в браузере; будущее еще никогда не было так близко.


Снимок экрана: API подсказок AI браузера в действии, часть вторая

Я не создал ничего, кроме простого прототипа, имитирующего социальные сигналы и информацию. Добавил немного пользовательских данных, а затем попросил Prompt API ответить на мой голос комбинацией мыслей и действий. Это не что иное, как видение чего-то, что «может» сработать. Но предоставляя детальные, подробные и контролируемые входные данные в наш Prompt API, мы получаем интеллектуальную, продуманную и контролируемую обратную связь. Это видение ячеистой инфраструктуры, поскольку микропотоки могут динамически обучаться, усиливать и информировать друг друга.


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

Заключение

Будущее ближе, чем когда-либо.


Мы все еще находимся на ранних стадиях LLM, и я предсказываю, что прогресс будет медленнее, чем ожидалось, и AGI (по любому разумному определению) не появится в течение нескольких поколений. Но с каждым шагом на пути открывается мир возможностей. Создание высокоэффективной, хорошо продуманной и определенной инфраструктуры значительно повышает качество результатов наших LLM, независимо от размера модели или качества алгоритма.


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


Я приложил свою демо-версию; это одноразовый код, предназначенный для проверки концепции, построенный на исследовательском ИИ, который подходит только для демонстрационных целей.


И это работает лишь иногда.


Тем не менее, это прекрасное видение будущего.

Ссылки

Больше ресурсов.


репозиторий на Гитхабе

Первоначально опубликовано


Пожалуйста, сохраните этот призыв к действию при отправке:

Хотели бы вы попробовать ответить на некоторые из этих вопросов? Ссылка на шаблон есть ЗДЕСЬ . Хотите прочитать содержание всех наших письменных подсказок? Нажмите ЗДЕСЬ .