ГенАИ ГеоГессер
Угадайте название страны по результатам, созданным ИИ
Этот проект представляет собой другую версию популярной игры GeoGuessr, в которой вы попадаете в случайное место на Картах Google и должны угадать это место во время обратного отсчета времени. Здесь вам придется угадать название страны на основе мультимодальных подсказок, сгенерированных моделями искусственного интеллекта. Вы можете выбрать одну из трех модальностей: текст , который дает вам текстовое описание страны, изображение , которое дает вам изображение, напоминающее страну, и аудио , которое дает вам аудио образец, связанный со страной.
Вы можете проверить онлайн-демонстрацию этого приложения на его страницах HuggingFace. Эта демонстрация была ограничена созданием только подсказок к изображениям из соображений производительности.
Если вы хотите узнать немного больше о том, как работает этот проект и как он был создан, прочтите статью «Создание генеративного GeoGuesser на основе искусственного интеллекта».
Рабочий процесс
- Выберите желаемые способы подсказки.
- Выберите количество подсказок для каждой модальности.
- Нажмите на кнопку «Начать игру».
- Просмотрите все подсказки и введите свое предположение в поле «Угадай страну».
- Нажмите на кнопку «Загадать».
Демо
Для приведенных ниже примеров выбрана страна Россия .
Текстовая подсказка
Подсказка к изображению
Аудио-подсказка
Использование
Рекомендуемый подход к использованию этого репозитория — Docker, но вы также можете использовать собственный venv, просто обязательно установите все зависимости.
Конфиги
local:
to_use: true
text:
model_id: google/gemma-1.1-2b-it
device: cpu
max_output_tokens: 50
temperature: 1
top_p: 0.95
top_k: 32
image:
model_id: stabilityai/sdxl-turbo
device: mps
num_inference_steps: 1
guidance_scale: 0.0
audio:
model_id: cvssp/audioldm2-music
device: cpu
num_inference_steps: 200
audio_length_in_s: 10
vertex:
to_use: false
project: {VERTEX_AI_PROJECT}
location: {VERTEX_AI_LOCALTION}
text:
model_id: gemini-1.5-pro-preview-0409
max_output_tokens: 50
temperature: 1
top_p: 0.95
top_k: 32
- местный
- to_use: если проект должен использовать эту конфигурацию установки
- текст
- model_id: модель, используемая для создания текстовых подсказок.
- устройство: устройство, используемое моделью, обычно одно из (cpu, cuda, mps).
- max_output_tokens: Максимальное количество токенов, генерируемых моделью.
- температура: температура контролирует степень случайности при выборе токена. Более низкие температуры хороши для подсказок, которые ожидают истинного или правильного ответа, тогда как более высокие температуры могут привести к более разнообразным или неожиданным результатам. При температуре 0 всегда выбирается жетон с наибольшей вероятностью.
- top_p: Top-p меняет способ выбора токенов моделью для вывода. Токены выбираются от наиболее вероятного к наименее вероятному до тех пор, пока сумма их вероятностей не станет равна значению top-p. Например, если токены A, B и C имеют вероятность 0,3, 0,2 и 0,1, а значение top-p равно 0,5, то модель выберет либо A, либо B в качестве следующего токена (с использованием температуры). )
- top_k: Top-k изменяет способ выбора токенов моделью для вывода. Значение top-k, равное 1, означает, что выбранный токен является наиболее вероятным среди всех токенов в словаре модели (также называемое жадным декодированием), а значение top-k, равное 3, означает, что следующий токен выбирается из трех наиболее вероятных токенов ( используя температуру)
- изображение
- model_id: модель, используемая для создания подсказок изображения.
- устройство: устройство, используемое моделью, обычно одно из (cpu, cuda, mps).
- num_inference_steps: количество шагов вывода для модели.
- Guiding_scale: заставляет генерацию лучше соответствовать подсказке, потенциально за счет качества или разнообразия изображения.
- аудио
- model_id: модель, используемая для создания звуковых подсказок.
- устройство: устройство, используемое моделью, обычно одно из (cpu, cuda, mps).
- num_inference_steps: количество шагов вывода для модели.
- audio_length_in_s: продолжительность звуковой подсказки.
- вершина
- to_use: если проект должен использовать эту конфигурацию установки
- проект: название проекта, используемое Vertex AI.
- location: местоположение проекта, используемое Vertex AI.
- текст
- model_id: модель, используемая для создания текстовых подсказок.
- max_output_tokens: Максимальное количество токенов, генерируемых моделью.
- температура: температура контролирует степень случайности при выборе токена. Более низкие температуры хороши для подсказок, которые ожидают истинного или правильного ответа, тогда как более высокие температуры могут привести к более разнообразным или неожиданным результатам. При температуре 0 всегда выбирается жетон с наибольшей вероятностью.
- top_p: Top-p меняет способ выбора токенов моделью для вывода. Токены выбираются от наиболее вероятного к наименее вероятному до тех пор, пока сумма их вероятностей не станет равна значению top-p. Например, если токены A, B и C имеют вероятность 0,3, 0,2 и 0,1, а значение top-p равно 0,5, то модель выберет либо A, либо B в качестве следующего токена (с использованием температуры). )
- top_k: Top-k изменяет способ выбора токенов моделью для вывода. Значение top-k, равное 1, означает, что выбранный токен является наиболее вероятным среди всех токенов в словаре модели (также называемое жадным декодированием), а значение top-k, равное 3, означает, что следующий токен выбирается из трех наиболее вероятных токенов ( используя температуру)
Команды
Запустите игровое приложение.
Создайте образ Docker.
Применяйте ворс и форматирование к коду (нужно только для разработки).