Дмитрий Савостьянов Вещает
734 subscribers
299 photos
84 videos
1 file
233 links
Про AI в играх, стартапы, переезд в Лос-Анджелес и немножко мемов.

ЛС: https://t.iss.one/KPACAB4NK_PELLIAET_BOTTPOCbl
Download Telegram
Forwarded from эйай ньюз
Курс по квантизации для тех, кто хочет быть в теме

Эндрю Ын, о котором здесь писалось уже не раз, вместе со спецами из обнимающего лица _marcsun и younesbelkada дропнул очередной эйай #ликбез. На этот раз о квантизации.

Квантизация — это сжатие модели с 32 до 16, 8 или даже 2 бит, не особо теряя при этом в качестве. Считай, raw перевели в jpeg. Так же как и без MoE современные ллм дорого тренировать, так и без квантизации их дорого инференсить - железо которое тянет эти килотонны весов влетает в копеечку.

Чему учат:
- применять си/асимметричную линейную квантизацию.
- квантизации на разных уровнях: по тензорам, по каналам, по группам.
- созданию квантизатора на практике с упаковкой до 2-х бит.

Ссылочка на курс

#ликбез
@ai_newz
🔥1
Notion сделал конструктор сайтов.

В комплекте:
- Возможность прикрутить свой домен
- Фирменный дизайн
- База данных на основе notion-таблиц
- SEO оптимизация и аналитика
- AI для генерации контента

https://www.notion.so/product/sites
👍10🤮1
Анализ видео на GPT-4o

Давненько я вам ничего не писал. Исправим это недоразумение.

Ездил пару недель назад в Лос-Анджелес к своим америкосам, с которыми делаем проект text-to-motion — генерация анимаций для игровых персонажей по текстовому описанию. Там мы придумали занятный метод, про который сейчас расскажу.

В промпт GPT-4o можно прикладывать картинки. Видео — последовательность картинок с ~30-120 кадрами в секунду. Так вот оказывается, если у вас есть короткие ролики по 1-3 секунды, которые нужно проанализировать, то можно сэмплировать их на пару десятков кадров, которые влезут в context window модели.

Так уж вышло, что для обучения хорошей text-to-motion модели вам нужно несколько вещей: видеокарты, ML-специалисты и данные. Если по первым двум пунктам все неплохо, то вот с данными мы буксовали. Мы записывали анимации с помощью motion capture, покупали ассет-паки в сторах, собирали из открытых источников, но везде сталкивались с тем, что помимо анимации нужна аннотация — описание того, что на этой анимации происходит.

Руками людей размечать выходило долго и дорого. Поэтому решили попробовать генерировать описания с помощью GPT, а силами людей оценивать качество и исправлять ошибки. В итоге ускорили процесс х100 и удешевили х10. Такая вот история.

Держите инструкцию по заведению шарманки: https://cookbook.openai.com/examples/gpt_with_vision_for_video_understanding
🔥111
Подъехала gpt-4o-mini — замена gpt-3.5-turbo для продакшена.

Вроде как скорость инференса примерно такая же, но при этом новая модель и умнее, и дешевле. Плюс докрутили качество для non-english языков.

https://community.openai.com/t/introducing-gpt-4o-mini-in-the-api/871594
🔥6
MusicLM

Сходил за вдохновением в соседнюю индустрию — генерацию музыки по тексту. Проблема там заключалась в том, что музыки в интернете много, а вот текстовых описаний самих мелодий — мало. Для хорошей модели нужны подробные описания музыкальных сэмплов длиной 10-30 секунд. Пример: A rising synth is playing an arpeggio with a lot of reverb. It is backed by pads, sub bass line and soft drums. This song is full of synth sounds creating a soothing and adventurous atmosphere. It may be playing at a festival during two songs for a buildup.

Второй момент: хотя в text-to-image уже доминировали диффузионные модели, в MusicLM авторы использовали авторегрессионный подход. То есть языковой модели на вход подаётся текст, а она заканчивает предложение музыкальными токенами, которые затем декодируются в мелодию.

Архитектура состояла из трёх компонентов, которые обучались по отдельности:

1. SoundStream — это RVQ (Residual Vector Quantization), по сути многослойный VQ-VAE, который позволяет преобразовать непрерывный поток музыки в набор токенов и обратно. В MusicLM он отвечает за акустические токены — детали мелодии в моменте, например, барабаны с заданным ритмом.

2. w2v-BERT — это MLM-модель, обученная на 4.5М часов речи на различных языках. Она отвечает за семантические токены — долгосрочное планирование мелодии, например, джаз, плавно переходящий в death metal.

3. MuLan — это CLIP для музыки. Модель выучила совместное латентное пространство для музыки и текста. Причём тренировали её на датасете из посредственных описаний. Это были скорее наборы тегов с жанром, инструментом и т. д., используемые для фильтрации в музыкальных приложениях, а не детальные описания мелодий.

MusicLM тренировался на Free Music Archive (FMA) с 280k часов музыки, вообще без текстовых описаний. Трюк в том, что conditioning происходит через MuLan. На этапе обучения используется музыкальный эмбеддинг, а на инференсе он подменяется текстовым.

Статья и примеры: https://google-research.github.io/seanet/musiclm/examples/
👍51
Linkin Park

Спустя 7 лет после смерти Честера, они взяли новую солистку Emily Armstrong, которая наваливает будь здоров, и организовывают мировое тур. Я аж прослезился.

Faint в ее исполнении: https://youtube.com/watch?v=PY-dFANAx2c&t=2730
🔥6
Forwarded from эйай ньюз
Что будет, если дать 1000 ботам сознание и запустить их в Minecraft?

Они построят цивилизацию...

Только недавно писал про агента, который научился крафтить каменную кирку и кучу всего другого. И вот теперь пожалуйста, они, как муравьи, собрались и построили свой лучший мир без кожаных ублюдков.

Эксперимент был проведён небольшой группой Project Sid. Они не просто научили агентов выполнять команды, но и действовать по своей воле.

Авторы прикрутили агентам понятия о социальном мире. Они способны понимать своё место в этом мире и роль окружающих. Например, они знают, что агент Б — полицейский, его нужно слушаться, а вот агента В, Васяна из соседнего дома можно послать нахрен. Эти роли могут динамически обновляться в зависимости от ситуации.

Более того, они научили квадратных мечтать (см. видос). Там один из агентов-фермеров, услышав о странствиях одного путешественника (разработчики поощряют смолтоки ни о чём), захотел отправиться в путешествие, но потом оставил эту идею "на потом", узнав, что без него деревня голодает. Но самого интересного – технических подробностей нет и, кажется, не предвидится. Жаль, т.к. очень любопытно, что за LLM они гоняли и сколько им это стоило.

Еще у ботов был Google-документ с конституцией, и они голосовали за правки, лол. Говорят, боты универсальные, умеют пользоваться Google-доками и их можно адаптировать под другие игры.

Короче, ребята подготовили достойную высокоморальную замену человечеству (мы то без системы сдержек и противовесов ни о чем договориться не можем). В ролик вставили небольшую полит агитацию Камалы против Трампа, но просто игнорьте это.

И вишенка на торте! С агентами уже может поиграть каждый! Для этого создаём мир в Майнкрафте, открываем для подключения, копируем код порта и вставляем на сайте. Там же можно создать своего кастомного подручного. С ботом можно поболтать или дать ему какие-нибудь задания. За отдельный кэш можно запустить свою симуляцию, но это в личном порядке.

Тред 
Дискорд 
Реддит 
Блог-пост 
Сайт с плейтестом 

@ai_newz
🔥6🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Обучил нейросеть новым телодвижениям.
🔥25
Дмитрий Савостьянов Вещает
Анализ видео на GPT-4o Давненько я вам ничего не писал. Исправим это недоразумение. Ездил пару недель назад в Лос-Анджелес к своим америкосам, с которыми делаем проект text-to-motion — генерация анимаций для игровых персонажей по текстовому описанию. Там…
Portland и Style Transfer

На прошлой неделе снова катался в Штаты. В этот раз заехал не только в ЛА, но и побывал в Портленде, штат Орегон. Очень зеленый на контрасте с ЛА, много деревьев и кустов. Архитектура приятнее, сам город меньше, можно даже пешком ходить. В этом смысле город более европейский. Но есть нюанс, что из-за небольшого размера плотность бомжей на квадратный метр выше и это слегка режет глаз.

Так вот сидели мы в Портленде в баре, обсуждали text-to-motion, он все еще недостаточно хорошо слушается промтпа. Сошлись на том, что до конца года мужики будут активно потеть в mocap-костюмах, чтобы увеличить разнообразие и качество датасета, а ML-челы пока займутся задачей style transfer.

Идея в том, что в Unreal Engine 5 завезли motion matching для генерации анимаций в Runtime. Чтобы MM неплохо работал нужно порядка 500 анимаций в стиле игры. Что если записать 500 движений в neutral style в mocap, а от игр брать небольшой набор по 20-50 стилизованных анимаций и генерировать весь MM-pack? Мысль показалась здравой, решили копнуть.
👍101🔥1
Читаю статьи про Style Transfer

Зашел из далека и начал с AutoVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss, Kaizhi Qian et al., 2019 — статья про замену голоса, когда вы говорите своим обычным голосом, а на выходе получаете ту же фразу, но голосом условного Бреда Питта.

Почему speech conversion, когда я занимаюсь human motion? Потому что движение человека определяется вращением его суставов во времени. Многие движения состоят из периодичных компонент, например, когда человек идет вперед, он с некоторым периодом перебирает ногами и размахивает руками. Walk forward angry отличается от walk forward neutral частотой вращения в плечах, изгибом локтей и позвоночника, амплитудой движения. Все это наводит на мысли про синусы, косинусы, преобразование Фурье, которыми хорошо умеют пользоваться звукари. В задаче преобразования голоса гораздо легче чем в human motion собирать данные, а где данные там речерчеры и идеи.

Почему 2019 год? Захотелось изучить ход мысли в индустрии, какие проблемы решались и какими методами. Плюс 5 лет назад датасеты были сильно меньше, поэтому архитектуры могут оказаться применимыми в human motion, где данных мало и по сей день.

Теперь кратко про саму статью AutoVC. Они используют автоэнкодер (CVAE). Речь разбивается на две компоненты: content — условно последовательность фонем, передающая смысл, и style — характеристики голоса.

Для выделения style взяли предобученную модель верификации голоса. Там идея в том, чтобы фразе поставить в соответствие эмбединг. Затем для фраз одного спикера минимизировать расстояния между эмбедингами, а для разных спикеров — максимизировать. Называют это GE2E-loss.

CVAE устроен таким образом, что есть контент-энкодер (берет на вход вашу фразу) и стиль-энкодер (берет фразу условного Бреда Питта). На инференсе они создают эмбединг с замененным стилем, который дальше расшифровывает декодер. Учится модель на обычном reconstruction loss, но контент и стили разных спикеров не миксуют. Идея в том, что модель выделения стиля уже обучена, нужно только контент выучить.

Под капотом mel-спектрограммы, свертки и винтажный LSTM. В статье даже доказывают теоремы и показывают как правильно выбрать размерность latent space в CVAE для их задачи.

Достаточно простая архитектура, понятные идеи под капотом, выглядит привлекательно. Но с точки зрения character animation есть наитие, что вероятностная природа VAE будет выдавать нереалистичные человеческие движения по аналогии с блюром при реконструкции изображений. Интуитивно хочется сделать апгрейд до VQ-VAE или накинуть какой-нибудь дискриминатор.

https://arxiv.org/pdf/1905.05879
👍9🔥1
Про VQ-VAE и стероиды

В задаче text-to-motion мы используем связку VQ-VAE + LLM, где VQ-VAE снижает временную размерность анимации, превращая условные 64 keyframes с 100+ фичей для разных суставов в небольшую последовательность текстовых токенов <m21><m345>…<m9>. LLM в свою очередь трактует эти токены как новый язык и учится переводить промпт с английского на “анимационный” и обратно.

Так вот чтобы эта связка работала, нужен VQ-VAE очень хорошего качества, который сможет эффективно кодировать движения в короткие последовательности и при этом не вносить артефакты, когда ноги скользят по земле или ходят по воздуху, а позвоночник колеблется из стороны в сторону как колбаса.

Вчера прочитал статью про WavTokenizer — квантизация аудио. Сложилось ощущение, что чуваки обкололи VQ-VAE стероидами:

- LSTM в энкодере
- Attention и Фурье вместо dilated Conv1D в декодере
- Куча дискриминаторов в loss, которые по сути превращают архитектуру в VQ-GAN
- k-means инициализации codebook и техники по предотвращению мертвых токенов

Красота. Надо будет потестить.

Статью подсмотрел здесь: https://t.iss.one/abstractDL/298
👍4