Transformers.js: запуск почти 700 макромоделей искусственного интеллекта в локальной сети
Общее введение
Transformers.js - это библиотека JavaScript, разработанная компанией Hugging Face для того, чтобы пользователи могли запускать современные модели машинного обучения прямо в браузере без поддержки сервера. Библиотека функционально эквивалентна библиотеке Transformers компании Hugging Face для Python и поддерживает широкий спектр предварительно обученных моделей, охватывающих такие задачи, как обработка естественного языка, компьютерное зрение и распознавание речи. transformers.js использует ONNX Runtime для запуска моделей, поддерживает выполнение как на CPU, так и на WebGPU, и обеспечивает эффективную работу. Он предоставляет эффективные инструменты преобразования моделей и квантования для конвертации моделей PyTorch, TensorFlow или JAX в формат ONNX и запуска их в браузере.
Список функций
- обработка естественного языка (NLP): категоризация текстов, распознавание именованных сущностей, системы вопросов и ответов, языковое моделирование, составление резюме, перевод, множественный выбор и создание текстов.
- компьютерное зрение: классификация изображений, обнаружение целей, сегментация изображений и оценка глубины.
- распознавание речи: автоматическое распознавание речи, классификация аудио и преобразование текста в речь.
- мультимодальная задача: встраивание, классификация аудио с нулевой выборкой, классификация изображений с нулевой выборкой и обнаружение целей с нулевой выборкой.
- Преобразование и количественная оценка моделей: Поддержка преобразования моделей PyTorch, TensorFlow или JAX в формат ONNX и их количественной оценки для оптимизации производительности.
- Поддержка WebGPU: Повышение эффективности вычислений за счет запуска моделей с помощью WebGPU в поддерживаемых браузерах.
Использование помощи
монтаж
Transformers.js можно установить через NPM или использовать в браузере через CDN или статический хостинг. Ниже приведены шаги по установке:
Установка NPM
npm i @huggingface/transformers
Использование CDN
Добавьте в HTML-файл следующие теги сценариев:
<script type="module">
import { pipeline } from 'https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.1.0';
</script>
Пример использования
Transformers.js предоставляет API конвейера, аналогичный Python-версии библиотеки transformers, что делает использование модели очень простым. Вот несколько примеров распространенных задач:
Анализ настроения
import { pipeline } from '@huggingface/transformers';
// 分配一个情感分析的 pipeline
const pipe = await pipeline('sentiment-analysis');
const out = await pipe('I love transformers!');
// 输出: [{'label': 'POSITIVE', 'score': 0.999817686}]
Использование различных моделей
Вы можете использовать другую модель, указав идентификатор модели или путь к ней:
const pipe = await pipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');
Запуск моделей на WebGPU
const pipe = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', { device: 'webgpu' });
Преобразование и количественная оценка моделей
Transformers.js поддерживает преобразование моделей PyTorch, TensorFlow или JAX в формат ONNX и их квантификацию для оптимизации производительности. Ниже приведены примеры преобразования и квантификации:
python -m scripts.convert --quantize --model_id bert-base-uncased
Преобразованный файл будет сохранен в папке ./models/
каталог, включая model.onnx
ответить пением model_quantized.onnx
Документация.
образец заявления
Transformers.js предоставляет несколько примеров приложений, чтобы помочь пользователям быстро начать работу:
- Шепот паутины: Распознавание речи
- Doodle Dash: Игра по распознаванию эскизов в реальном времени
- Код Playground: Завершение кода в браузере
- Семантический поиск изображений: Текстовый поиск изображений
- Текст в речь: преобразование текста в речь
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...