Модель Keras.у fit заканчивается память в Google Colab Pro

#tensorflow #machine-learning #keras #google-colaboratory #tensorflow2.0

#tensorflow #машинное обучение #keras #google-colaboratory #tensorflow2.0

Вопрос:

Я пробую простую последовательную модель с приведенным ниже набором данных. Использование Colab PRO с 35 ГБ оперативной памяти 225 ГБ дискового пространства.

  1. Всего предложений — 59000
  2. Всего слов — 160000
  3. Длина строки с дополнением — 38

Итак, train_x (59000,37), train_y (59000)

Я использую FastText для встраивания слоя. Модель FastText сгенерировала веса с (строками) vocab_size 113000 (столбцы / размерность) embedding_size 8815

Вот как выглядит model.summary()

введите описание изображения здесь

Для компиляции модели требуется около ~ 15 минут, но .сбой fit без достаточного объема памяти.

Я уменьшил размер пакета до 4 (по умолчанию 32).. все еще не повезло.

эпохи = 2 подробные = 0 размер пакета = 4

история = seq_model.fit(train_x,train_y, эпохи = эпохи, подробный = подробный, обратные вызовы = [csv_logger],batch_size=batch_size)

Цените любые идеи, чтобы заставить это работать.

Комментарии:

1. Это не простая последовательная модель, в вашей модели было 1498 миллионов параметров, она чрезвычайно велика, для сравнения, в ResNet 2 миллиона параметров, а в VGG около 150 миллионов. Обучение такой большой модели требует некоторых инженерных сложностей, поэтому вам, возможно, следует переосмыслить, если это то, что вы хотите сделать.

2. Веса занимают ~ 6 Гб. Я думаю, у вас есть шанс потренироваться с simple optimizer и batch_size равным 1. Но обучение такой огромной модели может занять годы, если у вас нет большого количества ТПУ

3. @Dr.Snoopy — спасибо за отзыв. Есть какие-нибудь предложения по переосмыслению?

Ответ №1:

Если то, что я вижу, верно, ваша модель просто слишком велика! Он имеет почти 1,5 миллиарда параметров. Это слишком много. Уменьшение размера пакета вообще не поможет.