У швидко змінюваному світі штучного інтелекту ми спостерігаємо захоплюючий парадокс: хоча великі мовні моделі (LLMs) стають дедалі потужнішими, їхні обчислювальні вимоги все ще роблять їх непридатними для широкого застосування. В Priyadarshini College of Engineering, ми вирішуємо цю задачу, розробивши нову архітектуру, яка дозволяє створювати складні AI-системи для обмежених за ресурсами середовищ.
Виклик: Доступність проти Можливостей
Останні досягнення, такі як ChatGPT та Google Gemini, революціонізували взаємодію людини з комп'ютером завдяки сучасним системам розмовного штучного інтелекту. Але їхня потужність має високу ціну, як з точки зору фінансових інвестицій, так і обчислювальних ресурсів. Це створює значні бар'єри для малих бізнесів, окремих розробників або ресурсно обмежених середовищ, які могли б скористатися допомогою AI, але не здатні впоратися з витратами на обробку великих мовних моделей.
Наше Рішення: Архітектура AI-Associate
Ми побудували легку архітектуру, що ефективно використовує прості обчислювальні ресурси і досягає характеристик складних розмовних систем при знижених обчислювальних вимогах. Ми розкладаємо складні задачі розмови на атомарні, локальна оптимізація яких є ефективною.
Ключові компоненти
Шар обробки введення: Підтримка декількох модальностей вводу та легке використання спостереження за ключовими словами.
Двигун оптимізації запитів: Зменшує витрати на реформулювання запитів.
Маршрутизатор сервісів: Визначає, що вибрати з наявних варіантів.
Фреймворк інтеграції моделей: Гнучкість у використанні різних моделей.
П pipeline генерації виводу: Забезпечує гарну якість форматування та доставки відповіді.
Детальніше про реалізацію
Ось наша реалізація за допомогою Python, яка демонструє основні можливості системи:
from groq import Groq
from PIL import ImageGrab, Image
import cv2
from faster_whisper import WhisperModel
from openai import OpenAI
import speech_recognition as sr
import google.generativeai as genai
import pyperclip
import pyaudio
import os
import time
# Налаштування та API
groq_api_key = os.getenv('GROQ_API_KEY')
genai_api_key = os.getenv('GENAI_API_KEY')
openai_api_key = os.getenv('OPENAI_API_KEY')
groq_client = Groq(api_key=groq_api_key)
genai.configure(api_key=genai_api_key)
openai_client = OpenAI(api_key=openai_api_key)
# Налаштування системного повідомлення
sys_msg = (
'You are a multi-modal AI voice assistant. Your user may or may not have attached a photo for context'
'(either a screenshot or a webcam capture). Any photo has already been processed into a highly detailed '
'text prompt that will be attached to their transcribed voice prompt…'
)
Код системи, що наведений тут, обробляє кілька модальностей вводу (голос, текст, візуальні дані) в умовах обмежених ресурсів.
Вибір моделі з урахуванням ресурсів
Процес інтелектуального вибору моделі є однією з основних інновацій нашої архітектури. Замість того щоб обирати найбільш потужну (і ресурсозатратну) модель, наша система динамічно вибирає найбільш відповідну модель залежно від вимог завдання та доступних ресурсів:
def function_call(prompt):
sys_msg = (
'You are an AI function calling model.
Ви визначатимете, чи найкраще для голосового асистента відповідати на запит користувача, зчитуючи вміст буфера обміну, роблячи скріншот, захоплюючи зображення з вебкамери чи не викликаючи жодних функцій…
)
function_convo = [{'role': 'system', 'content': sys_msg},
{'role': 'user', 'content': prompt}]
chat_completion = groq_client.chat.completions.create(
messages=function_convo,
model='llama3–70b-8192'
)
return chat_completion.choices[0].message.content
Продуктивність і результати
Наша оцінка продемонструвала вражаючі результати за кількома метриками:
- Рівень успішності завдань: 89% за 670 тестових запитів
- Точність вибору моделі: 94%
- Середня затримка відповіді: 188 мс
- Використання ресурсів: зниження на 35% порівняно з традиційними підходами
Архітектура показала особливу ефективність у ресурсно обмежених середовищах:
- обробка мови з точністю 87%
- точність у візуальних завданнях — 91%
- 94% успішної обробки крайніх випадків.
Реальні застосування
- Рішення для малого бізнесу: Надання допомоги AI для бізнесів з обмеженими технічними ресурсами.
- Edge computing: Створення розмовних AI для використання на обмежених обчислювальних пристроях.
- Інтерактивний маркетинг: Створення інтерактивних і розумних дисплеїв без необхідності обробки в хмарі.
- Освітні інструменти: Забезпечення AI-підтримки для ресурсно обмежених освітніх середовищ.
Майбутні напрямки
- Покращена візуальна присутність: Більш інтерактивні взаємодії з технологією мета-людей.
- Підтримка кількох користувачів: Управління однією розмовою з збереженням контексту.
- Розширена підтримка пристроїв: Підтримка розгортання на більш широкому спектрі апаратних конфігурацій.
- Розширені функції безпеки: Забезпечення більш складного контролю доступу та заходів конфіденційності.
Увага до реалізації
Для розробників, які хочуть впровадити цю архітектуру, ось ключова частина багатомодальної обробки:
def vision_prompt(prompt, photo_path):
img = Image.open(photo_path)
prompt = (
'''You are the vision analysis AI that provides semantic meaning from images to provide context
to send to another AI that will create a response to the user…'''
)
response = model.generate_content([prompt, img])
return response.text
def speak(text):
player_stream = pyaudio.PyAudio().open(
format=pyaudio.paInt16,
channels=1,
rate=24000,
output=True
)
# Реалізація перетворення тексту в мову
Висновок
Ми показали, що складний розмовний штучний інтелект не завжди потребує величезних обчислювальних ресурсів. Обережно спроектована архітектура з оптимізованими компонентами дозволяє створювати потужні й доступні системи. Такі можливості відкривають нові шляхи для розгортання AI у випадках, де традиційні підходи були б непідйомними.
Архітектура AI-Associate — це крок до більш демократичного доступу до технології розмовного штучного інтелекту. Ми віримо, що з розвитком і розширенням використання цих технік, більше організацій і розробників перейдуть до їх впровадження для створення реальних і ефективних рішень у сфері AI.
Перекладено з: AI-Associate: Building a Resource-Efficient Architecture for Next-Generation Conversational Agents