Программирование

Ответить в тред Ответить в тред
Check this out!
НЕЙРОНКИ В ГУГЛ КОЛАБЕ АКА КЛИК ТО ГОУ Аноним 21/04/21 Срд 15:26:56 20034821
1619008015239.png 4Кб, 260x260
260x260
Если вкратце, гугл дает тебе на +-12 часов иногда меньше, иногда больше бесплатную видеокарту, если повезет теслу Т4 или Р100. Их можно рероллить, так что получить одну из них как обоссать два пальца.
https:https://colab.research.google.com/

В этом треде:
- Постим колабы с нейронками
- Обсуждаем их работу
- Пишем свои нейронки
- Бугуртим от закрытости openAI
- И так далее

Почему не в треде нейронок? Там теоретики обсуждающие важные вопросы и спамить сгенерированными йобами - плохо.
Аноним 21/04/21 Срд 15:27:53 20034842
1700.png 369Кб, 512x512
512x512
a red tree.png 396Кб, 512x512
512x512
the ancient for[...].png 456Кб, 512x512
512x512
изображение-1.png 505Кб, 512x512
512x512
Аноним 21/04/21 Срд 15:29:13 20034853
1617466012862.mp4 870Кб, 256x256, 00:00:30
256x256
1617467291865.mp4 1191Кб, 256x256, 00:00:43
256x256
Аноним 21/04/21 Срд 15:51:35 20035034
Аноним 22/04/21 Чтв 21:24:09 20049175
изображение.png 833Кб, 512x512
512x512
Как-то здесь неуютно...
Аноним 23/04/21 Птн 00:01:49 20050636
>>2004917
Так просто никто не пишет.
Аноним 23/04/21 Птн 11:23:29 20053447
>>2004917
Здесь не бэ, знаешь ли, чтобы сто постов в час было. Потому я тебе и говорил - не создавай, блядь, отдельный тред.
Аноним 23/04/21 Птн 11:47:42 20053748
>>2005344
Но ведь... В бэ плодить треды с перекотами плохо - пидорнут в /фаг, где сидят 1,5 анона спорящие чей крым. В здешний тред нейронок не вариант и я писал почему. Хотя возможно и правда было лучше выбрать другой раздел или как и раньше раз в месяц другой создавать 3-4 перекотных в /б. Правда из других разделов только вниманиеблядский и мертвый /др да тот же мертвый /фаг, если не считать другие мертвоборды.
С другой стороны как по мне тред нейронок в колабе имеет потенциал и может поднять постинг в /пр за счет прикольных результатов работы нейронки и вялого форса раз в тот же месяц в /б. Но на самом деле хз.
Аноним 23/04/21 Птн 11:53:08 20053879
>>2005374
>и я писал почему
А я тебе писал "игнорируй и пости". А лучше на дайри иди с такой потребностью во ВНИМАНИИ. По три-четыре переката он создает блядь, при том что сам смешного ничего не постит.
Аноним 23/04/21 Птн 12:05:19 200541210
>>2005387
> А лучше на дайри иди с такой потребностью во ВНИМАНИИ
Нет никакой потребности. По крайней мере к себе, иначе я бы писал с галкой и в оп посте этого треда написал бы вниманиеблядскую хуйню. Скорее просто хочу немного пофорсить это нейронку и колаб гугла в целом ведь это на самом деле годная хуйня, что сайт на котором тебе за нихуя дают на 12 часов видеокарту теслу Т4, что нейронки которые на текущем уровне развития могут генерировать хуйню на уровне слепых художников под лсд по одной лишь фразе, или оживлять фото перенося движения лица с одного на другое, хотя всего 3 года назад максимум на что они были способны это хуевая генерация текста и крайне хуевая генерация птиц за 24 часа непрерывной работы.
к тому же мой код настолько дерьмо что я жду пока кто нибудь умеющий перепишет его или хотя бы улучшит с самого первого треда по нейронке генерирующей пики по фразам

> при том что сам смешного ничего не постит
Тред не только о смешном же, к тому же там дохуя моих бампов с пиками разной годности. Не понимаю доеба.
Аноним 23/04/21 Птн 20:37:28 200617911
1619199442159.mp4 3666Кб, 512x512, 00:01:02
512x512
1619199442163.mp4 1967Кб, 512x512, 00:01:05
512x512
Кстати пробовал менять размер батча, но судя по всем либо что то делал не так либо по какой то другой причине влияние нулевое, даже на память гп. Второй с батчем 2000, первый с 1, все с новым оптимизатором и поэтому на каком то моменте изменения прекратились.
Если что трава сделанная из мечей.
Аноним 23/04/21 Птн 21:44:06 200621012
>>2006179
>все с новым оптимизатором и поэтому на каком то моменте изменения прекратились.
Чому так?
Типо лр больше не изменялся? Какие настройки поставил?
Аноним 23/04/21 Птн 22:01:43 200621713
>>2006210
Тестовые же, там есть ячейка снизу с теми на которых тестирую, в принципе они почти не отличаются но там новый адаптивный лр. Он только уменьшает лр умножая на 0.999 если потери падают, тот который в основной ячейке с настройками и умножает и уменьшает. В принципе он не так уж и плохо работает если подобрать правильный стартовый и если повезет со стартом.
Аноним 23/04/21 Птн 22:11:15 200622714
image.png 10Кб, 590x64
590x64
>>2006217
Он и увеличивает. Просто похоже на то, что онсчитает, что это нинужна делать.
Можешь попробовать изменить вот этот параметр, правда ОП его не внес в настройки(
Аноним 23/04/21 Птн 22:14:45 200623115
image.png 17Кб, 616x114
616x114
>>2006227
А. И вот это измени. Просто ОП поставил 0, а ты захреначь больше.
Аноним 23/04/21 Птн 22:48:58 200624616
tomgirl.mp4 9227Кб, 512x512, 00:01:05
512x512
>>2006227
я и есть тот оп
Но ведь первый это игнорирование уменьшения если уменьшение меньше чем eps. Второй вовсе отвечает за то сколько он терпит отсутствие положительных изменений в потерях. По крайней мере этот модуль только уменьшает.
В принципе тут можно сделать тот же костыль что и со старым, который ограничивал повышение, только чтобы он ограничивал понижение. Но разумнее будет добавить другой алгоритм оптимизации и уменьшить количество костылей из которых по сути и состоит код. но сейчас я этого делать не буду, максимум проводить тесты на текущем коде и иногда постить сюда, кстати в результате тестов выяснилось что членодевок и футанарей в датасете не было, фембои были лишь в виде фурри-параши, а томгирлы были как в видеорелейте на старых настройках
Кстати, у тебя есть мысли как дообучить 512 модель не переобучая с нуля? Видел это https://github.com/ajbrock/BigGAN-PyTorch но оно устарело на 2 года и там нет и слова про дообучение либо я пропустил.
Аноним 23/04/21 Птн 22:56:08 200625717
>>2006246
>как дообучить 512 модель
А че там дообучивать-то?
Аноним 23/04/21 Птн 23:40:13 200629818
>>2006257
Скажем добавить в датасет дохуялион хуевин подписанных клипом. Те же дикпики или прон, фотографии текста, и так далее.
Аноним 24/04/21 Суб 00:14:32 200633819
Аноним 24/04/21 Суб 10:23:28 200650520
>>2006338
Он на тензорфлове и как я понял основное отличие в енкодере. В блокноте путорч и используется клип как енкодер, а я слишком туп для тф.
Аноним 24/04/21 Суб 10:51:10 200651521
Р
Аноним 29/04/21 Чтв 22:17:59 201325722
styleclip.mp4 382Кб, 1024x1024, 00:00:05
1024x1024
Тред умирает ну и пусть. нет не пусть, тред живи
спиздил с реддита Нарыл нейронку стайлгана совмещенного с клипом, то есть пишешь нормаль (например просто слово лицо), пишешь цель (лицо с бородой, лицо с голубыми глазами и т.д.) и оно делает из первого второе. Из минусов хуевейшие латентные координаты, в пикриле от Аники только фон. Ну и разумеется пока не менял его колаб, он коряв, неудобен, и фотку нужно загружать вручную а потом вводить имя файла. Возможно завтра гляну и создам тред в /б где причешу код и где будет кнопка сделать пиздато.

https://colab.research.google.com/github/orpatashnik/StyleCLIP/blob/main/notebooks/StyleCLIP_global.ipynb

https://github.com/orpatashnik/StyleCLIP
Аноним 30/04/21 Птн 01:21:02 201345623
16190401839230.png 387Кб, 507x506
507x506
>>2013257
>создам тред в /б
Не забудь ссылку сюда кинуть.
Аноним 30/04/21 Птн 15:21:19 201394424
>>2013257
Тред переносится на завтра, сегодня пытаюсь пофиксить хуйню из за которой настройка среды занимает 10-15 минут. Сука, как же ненавижу requirements.txt в котором прописаны модули с версией.
Аноним 30/04/21 Птн 17:41:17 201413925
1619793677001.mp4 564Кб, 1024x1024, 00:00:06
1024x1024
Ладно, я допилил блокнот, но эта нейронка довольно слабая, та со слайдерами была пизже но я так и не нашел вменяемый колаб по ней. В общем что есть то есть.
Не думаю что взлетит так что создавать тред не буду.

https://colab.research.google.com/drive/13E8HGIaPvu8DuCDnthlY1U7zRj3p9rBB?usp=sharing
Аноним 30/04/21 Птн 17:55:51 201414626
1619794550822.mp4 710Кб, 1024x1024, 00:00:06
1024x1024
Аноним 30/04/21 Птн 18:52:29 201421327
1619797946987.mp4 3715Кб, 1024x1024, 00:00:26
1024x1024
>>2014139
Криповая хуйня (лицо мужика - лицо фембоя).
Аноним 01/05/21 Суб 14:12:01 201496828
1619867520309.mp4 638Кб, 1024x1024, 00:00:10
1024x1024
Аноним 02/05/21 Вск 05:53:51 201600729
>>2014968
Как в это вкатиться?
Аноним 02/05/21 Вск 07:07:07 201602730
>>2016007
В скайрим, нейронки, или конкретно эту в колабе? Если последнее, идешь в этот колаб >>2014139, запускаешь ячейки сверху вниз, и создаешь видео последней ячейкой.
Аноним 02/05/21 Вск 11:08:52 201615531
.jpg 72Кб, 624x394
624x394
Что-то я не то делаю походу.
Аноним 02/05/21 Вск 12:34:08 201620432
>>2016155
Видимо у тебя не настроена среда. Это первая скрытая ячейка, она ещё минуты 4 идет. Ну и перед видео нужно все остальные запустить.
Аноним 02/05/21 Вск 17:49:16 201659733
>>2016027
Переход от пользования чужими ноутбуками к самостоятельному осмысленному обращению с нейронкой. Есть гайды?
Аноним 02/05/21 Вск 18:21:49 201661534
Аноним 08/05/21 Суб 14:16:01 202406135
>>2003484
Нашел другую интерпретацию от того кто изначально писал эту >>2003485 нейронку. Как и практически все нейронки от него она не работала и пришлось вставлять костыли. На удивление даже получилось прикрутить оптимизатор мадград и он даже работает с остальными фичами как и надо. Сам оригинальный колаб не обновлялся с января так что его можно считать заброшенным.
Как проведу тесты и допилю все что смогу выложу сюда.
создавать тред в /б мне лень.
Аноним 08/05/21 Суб 21:53:58 202473436
1620500034956.png 11Кб, 378x248
378x248
1620500034963.png 12Кб, 378x248
378x248
1620500034967.mp4 13335Кб, 256x256, 00:05:24
256x256
1620500034969.mp4 8139Кб, 256x256, 00:04:30
256x256
>>2024061
Пока не до конца допилил оформление и не во всем разобрался, но вот.
https://colab.research.google.com/drive/1AyfxhnKuXnzq8ggEHGENpqPnCbC2MDKt?usp=sharing
К слову вот сравнение мадграда (1 пик) и адама (2 пик). К удивлению повышение аугментаций (в старом колабе плотности выполнения) увеличивает потери.
Ну и тут работают потери как надо, в моем старом потери начинались с крайне низких и шли к 40 потом постепенно спускаясь, скача, а затем поднимаясь до небес медленно но верно.
А еще вот видео со старого (1 видео) на тестовых с сохранением каждую итерацию и этого на мадграде (2 видео), на обоих lr залочен на 0.02 и не меняется для чистоты эксперимента. Сейчас тестирую адаптивный но добавил только тот который редуцелронпланетаус или как то так.
Аноним 08/05/21 Суб 21:54:48 202473537
>>2024734
Обе фразы - Photo of a forest fire.
Аноним 09/05/21 Вск 10:36:32 202528038
1620545788941.mp4 18566Кб, 1280x480, 00:00:57
1280x480
Аноним 14/05/21 Птн 13:49:49 203036639
У BERT и его модификаций есть ли какая обработка пустых строк? Или надо самому заморачиваться?
Аноним 15/05/21 Суб 03:20:35 203114440
>>2030366
Зачем тебе обработка строк? Он их просто через BPE токенизирует, а дальше в эмбеддинг.
Аноним 15/05/21 Суб 05:14:55 203115241
Gg
Аноним 15/05/21 Суб 15:43:33 203143742
Аноним 15/05/21 Суб 16:20:32 203145243
>>2031144
При подаче пустой строки на вход некоторых BERT-трансформеров вываливается ошибка.
Вот и вопрос, так и должно быть или это неправильно?
Аноним 15/05/21 Суб 17:32:10 203148544
>>2031452
>>2030366
Зачем bert когда есть ламповый gpt-2?
Могу если нужно блокнот для его тренировки на колабе скинуть, он использует aitextgen но в принципе его модель можно запустить на любой другой версии вроде оригинальных трансформеров от хугфесов или на оригинальном коде, пустые строки должен поддерживать.
Алсо почему бы просто не использовать регулярные выражения и не заменить начало строки конец строки на начало строки спец токен конец строки в датасете и создать вокаб с этим токеном?
Аноним 15/05/21 Суб 18:12:01 203151745
>>2031452
Там, наверное, нужно делать пэддинг (padding). Если делать через все последние абстракции, которые hugging face добавили (pipeline) и тд, то там уже делается всё, что нужно. Если руками дергать/обучать, то нужно пэддить.
Аноним 16/05/21 Вск 07:44:11 203196446
16199269848970.jpg 79Кб, 700x1077
700x1077
В колабе невозможно запускать модели более 1.3В параметров и размером больше 5гиг - не хватает памяти. Причем, платную версию колаба в Рашке купить невозможно. Уже есть публично доступные трансформеры с 2.7В параметров, например GPT-neo, но ее в колабе не запустишь... Пробовал бесплатные альтернативы колабу - говно через говно едет и говном погоняет, кроме спама на почту ничего не получил. Пытался зарегаться в amazon sagemaker, требует реквизиты карты, причем на карте должно быть много денех, хотя пишет что все бесплатно. Кругом одно говно и наебалово, как жить-то...
Аноним 16/05/21 Вск 09:09:54 203199647
>>2031964
Просто ради справедливости, запустить можно, тот же колаб с гпт-нео для данжена. Там 5Гб и 2.7В параметров и все работает. Кроме обучения, конечно же.
В конце концов колаб гугла не для обучения а для выполнения, и больше 15 гигов памяти видеокарты тебе никто не даст за бесплатно. А бесплатных аналогов нет и навряд ли будут, аналог от яндекса говно с триалом, остальные почти все так же.
Ну и ничто не мешает обучать модели поменьше если нужны специфичные - просто сохраняешь каждую 100 итерацию на гуглодиск а когда утыкаешься в лимит сменяешь аккаунт и подключаешься к тому же. Например я сейчас обучаю это >>2027831 → с 24 слоями и 900 эмбендингрм, все с нуля. Модель на 400М параметров и весит 1.5Гб, использует 15Гб видеопамяти для тренировки.

Аноним 16/05/21 Вск 09:41:09 203201048
>>2031996
> Просто ради справедливости, запустить можно, тот же колаб с гпт-нео для данжена. Там 5Гб и 2.7В параметров и все работает.
Путаешь с 1.3В? Вариант GPT-neo с 2.7В весит 10 гиг. 5гиговая 1.3В в колабе уже еле дышит, память почти под завязку используется. А уже 6.3 гиговая gpt2-xl в варианте от huggingface в колабе не запускается, только оригинальная, с опенаи гитхаба. Но у такого варианта и возможностей поменьше, чем через transformers.
Аноним 16/05/21 Вск 09:44:07 203201249
>>2031964
Платную версию колаба можно купить. Просто берешь и покупаешь. Обычной сберовской карточкой (не Мир, конечно) платил.
Аноним 16/05/21 Вск 09:45:28 203201350
Аноним 16/05/21 Вск 09:47:49 203201651
Я вот подумал, GPT-3 175В все равно бесполезна для среднего двачера, даже если её сегодня выложат. Если 1.3В модель весит 5 гиг и требует почти 12гиг оперативы для запуска, то по аналогии GPT-3 175В в 100+ раз больше, т.е весит больше полтерабайта и соответственно для запуска ей нужно терабайта полтора оперативы...
Аноним 16/05/21 Вск 09:50:34 203201752
ioslarge1555669[...].jpg 47Кб, 600x525
600x525
>>2032012
> Платную версию колаба можно купить. Просто берешь и покупаешь. Обычной сберовской карточкой (не Мир, конечно) платил.
Ого, надо попробовать. А сколько там памяти в платной версии?
Аноним 16/05/21 Вск 09:56:45 203202053
>>2032017
По-разному, в последнее время p100 на 16 гигов
Аноним 16/05/21 Вск 09:57:50 203202154
>>2032016
Локально - да, бесполезна. Но в начале тестирования они выполняли все у себя а те кто использовали делали это через api. Жаль что нейронки уходят все дальше и дальше и кроме корпораций никому самые обученные нейронки запустить уже технически нельзя.
Аноним 16/05/21 Вск 10:30:41 203204255
>>2032021
>api
Смотря насколько полноценное. Вот АПИ ко всем версиям GPT-neo https://huggingface.co/EleutherAI в том числе 2.7В https://huggingface.co/EleutherAI/gpt-neo-2.7B при этом зеро-шот работает хуже чем у версии 1.3В в колабе, а прайминг с несколькими примерами вообще невозможен. То же касается GPT-3 в AI dungeon, я пробовал...
Аноним 16/05/21 Вск 10:44:12 203205656
>>2032042
Разве в ai dungeon модель с gpt-3 (dragon) не платная? Ну и на сайте huggingface скорее демка чем api.
Аноним 16/05/21 Вск 10:45:42 203205757
>>2032056
Платная. Но там недельный бесплатный триал. Я попробовал и дропнул.
Аноним 16/05/21 Вск 10:54:00 203207158
>>2032012
Пиздежь же. Сейчас попробовал, ввел реквизиты карты, там нужно ввести почтовый индекс, пишет "неправильный формат", алсо страна автоматически ставится США. Естественно, ничего не работает. Ну и в правилах там написано, в каких странах есть возможность купить колаб про. Блинолопатии там нет.
Аноним 16/05/21 Вск 17:36:27 203251459
>>2031517
>которые hugging face добавили (pipeline) и тд
Ну вот использую pipeline 'question-answering':
some_text = {"context": "", "question": "Where have you been?"}
some_answer = some_pipeline(some_text)
А мне в ответ:
ValueError: `context` cannot be empty

Если задезть вот сюда
https://huggingface.co/transformers/v4.4.2/_modules/transformers/pipelines/question_answering.html то я вижу такое:
def normalize(self, item):
if isinstance(item, SquadExample):
return item
elif isinstance(item, dict):
for k in ["question", "context"]:
if k not in item:
raise KeyError("You need to provide a dictionary with keys {question:..., context:...}")
elif item[k] is None:
raise ValueError("`{}` cannot be None".format(k))
elif isinstance(item[k], str) and len(item[k]) == 0:
raise ValueError("`{}` cannot be empty".format(k))

Получается, таки не работает с пустями строками?

>>2031485
Сбрось, пожалуйста, посмотрю.
Аноним 16/05/21 Вск 18:26:19 203259860
Аноним 16/05/21 Вск 18:32:30 203261161
>>2032514
> some_text = {"context": "", "question": "Where have you been?"}
> some_answer = some_pipeline(some_text)
> А мне в ответ:
> ValueError: `context` cannot be empty
> Получается, таки не работает с пустями строками?
Ты не пынямаешь сути этой задачи. Ответ на вопрос оно берет из контекста, а он у тебя пустой. Как оно должно отвечать по-твоему? Из астрала брать контекст? Алсо, question answering pipeline у huggingface'ов вообще игрушечный. Если тебе надо нормальную систему ответов на вопросы по твоему набору текстов без указания контекста, пробуй лучше haystack https://haystack.deepset.ai/
Аноним 16/05/21 Вск 18:41:34 203262362
>>2032598
Спасибо.
>>2032611
>Ответ на вопрос оно берет из контекста, а он у тебя пустой.
Про что я спрашивал. Строки текста-то в контекст идут, если строка внезапно пустая, то всё ломается.
>пробуй лучше haystack https://haystack.deepset.ai/
Спасибо.
>Алсо, question answering pipeline у huggingface'ов вообще игрушечный. Если тебе надо нормальную систему ответов на вопросы по твоему набору текстов без указания контекста
Что можешь порекомендовать почитать по тематике, чтобы кглубить знания и навыки.
Аноним 17/05/21 Пнд 00:23:43 203298063
>>2032071
Ну, введи какой-нибудь индекс из США на выбор, как дети малые.
Аноним 17/05/21 Пнд 03:43:29 203304164
>>2032980
Чтобы мне аккаунт блокнули?
Аноним 17/05/21 Пнд 11:24:32 203315765
Например, есть N текстов.
Есть какая-нибуль модель/архитектура, которая позволяет формулировать правильные/логичные вопросы к этим текстам? Либо ко всем сразу, либо конкретные к каждому отдельному тексту?
Аноним 17/05/21 Пнд 14:49:36 203338366
>>2033157
Просто берешь и делаешь датасет для гптшек в виде
токен начала текста
токен начала контекста контекст токен конца контекста
токен означающий начало вопроса вопрос токен конца вопроса

И по желанию
токен начала ответа ответ токен конца ответа

токен конца текста
Где токены начала и конца текста это стандартные bos и eos, а остальные просто придумай и забей в вокаб.
А потом при генерации текста пишешь нужную пару токенов внутри которой вопрос/текст/ответ, и в зависимости от того что нужно пишешь открывающий токен, а в параметре токена конца пишешь закрывающий который нужен.
Если правильно реализовать то вроде ничего сложного, разве что тебе скорее придется брать претренированную модель и файнтюнить ее если не хочешь ждать пару лет, а подводные в том что рускоязычные модели включая модель от сбера говно.

А вот готовой вроде нет. Алсо как натренируешь можно будет просто запихнуть все тексты в массив питона и запустить генерацию вопросов в цикле.
Аноним 17/05/21 Пнд 14:50:26 203338567
>>2033157
Нет такого. Можно попробовать разве что импорт нужных текстов и попросить нейроночку типа "ask me a question about pynia.csv how tall is pynya? \n ask me a question about x.csv ", может быть и выдаст что-то умное.
Аноним 17/05/21 Пнд 15:27:52 203343168
quest.gif 2378Кб, 1066x600
1066x600
Аноним 17/05/21 Пнд 15:49:58 203345569
>>2033431
Если ты не промазал то не совсем, я скорее о простой тренировке gpt-2 с токенами для этой задачи.
Аноним 25/05/21 Втр 14:51:06 204241570
У кого-нибудь есть пример, как испольщовать трансформеры и пайплайна на гпу/тпу?
Или где можно примеры посмотреть?
Аноним 25/05/21 Втр 15:15:04 204244471
>>2042415
Первые ссылки в гугле же.
Аноним 25/05/21 Втр 15:27:20 204246572
>>2042444
Если бы было всё так однозначно, я бы не спрашивал.
У пайплайна есть параметр device. Достаточно ли ему передать нужное значение?
Или всякие объявления вроде
use_gpu = True
device = torch.device("cuda:0" if use_gpu and torch.cuda.is_available() else "cpu")
Тоже нужны?
25/05/21 Втр 15:56:17 204250973
Слишком большой хайп для такого говённого качестве, челикс
Аноним 25/05/21 Втр 16:20:03 204255774
>>2042465
device = "cuda" и всё. А
> device = torch.device("cuda:0" if use_gpu and torch.cuda.is_available() else "cpu")
Это уже проверка есть ли в системе cuda или нету, более короткая запись чем
> if torch.cuda.is_available() == True:
> device = "cuda:0"
> else:
> device = "cpu"
А в принципе можно указывать это напрямую, эта переменная передается функции которая подгружает нейронку. Это тот же самый линух и тот же самый питон, но только вместо разделения на файлы тут разделение на ячейки, между которыми все переменные общие.
Аноним 25/05/21 Втр 16:20:54 204256375
Аноним 25/05/21 Втр 16:22:56 204256876
>>2042509
Ты о колабе? Там ебаная Т4 или P-100, это охуенный видеокарты и их дают за нихуя на 2-8 часов . А если ты о нейронках то тред скорее не просто о них, а о них в колабе - прикрути свою качественную, адаптировать любую существующую к колабу плевое дело, к тому же многие и так уже адаптированы.
Аноним 31/05/21 Пнд 19:32:57 205110377
1622478776369.jpg 15Кб, 256x256
256x256
Просто чтобы мертвый тред не стал мертвее, сейчас пилю к этой >>2024734 gpt-2 для предсказывания lr для уменьшения потерь. Процесс - долгий, датасет собирать - долго, обучать на вкладке хрома - очень долго. Пока она чуть хуже статичного lr но лучше понижающего, а порой даже опускает потери до 64 (минимум потерь который был в первом датасете 65 с чем то) но застревает.
Ну и парралельно ждём пока закрытые ai выложат натренированные модели guided diffusion или хотя бы при крутят способ генерации не на рандом.

Если тут еще кто то есть, могу дать копию тестовых колабов которые устареют через пару дней.
Аноним 31/05/21 Пнд 19:34:07 205110678
>>2051103
Алсо это "The memories of old things inside a witch box" с 68 потерями.
Аноним 02/06/21 Срд 23:12:38 205419279
Кто-нибудь работал с генерацией вопросов и ответов по тексту?
Интересует вопрос генерации таковых для бинарных случаев Да/Нет. Есть какие готовые решения?
Аноним 19/06/21 Суб 13:28:58 207352580
Аноним 24/06/21 Чтв 12:24:05 207889581
Аноним 24/06/21 Чтв 13:55:02 207898782
>>2078895
Все просто же.
Сначала
from transformers.modeling_utils import PreTrainedModel
Затем загружай модель любым методом вроде
model = GPT2LMHeadModel.from_pretrained('/pytorch_model.bin', config='/config.json')

И пиши print(PreTrainedModel.get_input_embeddings(model))
Аноним 24/06/21 Чтв 14:01:47 207899683
>>2078987
Спасибо, но тут возникают ещё вопросы.
Если мне надо ещё дальше использовать эти вычленные эмбединги, я просто присваиваю переменной и использую по назначению?
Типа
some_variable = PreTrainedModel.get_input_embeddings(model))
some_variable тогда можно будет в pipeline использовать?
Например,
ransformers.TextClassificationPipeline(data, model = some_variable, tokenizer = some_tokenizer)
Или я что-то путаю?
Аноним 24/06/21 Чтв 14:12:25 207900284
>>2078996
Он дает объект типа эмбеддинг который по сути тензор но его легче уж строкой присвоить из за траблов с типом. Например он может дать Embedding(768,768) и это просто так не вытащить. Ну и модель не может быть переменной же, обычно в model указывается путь к файлу модели.
Аноним 24/06/21 Чтв 14:14:49 207900485
>>2079002
Спасибо.
Тогда такой вопрос: текущий pipeline даёт на выходе готовое решение, но вместо него надо вытащить embedding.
Что в таком случае надо сделать? Модифицировать модель? Модифицировать pipeline?
Аноним 24/06/21 Чтв 14:17:29 207900886
>>2079004
Не совсем понял. Текущий pipeline в зависимости от задачи принимает контекст и выдает сгенерированный текст. Вроде в офф документации было про то как вытащить токены если ты про это, они на определенном этапе автоматически преобразовываются в текст.
А эта функция выдает его размер у модели.
Аноним 24/06/21 Чтв 14:24:53 207901487
>>2079008
Так, я использую предобученнную модель в пайплайне, но сейчас получается, что вместо готового ответа из пайплайна мне нужны токены/эмбеддинг токенов, для дальнейшего использования.
У меня была гипотеза, что ф-ции >>2078895 могут помочь, но судя по всему, я был не прав.
Поэтому буду признателен за подсказки, как это лучше сделать.
Я так понимаю, эмбеддинг будет размерностью 768 или окло того?
Аноним 24/06/21 Чтв 14:56:06 207904888
>>2079014
Все крайне просто - не используй pipeline.
Загружаешь модель как тут >>2078987, объявляешь токенизатор
tokenizer = PreTrainedTokenizerFast(tokinizer_file='./tokinizer.json')
а потом пишешь
input_ids = tokenizer.encode("Ja ebal sobak", return_tensors="pt")

И генерируешь не декодируя
generate = model.generate(input_ids)
print(generate)

И будет что то вроде
tensor ([[ 40, 69, 76, 76.......
]])
Где эти цифры и есть токены в исходном виде. А вектора ембеддинга для этого самого input_ids можно получить так
vector = model.transformer.wte.weight[input_ids,:]
print(vector)

Или получить весь ембеддинг модели через
vector = model.transformer.wte.weight

Аноним 24/06/21 Чтв 15:17:12 207906689
>>2079048
Спасибо за ответ.
>Все крайне просто - не используй pipeline.
Совсем?
То есть сама модель даст правильные ответы точнее токены/эмбеддинги и использовать модификацию, например, вот этого пайплайна с выпиливанием decode и span_to_answer не надо?
https://huggingface.co/transformers/_modules/transformers/pipelines/question_answering.html#QuestionAnsweringPipeline.__call__

Алсо, реквестирую, что почитать в чём попрактиковаться ещё по теме.
Аноним 24/06/21 Чтв 16:55:08 207916690
>>2079066
Так то легче сделать модификацию если нужен один из тасков вроде qa. Но если она обучена на правильном датасете то и правильной затравки хватит.
Хотя если ты используешь претренированную то возможно даже легче будет просто генерировать текст стандартным пиплайном а уже потом енкодить его в токены как тут >>2079048, результат будет один и тот же но это слегка по васянски.
Ну и про почитать хз, сам во все это вкатываюсь через различные гитхабы и архивиксы а теорию получаю гугля то что не получается. Вроде в треде нейронок в шапке довольно много советов на эту тему.
Аноним 24/06/21 Чтв 17:08:36 207918891
>>2079166
Спасибо большое.
Буду смотреть.
Ты сегодня-завтра тут ещё будешь?
Аноним 24/06/21 Чтв 17:39:47 207922492
>>2079188
У меня автообновление треда на дашке так что скорее всего да. Хотя я не очень опытный и мб в основном треде нейронок помогут лучше.
Аноним 24/06/21 Чтв 17:52:47 207924193
>>2079224
>в основном треде нейронок помогут лучше.
Ага, посмеются, проигнорируют, пошлют к чёрту, пообсуждают жопеншмульцера.
Аноним 30/06/21 Срд 23:27:56 208518294
Аноним 30/06/21 Срд 23:29:49 208518495
Дайте ссылку на коллаб, где вводишь словосочетание и получаешь картинку.
Аноним 30/06/21 Срд 23:33:00 208518896
>>2085184
>>2024734
Если что то не работает то скажи, завтра поправлю.
Аноним 01/07/21 Чтв 01:58:26 208521497
>>2079066
Тебе вопрос-ответ по текстам надо? Соответсвующий пайплайн в transformers игрушечный же, используй haystack.
Аноним 02/07/21 Птн 01:42:34 208579998
analrapebyinvit[...].mp4 264Кб, 512x512, 00:00:05
512x512
Аноним 02/07/21 Птн 11:38:05 208597299
>>2085799
Там кстати сейчас vqgan + clip вроде как актуален, но либо я держал мало либо держать нужно крайне долго. В общем скоро выложу колаб с минимальной подчисткой.
Аноним 02/07/21 Птн 18:43:30 2086306100
Надо наверное какую-нибудь эвристику для выбора начальной точки вместо собаки ебаной и должно получше идти.
Дарю идею, оп.
Аноним 02/07/21 Птн 20:19:08 2086353101
>>2086306
Уже есть выбор сида же.
Аноним 02/07/21 Птн 21:03:29 2086405102
>>2085972
В общем он готов, что колаб что каггл, но выложу сюда завтра. По качеству он на первый взгляд хуже, а допиливать адаптивный lr мне пока лень, появилась идея сделать дерево маленьких нейронок или вернее случайный лес коллективный разум наше все но для этого но понадобится время.
Аноним 02/07/21 Птн 21:56:59 2086444103
>>2086353
Чё выбор сида? Нужно получше чем случайно точку для введённой строки выбирать, очевидно
Аноним 02/07/21 Птн 22:01:32 2086448104
>>2086444
А на это уже моих скилов не хватает. Хотя в новом с vqgan вроде есть что то вроде этого но еще не тестил.
Аноним 03/07/21 Суб 14:37:35 2086813105
1625312252241.mp4 3668Кб, 400x400, 00:01:30
400x400
VQGAN + CLIP
https://colab.research.google.com/drive/1haLkhQeWMs7PfFw1qqS0Xy8EuDnbv_a_?usp=sharing
https://www.kaggle.com/bananon/vqgan-clip-z-quantize-method

если что генерация шла час на максимальной модели с не самым лучшем lr, но так как лимит явный и понедельный тратить его в пустую пока не буду
Пока просто слегка переписанный код, планирую все же добить нейронку для оптимизации lr но по времени сказать не могу, старая модель уже не подойдёт и к тому же решил сделать случайный лес или что то вроде того на основе трансформеров.
Аноним 04/07/21 Вск 17:03:16 2087570106
Какой же каггл охуенный, поставил операцию на 9 часов и знаешь что через 9 часов среда не крашнется и ты заберешь свой аутпут.
Аноним 05/07/21 Пнд 16:38:11 2088238107
>>2086813
Обновил каггл версию, теперь она может что то вроде видеорелейта.
Колабом займусь позже так как уже неделю гугол не сбрасывает мне лимиты какого хуя гугол?.
Аноним 05/07/21 Пнд 16:38:35 2088239108
>>2088238
*обновлю через 20 минут когда догенерируется аутпут
Аноним 05/07/21 Пнд 17:13:14 2088260109
1625494379256.png 458Кб, 800x288
800x288
1625494379261.mp4 26274Кб, 800x288, 00:03:20
800x288
Воть, обновил.
Возможно на этой неделе создам тред в /б когда еще немного допилю. Ну или когда гугл пофиксит анальные лимиты ведь каггл для красноглазых мазохистов а запускать на выделенном cpu крайне долго.
Аноним 06/07/21 Втр 13:57:50 2088879110
Есть тут BERT-зависимые?
Как BERT'ы поступают с длинными текстами?
Тупо обрезают по количесиву токенов или дробят на части? Если дробят, как получить дотсуп к частям?
Аноним 06/07/21 Втр 14:18:50 2088892111
Аноним 06/07/21 Втр 15:02:45 2088909112
>>2088892
Спасибо, но тогда вопрос, а как трансфорсмер выдаёт правильный ответ, если он расположен дальше по тексту, который не входит в установленное количество токенов?
Аноним 06/07/21 Втр 16:22:21 2088971113
1
Аноним 06/07/21 Втр 16:47:16 2088988114
>>2088909
А вот никак. Возьми тот же гпт-ж и введи больше 1024 токенов не слов и не букв а токенов, то есть примерно от 1024 слов до 2048 слов обычных и меньше если слова вроде huggfacake и контекст изначальный полностью потеряется. Это особенно заметно если ввести сначала что дальше идет код для тренировки нейросети и вот файл трейн.пу, а спустя 200 строк или около того этот файл содержит в себе плохой скрипт нарезки видео в той же секции где должен быть трейн. Так же с бертом и любым другим трансформером. Единственный костыль придумали в aidungeon, судя по всему там затравка включает в себя начальный текст который всегда есть в затравке, и определенное количество предыдущих строк чтобы укладываться в лимиты.

Ну и трансформеры сами по себе устроены так, что генерируют все 1024 токена но так чтобы начальные или конкретные соответствовали затравке. Если сгенерировано меньше 1024 (зависит от модели) токенов, то оставшиеся заполняются нулями.
Аноним 06/07/21 Втр 17:13:58 2089008115
>>2088988
>А вот никак.
Смотрю сейчас пайлайны, там, судя по всему, предусмотрена возможность использовать большие тексты, путём дробления их на подвыборки, причём каждый слой модели будет получать тензор [количество подвыборок x размер подвыборки x размер слоя]
Аноним 06/07/21 Втр 17:28:19 2089016116
>>2089008
Сам пока не видел, может проспал момент добавления этой фичи. Позже посмотрю, может и пойму как получить доступ к дробленым частям если он возможен.
Аноним 06/07/21 Втр 17:45:46 2089033117
>>2089016
> может и пойму как получить доступ к дробленым частям если он возможен.
Через offset_mapping

Кстати, нубовопрос.
Есть тензор [3, 100, 768]
Как получить из него 2й по первому измерению?
tensor[1,:,:]? Или tensor[1]?
Он мне почему-то просто возвращает [100, 768]
Куда первое измерения делось?
Аноним 06/07/21 Втр 18:33:46 2089075118
1625585625161.png 4Кб, 453x93
453x93
1625585625167.png 10Кб, 475x225
475x225
>>2089033
3 как и остальные значения это же элементы, верно? Обычно tensor[1] (1 пик), но в чем у тебя проблема не знаю. Однако если он многомерный (2 пик) то это выдаст сразу все измерение, для того чтобы взять конкретный элемент например в позиции 1,1 нужно ввести tesor[1][1].
Аноним 06/07/21 Втр 22:37:53 2089261119
>>2089075
Упростим.
Есть тензор [N, 2, 3], где N - число от 1 до 10, например.
Как мне получить срезы по первому измерения размерности [1,2,3] числом 10 штук?
Аноним 07/07/21 Срд 06:25:44 2089401120
>>2089033
>>2089261
Если в Гугл не можешь, скобочки дрочи ([ и запятые. Тензор это array, тебе нужно получить элемент массива.
Аноним 07/07/21 Срд 07:30:25 2089411121
1625632224571.png 12Кб, 394x456
394x456
>>2089261
Видимо сначала не так понял. У тебя не просто тензор [N, 2, 3] а тензор размерности [N, 2, 3], то есть N количество измерений, 2 количество строк, а 3 количество колонок.
Не знаю как получить все 10 если их будет меньше, но для среза и получения тензоров размерности [1,2,3] можно сделать так tensor[номер измерения][номер строки или промежуток][номер колонки или промежуток].

А конкретный элемент как получить уже написал, вернее тензор содержащий конкретный элемент, для получения его в нормальном виде нужно сделать tensor[1][2][3].item() или как то так.

кстати до этого особо тензорами не баловался, и только сейчас научился тыкая их в командной строке
Аноним 07/07/21 Срд 07:33:51 2089412122
>>2089033
А, и да, я понял в чем дело, когда ты пишешь tensor[1] то тебе выдает тензор содержащий первое измерение, а у тебя их изначально три. Вот так два других отбрасываются а 1 путорч не пишет.
Аноним 07/07/21 Срд 08:55:23 2089424123
>>2089401
Тензоры в питонии и путорче это же по сути матрицы но в несколько слоев одинаково размера, то есть вместо 3 переменных содержащих в себе матрицу, имеем одну содержащую сразу три. А уже матрицы это массив с осью у, то есть вместо 256 переменных по 256 элементов имеем одну содержащую сразу все.
Аноним 13/07/21 Втр 17:43:56 2094898124
В общем все же добил колаб,
https://colab.research.google.com/drive/1tHJKEbZck15UEdmC2LI_ztpd0ERpdETX?usp=sharing
Он лучше чем у елузеролов так как сохраняет не через imsave и массив numpy и не режет из за этого скорость в 6 раз если захочешь сохранить видео.
Но ебаный гугл забанил гпу режим у всех 5 акков так что если что то не работает то протестить не смогу, хотя исправить скорее всего можно будет и без этого.
Тред в /б создам в воскресенье просто на всякий.
Аноним 13/07/21 Втр 18:05:01 2094920125
>>2094898
А, и да, сейчас заметил что кагля еще и перешла на ебучую конду и вызвала ошибки. Но делать блокнот публичным пожалуй не буду так как у меня всего 2 номера телефона а так может еще немного акк проживет, разве что на пастбин когда пофикшу код для копипаста оставлю.
Аноним 13/07/21 Втр 20:12:59 2095047126
>>2094898
Если тут не только я сижу, у кого еще есть доступ к гп колаба, проверьте, там 45 секунд на итерацию и в одной из зависимостей произошел пиздец, или где то я налажал. Сейчас стал проверять что на цп что на гп 45 секунд на любом разрешении, проблема в loss.backward() но сам решить пока не смог. Пробовал копипастить 99% оригинальных и та же хрень но гп проверял кагловский а там ошибок 10 только из-за конды.
Аноним 23/07/21 Птн 11:18:54 2104253127
>>2095047
Бля, походу тред умер и я один тут. В общем дело было в том что каггля поставила старый торч.
Аноним 30/07/21 Птн 18:48:55 2112330128
кто-нибудь dvc пользуется?
Как распарсить параметр из командной строки dvc?
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов