Вопрос или проблема
Инициатива открытого кода (Open Source Initiative) выпустила свое определение открытого кода для искусственного интеллекта:
https://opensource.org/ai/open-source-ai-definition
Кстати, мне нужно встроить LLM в мое Android-приложение для целей суммаризации и т. д.
Вопрос: Какой LLM соответствует определению открытого кода для искусственного интеллекта?
- Должен быть пригоден для использования в Android-приложении, даже в режиме оффлайн.
- Преимущество для тех, которые показывают хорошие результаты в различных тестах и достаточно малы, чтобы поместиться в 1 ГБ или даже 100 МБ.
- Bloomz считается довольно открытой, но ее лицензия https://huggingface.co/spaces/bigscience/license, кажется, не соответствует.
Ответ или решение
Для решения задачи поиска крупной языковой модели (LLM), соответствующей определению Open Source Artificial Intelligence по версии Open Source Initiative (OSI), рассмотрим теоретическую часть, примеры и практическое применение. Следует учесть основные критерии, такие как возможность работы модели в оффлайн-режиме на Android-устройстве, а также предпочтение тем моделям, которые демонстрируют хорошие результаты на различных тестах и имеют размер, не превышающий 1 ГБ, а желательно и 100 МБ.
Теоретическая часть:
OSI определяет открытый код следующим образом: программное обеспечение должно быть доступно для свободного использования, модификации и распространения. Открытые модели ИИ должны обладать схожими характеристиками, включая доступ к обучающим данным, архитектурам моделей и коду, управляющему тренировками и выводами. Такая открытость позволяет не только использовать модели для решения практических задач, но и гарантирует прозрачность алгоритмов, улучшение через коллективные усилия сообщества и свободу в адаптации к специфическим нуждам.
Для соответствия данной концепции, LLM должна предлагать открытый доступ к своему коду, политику лицензирования, разрешающую модификацию и распространение, а также предоставлять документацию, облегчающую понимание и использование модели.
Примеры:
Среди открытых LLM, которые соответствуют или стремятся соответствовать требованиям ОСI, можно рассмотреть несколько примеров:
-
GPT-NEO и GPT-J: Разработанные EleutherAI, эти модели обеспечивают определённую степень открытости, поскольку их код и модели доступны. Однако следует учитывать размер модели и требования к её ресурсам, которые могут ограничивать их использование на мобильных устройствах, особенно в оффлайн-режиме.
-
T5 (Text-to-Text Transfer Transformer): Разработанная Google, данная модель доступна в различных размерах и версиях. Некоторые её итерации могут быть адаптированы для использования на Android, но требуется тщательная настройка и оптимизация для достижения эффективной работы в оффлайн-режиме.
-
Alpaca и Llama: Модели, созданные Meta (ранее Facebook), которые ориентированы на открытость и доступность для разработчиков. Об этом свидетельствует их активное участие в обсуждении лицензий и предоставление доступа к исходным кодам.
-
Flan-T5: Также является открытой моделью с дополнительными слоями для лучшего соответствия специализированным задачам.
Практическое применение:
Для интеграции открытой LLM, соответствующей требованиям ОСI, в Android-приложение, необходимо учитывать следующие шаги:
-
Выбор модели: На основании описания и тестов моделей, следует выбрать ту, которая имеет наилучший баланс между производительностью и размером. T5 и её производные могут быть хорошим компромиссом при соответствующей оптимизации.
-
Оптимизация и конвертация: Для использования на Android важно минимизировать вес модели. Инструменты, такие как TensorFlow Lite и ONNX Runtime, помогут в преобразовании моделей в мобильные форматы и в оптимизации их производительности.
-
Оффлайн-использование: Для обеспечения работы без подключений рекомендуется предусмотреть не только минимальный размер модели, но и локальное хранение необходимых зависимостей.
-
Лицензирование: Перед интеграцией обязательно следует убедиться, что лицензия выбранной модели действительно соответствует принципам открытости по ОСI.
В конечном итоге, подбор подходящей LLM должен учитывать не только её соответствие открытой лицензии и способности работать оффлайн, но и практическую пользу для конкретного приложения на Android. Выбор, вероятно, станет компромиссом между максимально возможной открытостью и технической пригодностью для реализации поставленных задач.