Локальный AI без серверной инфраструктуры
Команда mlc-ai представила WebLLM — высокопроизводительный движок для инференса больших языковых моделей (LLM), работающий непосредственно в веб-браузере. Ключевая особенность решения: отсутствие необходимости в серверной части. Все вычисления происходят на стороне клиента с использованием аппаратного ускорения WebGPU. Это открывает возможности для создания полностью приватных AI-ассистентов, где данные пользователя никогда не покидают устройство.
Полная совместимость с OpenAI API
WebLLM реализует интерфейс, совместимый с OpenAI API. Разработчики могут использовать те же методы, что и для работы с GPT-4, но для локальных open-source моделей. Поддерживаются:
- Streaming: генерация ответов в реальном времени.
- JSON-mode: структурированная генерация вывода (реализована через WebAssembly для максимальной скорости).
- Function-calling: в стадии разработки (WIP).
- Logit-level control и seeding.
Поддерживаемые модели и метрики
Движок нативно поддерживает широкий спектр архитектур, включая Llama 3, Phi 3, Gemma, Mistral и Qwen. Ниже приведена таблица основных семейств моделей, доступных для загрузки и использования:
| Семейство моделей | Конкретные версии | Примечание |
|---|---|---|
| Llama | Llama 3, Llama 2, Hermes-2-Pro-Llama-3 | Включая Llama 3.1 8B Instruct |
| Phi | Phi 3, Phi 2, Phi 1.5 | Компактные модели от Microsoft |
| Gemma | Gemma-2B | Легковесная модель от Google |
| Mistral | Mistral-7B-v0.3, Hermes-2-Pro-Mistral-7B, NeuralHermes-2.5-Mistral-7B, OpenHermes-2.5-Mistral-7B | Различные fine-tuned версии |
| Qwen (Тунъи Цяньвэнь) | Qwen2 0.5B, 1.5B, 7B | Модели от Alibaba |
Технические детали и интеграция
WebLLM спроектирован как модульный npm-пакет (@mlc-ai/web-llm), который легко интегрируется через CDN или менеджеры пакетов. Архитектура позволяет:
- Использовать Web Worker и Service Worker для вынесения тяжелых вычислений из основного потока UI, что предотвращает зависание интерфейса.
- Поддерживать Chrome Extensions для создания браузерных расширений с AI-функционалом.
- Настраивать бэкенд кэширования моделей через
AppConfig.cacheBackend: стандартный Cache API, IndexedDB, Origin Private File System (OPFS) или экспериментальный Cross-Origin Storage API.
Почему это важно
Решение mlc-ai снижает порог входа для внедрения LLM в веб-приложения. Разработчикам больше не нужно настраивать сложные серверные кластеры для базовых задач чат-ботов или генерации текста. Благодаря поддержке кастомных моделей в формате MLC и оптимизации через WebGPU, WebLLM делает локальный AI доступным для широкой аудитории, обеспечивая при этом конфиденциальность данных.
Источник: Github ↗
