“`html
Продвижение машинного обучения с KerasCV и KerasNLP: всеобъемлющий обзор
Керас – широко используемый инструмент машинного обучения, известный своими высокоуровневыми абстракциями и простотой использования, позволяющий быстрые эксперименты. Недавние достижения в области компьютерного зрения и обработки естественного языка представляют вызовы, такие как высокая стоимость обучения крупных современных моделей. Важный доступ к предварительно обученным моделям с открытым исходным кодом. Кроме того, сложность предварительной обработки и вычисления метрик увеличилась из-за разнообразных техник и фреймворков, таких как JAX, TensorFlow и PyTorch. Улучшение производительности обучения моделей обработки естественного языка также затруднительно, а инструменты, такие как компилятор XLA, обеспечивают ускорение, но добавляют сложность операциям с тензорами.
Решения KerasCV и KerasNLP
Исследователи из команды Keras в Google LLC представляют KerasCV и KerasNLP – расширения API Keras для компьютерного зрения и обработки естественного языка. Эти пакеты поддерживают JAX, TensorFlow и PyTorch, акцентируя простоту использования и производительность. Они имеют модульную конструкцию, предлагая строительные блоки для моделей и предварительной обработки данных на низком уровне, а также предварительно обученные модели задач для популярных архитектур, таких как Stable Diffusion и GPT-2 на высоком уровне. Эти модели включают встроенную предварительную обработку, предварительно обученные веса и возможности дообучения. Библиотеки поддерживают компиляцию XLA и используют tf. Data API TensorFlow для эффективной предварительной обработки. Они доступны на GitHub.
Библиотека HuggingFace Transformers параллельна KerasNLP и KerasCV, предлагая предварительные модели для многих архитектур трансформеров. В то время как HuggingFace использует подход “повторите себя”, KerasNLP принимает слоистый подход для повторной реализации больших языковых моделей с минимальным кодом. Оба метода имеют свои плюсы и минусы. KerasCV и KerasNLP публикуют все предварительно обученные модели на Kaggle Models, которые доступны в заметках для соревнований Kaggle даже в режиме отключенного Интернета. Таблица 1 сравнивает среднее время обучения или шага вывода для моделей, таких как SAM, Gemma, BERT и Mistral, в различных версиях и фреймворках Keras.
API Keras Domain Packages принимает слоистую конструкцию с тремя основными уровнями абстракции. Foundational Components предлагают компонуемые модули для построения конвейеров предварительной обработки, моделей и логики оценки, которые можно использовать независимо от экосистемы Keras. Pretrained Backbones предоставляют модели, готовые к дообучению, с соответствующими токенизаторами для обработки естественного языка. Task Models специализированы для задач, таких как генерация текста или обнаружение объектов, объединяя модули более низкого уровня для единого интерфейса обучения и вывода. Эти модели могут использоваться с фреймворками PyTorch, TensorFlow и JAX. KerasCV и KerasNLP поддерживают API Keras Unified Distribution для безпроблемной параллельной обработки моделей и данных, упрощая переход от обучения на одном устройстве к обучению на нескольких устройствах.
Производительность фреймворка варьируется в зависимости от конкретной модели, и Keras 3 позволяет пользователям выбирать самый быстрый бэкэнд для их задач, постоянно превосходя Keras 2, как показано в Таблице 1. Бенчмаркирование проводилось с использованием одного графического процессора NVIDIA A100 с 40 ГБ памяти на облачной вычислительной платформе Google Cloud Compute Engine (a2-highgpu-1g) с 12 виртуальными ЦП и 85 ГБ оперативной памяти хоста. Одинаковый размер пакета использовался для всех фреймворков для одной и той же модели и задачи (обучение или предсказание). Различные размеры пакетов использовались для различных моделей и функций для оптимизации использования памяти и графического процессора. Gemma и Mistral использовали одинаковый размер пакета из-за их схожих параметров.
В заключение, планируется расширить возможности проекта в будущем, в частности, путем расширения спектра мультимодальных моделей для поддержки различных приложений. Кроме того, усилия будут направлены на совершенствование интеграций с решениями для обслуживания крупных моделей, специфичных для бэкэнда, чтобы обеспечить плавное развертывание и масштабируемость. KerasCV и KerasNLP представляют универсальные наборы инструментов, включающие модульные компоненты для быстрого прототипирования моделей и разнообразные предварительно обученные основы и модели задач для задач компьютерного зрения и обработки естественного языка. Эти ресурсы предназначены для пользователей JAX, TensorFlow или PyTorch, предлагая передовую производительность обучения и вывода. Подробные руководства пользователя для KerasCV и KerasNLP доступны на Keras.io.
Проверьте статью. Вся заслуга за этот исследовательский проект принадлежит исследователям. Также не забудьте подписаться на наш Twitter. Присоединяйтесь к нашему каналу в Telegram, Discord и группе в LinkedIn.
Если вам нравится наша работа, вам понравится наша рассылка.
Не забудьте присоединиться к нашему 43k+ ML SubReddit. Также посмотрите нашу платформу для событий по ИИ.
Опубликовано на MarkTechPost.
“`