Во первых расскажу об проблеме об которой я сильно переживал.
Ну так вот, описание в новой версии занимает на одно изображение там 200-270 токенов.Примерно возмём за токены одно слово.
Раньше я на это обращал немного но обращал внимание .Потому что я где-то увидел что там у flux'са ограничение 177 токенов. Тогда я делал максимально всё через жопу и считал токена для T5 как токены для чат гпт блять.Но выходило всё равно 177+-20 токенов и даже если больше просто забивал на это большой болт.
Относительно недавно когда я искал сколько точно токенов у FLUX , оказалось намного больше 512 токенов(для dev,256 для shell версии).Думал ура,большие промты,но я почти не тупой,и полез в код для тренировки это смотреть и тут обнаружилось печальная картина:
CLIP - 77 токенов
T5 - 77 токенов
Вместе 154 токенов.
Очень и очень мало...
T5 кодирует текст в эмбеддинги(векторное пространство,ну или по простому в цифры)
По простому CLIP это начальник,который даёт команды диффузионном блоку что генерировал правильно
Думал,как просто ,можно изменить цифру в коде и всё будет хорошо ,допустим ограничения будет до 256-300 токенов.Сразу делать я так не начал,вдруг моделька или тренировка не заработает,и правильно сделал.
А зачем же мне нужны большие токены,ну как знаю вроде или некорректная тренировка или обрезание промта до нужного размера.
Я для просмотра сколько токенов помощью моего любимого чатгпт написал скрипт к для этого где T5 считает сколько там токенов.
В общем до моей отметки в 300 токенов все описания подходили идеально,даже в 1.5-2 раза меньше.
И тут последний подход.Задать вопрос про изменению токенов .Тут и понесло:
Вкратце на дискорде сервера программы для тренировок и тут я сильно огорчился:
Вкратце,мне ответили там что нельзя.Будет больше жрать видеопамяти и это не лучшая идея.Надо делать оптимизацию что бы без разницы какая длина токенов(до 512)была одинакового длинны.Это там вроде в одной библиотеке готово и надо это просто напрограммировать и готово.
Ежу понятно что я программировать на python ,тем более для нейросетей не умею.Ну вот копец ,так как я все функции не смогу уместить и придётся отменить модель так как без этих функций она говно
Но тут появилась у меня одна небольшая надежда.Я с помощью скрипта подсчёта токенов прошёл по старому датасету для второй версии модели Лунтика и угадайте чтоооо,ТАМ БЫЛИ ОПИСАНИЕ БОЛЬШЕГО РАЗМЕРА.Они вроде нормально генерировала, похоже ,у меня есть надежда:
А)Попробовать сделать две тестовые модели "Как обычно" но с большими описаниями.Может магическом образом чтобы не обрежет или типа того .
Б)У меня заработает в нормальной скорости план с изменением велечин токенов в коде
Так что это последний шанс у меня,если процдёт всё успешно ,то круто
Если нет ,то либо навсегда закрыть проект,либо сделать говно версию с зуёвым контроллем,либо ждать от разработчика что он добавит эту функцию (мало вероятно,разраб работает в большую степень теперь на тренировку видео моделей)
2 comments