Код: Выделить всё
fastapi==0.109.0
uvicorn[standard]==0.27.0
pydantic==2.6.0
torch==2.2.0
transformers==4.36.2
huggingface-hub==0.19.4
numpy==1.26.3
onnxruntime==1.17.0
optimum[onnxruntime]==1.16.0
requests==2.31.0
accelerate==0.25.0
sentencepiece
protobuf
Это мой файл требований.txt. Я пробовал использовать разные версии, и сборка занимает много времени. Поэтому я был бы очень признателен, если бы кто-нибудь помог.
Тело:
Я работаю над исследовательским/инженерным проектом по оптимизации и развертыванию модели Google EmbeddingGemma для использования в производстве и исследованиях. Мои цели:
- Запустить модель Gemma с использованием Hugging Face Transformers с поддержкой экспорта ONNX и квантованного вывода (int8/int4).
- Предоставить REST API на основе FastAPI для встраивания и поиска по сходству с развертыванием Docker и Docker Compose.
- Чтобы обеспечить воспроизводимость, CI/CD и совместимость с новейшей экосистемой Hugging Face.
- Я реализовал полный конвейер оптимизации и развертывания для EmbeddingGemma, включая экспорт ONNX, квантование и сравнительное тестирование.
- Моя кодовая база использует Transformers, Huggingface-hub,Optimum[onnxruntime] и Torch, а также помещается в контейнер для развертывания.
- Я хочу поддерживать новейшие функции Gemma, включая новый токенизатор и классы моделей, а также обеспечивать совместимость с ONNX и квантованием.
Проблема:
Модель Gemma поддерживается только в преобразователях 4.38.0 и выше. - Когда я использую преобразователи==4.36.2, я получаю:
ValueError: Класс Tokenizer GemmaTokenizer не существует или в настоящее время не импортирован. - Когда я пытаюсь использовать преобразователи>=4.38.0, я запускаю в конфликты версий с Huggingface-Hub иOptim[onnxruntime].
- Моя цель — найти набор совместимых версий для этих библиотек, которые позволят мне:
Загружать и использовать модель Gemma и токенизатор - Экспортировать в ONNX и запускать с ONNX Время выполнения
- Если возможно, используйте квантование (int8/int4)
Что мне нужно:
- Точные версии преобразователей, Huggingface-Hub и оптимального [onnxruntime] (и любых других соответствующих библиотеки), которые подтверждены для совместной работы с Gemma, ONNX и квантованием.
Подробнее здесь: https://stackoverflow.com/questions/798 ... el-tokeniz