Запуск ChatGPT і зростання популярності генеративного штучного інтелекту захопили уяву клієнтів, яким цікаво, як вони можуть використовувати цю технологію для створення нових продуктів і послуг на AWS, таких як корпоративні чат-боти, які є більш розмовними. У цьому дописі показано, як створити веб-інтерфейс користувача, який ми називаємо Chat Studio, щоб почати розмову та взаємодіяти з основними моделями, доступними в Amazon SageMaker JumpStart такі як Llama 2, Stable Diffusion та інші моделі, доступні на Amazon SageMaker. Після розгортання цього рішення користувачі зможуть швидко розпочати роботу та відчути можливості кількох базових моделей у розмовному ШІ через веб-інтерфейс.
Chat Studio також може додатково викликати кінцеву точку моделі Stable Diffusion, щоб повернути колаж із відповідних зображень і відео, якщо користувач просить відобразити медіафайли. Ця функція може допомогти покращити взаємодію з користувачем, використовуючи медіа як супровідні ресурси для відповіді. Це лише один приклад того, як ви можете збагатити Chat Studio додатковими інтеграціями для досягнення ваших цілей.
На наступних знімках екрана показано приклади того, як виглядають запит і відповідь користувача.
Великі мовні моделі
Генеративні чат-боти штучного інтелекту, такі як ChatGPT, працюють на основі великих мовних моделей (LLM), які базуються на нейронній мережі глибокого навчання, яку можна навчати на великій кількості тексту без міток. Використання LLMs забезпечує кращий досвід розмови, який дуже нагадує взаємодію з реальними людьми, сприяючи відчуттю зв’язку та покращенню задоволеності користувачів.
Моделі основи SageMaker
У 2021 році Стенфордський інститут штучного інтелекту, орієнтованого на людину, назвав деякі LLM як моделі фундаменту. Основні моделі попередньо навчені на великому та широкому наборі загальних даних і покликані служити основою для подальшої оптимізації в широкому діапазоні випадків використання, від створення цифрового мистецтва до класифікації багатомовного тексту. Ці базові моделі популярні серед клієнтів, оскільки навчання нової моделі з нуля потребує часу та може бути дорогим. SageMaker JumpStart надає доступ до сотень базових моделей, які обслуговуються сторонніми постачальниками з відкритим кодом і пропрієтарними постачальниками.
Огляд рішення
У цьому дописі описано робочий процес із низьким кодом для розгортання попередньо підготовлених і налаштованих LLM через SageMaker і створення веб-інтерфейсу користувача для взаємодії з розгорнутими моделями. Ми розглядаємо наступні кроки:
- Розгорніть моделі основи SageMaker.
- Розгортання AWS Lambda та Управління ідентифікацією та доступом AWS (IAM) використання дозволів AWS CloudFormation.
- Налаштуйте та запустіть інтерфейс користувача.
- За бажанням додайте інші моделі основи SageMaker. Цей крок розширює можливості Chat Studio для взаємодії з додатковими базовими моделями.
- За бажанням розгорніть програму за допомогою AWS Amplify. Цей крок розгортає Chat Studio в Інтернеті.
Зверніться до наступної діаграми для огляду архітектури рішення.
Передумови
Щоб пройти через рішення, ви повинні мати такі передумови:
- An Обліковий запис AWS з достатніми правами користувача IAM.
npm
встановлено у вашому локальному середовищі. Щоб отримати інструкції щодо встановленняnpm
, відноситься до Завантаження та встановлення Node.js і npm.- Квота обслуговування 1 для відповідних кінцевих точок SageMaker. Для Llama 2 13b Chat ми використовуємо екземпляр ml.g5.48xlarge, а для Stable Diffusion 2.1 ми використовуємо екземпляр ml.p3.2xlarge.
Щоб подати запит на збільшення квоти послуг, на Консоль AWS Service Quotas, перейдіть до Сервіси AWS, SageMaker, і запит на підвищення квоти обслуговування до значення 1 для ml.g5.48xlarge для використання кінцевої точки та ml.p3.2xlarge для використання кінцевої точки.
Схвалення запиту на квоту служби може тривати кілька годин, залежно від доступності типу екземпляра.
Розгорніть моделі основи SageMaker
SageMaker — це повністю керована служба машинного навчання (ML), яка дозволяє розробникам легко створювати та навчати моделі ML. Виконайте наступні кроки, щоб розгорнути базові моделі Llama 2 13b Chat і Stable Diffusion 2.1 за допомогою Студія Amazon SageMaker:
- Створіть домен SageMaker. Інструкції див Підключення до домену Amazon SageMaker за допомогою швидкого налаштування.
Домен налаштовує все сховище та дозволяє додавати користувачів для доступу до SageMaker.
- На консолі SageMaker виберіть Studio на панелі навігації, а потім виберіть Відкрийте Studio.
- Після запуску Studio, під SageMaker JumpStart на панелі навігації виберіть Макети, зошити, рішення.
- У рядку пошуку знайдіть Llama 2 13b Chat.
- під Конфігурація розгортання, Для Примірник хостингу SageMakerвиберіть мл.g5.48xвеликий і для Ім'я кінцевої точки, введіть
meta-textgeneration-llama-2-13b-f
. - Вибирати Розгортання.
Після успішного розгортання ви зможете побачити In Service
Статус.
- на Макети, зошити, рішення сторінку, знайдіть Stable Diffusion 2.1.
- під Конфігурація розгортання, Для Примірник хостингу SageMakerвиберіть ml.p3.2xlarge і для Ім'я кінцевої точки, введіть
jumpstart-dft-stable-diffusion-v2-1-base
. - Вибирати Розгортання.
Після успішного розгортання ви зможете побачити In Service
Статус.
Розгорніть дозволи Lambda та IAM за допомогою AWS CloudFormation
У цьому розділі описано, як можна запустити стек CloudFormation, який розгортає функцію Lambda, яка обробляє ваш запит користувача та викликає кінцеву точку SageMaker, яку ви розгорнули, і розгортає всі необхідні дозволи IAM. Виконайте наступні дії:
- перейдіть до GitHub сховище і завантажте шаблон CloudFormation (
lambda.cfn.yaml
) на вашу локальну машину. - На консолі CloudFormation виберіть Створити стек спадне меню та виберіть З новими ресурсами (стандарт).
- на Вкажіть шаблон сторінка, виберіть Завантажте файл шаблону та Виберіть файл.
- Виберіть
lambda.cfn.yaml
файл, який ви завантажили, а потім виберіть МАЙБУТНІ. - на Вкажіть деталі стека введіть назву стека та ключ API, отриманий у попередніх вимогах, а потім виберіть МАЙБУТНІ.
- на Налаштувати параметри стека сторінку, виберіть МАЙБУТНІ.
- Перегляньте та підтвердьте зміни та виберіть Надіслати.
Налаштуйте веб-інтерфейс
У цьому розділі описано кроки для запуску веб-інтерфейсу користувача (створеного за допомогою Система проектування Cloudscape) на вашій локальній машині:
- На консолі IAM перейдіть до користувача
functionUrl
. - на Повноваження безпеки вкладку, виберіть Створити ключ доступу.
- на Отримайте доступ до ключових передових практик і альтернатив сторінка, виберіть Інтерфейс командного рядка (CLI) І вибирай МАЙБУТНІ.
- на Встановити тег опису сторінку, виберіть Створити ключ доступу.
- Скопіюйте ключ доступу та секретний ключ доступу.
- Вибирати Зроблений.
- перейдіть до GitHub сховище і завантажте
react-llm-chat-studio
Код. - Запустіть папку в бажаній середі IDE і відкрийте термінал.
- перейдіть до
src/configs/aws.json
і введіть отриманий ключ доступу та секретний ключ доступу. - Введіть наступні команди в терміналі:
- відкритий http://localhost:3000 у вашому браузері та почніть взаємодіяти зі своїми моделями!
Щоб використовувати Chat Studio, виберіть основну модель у спадному меню та введіть свій запит у текстове поле. Щоб отримати зображення, згенеровані штучним інтелектом, разом із відповіддю, додайте фразу «із зображеннями» в кінці свого запиту.
Додайте інші моделі основи SageMaker
Ви можете розширити можливості цього рішення, включивши додаткові моделі основи SageMaker. Оскільки кожна модель очікує різних форматів введення та виведення під час виклику її кінцевої точки SageMaker, вам потрібно буде написати деякий код перетворення у функції callSageMakerEndpoints Lambda для взаємодії з моделлю.
У цьому розділі описано загальні кроки та зміни коду, необхідні для впровадження додаткової моделі за вашим вибором. Зауважте, що базові знання мови Python необхідні для кроків 6–8.
- У SageMaker Studio розгорніть модель основи SageMaker за вашим вибором.
- Вибирати SageMaker JumpStart та Запустіть ресурси JumpStart.
- Виберіть нещодавно розгорнуту кінцеву точку моделі та виберіть Відкрийте Блокнот.
- На консолі ноутбука знайдіть параметри корисного навантаження.
Це поля, які очікує нова модель під час виклику кінцевої точки SageMaker. На наступному знімку екрана показано приклад.
- На консолі Lambda перейдіть до
callSageMakerEndpoints
. - Додайте спеціальний обробник введення для вашої нової моделі.
На наступному знімку екрана ми трансформували вхідні дані для Falcon 40B Instruct BF16 і GPT NeoXT Chat Base 20B FP16. Ви можете вставити свою логіку настроюваних параметрів, як зазначено, щоб додати логіку перетворення введення з посиланням на параметри корисного навантаження, які ви скопіювали.
- Поверніться до консолі ноутбука та знайдіть
query_endpoint
.
Ця функція дає вам уявлення про те, як перетворити вихідні дані моделей, щоб отримати кінцеву текстову відповідь.
- З посиланням на код в
query_endpoint
, додайте спеціальний обробник виводу для вашої нової моделі. - Вибирати Розгортання.
- Відкрийте IDE, запустіть
react-llm-chat-studio
код і перейдіть доsrc/configs/models.json
. - Додайте назву моделі та кінцеву точку моделі та введіть параметри корисного навантаження з кроку 4
payload
використовуючи такий формат: - Оновіть веб-переглядач, щоб почати взаємодію з новою моделлю!
Розгорніть програму за допомогою Amplify
Amplify — це комплексне рішення, яке дозволяє швидко та ефективно розгортати вашу програму. У цьому розділі описано кроки для розгортання Chat Studio на Amazon CloudFront розповсюдження за допомогою Amplify, якщо ви хочете поділитися своєю програмою з іншими користувачами.
- перейдіть до
react-llm-chat-studio
папку коду, яку ви створили раніше. - Введіть наступні команди в терміналі та дотримуйтесь інструкцій із налаштування:
- Ініціалізуйте новий проект Amplify за допомогою наступної команди. Введіть назву проекту, прийміть стандартні конфігурації та виберіть Ключі доступу до AWS коли буде запропоновано вибрати метод автентифікації.
- Розмістіть проект Amplify за допомогою такої команди. Виберіть Amazon CloudFront і S3 коли буде запропоновано вибрати режим плагіна.
- Нарешті, створіть і розгорніть проект за допомогою такої команди:
- Після успішного розгортання відкрийте надану URL-адресу у своєму браузері та почніть взаємодіяти зі своїми моделями!
Прибирати
Щоб уникнути стягнення плати в майбутньому, виконайте наведені нижче дії.
- Видаліть стек CloudFormation. Інструкції див Видалення стека на консолі AWS CloudFormation.
- Видаліть кінцеву точку SageMaker JumpStart. Інструкції див Видалити кінцеві точки та ресурси.
- Видаліть домен SageMaker. Інструкції див Видалити домен Amazon SageMaker.
Висновок
У цій публікації ми пояснили, як створити веб-інтерфейс користувача для взаємодії з LLM, розгорнутими на AWS.
За допомогою цього рішення ви можете взаємодіяти зі своїм LLM і вести розмову в зручній для користувача формі, щоб тестувати або ставити запитання LLM, а також отримати колаж із зображень і відео, якщо потрібно.
Це рішення можна розширити різними способами, наприклад, інтегрувати додаткові моделі основи, інтегруватися з Amazon Kendra щоб увімкнути інтелектуальний пошук на основі ML для розуміння корпоративного вмісту та багато іншого!
Запрошуємо поекспериментувати різні попередньо підготовлені LLM, доступні на AWS, створювати на основі чи навіть створювати власні LLM у SageMaker. Повідомте нам про свої запитання та знахідки в коментарях і отримуйте задоволення!
Про авторів
Джаррет Єо Шан Вей є помічником хмарного архітектора в AWS Professional Services, який охоплює державний сектор в АСЕАН, і виступає за допомогу клієнтам у модернізації та міграції в хмару. Він отримав п’ять сертифікатів AWS, а також опублікував дослідницьку статтю про ансамблі машин для підвищення градієнта на 8-й Міжнародній конференції зі штучного інтелекту. У вільний час Джаррет зосереджується на генеративному штучному інтелекті в AWS і робить свій внесок у нього.
Теммі Лім Лі Сінь є помічником хмарного архітектора в AWS. Вона використовує технології, щоб допомогти клієнтам досягти бажаних результатів на шляху впровадження хмарних технологій, і захоплюється AI/ML. Поза роботою вона любить подорожувати, піші прогулянки та проводити час із родиною та друзями.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/create-a-web-ui-to-interact-with-llms-using-amazon-sagemaker-jumpstart/
- : має
- :є
- $UP
- 1
- 10
- 120
- 160
- 2021
- 3000
- 320
- 7
- 8
- 8th
- a
- Здатний
- МЕНЮ
- Прийняти
- доступ
- визнавати
- через
- додавати
- Додатковий
- Прийняття
- адвокат
- після
- AI
- AI / ML
- ВСІ
- дозволяє
- по
- Також
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- посилюватися
- an
- та
- API
- додаток
- затверджений
- архітектура
- ЕСТЬ
- Art
- штучний
- штучний інтелект
- AS
- Асейна
- запитати
- Активи
- Юрист
- At
- досягається
- Authentication
- наявність
- доступний
- уникнути
- AWS
- AWS CloudFormation
- Професійні послуги AWS
- бар
- база
- заснований
- основний
- BE
- оскільки
- КРАЩЕ
- передового досвіду
- Краще
- підвищення
- Box
- широкий
- браузер
- будувати
- by
- call
- Виклики
- CAN
- Може отримати
- можливості
- можливості
- захоплений
- випадків
- сертифікати
- Зміни
- вантажі
- chatbots
- ChatGPT
- вибір
- Вибирати
- класифікація
- тісно
- хмара
- прийняття хмари
- код
- коментарі
- повний
- конференція
- конфігурація
- зв'язку
- Консоль
- зміст
- сприяє
- Розмова
- діалоговий
- розмовний ШІ
- Відповідний
- обкладинка
- покриття
- створювати
- створений
- створення
- цікавий
- виготовлений на замовлення
- Клієнти
- дані
- глибокий
- глибоке навчання
- дефолт
- доставляти
- Залежно
- розгортання
- розгорнути
- розгортання
- розгортання
- розгортає
- description
- дизайн
- бажаний
- деталі
- розробників
- різний
- радіомовлення
- цифровий
- цифрове мистецтво
- displayed
- розподіл
- домен
- скачати
- Раніше
- простота
- продуктивно
- включіть
- кінець
- Кінцева точка
- підвищувати
- збагачувати
- Що натомість? Створіть віртуальну версію себе у
- підприємство
- Навколишнє середовище
- Навіть
- Кожен
- приклад
- Приклади
- чекає
- дорогий
- досвід
- експеримент
- пояснені
- продовжити
- продовжується
- витяг
- сім'я
- особливість
- кілька
- Поля
- філе
- остаточний
- знайти
- результати
- п'ять
- фокусується
- стежити
- після
- для
- формат
- виховання
- фонд
- фундаментальні
- Безкоштовна
- друзі
- від
- повністю
- функція
- далі
- майбутнє
- Загальне
- загальні дані
- породжує
- генеративний
- Генеративний ШІ
- отримати
- дає
- Цілі
- Мати
- he
- допомога
- допомогу
- його
- тримати
- хостинг
- ГОДИННИК
- Як
- How To
- HTML
- HTTP
- HTTPS
- Людей
- Сотні
- ідея
- Особистість
- if
- зображень
- уяву
- здійснювати
- поліпшений
- in
- включати
- Augmenter
- зазначений
- вхід
- встановлювати
- встановлений
- установка
- екземпляр
- Інститут
- інструкції
- інтегрувати
- інтеграцій
- Інтелект
- Розумний
- взаємодіяти
- взаємодіючих
- Взаємодії
- інтерфейс
- Міжнародне покриття
- в
- запрошувати
- ЙОГО
- подорож
- JPG
- просто
- тільки один
- ключ
- Знати
- знання
- мова
- великий
- запуск
- запуск
- вивчення
- Подветренний
- дозволяти
- як
- Лінія
- Лама
- LLM
- місцевий
- логіка
- подивитися
- виглядає як
- любить
- машина
- навчання за допомогою машини
- вдалося
- манера
- Може..
- означав
- Медіа
- Зустрічатися
- Меню
- метод
- мігрувати
- ML
- режим
- модель
- Моделі
- модернізувати
- більше
- множинний
- повинен
- ім'я
- Переміщення
- навігація
- необхідно
- Необхідність
- мережу
- нервовий
- нейронної мережі
- Нові
- нові продукти
- нещодавно
- вузол
- Node.js
- увагу
- ноутбук
- отриманий
- of
- on
- ONE
- відкрити
- з відкритим вихідним кодом
- Опції
- or
- Інше
- Результати
- вихід
- поза
- огляд
- власний
- сторінка
- pane
- Папір
- параметр
- параметри
- пристрасний
- Дозволи
- plato
- Інформація про дані Платона
- PlatoData
- підключати
- популярний
- популярність
- пошта
- Харчування
- практики
- переважним
- передумови
- привілеї
- процеси
- Продукти
- професійний
- проект
- власником
- забезпечувати
- за умови
- провайдери
- забезпечує
- громадськість
- опублікований
- Python
- питань
- Швидко
- швидко
- підвищення
- діапазон
- реальний
- послатися
- посилання
- доречний
- запросити
- запитів
- вимагається
- дослідження
- походить
- ресурси
- відповідь
- повертати
- Зростання
- прогін
- мудрець
- задоволення
- сцена
- подряпати
- скріншоти
- Пошук
- секрет
- розділ
- сектор
- побачити
- вибрати
- сенс
- служити
- обслуговування
- Послуги
- комплект
- набори
- установка
- Поділитись
- вона
- Повинен
- Показувати
- Шоу
- уривок
- рішення
- деякі
- Source
- Витрати
- стабільний
- стек
- standard
- Станфорд
- старт
- почалася
- Статус
- Крок
- заходи
- зберігання
- студія
- такі
- достатній
- Приймати
- приймає
- Технологія
- шаблон
- термінал
- тест
- текст
- Класифікація тексту
- Що
- Команда
- їх
- потім
- Ці
- вони
- третя сторона
- це
- хоча?
- через
- час
- до
- топ
- поїзд
- навчений
- Навчання
- Перетворення
- Перетворення
- перетворений
- тип
- ui
- при
- розуміння
- URL
- us
- Використання
- використання
- користувач
- User Experience
- Інтерфейс користувача
- зручно
- користувачі
- використовує
- використання
- значення
- різний
- Відео
- ходити
- прогулянки
- способи
- we
- Web
- веб-сервіси
- Що
- коли
- який
- ВООЗ
- широкий
- Широкий діапазон
- волі
- бажання
- з
- Work
- робочий
- запис
- йо
- Ти
- вашу
- зефірнет